DE102022100521A1 - Automatische inhaltserkennung und information im livestreaming geeignet für videospiele - Google Patents

Automatische inhaltserkennung und information im livestreaming geeignet für videospiele Download PDF

Info

Publication number
DE102022100521A1
DE102022100521A1 DE102022100521.6A DE102022100521A DE102022100521A1 DE 102022100521 A1 DE102022100521 A1 DE 102022100521A1 DE 102022100521 A DE102022100521 A DE 102022100521A DE 102022100521 A1 DE102022100521 A1 DE 102022100521A1
Authority
DE
Germany
Prior art keywords
content item
video
content
option
mlm
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
DE102022100521.6A
Other languages
English (en)
Inventor
Alexander Hropak
Andrew Fear
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 DE102022100521A1 publication Critical patent/DE102022100521A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5372Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for tagging characters, objects or locations in the game scene, e.g. displaying a circle under the character controlled by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Optics & Photonics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

In verschiedenen Beispielen werden ein oder mehrere Modelle zum maschinellen Lernen (MLMe) verwendet, um Inhaltselemente in einem Videostream zu identifizieren und Zuschauern des Videostreams eine den Inhaltselementen zugeordnete Information darzustellen. Ein Video, welches an einen oder mehrere Benutzer gestreamt wird, kann auf ein oder mehrere MLMe angewendet werden, welche darauf trainiert sind, ein oder mehrere Objekte darin zu erkennen. Das MLM kann bestimmte Inhaltselemente direkt erkennen oder Objekttypen erkennen, wobei eine Erkennung mithilfe eines neuronalen Zwillingsnetzes und/oder eines Algorithmus auf ein bestimmtes Inhaltselement eingegrenzt werden kann. Metadaten eines erkannten Inhaltselements können eingesetzt werden, um ein grafischen Element darzustellen, welches auswählbar ist, um das Inhaltselement in dem Spiel oder anderweitig zu erwerben. Bei einigen Beispielen können Objekterkennungskoordinaten von einem Objektdetektor, welcher zur Identifizierung des Inhaltselements verwendet wird, verwendet werden, um Eigenschaften eines interaktiven Elements zu bestimmen, welches in das Video eingeblendet und auf oder im Zusammenhang mit einem Bild des Videos dargestellt wird.

Description

  • HINTERGRUND
  • Live-Streaming ermöglicht es, das Gameplay eines Spiels in einen Videostream zu codieren, während das Spiel gespielt wird, so dass es von einem Publikum in Echtzeit angesehen werden kann. Das Live-Streaming von Spielen hat an Popularität gewonnen, da Videospiel-Streamer wie professionelle Streamer, Konkurrenten und professionelle eSports-Spieler eine große Anhängerschaft haben. So können die Inhalte von Spielen von vielen Menschen gesehen werden, darunter auch von anderen Spielern oder potenziellen Spielern des Spiels. Einige dieser Personen möchten möglicherweise Informationen über bestimmte Inhaltselemente erwerben oder erhalten, die während eines Live-Streams präsentiert werden, wie z. B. Waffen, Rüstungen, Skins bzw. Erscheinungsbilder, Charaktere, Beutekisten (loot crates), Verbrauchsgüter oder andere Elemente bzw. Gegenstände oder Objekte im Spiel.
  • Konventionell können Streamer mündlich oder in einem Kommentarabschnitt eines Videostreams bestimmte Inhaltselemente erwähnen oder Links zu diesen bereitstellen. Die Zuschauer können jedoch Schwierigkeiten haben, die von einem Streamer erwähnten Elemente aufzuspüren, oder sie können an einem Element interessiert sein, auf den der Streamer nicht ausdrücklich hingewiesen hat. Beim Streaming von aufgezeichneten Videos, wie z. B. Filmen oder Fernsehsendungen, haben die Inhaltsanbieter Metadaten in das aufgezeichnete Video integriert. Die Metadaten können manuell konfiguriert werden, um bestimmte Zeiten zu identifizieren und den Zuschauern Informationen über die Schauspieler zu liefern, wenn diese auf dem Bildschirm erscheinen. Bei live gestreamten Videos (z. B. von Videospielen, Sport, Fernsehen usw.) treten Schwierigkeiten auf, die es bei vorab aufgezeichneten Videos nicht gibt. Beispielsweise kann das Video für jedes Spiel oder jede Runde eines gestreamten Spiels zu unterschiedlich sein, um Metadaten vordefinieren zu können, die Informationen über den Inhalt des Videos bereitstellen. Insbesondere kann oft nicht im Voraus bekannt sein, wo, wann oder ob ein bestimmter Inhalt im Videostream erscheint oder ob er klar genug dargestellt ist, um von einem Betrachter visuell erkannt zu werden.
  • ZUSAMMENFASSUNG
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich auf die automatische Erkennung von Inhalten und Informationen in Live-Streams, die für Videospiele geeignet sind. Die Offenlegung bietet Ansätze für die Verwendung von trainierten maschinellen Lernmodellen zur Erkennung von Objekten in Gameplay-Videostreams und zur Bestimmung von Inhalten, für die Informationen präsentiert werden können, um einen Betrachter des Streams bei der Beschaffung des Inhalts zu unterstützen.
  • Im Gegensatz zu herkömmlichen Systemen können die offengelegten Ansätze ein oder mehrere maschinelle Lernmodelle (MLMe) verwenden, um bestimmte Inhaltselemente in Videostreams (z. B. Spielestreams) zu identifizieren und den Betrachtern der Videostreams den Inhaltselementen zugeordnete Informationen zu präsentieren. In verschiedenen Beispielen kann ein Video (z. B. ein Live-Stream) eines Spiels an eine beliebige Anzahl von Benutzergeräten (z. B. Smartphones, Spielkonsolen, Personal-Computer usw.) gestreamt und auf ein oder mehrere MLMe angewendet werden, die darauf trainiert sind, ein oder mehrere Objekte darin zu erkennen. In einigen Beispielen können die Ausgabeklassen eines Objektdetektors einem oder mehreren bestimmten Inhaltselementen entsprechen. In weiteren Beispielen kann ein erstes MLM verwendet werden, um ein oder mehrere Objekte in einem oder mehreren Bereichen eines Videos zu erkennen oder zu identifizieren, z. B. unter Verwendung eines Objektdetektors. Ein zweites MLM, wie z. B. ein neuronales Zwillingsnetz, und/oder ein Algorithmus können dann verwendet werden, um ein oder mehrere bestimmte Inhaltselemente aus den erkannten Objekten zu identifizieren.
  • Sobald festgestellt wurde, dass ein Inhaltselement im Video vorhanden ist, können Metadaten des Inhaltselements verwendet werden, um Informationen anzuzeigen, die dem Inhaltselement zugeordnet sind, wie ein oder mehrere grafische Elemente, die auswählbar sind, um das Inhaltselement im Spiel oder anderweitig zu erwerben. In einigen Beispielen können die Metadaten verwendet werden, um einen Link (z. B. über das (die) grafische(n) Element(e)) oder andere Informationen in der Benutzeroberfläche eines oder mehrerer Betrachter des Videos anzuzeigen, oder die Informationen per E-Mail, Text oder auf andere Weise bereitzustellen. Beispielsweise können Objekt- und/oder Bereichserkennungskoordinaten von einem Objektdetektor, der zur Identifizierung des Inhaltselements verwendet wird, verwendet werden, um eine Größe, Form und/oder Position eines interaktiven (z. B. grafischen) Elements (z. B. eines Polygons), das dem Video überlagert und auf oder im Zusammenhang mit einem Bild des Videos dargestellt wird, zu bestimmen.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren zur automatischen Erkennung von Inhalten und Informationen im Live-Streaming, die für Videospiele geeignet sind, werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben, wobei gilt:
    • 1 ist eine beispielhafte Systemdarstellung eines Systems zur Identifizierung und Präsentation von Inhaltselementen gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 2 ist ein beispielhafter Screenshot einer grafischen Benutzeroberfläche (GUI) zum Erfassen eines Inhaltselements gemäß einigen Ausführungsformen der vorliegenden Offenbarung;
    • 3 ist ein Blockdiagramm, das ein Verfahren zur Bestimmung von Inhaltselementen in Videos unter Verwendung von maschinellen Lernmodellen zeigt.
    • 4 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Bestimmung eines Inhaltselements gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 5 ist in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Offenbarung ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Darstellung einer Information zeigt, die einem Inhaltselement zugeordnet ist.
    • 6 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Identifizierung eines Inhaltselements mittels eines neuronalen Zwillingsnetzes in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 7 ist ein Blockdiagramm einer beispielhaften Recheneinrichtung, die zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Offenbarung geeignet ist;
    • 8 ist ein Blockdiagramm eines beispielhaften Inhalts-Streaming-Systems, das für die Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Offenbarung geeignet ist; und
    • 9 ist ein Blockdiagramm eines beispielhaften Rechenzentrums, das zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Offenbarung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG
  • Es werden Systeme und Verfahren offenbart, die sich auf die automatische Erkennung von Inhalten und Informationen im Live-Streaming beziehen und für Videospiele geeignet sind. Die Offenbarung stellt Ansätze für die Verwendung von trainierten maschinellen Lernmodellen zur Erkennung von Objekten in Gameplay-Videostreams und zur Bestimmung von Inhalten, für die Informationen präsentiert werden können, um einen Betrachter des Streams bei der Beschaffung des Inhalts zu unterstützen, bereit.
  • Im Gegensatz zu herkömmlichen Systemen können die offenbarten Ansätze ein oder mehrere maschinelle Lernmodelle verwenden, um bestimmte Inhaltselemente in Videostreams (z. B. Spielestreams) zu identifizieren und um Informationen zu präsentieren, die den Inhaltselementen zugeordnet sind, um die Betrachter der Videostreams bei der Beschaffung der Inhaltselemente zu unterstützen. Mittels der offenbarten Ansätze können Informationen über Inhaltselemente und/oder Dienste zum Erwerb der Inhaltselemente oder Links dazu dynamisch auf der Grundlage des Inhalts eines Live-Videostreams präsentiert werden.
  • In verschiedenen Beispielen kann ein Video (z. B. ein Live-Stream) eines Spiels an eine beliebige Anzahl von Benutzergeräten (z. B. Smartphones, Spielkonsolen, PCs usw.) gestreamt werden. Das Spielvideo kann in den Benutzeroberflächen des (der) Benutzergeräts/e zur Ansicht angezeigt werden. Beispielsweise können eine oder mehrere der Benutzeroberflächen zumindest teilweise von einem Dienst und/oder einer Videoplattform bereitgestellt werden, die Videostreams hosten (z. B. YouTube, Netflix, Twitch usw.). Das Video kann einen Live-Stream umfassen, der in Echtzeit oder nahezu in Echtzeit ausgestrahlt wird, oder es kann zuvor aufgezeichnet oder erneut ausgestrahlt worden sein. Eine Einrichtung (Einrichtungen), wie z. B. ein Server, eine Netzwerkeinrichtung oder eine Benutzereinrichtung, kann das Video auf ein MLM (MLMe) anwenden, das (die) darauf trainiert ist (sind), ein oder mehrere Objekte (z. B. Spielercharaktere, Fahrzeuge, Spielelemente, Erscheinungsbilder von Spielern, Umgebungselemente usw.) in einem Gameplay-Video zu erkennen. Das MLM kann trainiert sein, um Objekte zu erkennen, die in einem einzigen Spiel oder einer einzigen Anwendung erscheinen (z. B. unter Verwendung von Trainingsdaten von dem Spiel oder der Anwendung), oder es kann trainiert sein, um Objekte zu erkennen, die in mehreren Spielen oder Kontexten erscheinen (z. B. unter Verwendung eines allgemeineren Trainingsdatensatzes). Zum Beispiel kann (können) das (die) MLM(e) trainiert worden sein, um Objekte in mehreren Spielen, Sammlungen oder Serien von Spielen und/oder in einer oder mehreren Versionen oder Erweiterungen eines Spiels zu erkennen.
  • Basierend auf (einem) MLM(e), das (die) ein oder mehrere Objekte in einem Spielvideo erkennt/en, können ein oder mehrere Inhaltselemente in dem Video bestimmt werden. Bei den Inhaltselementen kann es sich um eine beliebige Anzahl von virtuellen oder realen Gegenständen bzw. Elementen handeln, die in einem Gameplay-Video erscheinen können (z. B. Spieler-Erscheinungsbilder, Gegenstände, Waffen, Ausrüstung, Fahrzeuge usw.) und die im Spiel oder auf andere Weise erworben werden können.
  • In einigen Ausführungsformen kann das MLM bzw. können die MLMe anhand von kommentierten Bildern von Inhaltselementen, die das MLM erkennen soll, trainiert werden. Zum Beispiel kann ein MLM anhand eines Gameplay-Videos eines Spiels trainiert werden, das die Inhaltselemente enthält. In einigen Beispielen können die Ausgabeklassen eines Objektdetektors einem oder mehreren bestimmten Inhaltselementen entsprechen. In weiteren Beispielen kann ein erstes MLM verwendet werden, um ein oder mehrere Objekte in einem oder mehreren Bereichen eines Videos zu erkennen oder zu identifizieren, z. B. mit einem Objektdetektor. Ein zweites MLM und/oder ein zweiter Algorithmus kann dann verwendet werden, um ein oder mehrere bestimmte Inhaltselemente von den erkannten Objekten zu identifizieren.
  • In einer oder mehreren Ausführungsformen kann ein MLM (z. B. das zweite MLM), das zur Identifizierung von Inhaltselementen verwendet wird, ein neuronales Zwillingsnetz umfassen. Das neuronale Zwillingsnetz kann so trainiert werden, dass es Repräsentationen bestimmter Inhaltselemente unter Verwendung positiver und/oder negativer Beispiele der Inhaltselemente codiert. Um ein Inhaltselement zu identifizieren, können Bilddaten, die einem erkannten Objekt (z. B. dem Bereich des Videos) entsprechen, auf das neuronale Zwillingsnetz angewendet werden, um eine Codierung des erkannten Objekts zu erzeugen. Die Codierung des erkannten Objekts kann mit Codierungen verglichen werden, die das neuronale Zwillingsnetz für ein oder mehrere andere Inhaltselemente erzeugt hat, um festzustellen, welches Inhaltselement (falls vorhanden) in den Bilddaten dargestellt wird. Der Vergleich kann beispielsweise dazu verwendet werden, um die Ähnlichkeit zwischen den Codierungen zu bestimmen und ein Inhaltselement auf der Grundlage der Ähnlichkeit auszuwählen. In einer oder mehreren Ausführungsformen kann das Inhaltselement auf der Grundlage der Ähnlichkeit, die einen Schwellenwert überschreitet, und/oder auf der Grundlage des höchsten Wertes unter den potenziellen Inhaltselementen ausgewählt werden. Es sei darauf hingewiesen, dass eine beliebige Anzahl von Bildern verwendet werden kann, um ein oder mehrere Inhaltselemente zu identifizieren. Darüber hinaus können die offenbarten Ansätze geeignet sein, um verschiedene Instanzen eines Inhaltselements in einem Video trotz variabler Betrachtungswinkel (von vorn, hinten, etc.), Größen, Beleuchtung und/oder Verdeckungen zu identifizieren (z.B. können Bilder für den Trainingsdatensatz ausgewählt werden, um diese Variationen einzuschließen).
  • Sobald festgestellt wurde, dass ein Inhaltselement in dem Video vorhanden ist, können Metadaten des Inhaltselements verwendet werden, um eine Information anzuzeigen, die dem Inhaltselement zugeordnet ist, wie z. B. ein oder mehrere grafische Elemente, die auswählbar sind, um das Inhaltselement in dem Spiel oder anderweitig zu erwerben. Wie verschiedene Beispiele zeigen, können die Metadaten verschiedene Informationen umfassen, die zur Bestimmung und/oder Darstellung der Informationen verwendet werden können. Beispiele hierfür sind ein Inhaltsidentifikator des Inhaltselements, ein Name des Inhaltselements, ein oder mehrere Bild-Identifikatoren, die dem Inhaltselement zugeordnet sind (z. B. in denen das Inhaltselement identifiziert wurde und/oder in denen die Information zu präsentieren ist), ein Link (z. B. eine URL oder URI) zu einer Webseite oder einem Dienst, die bzw. der die Information enthält oder es einem Benutzer ermöglicht, das Inhaltselement zu einem Benutzerkonto (z. B. des Spiels oder des Dienstes) hinzuzufügen, und/oder ein oder mehrere Teile der Information (z. B. text- und/oder bildbasierter Inhalt). Die Metadaten können beispielsweise verwendet werden, um den Link (z. B. über das (die) grafische(n) Element(e)) oder eine andere Information in der Benutzeroberfläche eines oder mehrerer Betrachter des Videos anzuzeigen, oder sie können die Information per E-Mail, Text oder auf andere Weise bereitstellen.
  • Wenn ein Link zu einem Dienst bereitgestellt wird, kann der Dienst auf einem anderen Server und/oder System gehostet werden als die Einrichtung(en), die verwendet wird (werden), um das Video auf Inhaltselemente zu analysieren, oder er kann auf demselben Server und/oder System gehostet werden. Die Auswahl einer Option, die einem Link entspricht, kann direkt oder indirekt (z. B. über eine weitere Option oder Eingabeaufforderung) eine Benutzereinrichtung zu dem Dienst umleiten. In mindestens einer Ausführungsform bewirkt die Auswahl der Option die Darstellung einer zweiten Benutzerschnittstelle (z. B. in einem Browser auf der Benutzereinrichtung), die (z. B. vom Dienst) Informationen, die dem Inhaltselement zugeordnet sind, und ein oder mehrere grafische Elemente präsentiert, die auswählbar sind, um das Inhaltselement im Spiel zu erwerben.
  • Bei einigen Beispielen können die Metadaten für ein oder mehrere Inhaltselemente (z. B. von einem Server) den Benutzereinrichtungen zur Verfügung gestellt werden. Beispielsweise können ein oder mehrere Abschnitte der Metadaten für ein oder mehrere Inhaltselemente an eine Benutzereinrichtung als Reaktion auf oder basierend auf der Identifizierung des (der) Inhaltselemente(s) in einem oder mehreren Bildern des Videos übertragen werden. Die Übertragung der Metadaten kann dazu führen, dass die Benutzereinrichtung die Informationen präsentiert und/oder anzeigt, dass das (die) Inhaltselement(e) identifiziert wurde(n). Darüber hinaus können ein oder mehrere Abschnitte der Metadaten für ein oder mehrere Inhaltselemente an eine Benutzereinrichtung übertragen werden, bevor das (die) Inhaltselement(e) in einem oder mehreren Bildern des Videos identifiziert werden. Beispielsweise können die Metadaten der Benutzereinrichtung vor oder während des Betrachtens des Videos zur Verfügung gestellt werden (z. B. auf der Grundlage eines Erkennen des Spiels oder anderer Medien, die betrachtet werden, und möglicher Inhalte, die darin erscheinen können). In verschiedenen Beispielen kann ein Server oder eine andere Einrichtung das (die) Inhaltselement(e) im Video erkennen und/oder identifizieren und/oder die Benutzereinrichtung (z. B. eine Benutzerschnittstelle) kann das Inhaltselement im Video (unter Verwendung des (der) MLM(e)) erkennen und/oder identifizieren und der Benutzereinrichtung entsprechende Metadaten bereitstellen. In Ausführungsformen, bei denen die Identifizierung in der Benutzereinrichtung erfolgt, können die Metadaten vom Server bereitgestellt werden und dazu verwendet werden, um die Informationen für jedes identifizierte Inhaltselement zu bestimmen (z. B. anzufordern oder darauf zuzugreifen) oder zu präsentieren.
  • Informationen, die einem Inhaltselement (oder mehreren) zugeordnet sind, können während und/oder nach dem Video, das zur Identifizierung des Inhaltselements (oder der Inhaltselemente) verwendet wird, präsentiert werden. In einer oder mehreren Ausführungsformen können die Informationen (z. B. das (die) grafische(n) Element(e)) als Reaktion auf die Identifizierung eines Inhaltselements oder auf der Grundlage der Identifizierung eines Inhaltselements dem Betrachter angezeigt werden (z. B. auf der Benutzeroberfläche). Beispielsweise können Objekt- und/oder Bereichserkennungskoordinaten aus dem Objektdetektor, der zur Identifizierung des Inhaltselements verwendet wurde, zur Bestimmung von Größe, Form und/oder Position eines interaktiven (z. B. grafischen) Elements (z. B. eines Polygons) verwendet werden. Das interaktive Element (eine Option) kann in das Video eingeblendet werden und auf oder in Verbindung mit einem Bild des Videos angezeigt werden, das zur Erkennung des Objekts verwendet wird (z. B. während das Video weiter abgespielt wird oder während das Video angehalten wird). Zusätzlich oder alternativ kann (können) das (die) interaktive(n) Element(e) für ein oder mehrere andere Bilder angezeigt werden, z. B. unter Verwendung der Objektverfolgung und eines oder mehrerer Objekterkennungsbereiche. In einer oder mehreren Ausführungsformen können Informationen zu einem oder mehreren Inhalten zusätzlich oder alternativ außerhalb eines Anzeigebereichs des Videos dargestellt werden (z. B. in der Benutzeroberfläche oder einer anderen Benutzeroberfläche).
  • Unter Bezugnahme auf 1 ist 1 ein beispielhaftes Systemdiagramm eines Systems 100 zur Identifizierung und Präsentation von Inhaltselementen (auch als „System 100“ bezeichnet) gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Es ist klar, dass diese und andere Anordnungen, wie es hier beschrieben ist, nur als Beispiele dargestellt sind. Andere Anordnungen und Elemente (z. B. Maschinen, Schnittstellen, Funktionen, Anordnungen, Gruppierungen von Funktionen usw.) können zusätzlich zu oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen werden. Darüber hinaus handelt es sich bei vielen der hier beschriebenen Elemente um funktionale Einheiten, die als einzelne oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jedem geeigneten Ort implementiert sein können. Verschiedene Funktionen, wie sie hier beschrieben sind, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt.
  • Das System 100 kann unter anderem eine oder mehrere Client-Einrichtungen 104(A), 104(B) und 104(C) (hier gemeinsam als „Client-Einrichtungen 104“ bezeichnet), einen oder mehrere Identifizierungsserver 116 und/oder einen oder mehrere Videoserver 130 aufweisen. Obwohl die Client-Einrichtungen 104(A), 104(B) und 104(C) in 1 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. In Beispielen kann es eine beliebige Anzahl von Client-Einrichtungen 104 geben. Das System 100 (und seine Komponenten und/oder Merkmale) kann unter Verwendung einer oder mehrerer Recheneinrichtungen implementiert sein, wie z. B. der Recheneinrichtung 700 von 7, die im Folgenden näher beschrieben wird.
  • Die Client-Einrichtungen 104 können einen Inhaltselement-Bestimmer 120A, eine Anwendung 106, eine Kommunikationsschnittstelle 110A, (eine) Eingabeeinrichtung(en) 112 und/oder eine Anzeige 108 aufweisen. Obwohl in 1 nur einige Komponenten und/oder Merkmale der Client-Einrichtung 104 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Beispielsweise können die Client-Einrichtungen 104 zusätzliche oder alternative Komponenten umfassen, wie sie im Folgenden in Bezug auf die Recheneinrichtung 700 von 7 beschrieben werden.
  • Der (Die) Identifikationsserver 116 kann (können) unter anderem ein Trainingsmodul 118, MLM(e) 122, einen Inhaltselement-Bestimmer 120B, einen Präsentations-Manager 124, eine Kommunikationsschnittstelle 110B und/oder einen Datenspeicher 128 aufweisen. Obwohl in 1 nur einige Komponenten und/oder Merkmale des (der) Identifikationsserver(s) 116 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Der (die) Identifikationsserver 116 kann (können) beispielsweise zusätzliche oder alternative Komponenten umfassen, wie sie im Folgenden in Bezug auf die Recheneinrichtung 700 von 7 beschrieben werden.
  • Der (die) Videoserver 130 kann (können) unter anderem eine Streaming-Engine 132, eine Kommunikationsschnittstelle 110C und/oder einen oder mehrere Datenspeicher 136 aufweisen. Obwohl in 1 nur einige Komponenten und/oder Merkmale des (der) Videoserver(s) 130 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Der (die) Videoserver 130 kann (können) beispielsweise zusätzliche oder alternative Komponenten umfassen, wie z. B. diejenigen, die im Folgenden in Bezug auf die Recheneinrichtung 700 von 7 beschrieben werden.
  • Als Überblick können ein oder mehrere Inhaltselement-Bestimmer, wie z. B. ein Inhaltselement-Bestimmer 120A und/oder 120B (hier als „Inhaltselement-Bestimmer(n) 120“ bezeichnet) eine oder mehrere Komponenten und Merkmale zum Bestimmen eines oder mehrerer Inhaltselemente, wie z. B. Inhaltselemente 150, in Videos aufweisen und können sich zumindest teilweise auf einer beliebigen Kombination aus einer Client-Einrichtung 104 und/oder dem (den) Identifikationsserver(n) 116 befinden. Eine Anwendung 106 kann eine oder mehrere Komponenten und Merkmale zum Anzeigen von Spielvideos oder anderen Videoinhalten in einer oder mehreren Benutzeroberfläche(n) 160 auf der Anzeige 108 einer Client-Einrichtung 104 aufweisen. Das Spielvideo oder andere Videoinhalte können von dem (den) Videoserver(n) 130 und/oder dem (den) Identifikationsserver(n) 116 über das (die) Netzwerk(e) 102 unter Verwendung der Kommunikationsschnittstelle 110A zur Darstellung in der Benutzeroberfläche 160 empfangen werden.
  • Das Trainingsmodul 118 kann eine oder mehrere Komponenten und Merkmale zum Trainieren des (der) MLM(e) 122 aufweisen, um Objekte zu erkennen und/oder Inhaltselemente in Videos zu identifizieren. Nach dem Training kann ein Inhaltselement-Bestimmer 120 Videodaten auf das (die) MLM(e) 122 anwenden, um Objekte zu erkennen und Inhaltselemente in den Videodaten zu identifizieren. Der Präsentationsmanager 124 kann Inhalte für die Anzeige auf einer oder mehreren Client-Einrichtungen 104 generieren und/oder bestimmen, wie z. B. Anmerkungen und Einblendungen, die über das (die) Netzwerk(e) 102 an eine Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 übermittelt werden können. Bei mindestens einer Ausführungsform kann die Anzeige von Inhalten, z.B. in der Benutzeroberfläche 160, zumindest auf der Grundlage von Metadaten (z.B. in Verbindung mit bestimmten Videobildern und/oder Zeitstempeln) erfolgen, die von dem Präsentationsmanager 124 bereitgestellt und/oder erzeugt werden.
  • Die Streaming-Engine 132 kann eine oder mehrere Komponenten und Merkmale zum Erzeugen, Verteilen und Verwalten von Streaming-Daten wie Videoströmen, Audioströmen und/oder anderen Arten von Datenströmen aufweisen, die von einer Streaming-Plattform verwendet und in einer Benutzerschnittstelle, wie der Benutzerschnittstelle 160, dargestellt werden können. Streaming-Daten können sich in einem oder mehreren Datenspeichern 136 befinden, von der Streaming-Engine 132 abgerufen werden und über ein oder mehrere Netzwerke 102 unter Verwendung einer Kommunikationsschnittstelle 110C übertragen werden, um Streaming-Daten an den (die) Identifikationsserver 116 und/oder die Client-Einrichtung(en) 104 zu übertragen. Darüber hinaus kann die Streaming-Engine die Streaming-Daten von einer oder mehreren externen Einrichtungen, wie z. B. einer Client-Einrichtung 104, empfangen und den Stream an eine oder mehrere andere externe Einrichtungen, wie z. B. eine oder mehrere andere Client-Einrichtungen 104 oder den Identifikationsserver 116, weiterleiten.
  • Komponenten des Systems 100 können über ein oder mehrere Netzwerke 102 kommunizieren. Das (die) Netzwerk(e) 102 kann (können) ein Weitverkehrsnetz (WAN) (z. B. das Internet, ein öffentliches Telefonnetz (PSTN) usw.), ein lokales Netzwerk (LAN) (z. B., Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energy (BLE), Ethernet usw.), ein Low-Power-Wide-Area-Network (LPWAN) (z. B. LoRaWAN, Sigfox usw.), ein GNSS-Netz (Global Navigation Satellite System) (z. B. das Global Positioning System (GPS)) und/oder ein anderer Netzwerktyp sein. In jedem Beispiel kann jede der Komponenten des Systems 100 mit einer oder mehreren der anderen Komponenten über ein oder mehrere der Netzwerke 102 kommunizieren.
  • Die Client-Einrichtungen 104 können ein Smartphone, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, ein tragbares Gerät, eine Spielkonsole, ein Virtual-Reality-System (z.B. ein Headset, einen Computer, eine Spielkonsole, eine oder mehrere Fernbedienungen, eine oder mehrere Steuerungen und/oder andere Komponenten), ein NVIDIA SHIELD, ein Smart-Home-Gerät, das einen intelligenten persönlichen Assistenten aufweisen kann (z.B. ein AMAZON ECHO, ein GOOGLE HOME usw.), und/oder eine andere Art von Gerät, das ein Streaming von Videos unterstützen kann, aufweisen.
  • Eine Anwendung 106 kann eine mobile Anwendung, eine Computeranwendung, eine Konsolenanwendung, eine Webbrowser-Anwendung, eine Video-Streaming-Plattform-Anwendung und/oder eine andere Art von Anwendung oder Dienst sein. Bei einigen Ausführungsformen können mehrere Anwendungen 106 verwendet werden. Beispielsweise kann die Benutzeroberfläche von 1 in einer Anwendung angezeigt werden, und die grafische Benutzeroberfläche 200 von 2 kann in einer anderen Anwendung 106 angezeigt werden. Eine Anwendung 106 kann Anweisungen aufweisen, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den (die) Prozessor(en) dazu veranlassen, ohne Einschränkung Eingabedaten zu empfangen, die für Benutzereingaben an die eine oder mehrere Eingabeeinrichtung(en) 112 repräsentativ sind, die Eingabedaten an den (die) Videoserver 130 und/oder den (die) Identifikationsserver 116 zu übertragen, als Reaktion darauf einen Videostream von dem (den) Videoserver(n) 130 und/oder dem (den) Identifikationsserver(n) 116 unter Verwendung der Kommunikationsschnittstelle 110A zu empfangen und die Anzeige des Videos auf der Anzeige 108 zu veranlassen. Mit anderen Worten, die Anwendung 106 kann als Vermittler fungieren, um ein Streaming eines Videos 156 eines Spiels oder anderer mit der Anwendung verbundener Inhalte auf den Client-Einrichtungen 104 zu ermöglichen. Bei einigen Beispielen kann die Anwendung 106 Metadaten (z. B. Inhaltselementdaten) von dem (den) Identifikationsserver(n) 116 unter Verwendung der Kommunikationsschnittstelle 110A empfangen und eine Anzeige von Inhaltselementinformationen 152, die unter Verwendung der Metadaten abgeleitet und/oder durch diese gesteuert werden, auf der Anzeige 108 veranlassen. Bei einigen Beispielen weisen die Metadaten einen Hinweis auf ein oder mehrere Bilder des Videos 156 und Inhaltselementinformationen 152 und/oder grafische Feedback-Elemente 154 auf, die dem einen oder den mehreren Bildern des Videos 156 zugeordnet sind. Die Anwendung 106 kann bestimmen, wie, wann und/oder wo ein Inhalt gemäß den Metadaten anzuzeigen ist.
  • Bei einigen Beispielen können die Client-Einrichtungen 104 die Anwendung 106 verwenden, um das Gameplay-Video oder andere Videoinhalte auf der Anzeige 108 anzuzeigen. Bei einigen Beispielen kann eine erste Client-Einrichtung, wie z. B. die Client-Einrichtung 104(A), das Video anzeigen, während eine zweite Client-Einrichtung, wie z. B. die Client-Einrichtung 104(B), Informationen präsentieren kann, die dem oder den im Video identifizierten Inhaltselementen zugeordnet sind. In Beispielen, in denen die Anzeigedaten von der Client-Einrichtung 104 empfangen werden, kann das System 100 Teil eines Spiel-Streaming-Systems sein, wie z.B. das Spiel-Streaming-System 8 von 8, das im Folgenden näher beschrieben wird.
  • Die Client-Einrichtung 104(A) kann über die Anzeige 108 einen Videostream 114 anzeigen. Der Videostream 114 kann eine beliebige Anzahl von Gameplay-Videoströmen aufweisen, die dem Benutzer der Client-Einrichtung 104(A) präsentiert werden. In ähnlicher Weise können Benutzer jeder der Client-Einrichtungen 104, zusätzlich zu der Client-Einrichtung 104(A), Streams einer beliebigen Anzahl von Videostreams 114 anzeigen. Wie es hier beschrieben ist, kann ein Videostream 114 ein Live- oder in Echtzeit übertragener Stream sein. Bei einigen Beispielen kann der Videostream 114 eine zuvor aufgezeichnete oder erneut übertragene Videoaufnahme sein.
  • Der Videostream 114 kann in Bezug auf eine oder mehrere Schnittstellen wie die Benutzerschnittstelle 160 dargestellt werden. Die Benutzerschnittstelle(n) 160 kann (können) auch Elemente aufweisen, die es einem Benutzer ermöglichen, die Wiedergabe oder Darstellung des Videos 156 zu steuern. Die Benutzerschnittstelle(n) 160 kann (können) es einem Benutzer beispielsweise ermöglichen, einen Live-Stream selektiv anzuhalten oder fortzusetzen. Bei einigen Ausführungsformen kann (können) die Benutzeroberfläche(n) 160 zusätzlich zum Video 156 Informationen und interaktive Elemente enthalten. Die Benutzeroberfläche(n) 160 kann (können) zum Beispiel das Video 156 und Inhalte enthalten, die Informationen eines Benutzerkontos nutzen. Bei einigen Beispielen kann (können) die Benutzerschnittstelle(n) 160 das Video 156 und interaktive Elemente wie eine Chat- oder Messaging-Schnittstelle enthalten.
  • Der Videostream 114 kann das Video 156 des Gameplays eines Spiels (z. B. das Gameplay bzw. den Spielverlauf, das/der übertragen wird) oder andere Inhalte aufweisen. Das Video 156 kann zusätzlich Objekte (z.B. eines Spiels, wie Spielercharaktere, Fahrzeuge, Spielgegenstände, Erscheinungsbild eines Spielers, Umgebungselemente usw.) aufweisen. Objekte im Video 156 weisen ein oder mehrere Inhaltselemente auf, wie z. B. ein Inhaltselement 150A und ein Inhaltselement 150B (im Folgenden als „Inhaltselement(e) 150“ bezeichnet). Obwohl das (die) Inhaltsobjekt(e) 150 in 1 dargestellt ist (sind), ist dies nicht als Einschränkung zu verstehen. In jedem Beispiel kann es eine beliebige Anzahl von Inhaltselementen 150 geben. Die Inhaltselemente 150 können einer beliebigen Anzahl von virtuellen oder realen Gegenständen entsprechen, die in dem Video 156 erscheinen können (z. B. Erscheinungsbilder eines Spielers, Gegenstände, Ausrüstung, Waffen, Ausstattung, Fahrzeuge usw.) und die im Spiel oder auf andere Weise erworben werden können.
  • Bei einigen Beispielen kann der Videostream 114 Inhaltsinformationen aufweisen, wie z. B. Inhaltselementinformationen 152A und 152B (hier als „Inhaltselementinformationen 152“ bezeichnet), wie z. B. grafische Elemente, die Informationen über eines oder mehrere der Inhaltselemente 150 bereitstellen. Die Informationen zum Inhaltselement 152 können visuell dargestellt werden, z. B. als Begrenzungsbereich(e) des Objekts (der Objekte). Obwohl der oder die Begrenzungsbereiche in 1 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Bei einigen Beispielen kann es eine beliebige Anzahl von Inhaltselementinformationen 152 geben, die sich auf die Inhaltselemente 150 beziehen und eine Vielzahl unterschiedlicher Formen annehmen können. Beispiele schließen Einblendungen, Anmerkungen, Pfeile, Farbänderungen, hervorgehobenes Aussehen, Text und/oder jede andere Anzeige oder Information in Bezug auf die Inhaltselemente 150 ein.
  • Bei mindestens einer Ausführungsform können die Informationen zu den Inhaltselementen 152 auf einer Objektverfolgung beruhen, um ein oder mehrere Objekte auf der Anzeige 108 über eine Anzahl von Bildern zu verfolgen, die auf der Bewegung eines oder mehrerer zugehöriger Inhaltselemente 150 basieren. Bei einigen Beispielen können die Inhaltselementinformationen 152 zu den Inhaltselementen 150 in derselben Benutzeroberfläche 160 dargestellt werden, die auch das Video 156 darstellt. Die Inhaltselementinformationen 152 zu den Inhaltselementen 150 können in, über oder mit dem (den) gleichen Bild(ern) wie das Video 156, in dem das (die) Inhaltselement(e) 150 identifiziert wurde(n), dargestellt werden. In anderen Beispielen können die Inhaltselementinformationen 152 in einer oder mehreren anderen Benutzerschnittstellen auf der Anzeige 108 oder einer anderen Anzeige dargestellt werden, oder sie können nach einem Bild dargestellt werden, in dem das (die) Inhaltselement(e) 150 identifiziert wurde(n) (z. B. am Ende des Videos 156). Bei einigen Beispielen können die Inhaltselementinformationen 152 auf einer anderen Einrichtung 104 als der Anzeige des Videostreams 114 angezeigt werden.
  • In weiteren Beispielen kann der Videostream 114 ein oder mehrere grafische Feedback-Elemente aufweisen, wie z. B. ein grafisches Feedback-Element 154A und/oder 154B (hierin als „grafische(s) Feedback-Element(e) 154“ bezeichnet), die es einem Benutzer ermöglichen, mit den Inhaltselementen 150 zu interagieren oder Eingaben oder Feedback zu geben. Ein grafisches Feedback-Element 154 kann in der (den) Benutzerschnittstelle(n) 160 als eine Option oder ein anderes auswählbares Schnittstellenelement dargestellt werden, mit dem ein Benutzer unter Verwendung einer (mehrerer) Eingabeeinrichtung(en) 112 der Client-Einrichtung(en) 104 interagieren kann (z. B. einen Daumen-hoch/runter-Knopf, eine Gefällt-mir/Gefällt-mir-nicht-Auswahl, eine Option zum Speichern usw.). Bei einigen Beispielen kann (können) das (die) grafische(n) Feedback-Elemente) 154 an einer Stelle angezeigt werden, die einem Bereich des Videos 156 entspricht, in dem das (die) Inhaltselement(e) 150 identifiziert worden ist (sind). Benutzereingaben und/oder Interaktionen mit dem (den) grafischen Feedback-Element(en) 154 können dazu führen, dass die Inhaltselementinformationen 152 über die Inhaltselemente 150 in einer oder mehreren Benutzerschnittstelle(n) 160 dargestellt werden.
  • Benutzereingaben, die dem (den) grafischen Feedback-Element(en) 154 bereitgestellt werden, können beispielsweise verwendet werden, um zu bestimmen, für welche der Inhaltselemente 150 die zugehörigen Inhaltselementinformationen 152 dargestellt werden. Wenn ein Benutzer beispielsweise eine „Daumen hoch“-Option als Teil des grafischen Feedback-Elements 154A in dem Videostream 114 auswählt, können in der (den) Benutzerschnittstelle(n) 160 Inhaltselement-Informationen 152A über die Inhaltselemente 150A bereitgestellt werden, während, wenn eine „Daumen runter“-Option ausgewählt wird, die Inhaltselement-Informationen 152A nicht präsentiert werden können, alternative Informationen an ihrer Stelle präsentiert werden können oder die Inhaltselementinformationen 152A von der Benutzerschnittstelle 160 entfernt werden können. Als weitere Beispiele können sich die grafischen Feedback-Elemente in ähnlicher Weise auf die Darstellung eines Beschaffungs-Links 158A oder 158B auswirken, der im Folgenden hier beschrieben wird. Bei einigen Ausführungsformen kann das von dem (den) grafischen Feedback-Element(en) 154 erhaltene Feedback bzw. Rückmeldung dem Präsentationsmanager 124 zur Verfügung gestellt werden, um das (die) grafische(n) Feedback-Element(e) 154 und/oder Inhaltselementinformationen 152 zu verfeinern, die in nachfolgenden Videoströmen erzeugt und dargestellt werden.
  • Der Videostream 114 kann zusätzliche grafische Elemente aufweisen, die einen oder mehrere Beschaffungs-Links bereitstellen, wie beispielsweise die Beschaffungs-Links 158A und 158B (hierin als „Beschaffungs-Link(s) 158“ bezeichnet), die von einem Benutzer auswählbar sind, um ein oder mehrere entsprechende Inhaltselemente 150 zu erwerben. Bei mindestens einer Ausführungsform kann (können) der (die) Beschaffungs-Link(s) 158 von einem Benutzer ausgewählt werden, um auf eine oder mehrere Benutzerschnittstelle(n) 160 zuzugreifen. Beispielsweise kann ein Benutzer den Beschaffungs-Link 158B in der Benutzerschnittstelle 160 auswählen, um den „Kleeblatt-Hut“ zu erwerben, der als das Inhaltselement 150B in dem Videostream 114 identifiziert wurde und mit der GUI 200 von 2 in der Benutzerschnittstelle 160 oder einer anderen Benutzerschnittstelle dargestellt werden kann. Der (die) Beschaffungs-Link(s) 158 kann (können) z. B. als auswählbare Schaltfläche, Link oder ein anderes auswählbares Element dargestellt werden. Obwohl der (die) Beschaffungs-Link(s) 158 in 1 als Schaltflächen dargestellt ist (sind), ist dies nicht als Einschränkung zu verstehen. Bei einigen Beispielen kann es eine beliebige Anzahl von Beschaffungs-Links 158 geben, die einem oder mehreren der Inhaltselemente 150 zugeordnet sind. Bei einigen Beispielen kann ein Benutzer, der einen Beschaffungs-Link 158 auswählt, sofort ein oder mehrere Inhaltselemente 150 erwerben. Dies kann ein Hinzufügen des Elements bzw. Gegenstands zum Spielkonto des Benutzers einschließen. In anderen Beispielen kann einem Benutzer, der einen Beschaffungs-Link 158 auswählt, eine Information darüber bereitgestellt werden, wie das (die) Inhaltselement(e) 150 erworben werden kann (können) (z. B. Bereitstellung eines Links oder einer Weiterleitung zur Artikelseite beim Laden bzw. Store, Hinzufügen des Elements zum Einkaufswagen des Benutzers oder Bereitstellung von Informationen über Schritte zum Erwerb des Elements, die Verfügbarkeit des Elements oder eine Ortsangabe des (der) Inhaltselements/e 150 usw.). In weiteren Beispielen können der oder die Inhaltselement-Beschaffungs-Links 158 auf einer anderen Client-Einrichtung 104 und/oder Benutzeroberfläche 160 als zur Anzeige des Videostreams 114 dargestellt werden (z. B. in einer E-Mail, Textnachricht, Benachrichtigung, Pop-up usw.). Bei mindestens einer Ausführungsform kann eine oder können mehrere der Inhaltselementinformationen 152A oder 152B einen Beschaffungs-Link umfassen, ähnlich den Beschaffungs-Links 158A oder 158B. In solchen Beispielen kann eine Inhaltselementinformation 152 unter Verwendung eines interaktiven Elements dargestellt werden.
  • Die Anzeige 108 kann jede Art von Anzeige einschließen, die in der Lage ist, das Video anzuzeigen (z. B. eine Leuchtdiodenanzeige (LED), eine organische LED-Anzeige (OLED), eine Flüssigkristallanzeige (LCD), eine Aktivmatrix-OLED-Anzeige (AMOLED), eine Quantenpunktanzeige (QDD), eine Plasmaanzeige, eine LED/LCD-Anzeige und/oder eine andere Art von Anzeige). Bei einigen Beispielen kann die Anzeige 108 mehr als eine Anzeige aufweisen (z. B. eine Dual-Monitor-Anzeige für Computerspiele, eine erste Anzeige zum Konfigurieren eines Spiels und eine Virtual-Reality-Anzeige zum Spielen des Spiels usw.). Bei einigen Beispielen handelt es sich bei der Anzeige um eine Touchscreen-Anzeige, wie etwa einen Touchscreen eines Smartphones, Tablet-Computers, Laptops oder dergleichen, wobei der Touchscreen mindestens eine der Eingabeeinrichtung(en) 112 der Client-Einrichtung 104 ist.
  • Die Eingabeeinrichtung(en) 112 kann (können) jede Art von Einrichtung(en) aufweisen, die in der Lage ist (sind), Benutzereingaben für das Spiel bereitzustellen. Die Eingabeeinrichtung(en) kann (können) eine Tastatur, eine Maus, eine Touchscreen-Anzeige, (eine) Steuerung(en), (eine) Fernbedienung(en), ein Headset (z. B. Sensoren eines Virtual-Reality-Headsets) und/oder andere Arten von Eingabeeinrichtungen aufweisen.
  • Die Kommunikationsschnittstellen, wie die Kommunikationsschnittstelle 110A, die Kommunikationsschnittstelle 110B und die Kommunikationsschnittstelle 110C (hier gemeinsam oder einzeln als „Kommunikationsschnittstelle(n) 110“ bezeichnet) können eine oder mehrere Komponenten und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie das (die) Netzwerk(e) 102, aufweisen. Die Kommunikationsschnittstelle(n) 110 kann (können) so ausgestaltet sein, dass sie über eine beliebige Anzahl von Netzwerken 102, wie es hier beschrieben ist, kommuniziert/en. Zur Kommunikation im System 100 von 1 können die Client-Einrichtungen 104 beispielsweise eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen, um mit dem (den) Identifikationsserver(n) 116, dem (den) Videoserver(n) 130 und/oder mit anderen Client-Einrichtungen 104 zu kommunizieren.
  • Der (die) Identifikationsserver 116 kann (können) einen oder mehrere Server zum Erzeugen, Trainieren, Verwalten, Speichern und/oder Verwenden von Komponenten zum Erkennen und Identifizieren von Inhaltselementen in Videos, wie dem Video 156, aufweisen. Obwohl in 1 nur einige Komponenten und/oder Merkmale des (der) Identifikationsserver(s) 116 dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Der (die) Identifikationsserver 116 kann (können) beispielsweise zusätzliche oder alternative Komponenten aufweisen, wie sie im Folgenden in Bezug auf die Recheneinrichtung 700 von 7 beschrieben sind.
  • Wie es darüber hinaus in 1 dargestellt ist, kann der bzw. können die Identifizierungsserver 116 von dem (den) Videoserver(n) 130 und/oder einer Client-Einrichtung 104 getrennt oder verschieden sein; dies ist jedoch nicht als Einschränkung zu verstehen. Beispielsweise kann es sich bei dem (den) Identifikationsserver(n) 116 um denselben oder einen ähnlichen Server wie dem (den) Videoserver(n) 130 handeln und/oder eine oder mehrere Komponenten davon können sich zumindest teilweise auf einer Client-Einrichtung (bzw. Client-Einrichtungen) 104 befinden. Bei einigen Beispielen können der oder die Identifikationsserver 116 von einer ersten Einheit (z. B. einem ersten Unternehmen) betrieben oder gehostet werden und der oder die Videoserver 130 kann (können) von einer zweiten Einheit (z. B. einem zweiten, anderen Unternehmen) betrieben oder gehostet werden. In solchen Beispielen kann die zweite Einheit ein Video-Streaming-Dienst sein, und die erste Einheit kann Trainingsdatensätze aus Daten (z. B. Videodaten) entwickeln, die sie von der zweiten Einheit erhält. In anderen Beispielen können der oder die Identifikationsserver 116 und Videoserver 130 zumindest teilweise von der gleichen Einrichtung betrieben oder gehostet werden.
  • Der oder die Identifikationsserver 116 kann bzw. können die Kommunikationsschnittstelle 110B umfassen, die eine oder mehrere Komponenten und Merkmale für die Kommunikation über ein oder mehrere Netzwerke, wie das (die) Netzwerk(e) 102, aufweisen kann. Die Kommunikationsschnittstelle 110B kann so ausgestaltet sein, dass sie über eine beliebige Anzahl von Netzwerken 102, wie es hier beschrieben ist, kommuniziert. Zum Beispiel können der oder die Identifikationsserver 116 zur Kommunikation in dem System 100 von 1 eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen, um mit der (den) Client-Einrichtung(en) 104, dem (den) Videoserver(n) 130 und/oder mit anderen Identifikationsserver(n) 116 zu kommunizieren.
  • Der oder die Identifikationsserver 116 können eine oder mehrere Anwendungsprogrammierschnittstellen (APIs) aufweisen, um eine Kommunikation von Informationen (z. B. Videodaten, Spielinformationen, Benutzerkontoinformationen usw.) mit dem oder den Videoserver(n) 130 zu ermöglichen. Beispielsweise kann der Identifikationsserver 116 eine oder mehrere Spiel-APIs aufweisen, die eine Schnittstelle zu einer Streaming-Engine 132 des oder der Videoserver 130 bilden, um Videodaten für das Training eines MLMs 122 unter Verwendung eines Trainingsmoduls 118 und/oder für ein Erkennen von Inhaltselementen in Videos unter Verwendung des Inhaltselement-Bestimmers 120B zu empfangen. Als weiteres Beispiel kann (können) der (die) Identifikationsserver 116 eine oder mehrere APIs aufweisen, die eine Schnittstelle mit der Anwendung 106 (und/oder dem Inhaltselement-Bestimmer 120A) einer Client-Einrichtung 104 bilden, um Informationen in Bezug auf ein Inhaltselement zu übertragen (z. B. als Reaktion auf die Erkennung eines Inhaltselements in einem Spielvideo), um die Anwendung 106 einer Client-Einrichtung 104 in die Lage zu versetzen, die dem Inhaltselement zugeordneten Informationen in einer Anzeige 108 bereitzustellen. Obwohl hier verschiedene APIs beschrieben werden, können die APIs Teil einer einzigen API sein, zwei oder mehrere der APIs können kombiniert sein, verschiedene APIs können andere als die hier beispielhaft beschriebenen aufweisen, oder eine Kombination davon.
  • Der oder die Identifikationsserver 116 können ein Trainingsmodul 118 zum Erlernen von Objekten aufweisen, die in einem Gameplay-Video erkannt werden können. Obwohl 1 eine Darstellung eines neuronalen Netzes aufweist, ist dies nicht als Einschränkung zu verstehen. Zum Beispiel kann das Trainingsmodul 118 verwendet werden, um Modelle zum maschinellen Lernen 122 eines beliebigen Typs zu trainieren, wie Modelle zum maschinellen Lernen mit linearer Regression, logistischer Regression, Entscheidungsbäumen, Support Vector Machine (SVM), Naive Bayes, k-nearest neighbor (Knn), K-Mittel-Clustering, Random Forest, Algorithmen zur Dimensionalitätsreduktion, Gradient-Boosting-Algorithmen, neuronale Netze (z. B, Autocodierer, Faltungsnetzwerke, rekurrente Netzwerke, Wahrnehmungsnetzwerke, Langzeit-/Kurzzeitspeicher, Hopfield-Netzwerke, Boltzmann-Netzwerke, Deep Belief-Netzwerke, dekonvolutionäre Netzwerke, generative adversarische Netzwerke, Liquid State Machine-Netzwerke usw.), neuronale Zwillingsnetze und/oder andere Arten von Modellen zum maschinellen Lernen.
  • Videodaten können durch das Trainingsmodul 118 auf das (die) MLM(e) 122 angewendet werden, wobei das oder die MLM(e) 122 lernen, ein oder mehrere Objekte in einem Video und/oder Inhaltselemente, die in Videodaten dargestellt werden, zu erkennen. Bei einigen Beispielen können die Videodaten auf ein oder mehrere MLM(e) 122 (z. B. neuronale Netze) angewendet werden, die mit Hilfe von einem bestärkenden Lernen oder einem inversen bestärkenden Lernen trainiert werden. Um beispielsweise die Erkennung oder Identifizierung von Objekten in Videos zu erlernen, kann inverses bestärkendes Lernen verwendet werden, um Objekte und Inhaltselemente durch viele Videoströme zu beobachten und zu lernen, Objekte aus einer beliebigen Anzahl von Winkeln, Maßstäben und/oder Verdeckungen (z. B. blockierte Sicht, geringe Auflösung usw.) zu erkennen. Die Videodaten können in einem oder mehreren Datenspeichern (128) gespeichert werden. Außerdem können die Daten, die vom Trainingsmodul 118 zum Trainieren des oder der MLMe 122 verwendet und erzeugt werden, in dem oder den Datenspeicher(n) 128 gespeichert werden.
  • Die Videodaten können Gameplay-Videodaten, Spieldaten, Benutzerkontodaten, Bilddaten, Audiodaten und/oder andere Daten aufweisen, die einen oder mehrere Abschnitte eines Spiels oder anderer Inhalte darstellen oder erfassen. Beispielsweise können die Videodaten Videobilder des Spiels und die mit diesem Spiel verbundenen Audiodaten aufweisen. Bei einigen Beispielen können die Videodaten Informationen wie Benutzerkontoinformationen (z. B. ein Konto eines Benutzers, der ein Streaming-Video anschaut) und/oder Spielinformationen (z. B. Informationen, die den Namen des Spiels, die Version des Spiels usw. angeben) aufweisen. Die Videodaten können die Umgebung, die Objekte, die Werte und/oder andere Informationen eines Videostreams 114 erfassen. Die Videodaten können mit zugehörigen kommentierten oder gekennzeichneten Bildern von Inhaltselementen gespeichert werden, auf deren Erkennung das (die) MLM(e) 122 trainiert ist (sind).
  • Das oder die MLM(e) 122 können durch das Trainingsmodul 118 trainiert werden, um ein oder mehrere Objekte in einem Video und/oder Inhaltselemente, die in Videodaten dargestellt werden, zu erkennen. Das oder die MLM(e) 122 können trainiert werden, um Objekte in bestimmten Kontexten zu erkennen (z. B. trainiert werden, um Objekte innerhalb eines einzelnen Spieletitels zu erkennen) oder können trainiert werden, um Objekte über eine beliebige Anzahl von Videokontexten (z. B. mehrere Spieletitel, Versionen, Erweiterungen, DLC, Genres, Spielsysteme usw.) zu erkennen. Beispielsweise können die MLMe 122 von dem Trainingsmodul 118 trainiert und von dem Inhaltselement-Bestimmer 120B verwendet werden, um Objekte in Gameplay-Videos mehrerer Spiele oder eines bestimmten Genres oder Typs eines Gameplays (z. B. Ego-Shooter, Strategie, Sport, Rätsel usw.) zu erkennen. Ein Training eines MLM 122 zur Erkennung von Objekten für einen Kontext kann die Verwendung von Bilddaten aus dem Kontext als Trainingsdaten aufweisen
  • Das oder die MLM(e) 122 können trainiert werden, um zu bestimmen, dass es sich bei einem in einem Gameplay-Video erkannten Objekt um ein bestimmtes Inhaltselement (bzw. bestimmte Inhaltselemente) 150 handelt. Bei den Inhaltselementen 150 kann es sich um eine beliebige Anzahl virtueller oder realer Elemente handeln, die in einem Gameplay-Video erscheinen können (z. B. Spieler-Skins, Gegenstände, Sportausrüstung, Kleidung, Waffen, Ausstattung, Fahrzeuge usw.). Das oder die MLM(e) 122 können mit kommentierten oder gekennzeichneten Trainingsbildern von Inhaltselementen 150 oder mit Gameplay-Videos eines Spiels, das die Inhaltselemente 150 oder ähnliche Objekte aufweist, trainiert werden. Bei einigen Beispielen kann (können) das (die) MLM(e) 122 durch das Trainingsmodul 118 trainiert werden, um verschiedene Instanzen eines Inhaltselements 150 zu identifizieren, die variable visuelle Eigenschaften aufweisen können (z. B. variable Blickwinkel, Größen, Beleuchtung, Verdeckungen usw.). Dies kann eine Auswahl und Bereitstellung von Trainingsbildern für das (die) MLM(e) 122 einschließen, die Variationen dieser Variablen abbilden.
  • Das oder die MLM(e) 122 können von jedem geeigneten Typ sein, wie z.B. Modelle zum maschinellen Lernen unter Verwendung von linearer Regression, logistischer Regression, Entscheidungsbäumen, Support Vector Machine (SVM), Naive Bayes, k-nearest neighbor (Knn), K means clustering, Random Forest, Dimensionalitätsreduktionsalgorithmen, Gradient Boosting Algorithmen, neuronalen Netzen (z.B., Autocodierer, Faltungsnetzwerke, rekurrente Netzwerke, Wahrnehmungsnetzwerke, Lang-/Kurzzeitspeicher, Hopfield-Netzwerke, Boltzmann-Netzwerke, Deep Belief-Netzwerke, dekonvolutionäre Netzwerke, generative adversarische Netzwerke, Liquid State Machine-Netzwerke usw.), neuronale Zwillingsnetze und/oder andere Arten von Modellen zum maschinellen Lernen.
  • Bei mindestens einer Ausführungsform kann das MLM bzw. können die MLMe 122 ein neuronales Zwillingsnetz umfassen, das so trainiert werden kann, dass es Repräsentationen eines Inhaltselements bzw. von Inhaltselementen 150 unter Verwendung positiver und/oder negativer Beispiele des Inhaltselements bzw. der Inhaltselemente 150 codiert. Wenn es einmal bereitgestellt ist, können ein oder mehrere Inhaltselement-Bestimmer 120, wie z. B. ein Inhaltselement-Bestimmer 120A und/oder 120B, das oder die MLMe 122 verwenden, um ein oder mehrere Inhaltselemente 150 im Video zu bestimmen. Wie es dargestellt ist, kann sich ein Inhaltselement-Bestimmer 120 zumindest teilweise auf einer beliebigen Kombination aus einer Client-Einrichtung 104 und/oder dem (den) Identifizierungsserver(n) 116 befinden, was bei verschiedenen Ausführungsformen unterschiedlich sein kann. Zum Beispiel können einige Ausführungsformen einen Inhaltselement-Bestimmer 120A und keinen Inhaltselement-Bestimmer 120B aufweisen, und umgekehrt.
  • Ein oder mehrere Inhaltselement-Bestimmer 120 können das eine oder die mehreren MLMe 122 verwenden, um ein Objekt zu codieren, das in Videodaten erkannt (z. B. von einem MLM 122 erkannt) wurde. Die Codierung des Objekts kann von dem Inhaltselement-Bestimmer 120 verwendet werden, um ein oder mehrere Inhaltselemente 150 zu identifizieren. Beispielsweise kann die Codierung des erkannten Objekts mit anderen Codierungen verglichen werden, die von dem neuronalen Zwillingsnetz des (der) MLMe 122 erzeugt wurden, um zu bestimmen, ob ein oder mehrere Inhaltselemente 150 in den Videodaten dargestellt sind. Bei einigen Beispielen kann (können) der (die) Inhaltselement-Bestimmer 120 die Codierungen vergleichen, um eine Ähnlichkeit oder Übereinstimmung zwischen den Codierungen zu bestimmen, um ein oder mehrere Inhaltselemente 150 auszuwählen. Zum Beispiel kann (können) der (die) Inhaltselement-Bestimmer 120 ein (mehrere) Inhaltselement(e) 150 auf der Grundlage der Ähnlichkeit zwischen Codierungen auswählen, die einen Schwellenwert erreicht oder überschreitet, und/oder auf der Grundlage einer beliebigen Anzahl von Verfahren zur Bewertung oder Einstufung des Vertrauens in Übereinstimmungen.
  • Ein Inhaltselement-Bestimmer 120 kann die Kommunikationsschnittstelle 100A und/oder 110B verwenden, um auf die Videodaten zuzugreifen, die über das oder die Netzwerke 102 und/oder von einem lokalen oder entfernten Speicher, wie dem oder den Datenspeichern 128, analysiert werden. Ein Inhaltselement-Bestimmer 120 kann als Vermittler für ein Abrufen und Anwenden von Videodaten auf ein oder mehrere geeignete MLMe 122, für eine Nachbearbeitung einer Ausgabe des oder der MLMe 122 und für die Übermittlung von Metadaten fungieren, die zumindest bei der Nachbearbeitung erzeugt oder bestimmt werden (z. B. Übermittlung der Metadaten an den Präsentationsmanager 124 und/oder die Anwendung 106). Bei einigen Beispielen kann der Inhaltselement-Bestimmer 120 Videodaten auf ein oder mehrere MLMe 122 anwenden und ein oder mehrere bestimmte Inhaltselemente 150 in den Videodaten auf der Grundlage der Ausgabe davon bestimmen oder identifizieren. Der Präsentationsmanager 124 kann dann Einblendungen und/oder Informationen in Bezug auf das bzw. die bestimmten Inhaltselemente 150 zur Präsentation für einen oder mehrere Benutzer und/oder Betrachter erzeugen, die einem entsprechenden Videostream 114 zugeordnet sind.
  • Der Präsentationsmanager 124 kann Inhalte zur Anzeige auf einer oder mehreren Client-Einrichtungen 104 erzeugen und/oder bestimmen. Zum Beispiel kann der Präsentationsmanager 124 Anmerkungen und Einblendungen erzeugen und/oder bestimmen, die an eine Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 übermittelt werden können. Der Präsentationsmanager 124 kann sich beispielsweise auf einem oder mehreren der Identifikationsserver 116 befinden. Bei einigen Beispielen kann ein Präsentationsmanager 124 in einer Anwendung 106 vorhanden sein oder anderweitig auf einer oder mehreren Client-Einrichtungen 104 gehostet werden. Während der Präsentationsmanager 124 auf dem oder den Identifikationsservern 116 dargestellt ist, kann er in einer oder mehreren Ausführungsformen zumindest teilweise auf einer oder mehreren Client-Einrichtungen 104 und/oder dem oder den Videoservern 130 vorhanden sein. Andere Positionen von Komponenten können in ähnlicher Weise variiert werden, wie z. B. der Inhaltselement-Bestimmer 120, der oder die Datenspeicher 128, das oder die MLMe 122 und/oder das Trainingsmodul 118 usw. Bei einigen Ausführungsformen kann (können) der (die) Identifikationsserver 116 außerdem einen oder mehrere Videoserver 130 aufweisen.
  • 2 ist ein beispielhafter Screenshot einer grafischen Benutzeroberfläche (GUI) 200 zum Erfassen eines Inhaltselements gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die in 2 gezeigte GUI 200 kann Teil einer größeren GUI sein. Beispielsweise kann die gezeigte GUI 200 ein GUI-Bereich oder ein Fenster sein, das innerhalb einer umschließenden GUI dargestellt wird. Bei einigen Ausführungsformen kann die GUI 200 Teil der Anwendung 106 der Client-Einrichtung(en) 104 sein oder mit dieser dargestellt werden. Darüber hinaus kann die GUI 200 Teil anderer Anwendungen als der Anwendung 106 sein oder mit diesen dargestellt werden. Darüber hinaus kann die GUI 200 auf einer oder mehreren Client-Einrichtungen 104 dargestellt werden, die sich von einer oder mehreren Client-Einrichtungen 104 unterscheiden, die den Videostream 114 (z. B. in der Anwendung 106) anzeigen.
  • Die GUI 200 kann einem Benutzer eine Inhaltselementinformation 204 präsentieren, die einem Inhaltselement zugeordnet sein kann. Zum Beispiel kann die GUI 200 einen Benutzer mit den Inhaltselementinformationen 204 auffordern, wie z.B. mit einer Option zum Erwerb des Inhaltselements „Kleeblattmütze“. Die Inhaltselementinformation 204 kann jede dem Inhaltselement zugeordnete Information aufweisen. Beispielsweise kann die Inhaltselementinformation 204 einen Namen, Attribute, Seltenheit, Verfügbarkeit, Merkmale, Fähigkeiten, eine Beschreibung oder andere Informationen im Zusammenhang mit dem Inhaltselement oder ähnlichen Elementen aufweisen.
  • Bei mindestens einer Ausführungsform kann die GUI 200 gleichzeitig mit dem Videostream 114 angezeigt werden. Bei einigen Beispielen kann die GUI 200 nach Beendigung des Videostreams 114 angezeigt werden. Beispielsweise kann die GUI 200 auf der Anzeige 108 einer oder mehrerer Client-Einrichtungen 104 am Ende einer Videostream-Übertragung oder nach einer beliebigen Zeitspanne angezeigt werden.
  • Bei mindestens einer Ausführungsform wird die GUI 200 zumindest auf der Grundlage einer Interaktion des Benutzers mit der Anwendung 106, einer Inhaltselementinformation 152 und/oder einem grafischen Feedback-Element 154 angezeigt. Beispielsweise kann die GUI 200 angezeigt werden, wenn ein Benutzer mit einer Option interagiert, z. B. mit dem grafischen Feedback-Element 154B und/oder dem Beschaffungs-Link 158B, der dem in dem Videostream 114 identifizierten Inhaltselement 150B zugeordnet ist. In solchen Beispielen kann das grafische Feedback-Element 154B oder der Beschaffungs-Link 158B einen Link umfassen, der (z. B. über das oder die grafischen Elemente) oder andere Informationen in der Benutzeroberfläche von 1 eines Betrachters des Videos angezeigt wird. Der Link kann zu einem Dienst führen, der die GUI 200 bereitstellt und/oder ein Backend davon verwaltet. Der Dienst kann auf einem anderen Server und/oder System gehostet werden als die Einrichtung(en), die zur Analyse des Videos 156 nach Inhaltselementen verwendet werden (z. B. eine Client-Einrichtung 104 und/oder ein Identifizierungsserver 116), oder er kann auf demselben Server und/oder System gehostet werden (z. B. auf einem Identifizierungsserver 116). Die Auswahl der Option, die dem Link entspricht, kann direkt oder indirekt (z. B. über eine weitere Option oder Aufforderung) eine Einrichtung des Benutzers zu dem Dienst und/oder der GUI 200 umleiten. In anderen Beispielen kann die Auswahl der Option eine Verbindung zu dem Drittanbieter oder einem externen Dienst herstellen, ohne dass notwendigerweise eine zweite Benutzeroberfläche, wie die GUI 200, angezeigt werden muss. Beispielsweise kann die Option verwendet werden, um das Inhaltselement 150 direkt von der Benutzeroberfläche von 1 über den Dienst zu erwerben. Die GUI 200 kann einen Bereich enthalten, der eine oder mehrere Inhaltselementdarstellungen 202 präsentiert, die grafische Elemente aufweisen können, die das Inhaltselement darstellen. Beispielsweise kann die Inhaltselementdarstellung 202 ein Bild, ein Video und/oder einen Ton aufweisen, die dem Inhaltselement zugeordnet sind. Ein Bild und/oder andere Informationen, die in Bezug auf ein Inhaltselement präsentiert werden, können vom Präsentationsmanager 124 aus dem Video 156 oder von anderswo erfasst werden und können unter Verwendung eines Inhaltsidentifizierers des Inhaltselements referenziert und/oder aufgerufen werden. In einer oder mehreren Ausführungsformen kann (können) Inhaltselementdarstellung(en) lokal gespeichert oder unter Verwendung des Inhaltsidentifizierers aus einem Datenspeicher abgerufen werden. Beispielsweise kann jedes Inhaltselement mit Assets verknüpft sein, die von einem oder mehreren Datenspeichern 128 abgerufen werden (z. B. von oder durch einen oder mehrere Identifikationsserver 116). In einigen Fällen kann die Inhaltselementdarstellung 202 ein Video oder eine Reihe von Bildern aufweisen. Zum Beispiel kann die GUI 200 einen Abschnitt des Spielvideos darstellen, der das Inhaltselement enthält (z.B. in dem das Inhaltselement mit Hilfe des oder der MLMe 122 erkannt wurde), oder sie kann ein Video aus einer anderen Spielsitzung darstellen, das das Inhaltselement aufweist.
  • Bei einigen Ausführungsformen kann die GUI 200 ein oder mehrere grafische Elemente 206 aufweisen, die auswählbar sind, um das Inhaltselement zu erwerben. Das oder die grafischen Elemente 206 können auswählbar sein, um einem Benutzer zu ermöglichen, das präsentierte Inhaltselement in einem bestimmten Spiel zu erwerben. Zum Beispiel kann das grafische Element 206 von einem Benutzer auswählbar sein, um zu bestätigen, dass er den Inhaltsgegenstand wie den „Kleeblatt-Hut“ erwerben möchte.
  • 3 ist ein Blockdiagramm 300, das ein Verfahren zum Bestimmen von Inhaltselementen in Videos mit Modellen zum maschinellen Lernen zeigt. Es sollte klar sein, dass diese und andere Anordnungen, wie sie hier beschrieben sind, nur als Beispiele dargestellt werden. Andere Anordnungen und Elemente (z. B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können zusätzlich zu den gezeigten oder anstelle von ihnen verwendet werden, und einige Elemente können ganz weggelassen werden. Darüber hinaus handelt es sich bei vielen der hier beschriebenen Elemente um funktionale Einheiten, die als einzelne oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jeder geeigneten Stelle implementiert sein können. Verschiedene Funktionen, wie es hier beschrieben ist, können durch Hardware, Firmware und/oder Software ausgeführt werden. Zum Beispiel können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt.
  • Bilddaten 302, die für ein oder mehrere Bilder bzw. Einzelbilder des Videos 156 repräsentativ sind, können auf einen Objektdetektor 304 der MLMe 122 angewendet werden, der ein oder mehrere Objekte innerhalb der Bilddaten 302 erkennen kann. Der Objektdetektor 304 kann so trainiert sein, dass er eine beliebige Anzahl von unterschiedlichen Objekten erkennt. Objekte können beispielsweise Spielfiguren, Kleidung, Objekte, Erscheinungsbilder, Fahrzeuge, Gebäude, Türme, Mauern, Spieler, Pflanzen, Tiere usw. aufweisen, ohne darauf beschränkt zu sein. Es können mehrere Objektdetektoren 304 und/oder Codebücher verwendet werden, um verschiedene Inhaltselemente und/oder Arten von Inhaltselementen zu erkennen. Bei einigen Beispielen kann der Inhaltselement-Bestimmer 120 den (die) Objektdetektor(en) 304 aus einer Vielzahl von Objektdetektoren auswählen und/oder bestimmen, die darauf trainiert sind, verschiedene Arten von Objekten zu erkennen. Beispielsweise können der oder die verwendeten Objektdetektoren 304 zumindest auf der Grundlage eines Spielidentifizierers eines in dem Video 156 dargestellten Spiels, des Inhalts des Videos 156, eines Benutzerprofils des Betrachters des Videostreams 114 und/oder eines Streamers des Videos 156, von Metadaten, die dem Video 156 und/oder dem Videostream 114 zugeordnet sind, usw. ausgewählt werden.
  • Bei einigen Beispielen kann der Objektdetektor 304 trainiert werden, um eine Begrenzungsform oder einen Begrenzungsbereich (z. B. eine Bounding Box) jedes erkannten Objekts zu bestimmen, der Bounding-Box-Koordinaten aufweisen kann. Die Begrenzungsform(en) kann (können) in einer oder mehreren Ausgaben 306 des Ausgabedetektors 304 erfasst werden. In Ausführungsformen kann die Begrenzungsform oder der Begrenzungsbereich mit der Inhaltselementinformation 152 von 1 korrespondieren. Zum Beispiel kann eine Begrenzungsform einen Ort, eine Größe und/oder eine Form eines grafischen Elements der Inhaltselementinformation 152 definieren.
  • Ein Inhaltselement-Bestimmer 120 kann die Ausgabe(n) 306 verwenden, um zu bestimmen, dass ein oder mehrere Inhaltselemente 150 innerhalb des Videos 156 vorhanden sind, das den Bilddaten 302 entspricht. Die Ausgabe(n) 306 kann (können) z.B. eine unverarbeitete Ausgabe des Objektdetektors 304 umfassen. Wenn der Objektdetektor 304 auf einem neuronalen Netz (z. B. einem CNN) basiert, kann die Ausgabe Tensordaten umfassen, die ein oder mehrere erkannte Objekte und/oder deren Positionen (z. B. die Positionen von Begrenzungsformen) angeben. Bei einigen Beispielen kann ein Objektdetektor 304 darauf trainiert sein, bestimmte Inhaltselemente zu erkennen. In solchen Beispielen kann ein Inhaltselement einer Ausgabeklasse eines Objektdetektors 304 entsprechen. Der Inhaltselement-Bestimmer 120 kann ein oder mehrere Inhaltselemente, die vom Objektdetektor 304 identifiziert wurden, auf der Grundlage von Konfidenzwerten bestimmen, die durch die Ausgabe(n) 306 repräsentiert werden und die Inhaltselemente betreffen. Wenn der Inhaltselement-Bestimmer 120 beispielsweise bestimmt, dass ein Konfidenzwert einen Schwellenwert überschreitet, kann der Inhaltselement-Bestimmer 120 dieses Inhaltselement in dem Video 156 identifizieren. Darüber hinaus kann ein Objektdetektor 304 trainiert werden, um eine Klasse oder einen Typ eines Inhaltselements oder Objekts zu erkennen. Die Ausgabe(n) 306 kann (können) zum Beispiel Konfidenzwerte in Bezug auf Klassen oder Typen von Inhaltselementen oder Objekten repräsentieren. In solchen Beispielen verwendet der Inhaltselement-Bestimmer 120 darüber hinaus ein neuronales Zwillingsnetz 314, um zu bestimmen, dass ein oder mehrere Inhaltselemente 150 in dem Video 156 vorhanden sind.
  • Bei der Verwendung des neuronalen Zwillingsnetzes 314 kann der Inhaltselement-Bestimmer 310 (eine) Referenzausgabe(n) 308 erhalten, die zum Vergleich mit der (den) Ausgabe(n) 316 des neuronalen Zwillingsnetzes 314 verwendet werden kann (können). (Eine) Referenzausgabe(n) 308 kann (können) beispielsweise Daten umfassen, die ein bestimmtes Inhaltselement repräsentieren, das das System 100 identifizieren soll. Eine Referenzausgabe 308 kann beispielsweise eine Ausgabe des neuronalen Zwillingsnetzes 314 aufweisen, die ein bestimmtes Inhaltselement repräsentiert oder von der bekannt ist, dass sie einem solchen entspricht. Verschiedene Referenzausgaben 308 können verschiedenen Inhaltselementen entsprechen. Beispielsweise können die Referenzausgaben 308 vor einem Einsatz erzeugt werden, indem bekannte Bilder von Inhaltselementen auf das neuronale Zwillingsnetz 314 angewendet werden. Die von einem oder mehreren Beispielen eines bestimmten Inhaltselements erzeugten Ausgaben können verwendet werden, um eine Referenzausgabe 308 für dieses Inhaltselement zu erzeugen. Beispielsweise können die Ausgaben von verschiedenen Beispielen zu einem oder mehreren Merkmalsvektoren zusammengefasst oder anderweitig kombiniert werden, die das Inhaltselement in verschiedenen Größen, Winkeln, unter verschiedenen Beleuchtungsbedingungen oder anderen Kontexten repräsentieren. Eine Referenzausgabe 308 für ein Inhaltselement kann mit einem Inhaltsidentifizierer des Inhaltselements verknüpft sein. Beispielsweise können Inhaltsidentifizierer durch eine Referenzausgabe 308 indiziert werden, um einen Inhaltsidentifizierer zu suchen, wenn ein erkanntes Objekt mit der Referenzausgabe 308 abgeglichen wird.
  • Bei mindestens einer Ausführungsform kann der Inhaltselement-Bestimmer 120, um ein erkanntes Objekt mit einer Referenzausgabe 308 abzugleichen, Objektdaten 312 bereitstellen, die mindestens einen Abschnitt des erkannten Objekts als Eingabe(n) für das neuronale Zwillingsnetz 314 aufweisen. Die Objektdaten 312 können ein Bild oder eine Darstellung eines erkannten Objekts in den Bilddaten 302 aufweisen. Beispielsweise kann der Inhaltselement-Bestimmer 120 das erkannte Objekt aus einem oder mehreren Einzelbildern der Bilddaten 302 herausschneiden, und die Objektdaten 312 können die herausgeschnittenen Daten aufweisen. In verschiedenen Beispielen kann ein Bild zumindest auf der Grundlage der mit dem Objektdetektor 304 ermittelten Begrenzungsform herausgeschnitten werden. Im gezeigten Beispiel kann das Objekt „Kleeblatt-Hut“, das als Objekt in den Bilddaten 302 erkannt wurde, herausgeschnitten und in den Objektdaten 312 übertragen werden.
  • Unter Verwendung der Objektdaten 312 kann das neuronale Zwillingsnetz 314 die Objektdaten 312 in eine Repräsentation codieren, die z.B. auf positiven und/oder negativen Beispielen eines oder mehrerer Inhaltselemente 150 basiert. Die Codierung der Objektdaten 312 kann in der (den) Ausgabe(n) 316 enthalten sein, und der Inhaltselement-Bestimmer 120 kann die Codierung mit der (den) Referenzausgabe(n) 308 vergleichen, um Ähnlichkeiten zwischen den Codierungen zu bestimmen oder um die Ausgabe(n) 316 anderweitig mit einer oder mehreren Referenzausgaben 308 abzugleichen. Daten, die ein Ähnlichkeitsniveau darstellen, wie z. B. ein Ähnlichkeitswert oder ein Konfidenzwert, können von dem Inhaltselement-Bestimmer 120 berechnet und zur Auswahl eines oder mehrerer entsprechender Inhaltselemente 150 verwendet werden. Zum Beispiel kann der Inhaltselement-Bestimmer 120 bestimmen, dass ein erkanntes Objekt ein bestimmtes Inhaltselement ist, basierend auf mindestens einer Ähnlichkeitsbewertung zwischen der Ausgabe 316, die dem Objekt zugeordnet ist, und der Referenzausgabe 308, die dem Inhaltselement zugeordnet ist. Bei mindestens einer Ausführungsform kann die Bestimmung zumindest darauf basieren, dass der Ähnlichkeitswert einen Schwellenwert überschreitet und/oder auf einer Rangfolge der Ähnlichkeitswerte für das erfasste Objekt und anderer Inhaltselemente basieren (z.B. basierend darauf, dass der
  • Ähnlichkeitswert unter einer Vielzahl von Ähnlichkeitswerten für verschiedene Inhaltselemente am höchsten ist). Bei mindestens einer Ausführungsform kann der Inhaltsidentifizierer eines zugeordneten Inhaltselements und/oder dessen Metadaten - wie z.B. Ort(e) oder Koordinaten innerhalb der Bilddaten 302 - dem Präsentationsmanager 124 und/oder der Anwendung 106 einer Client-Einrichtung 104 zur Präsentation zugehöriger Informationen bereitgestellt werden, wie es hier beschrieben ist.
  • Wie es hier beschrieben ist, umfasst jeder Block des Verfahrens 400 in 4 einen Rechenprozess, der mit einer beliebigen Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Das Verfahren kann auch in Form von computerverwendbaren Anweisungen, die auf Computerspeichermedien gespeichert sind, konkretisiert sein. Das Verfahren kann durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Darüber hinaus wird das Verfahren 400 beispielhaft für das System zur Identifizierung von Inhaltselementen in 1 beschrieben. Dieses Verfahren kann jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf die hier beschriebenen Systeme.
  • 4 ist ein Flussdiagramm, das ein Verfahren 400 zur Bestimmung eines Inhaltselements gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 400 weist im Block B402 einen Empfang von Bilddaten auf, die ein Gameplay-Video eines Spiels darstellen. Beispielsweise können die Identifikationsserver 116 die Bilddaten 302 empfangen, die für das Video 156 repräsentativ sind, das mit der Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 verbunden ist.
  • Das Verfahren 400 weist in Block B404 die Anwendung der Bilddaten auf ein Modell zum maschinellen Lernen auf, das trainiert wurde, um ein Objekt oder mehrere Objekte zu erkennen und ein Inhaltselement oder mehrere Inhaltselemente in den Bilddaten zu identifizieren. Beispielsweise können das oder die Modelle zum maschinellen Lernen 122 durch das Trainingsmodul 118 trainiert werden, um Objekte in Videodaten zu erkennen und Inhaltselemente basierend auf den Erkennungen zu identifizieren.
  • Das Verfahren 400 weist in Block B406 ein Bestimmen eines Inhaltselements auf, das in dem Spielvideo präsentiert wird. Zum Beispiel kann ein Inhaltselement-Bestimmer 120 das in dem Video 156 präsentierte Inhaltselement 150B zumindest auf der Grundlage eines Erkennens eines Objekts, das dem Inhaltselement 150B entspricht, unter Verwendung des (der) MLMs/e 122 bestimmen. Das Verfahren 400 weist in Block B408 die Anzeige einer Option unter Verwendung von Metadaten des Inhaltselements auf, wobei die Option auswählbar ist, um eine Präsentation einer zweiten Benutzerschnittstelle zu bewirken, die eine dem Inhaltselement zugeordnete Information und ein oder mehrere grafische Elemente präsentiert, die auswählbar sind, um das Inhaltselement im Spiel zu erwerben. Beispielsweise kann der Präsentationsmanager 124 des (der) Identifikationsserver(s) 116 Daten übermitteln, die die Anzeige einer Option bewirken, die der Inhaltselementinformation 152B unter Verwendung von Metadaten des Inhaltselements 150B entspricht. Die Option kann auswählbar sein, um die Darstellung der GUI 200 zu veranlassen, die Informationen präsentiert, die dem Inhaltselement 150B und dem (den) grafischen Element(en) 206 zugeordnet sind, das (die) auswählbar sein kann (können), um das Inhaltselement 150B in dem Spiel zu erwerben.
  • Wie es hier beschrieben ist, umfasst jeder Block des Verfahrens 500 in 5 einen Rechenprozess, der mit einer beliebigen Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Das Verfahren kann auch in Form von computerverwendbaren Befehlen, die auf Computerspeichermedien gespeichert sind, konkretisiert sein. Das Verfahren kann durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Darüber hinaus wird das Verfahren 500 beispielhaft für das System zur Identifizierung von Inhaltselementen in 1 beschrieben. Dieses Verfahren kann jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf die hier beschriebenen Systeme.
  • 5 ist gemäß einigen Ausführungsformen der vorliegenden Offenbarung ein Flussdiagramm, das ein Verfahren 500 zur Darstellung von Informationen zeigt, die einem Inhaltselement zugeordnet sind. Das Verfahren 500 weist im Block B502 eine Darstellung eines Gameplay-Videos eines Spiels in einer ersten Benutzerschnittstelle auf. Beispielsweise kann die Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 Gameplay-Videodaten empfangen, die dem Videostream 114 entsprechen, und das Video 156 wie in 1 gezeigt präsentieren.
  • Das Verfahren 500 weist in Block B504 einen Empfang von Metadaten eines Inhaltselements auf, das in einem Gameplay-Video unter Verwendung eines oder mehrerer Modelle zum maschinellen Lernen erkannt wurde. Beispielsweise kann die Anwendung 106 der Client-Einrichtung(en) 104 Metadaten von dem Präsentationsmanager 124 des (der) Identifikationsserver(s) 116 empfangen, die sich auf ein Inhaltselement 150 beziehen, das unter Verwendung des (der) MLMs/e 122 erkannt wird. Insbesondere kann der Inhaltselement-Bestimmer 120 Spielvideodaten, die dem Videostream 114 entsprechen, auf das (die) MLM(e) 122 anwenden, um ein oder mehrere der Inhaltselemente 150 zu erkennen.
  • Das Verfahren 500 weist im Block B506 eine Anzeige einer Option auf, die auswählbar ist, um eine Darstellung einer zweiten Schnittstelle zu bewirken, die eine Information, die dem Inhaltselement zugeordnet ist, und grafische Elemente präsentiert, die auswählbar sind, um das Inhaltselement zu erwerben. Beispielsweise kann die Anwendung 106 der Client-Einrichtung(en) 104 eine Inhaltselementinformation 152, grafische Feedback-Elemente 154 und/oder Beschaffungslinks 158 anzeigen, die dem Videostream 114 zugeordnet sind. Jedes dieser Elemente kann grafische Elemente umfassen, die auswählbar sind, um ein oder mehrere entsprechende Inhaltselemente 150 zu erwerben. Beispielsweise kann die GUI 200 als Reaktion auf die Auswahl einer Option oder abhängig davon in einer zweiten Benutzeroberfläche dargestellt werden.
  • Wie es hier beschrieben ist, umfasst jeder Block des Verfahrens 600 in 6 einen Rechenprozess, der mit einer beliebigen Kombination aus Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Das Verfahren kann auch in Form von computerverwendbaren Anweisungen, die auf Computerspeichermedien gespeichert sind, konkretisiert sein. Das Verfahren kann durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Darüber hinaus wird das Verfahren 600 beispielhaft für das System zur Identifizierung von Inhaltselementen in 1 beschrieben. Dieses Verfahren kann jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf die hier beschriebenen Systeme.
  • 6 ist ein Flussdiagramm, das ein Verfahren 600 zur Identifizierung eines Inhaltselements unter Verwendung eines neuronalen Zwillingsnetzes gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 600 weist im Block B602 einen Empfang von Bilddaten auf, die für ein Video repräsentativ sind. Beispielsweise können die Identifikationsserver 116 (oder eine Client-Einrichtung 104 bei einigen Ausführungsformen) die Bilddaten 302 empfangen, die das Video 156 eines Spiels darstellen, das in der Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 präsentiert wird. Der Inhaltselement-Bestimmer 120 kann Bilddaten 302 von lokalen und/oder entfernten Datenspeichern 128 abrufen oder Bilddaten 302 von der Streaming-Engine 132 eines oder mehrerer Videoserver 130 empfangen (wenn der Inhaltselement-Bestimmer 120B eingesetzt wird, kann die Streaming-Engine 132 den Videostream 114 an die Client-Einrichtung 104 und einen anderen Videostream des Videos 156 an einen Identifikationsserver 116 bereitstellen).
  • Das Verfahren 600 weist im Block B604 ein Anwenden der Bilddaten auf ein oder mehrere Modelle zum maschinellen Lernen auf, um ein Objekt oder mehrere Objekte zu erkennen. Zum Beispiel kann der Inhaltselement-Bestimmer 120 die Bilddaten des Videos 156 auf den Objektdetektor 304 des (der) MLMs/e 122 anwenden, um ein oder mehrere Objekte in den Bilddaten zu erkennen. Bei einigen Beispielen wurden das oder die MLMe durch das Trainingsmodul 118 trainiert. Der Objektdetektor 304 kann mindestens einen Bereich der Bilddaten 302 erkennen, der den erkannten Objekten entspricht. Ein mit dem Objektdetektor 304 detektierter Bereich kann den Objektdaten 312 von 3 entsprechen.
  • Das Verfahren 600 weist im Block B606 das Anwenden eines oder mehrerer Bereiche auf ein neuronales Zwillingsnetz auf. Zum Beispiel kann der Inhaltselement-Bestimmer 120 den Bereich, der den Objektdaten 312 entspricht und von dem Objektdetektor 304 erkannt wurde, auf das neuronale Zwillingsnetz 314 des (der) MLMs/e 122 anwenden. Das neuronale Zwillingsnetz 314 kann trainiert worden sein, um Repräsentationen des (der) Inhaltselements/e 150 unter Verwendung positiver und/oder negativer Beispiele des (der) Inhaltselements/e 150 zu codieren.
  • Das Verfahren 600 weist in Block B608 ein Identifizieren eines Inhaltselements in dem Video auf. Beispielsweise kann das neuronale Zwillingsnetz 314 des (der) MLMs/e 122 die Ausgabe(n) 316 erzeugen, die eine Codierung der Objektdaten 312 umfassen, die dem Bereich entsprechen. Der Inhaltselement-Bestimmer kann die Codierung mit einer oder mehreren Codierungen vergleichen, die durch die Referenzausgabe(n) 308 erfasst wurden, um ein Inhaltselement 150 in dem Video 156 zu identifizieren.
  • Das Verfahren 600 weist in Block B610 die Anzeige einer Option auf, die auswählbar ist, um die Darstellung von einer Information, die dem Inhaltselement zugeordnet ist, und von grafischen Elementen, die auswählbar sind, um das Inhaltselement zu erwerben, zu bewirken. Beispielsweise kann eine Anwendung 106 einer oder mehrerer Client-Einrichtungen 104 eine Inhaltselementinformation 152, grafische Feedback-Elemente 154 und/oder einen oder mehrere Beschaffungslinks 158 anzeigen, die dem Videostream 114 zugeordnet sind. Zum Beispiel kann der Präsentationsmanager 124 ein Anzeige einer oder mehrerer Optionen veranlassen, die einem oder mehreren der in 1 gezeigten grafischen Elemente in Bezug auf die Anzeige 108 entsprechen.
  • BEISPIELHAFTE RECHENEINRICHTUNG
  • 7 ist ein Blockdiagramm (einer) beispielhaften/r Recheneinrichtung(en) 700, die zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Offenbarung geeignet ist (sind). Die Recheneinrichtung 700 kann ein Verbindungssystem 702 aufweisen, das direkt oder indirekt die folgenden Einrichtungen koppelt: einen Speicher 704, eine oder mehrere Zentraleinheiten (CPUs) 706, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 708, eine Kommunikationsschnittstelle 710, Ein-/Ausgabeanschlüsse (I/O) 712, Ein-/Ausgabekomponenten 714, eine Stromversorgung 716, eine oder mehrere Präsentationskomponenten 718 (z. B. Display(s)) und eine oder mehrere Logikeinheiten 720. Bei mindestens einer Ausführungsform kann (können) die Recheneinrichtung(en) 700 eine oder mehrere virtuelle Maschinen (VMs) umfassen, und/oder jede ihrer Komponenten kann virtuelle Komponenten umfassen (z. B. virtuelle Hardwarekomponenten). Als nicht einschränkende Beispiele können eine oder mehrere der GPUs 708 eine oder mehrere vGPUs umfassen, eine oder mehrere der CPUs 706 können eine oder mehrere vCPUs umfassen, und/oder eine oder mehrere der Logikeinheiten 720 können eine oder mehrere virtuelle Logikeinheiten umfassen. Als solche kann eine Recheneinrichtung 700 diskrete Komponenten (z.B. eine vollständige GPU, die für die Recheneinrichtung 700 reserviert ist), virtuelle Komponenten (z.B. einen Abschnitt einer GPU, der für die Recheneinrichtung 700 reserviert ist) oder eine Kombination davon aufweisen.
  • Obwohl die verschiedenen Blöcke von 7 als über das Verbindungssystem 702 mit Linien verbunden dargestellt sind, ist dies nicht als Einschränkung gedacht und dient nur der Klarheit. Bei einigen Ausführungsformen kann beispielsweise eine Präsentationskomponente 718, wie eine Anzeigeeinrichtung, als I/O-Komponente 714 betrachtet werden (z. B. wenn die Anzeige ein Touchscreen ist). Als weiteres Beispiel können die CPUs 706 und/oder GPUs 708 Speicher aufweisen (z. B. kann der Speicher 704 zusätzlich zum Speicher der GPUs 708, der CPUs 706 und/oder anderer Komponenten eine Speichereinrichtung darstellen). Mit anderen Worten, die Recheneinrichtung von 7 ist lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Workstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Gerät“, „mobiles Gerät“, „in der Hand gehaltenes Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Einrichtungs- oder Systemtypen unterschieden, da alle im Rahmen der Recheneinrichtung von 7 in Betracht gezogen werden.
  • Das Verbindungssystem 702 kann eine oder mehrere Verbindungen oder Busse darstellen, wie z. B. einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Das Verbindungssystem 702 kann einen oder mehrere Bus- oder Verbindungstypen aufweisen, wie 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 eine andere Art von Bus oder Verbindung. Bei einigen Ausführungsformen gibt es direkte Verbindungen zwischen den Komponenten. So kann beispielsweise die CPU 706 direkt mit dem Speicher 704 verbunden sein. Darüber hinaus kann die CPU 706 auch direkt mit der GPU 708 verbunden sein. Bei direkten oder Punkt-zu-Punkt-Verbindungen zwischen Komponenten kann das Verbindungssystem 702 eine PCIe-Verbindung aufweisen, um die Verbindung herzustellen. In diesen Beispielen muss ein PCI-Bus nicht in der Recheneinrichtung 700 vorhanden sein.
  • Der Speicher 704 kann eine Vielzahl von computerlesbaren Medien aufweisen. Bei den computerlesbaren Medien kann es sich um alle verfügbaren Medien handeln, auf die die Recheneinrichtung 700 zugreifen kann. Die computerlesbaren Medien können sowohl flüchtige als auch nicht-flüchtige Medien sowie entfernbare und nicht-entfernbare Medien aufweisen. Als Beispiel und ohne Einschränkung können die computerlesbaren Medien Computerspeichermedien und Kommunikationsmedien umfassen.
  • Die Computerspeichermedien können sowohl flüchtige als auch nicht-flüchtige Medien und/oder entfernbare und nicht-entfernbare Medien aufweisen, die in einem beliebigen Verfahren oder einer Technologie zur Speicherung von Informationen, wie z.B. computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und/oder anderen Datentypen, implementiert sind. Beispielsweise kann der Speicher 704 computerlesbare Anweisungen speichern (z. B. solche, die ein Programm bzw. Programme und/oder ein Programmelement bzw. Programmelemente darstellen, wie z. B. ein Betriebssystem. Computerspeichermedien können ein RAM, ein ROM, ein EEPROM, einen Flash-Speicher oder andere Speichertechnologien, eine CD-ROM, Digital Versatile Disks (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium aufweisen, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das die Recheneinrichtung 700 zugreifen kann, sind jedoch nicht darauf beschränkt. Wie es hierin verwendet wird, umfasst das Computerspeichermedium nicht per se Signale.
  • Die Computerspeichermedien können computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal, wie z. B. einer Trägerwelle oder einem anderen Transportmechanismus, ausgestalten und weisen beliebige Informationsübertragungsmedien auf. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, bei dem eine oder mehrere seiner Eigenschaften so eingestellt oder verändert wurden, dass Informationen in dem Signal codiert sind. Die Computerspeichermedien können beispielsweise verdrahtete Medien, wie ein verdrahtetes Netzwerk oder eine direkte Kabelverbindung, und drahtlose Medien, wie akustische, RF-, Infrarot- und andere drahtlose Medien, aufweisen und sind nicht auf diese beschränkt. Kombinationen der oben genannten Medien sollen ebenfalls in dem Anwendungsbereich der computerlesbaren Medien vorhanden sein.
  • Die CPU(s) 706 kann (können) so ausgestaltet sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführt (ausführen), um eine oder mehrere Komponenten der Recheneinrichtung 700 zu steuern, um eine oder mehrere der hier beschriebenen Verfahren und/oder Vorgehen durchzuführen. Die CPU(s) 706 kann (können) jeweils einen oder mehrere Kerne aufweisen (z. B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig usw.), die in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die CPU(s) 706 kann (können) jede Art von Prozessor aufweisen und je nach Art der implementierten Recheneinrichtung 700 verschiedene Arten von Prozessoren aufweisen (z. B. Prozessoren mit weniger Kernen für mobile Einrichtungen und Prozessoren mit mehr Kernen für Server). Je nach Art der Recheneinrichtung 700 kann der Prozessor beispielsweise ein Advanced RISC Machines (ARM)-Prozessor sein, der mit Reduced Instruction Set Computing (RISC) arbeitet, oder ein x86-Prozessor, der mit Complex Instruction Set Computing (CISC) arbeitet. Die Recheneinrichtung 700 kann eine oder mehrere CPUs 706 zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzlichen Koprozessoren, wie z. B. mathematischen Koprozessoren, aufweisen.
  • Zusätzlich zu oder alternativ zu der (den) CPU(s) 706 kann (können) die GPU(s) 708 ausgestaltet sein, um zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten der Recheneinrichtung 700 zu steuern, um eine oder mehrere der hier beschriebenen Verfahren und/oder Vorgänge durchzuführen. Eine oder mehrere der GPU(s) 708 kann (können) eine integrierte GPU sein (z. B. mit einer oder mehreren der CPU(s) 706), und/oder eine oder mehrere der GPU(s) 708 kann (können) eine diskrete GPU sein. In Ausführungsformen kann eine oder können mehrere der GPU(s) 708 ein Koprozessor einer oder mehrerer der CPU(s) 706 sein. Der (Die) Grafikprozessor(en) 708 kann (können) von der Recheneinrichtung 700 zum Rendern von Grafiken (z. B. 3D-Grafiken) oder zur Durchführung von Allzweckberechnungen verwendet werden. Die GPU(s) 708 kann (können) beispielsweise für General-Purpose-Computing auf GPUs (GPGPU) verwendet werden. Die GPU(s) 708 kann (können) Hunderte oder Tausende von Kernen aufweisen, die in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu verarbeiten. Die GPU(s) 708 kann (können) als Reaktion auf Rendering-Befehle (z. B. Rendering-Befehle von der (den) CPU(s) 706, die über eine Host-Schnittstelle empfangen werden) Pixeldaten für Ausgabebilder erzeugen. Die GPU(s) 708 kann (können) einen Grafikspeicher, z. B. einen Anzeigespeicher, zum Speichern von Pixeldaten oder anderen geeigneten Daten, wie z. B. GPGPU-Daten, aufweisen. Der Anzeigespeicher kann als Teil des Speichers 704 vorhanden sein. Die GPU(s) 708 kann (können) zwei oder mehr GPUs aufweisen, die parallel arbeiten (z. B. über eine Verbindung). Die Verbindung kann die GPUs direkt (z. B. mit NVLINK) oder über einen Switch (z. B. mit NVSwitch) verbinden. In Kombination kann jede GPU 708 Pixeldaten oder GPGPU-Daten für verschiedene Abschnitte 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 Speicher aufweisen oder sich den Speicher mit anderen GPUs teilen.
  • Zusätzlich zu oder alternativ zu der (den) CPU(s) 706 und/oder der (den) GPU(s) 708 kann (können) die Logikeinheit(en) 720 so ausgestaltet sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführt (ausführen), um eine oder mehrere Komponenten der Recheneinrichtung 700 zu steuern, um eine oder mehrere der hier beschriebenen Verfahren und/oder Vorgänge durchzuführen. In Ausführungsformen können die CPU(s) 706, die GPU(s) 708 und/oder die Logikeinheit(en) 720 diskret oder gemeinsam eine beliebige Kombination der Verfahren, Vorgänge und/oder Teile davon ausführen. Eine oder mehrere der Logikeinheiten 720 kann (können) Teil einer oder mehrerer der CPU(s) 706 und/oder der GPU(s) 708 sein und/oder eine oder mehrere der Logikeinheiten 720 kann (können) diskrete Komponenten sein oder anderweitig außerhalb der CPU(s) 706 und/oder der GPU(s) 708 liegen. In Ausführungsformen kann eine oder können mehrere der Logikeinheiten 720 ein Koprozessor einer oder mehrerer der CPU(s) 706 und/oder einer oder mehrerer der GPU(s) 708 sein.
  • Beispiele für die Logikeinheit(en) 720 weisen einen oder mehrere Verarbeitungskerne und/oder Komponenten davon auf, wie z. B. Tensor-Cores (TCs), Tensor Processing Units (TPUs), Pixel Visual Cores (PVCs), Vision Processing Units (VPUs), Graphics Processing Clusters (GPCs), Texture Processing Clusters (TPCs), Streaming Multiprocessors (SMs), Tree Traversal Units (TTUs), Künstliche-Intelligenz-Beschleuniger (AlAs), Deep-Learning-Beschleuniger (DLAs), Arithmetik-Logik-Einheiten (ALUs), anwendungsspezifische integrierte Schaltungen (ASICs), Fließkomma-Einheiten (FPUs), Eingabe-/Ausgabe-Elemente (I/O), Peripheral-Component-Interconnect-Elemente (PCI) oder Peripheral-Component-Interconnect-Express-Elemente (PCle) und/oder dergleichen.
  • Die Kommunikationsschnittstelle 710 kann einen oder mehrere Empfänger, Sender und/oder Transceiver aufweisen, die es der Recheneinrichtung 700 ermöglichen, mit anderen Recheneinrichtungen über ein elektronisches Kommunikationsnetz zu kommunizieren, einschließlich drahtgebundener und/oder drahtloser Kommunikation. Die Kommunikationsschnittstelle 710 kann Komponenten und Funktionen aufweisen, um die Kommunikation über eine Reihe verschiedener Netzwerke zu ermöglichen, wie z.B. drahtlose Netzwerke (z.B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, etc.), verdrahtete Netzwerke (z.B. Kommunikation über Ethernet oder InfiniBand), Low-Power-Weitverkehrsnetzwerke (z.B. LoRaWAN, SigFox, etc.) und/oder das Internet.
  • Die I/O-Anschlüsse 712 können es der Recheneinrichtung 700 ermöglichen, logisch mit anderen Einrichtungen gekoppelt zu sein, einschließlich der I/O-Komponenten 714, der Präsentationskomponente(n) 718 und/oder anderer Komponenten, von denen einige in die Recheneinrichtung 700 eingebaut (z. B. integriert) sein können. Beispielhafte I/O-Komponenten 714 weisen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, eine Steuerung für Spiele, eine Satellitenschüssel, einen Scanner, einen Drucker, eine drahtlose Einrichtung usw. auf. Die I/O-Komponenten 714 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die Luftgesten, Sprache oder andere physiologische Eingaben eines Benutzers verarbeitet. In einigen Fällen können die 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 es unten ausführlicher beschrieben ist) in Verbindung mit einer Anzeige der Recheneinrichtung 700 implementieren. Die Recheneinrichtung 700 kann Tiefenkameras, wie z. B. stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, eine Touchscreen-Technologie und Kombinationen davon, zur Gestenerkennung und -steuerung aufweisen. Darüber hinaus kann die Recheneinrichtung 700 Beschleunigungsmesser oder Gyroskope (z. B. als Teil einer Trägheitsmesseinheit (IMU)) aufweisen, die die Erkennung von Bewegungen ermöglichen. Bei einigen Beispielen kann die Ausgabe der Beschleunigungsmesser oder Gyroskope von der Recheneinrichtung 700 verwendet werden, um immersive Augmented Reality oder Virtual Reality darzustellen.
  • Die Stromversorgung 716 kann eine fest verdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination davon aufweisen. Die Stromversorgung 716 kann die Recheneinrichtung 700 mit Strom versorgen, um den Betrieb der Komponenten der Recheneinrichtung 700 zu ermöglichen.
  • Die Präsentationskomponente(n) 718 kann(können) eine Anzeige (z. B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Head-up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten aufweisen. Die Präsentationskomponente(n) 718 kann (können) Daten von anderen Komponenten (z. B. der/den GPU(s) 708, der/den CPU(s) 706 usw.) empfangen und die Daten ausgeben (z. B. als Bild, Video, Ton usw.).
  • BEISPIELHAFTES INHALTS-STREAMING-SYSTEM
  • 8 ist eine beispielhafte Systemdarstellung für ein Inhalts-Streaming-System 800 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. 8 weist einen oder mehrere Anwendungsserver 802 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie die beispielhafte Recheneinrichtung 700 von 7 aufweisen können), eine oder mehrere Client-Einrichtungen 804 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie die beispielhafte Recheneinrichtung 700 von 7 aufweisen können) und ein oder mehrere Netzwerke 806 (die dem oder den hier beschriebenen Netzwerken ähnlich sein können) auf. In einigen Ausführungsformen der vorliegenden Offenbarung kann das System 800 implementiert sein. Die Anwendungssitzung kann einer Spiele-Streaming-Anwendung (z. B. NVIDIA GeFORCE NOW), einer Remote-Desktop-Anwendung, einer Simulationsanwendung (z. B. autonome oder halbautonome Fahrzeugsimulation), Computer Aided Design (CAD)-Anwendungen, Virtual Reality (VR)- und/oder Augmented Reality (AR)-Streaming-Anwendungen, Deep Learning-Anwendungen und/oder anderen Anwendungstypen entsprechen.
  • In dem System 800 kann (können) die Client-Einrichtung(en) 804 für eine Anwendungssitzung nur Eingabedaten als Reaktion auf Eingaben an die Eingabeeinrichtungen) empfangen, die Eingabedaten an den (die) Anwendungsserver 802 übertragen, codierte Anzeigedaten von dem (den) Anwendungsserver(n) 802 empfangen und die Anzeigedaten auf der Anzeige 824 anzeigen. So werden die rechenintensiveren Berechnungen und Verarbeitungen auf den (die) Anwendungsserver 802 verlagert (z. B. wird das Rendering - insbesondere das Ray- oder Path-Tracing - für eine grafische Ausgabe der Anwendungssitzung von der (den) GPU(s) des (der) Spieleserver(s) 802 ausgeführt). Mit anderen Worten: Die Anwendungssitzung wird von dem (den) Anwendungsserver(n) 802 zu der (den) Client-Einrichtung(en) 804 gestreamt, wodurch die Anforderungen der Client-Einrichtung(en) 804 an die Grafikverarbeitung und das Rendering reduziert werden. In einer oder mehreren Ausführungsformen kann das Video 156 der Anwendungssitzung sein, das zu einem oder mehreren Zuschauern und/oder einem Spieler des Spiels gestreamt werden kann. Beispielsweise kann der Spieler einen Stream des Spiels in einer Spielanwendung empfangen, die den Stream darstellt, während ein Betrachter den Stream in einer Videoplayer-Anwendung empfangen kann, die das Spiel darstellt (z. B. in einem Webbrowser). In verschiedenen Beispielen kann (können) der (die) Anwendungsserver 802 den (die) Videoserver 130 umfassen oder der (die) Videoserver 130 kann (können) von dem (den) Anwendungsserver(n) 802 getrennt sein.
  • In Bezug auf eine Instanziierung einer Anwendungssitzung kann beispielsweise eine Client-Einrichtung 804 ein Bild der Anwendungssitzung auf der Anzeige 824 basierend auf dem Empfang der Anzeigedaten von dem (den) Anwendungsserver(n) 802 anzeigen. Die Client-Einrichtung 804 kann eine Eingabe an eine der Eingabeeinrichtung(en) empfangen und abhängig davon Eingabedaten erzeugen. Die Client-Einrichtung 804 kann die Eingabedaten über die Kommunikationsschnittstelle 820 und über das (die) Netzwerk(e) 806 (z. B. das Internet) an den (die) Anwendungsserver 802 übertragen, und der (die) Anwendungsserver 802 kann (können) die Eingabedaten über die Kommunikationsschnittstelle 818 empfangen. Die eine oder die mehreren CPUs können die Eingabedaten empfangen, die Eingabedaten verarbeiten und Daten an die GPU(s) übertragen, die die GPU(s) veranlassen, ein Rendering der Anwendungssitzung zu erzeugen. Die Eingabedaten können beispielsweise eine Bewegung einer Figur des Benutzers in einer Spielesitzung einer Spielanwendung, ein Abfeuern einer Waffe, ein Nachladen, ein Passen eines Balls, ein Wenden eines Fahrzeugs usw darstellen. Die Rendering-Komponente 812 kann die Anwendungssitzung rendern (z. B. repräsentativ für das Ergebnis der Eingabedaten), und die Rendering-Erfassungskomponente 814 kann das Rendering der Anwendungssitzung als Anzeigedaten erfassen (z. B. als Bilddaten, die das gerenderte Bild der Anwendungssitzung erfassen). Das Rendering der Anwendungssitzung kann Beleuchtungs- und/oder Schatteneffekte eines Ray- oder Path-Tracings aufweisen, die unter Verwendung einer oder mehrerer paralleler Verarbeitungseinheiten - wie GPUs, die darüber hinaus die Verwendung eines oder mehrerer dedizierter Hardwarebeschleuniger oder Verarbeitungskerne zur Durchführung von Ray- oder Path-Tracing-Verfahren nutzen können - des (der) Anwendungsserver(s) 802 berechnet werden. Bei solchen Ausführungsformen können eine oder mehrere virtuelle Maschinen (VMs) - z. B. einschließlich einer oder mehrerer virtueller Komponenten, wie vGPUs, vCPUs usw. - von dem (den) Anwendungsserver(n) 802 verwendet werden, um die Anwendungssitzungen zu unterstützen. Der Codierer 816 kann dann die Anzeigedaten codieren, um codierte Anzeigedaten zu erzeugen, und die codierten Anzeigedaten können über das (die) Netzwerk(e) 806 über die Kommunikationsschnittstelle 818 an die Client-Einrichtung 804 übertragen werden. Die Client-Einrichtung 804 kann die codierten Anzeigedaten über die Kommunikationsschnittstelle 820 empfangen, und der Decoder 822 kann die codierten Anzeigedaten decodieren, um die Anzeigedaten zu erzeugen. Die Client-Einrichtung 804 kann dann die Anzeigedaten über die Anzeige 824 anzeigen.
  • BEISPIEL EINES RECHENZENTRUMS
  • 9 illustriert ein beispielhaftes Rechenzentrum 900, das bei mindestens einer Ausführungsform der vorliegenden Offenbarung verwendet werden kann. Das Rechenzentrum 900 kann eine Rechenzentrums-Infrastrukturschicht 910, eine Frameworkschicht 920, eine Softwareschicht 930 und/oder eine Anwendungsschicht 940 aufweisen.
  • Wie es in 9 gezeigt ist, kann die Infrastrukturschicht 910 des Rechenzentrums einen Ressourcen-Orchestrator 912, gruppierte Rechenressourcen 914 und Knoten-Rechenressourcen („Knoten C.R.s“) 916(1)-916(N) aufweisen, wobei „N“ eine beliebige ganze, positive Zahl darstellt. Bei mindestens einer Ausführungsform können die Knoten C.R.s 916(1)-916(N) aufweisen, sind aber nicht darauf beschränkt, eine beliebige Anzahl von Zentraleinheiten („CPUs“) oder anderen Prozessoren (einschließlich Beschleunigern, feldprogrammierbaren Gate-Arrays (FPGAs), Grafikprozessoren oder Grafikverarbeitungseinheiten (GPUs) usw.), Speichereinrichtungen (z. B. einen dynamischen Festwertspeicher), Speichergeräten (z. B. Festkörper- oder Festplattenlaufwerke), Netzwerk-Eingabe-/Ausgabeeinrichtungen („NW I/O“), Netzwerk-Switches, virtuelle Maschinen („VMs“), Stromversorgungsmodule und/oder Kühlmodule, usw. Bei einigen Ausführungsformen kann ein oder können mehrere Knoten-C.R.s unter den Knoten-C.R.s 916(1)-916(N) einem Server entsprechen, der über eine oder mehrere der oben erwähnten Rechenressourcen verfügt. Darüber hinaus können bei einigen Ausführungsformen die Knoten C.R.s 916(1)-916(N) eine oder mehrere virtuelle Komponenten aufweisen, wie z.B. vGPUs, vCPUs und/oder dergleichen, und/oder einer oder mehrere der Knoten C.R.s 916(1)-916(N) kann (können) einer virtuellen Maschine (VM) entsprechen.
  • Bei mindestens einer Ausführungsform können die gruppierten Rechenressourcen 914 separate Gruppierungen von Knoten-C.R.s 916 aufweisen, die in einem oder mehreren Racks (nicht gezeigt) oder in vielen Racks untergebracht sind, die sich in Rechenzentren an verschiedenen geografischen Standorten befinden (ebenfalls nicht gezeigt). Separate Gruppierungen von Knoten-C.R.s 916 innerhalb der gruppierten Rechenressourcen 914 können gruppierte Rechen-, Netzwerk-, Speicher- oder Speicherressourcen aufweisen, die zur Unterstützung einer oder mehrerer Arbeitslasten ausgestaltet oder zugewiesen werden können. Bei mindestens einer Ausführungsform können mehrere Knoten-C.R.s 916, die CPUs, GPUs und/oder andere Prozessoren aufweisen, in einem oder mehreren Racks gruppiert sein, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. Das eine oder die mehreren Racks kann (können) auch eine beliebige Anzahl von Stromversorgungsmodulen, Kühlmodulen und/oder Netzwerk-Switches in beliebiger Kombination aufweisen.
  • Der Ressourcen-Orchestrator 922 kann einen oder mehrere Knoten C.R.s 916(1)-916(N) und/oder gruppierte Rechenressourcen 914 konfigurieren oder anderweitig steuern. Bei mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 922 eine Software-Design-Infrastruktur („SDI“)-Verwaltungseinheit für das Rechenzentrum 900 aufweisen. Der Ressourcen-Orchestrator 922 kann Hardware, Software oder eine Kombination davon aufweisen.
  • Bei mindestens einer Ausführungsform, wie es in 9 gezeigt ist, kann die Frameworkschicht 920 einen Job Scheduler 932, einen Konfigurationsmanager 934, einen Ressourcenmanager 936 und/oder ein verteiltes Dateisystem 938 aufweisen. Die Frameworkschicht 920 kann ein Framework zur Unterstützung der Software 944 der Softwareschicht 930 und/oder eine oder mehrere Anwendung(en) 942 der Anwendungsschicht 940 aufweisen. Die Software 944 oder die Anwendung(en) 942 können jeweils webbasierte Dienstsoftware oder Anwendungen aufweisen, wie sie beispielsweise von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Bei der Framework-Schicht 920 kann es sich um eine Art von freiem und quelloffenem Software-Webanwendungs-Framework wie Apache SparkTM (im Folgenden „Spark“) handeln, das ein verteiltes Dateisystem 938 für die Verarbeitung großer Datenmengen (z. B. „Big Data“) nutzen kann, ohne darauf beschränkt zu sein. Bei mindestens einer Ausführungsform kann der Job Scheduler 932 einen Spark-Treiber aufweisen, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Rechenzentrums 900 unterstützt werden. Der Konfigurationsmanager 934 kann in der Lage sein, verschiedene Schichten wie die Softwareschicht 930 und die Framework-Schicht 920 auszugestalten, die Spark und ein verteiltes Dateisystem 938 zur Unterstützung der Datenverarbeitung in großem Maßstab aufweisen. Der Ressourcenmanager 936 kann in der Lage sein, geclusterte oder gruppierte Computerressourcen zu verwalten, die zur Unterstützung des verteilten Dateisystems 938 und des Job Schedulers 932 zugeordnet sind. Bei mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen gruppierte Rechenressourcen 914 auf der Infrastrukturschicht 910 des Rechenzentrums aufweisen. Der Ressourcenmanager 936 kann sich mit dem Ressourcen-Orchestrator 912 koordinieren, um diese zugeordneten oder zugewiesenen Computerressourcen zu verwalten.
  • Bei mindestens einer Ausführungsform kann die in der Softwareschicht 930 enthaltene Software 932 Software aufweisen, die von mindestens Abschnitten der Knoten-CRs 916(1)-916(N), der gruppierten Rechenressourcen 914 und/oder des verteilten Dateisystems 938 der Frameworkschicht 920 verwendet wird. Eine oder mehrere Arten von Software können Internet-Webseiten-Such-Software, E-Mail-Virenscan-Software, Datenbank-Software und Streaming-Video-Content-Software aufweisen, sind aber nicht darauf beschränkt.
  • Bei mindestens einer Ausführungsform kann (können) die in der Anwendungsschicht 940 enthaltene(n) Anwendung(en) 942 eine oder mehrere Arten von Anwendungen aufweisen, die von mindestens Abschnitten der Knoten C.R.s 916(1)-916(N), der gruppierten Rechenressourcen 914 und/oder des verteilten Dateisystems 938 der Frameworkschicht 920 verwendet werden. Eine oder mehrere Arten von Anwendungen können eine beliebige Anzahl von Genomanwendungen, kognitiven Berechnungen und Anwendungen für maschinelles Lernen aufweisen, einschließlich Trainings- oder Inferencing-Software, Framework-Software für maschinelles Lernen (z. B. PyTorch, TensorFlow, Caffe usw.) und/oder andere Anwendungen für maschinelles Lernen, die in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden, sind jedoch nicht darauf beschränkt.
  • Bei mindestens einer Ausführungsform kann jeder von Konfigurationsmanager 934, Ressourcenmanager 936 und Ressourcen-Orchestrator 912 eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen implementieren, die auf einer beliebigen Menge und Art von Daten basieren, die auf jede technisch machbare Weise erfasst werden. Selbstmodifizierende Aktionen können einen Rechenzentrumsbetreiber des Rechenzentrums 900 davon entlasten, möglicherweise schlechte Konfigurationsentscheidungen zu treffen, und kann möglicherweise nicht ausgelastete und/oder schlecht funktionierende Abschnitte eines Rechenzentrums vermeiden.
  • Das Rechenzentrum 900 kann Werkzeuge, Dienste, Software oder andere Ressourcen aufweisen, um ein oder mehrere maschinelle Lernmodelle zu trainieren oder Informationen unter Verwendung eines oder mehrerer maschineller Lernmodelle gemäß einer oder mehrerer Ausführungsformen, die hier beschrieben sind, vorherzusagen oder abzuleiten. Beispielsweise kann ein maschinelles Lernmodell bzw. können maschinelle Lernmodelle trainiert werden, indem Gewichtsparameter gemäß einer neuronalen Netzwerkarchitektur unter Verwendung von Software und/oder Computerressourcen berechnet werden, die oben in Bezug auf das Rechenzentrum 900 beschrieben wurden. Bei mindestens einer Ausführungsform können trainierte oder eingesetzte maschinelle Lernmodelle, die einem oder mehreren neuronalen Netzen entsprechen, verwendet werden, um Informationen abzuleiten oder vorherzusagen, wobei Ressourcen verwendet werden, die oben in Bezug auf das Rechenzentrum 900 beschrieben sind, indem Gewichtungsparameter verwendet werden, die durch eine oder mehrere Trainingstechniken berechnet werden, wie zum Beispiel, aber nicht beschränkt auf die hier beschriebenen.
  • Bei mindestens einer Ausführungsform kann das Rechenzentrum 900 CPUs, anwendungsspezifische integrierte Schaltungen (ASICs), GPUs, FPGAs und/oder andere Hardware (oder virtuelle Rechenressourcen, die diesen entsprechen) verwenden, um ein Training und/oder ein Inferencing unter Verwendung der oben beschriebenen Ressourcen durchzuführen. Darüber hinaus kann eine oder können mehrere der oben beschriebenen Software- und/oder Hardwareressourcen als Dienst ausgestaltet sein, um Benutzern das Training oder die Durchführung von Inferencing von Informationen zu ermöglichen, wie z. B. Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz.
  • BEISPIELHAFTE NETZWERKUMGEBUNGEN
  • Netzwerkumgebungen, die zur Verwendung bei der Implementierung von Ausführungsformen der Offenbarung geeignet sind, können eine oder mehrere Client-Einrichtungen, Server, Network Attached Storage (NAS), andere Backend-Einrichtungen und/oder andere Einrichtungstypen aufweisen. Die Client-Einrichtungen, Server und/oder andere Einrichtungstypen (z. B. jede Einrichtung) können auf einer oder mehreren Instanzen der Recheneinrichtung(en) 700 von 7 implementiert sein - z. B. kann jede Einrichtung ähnliche Komponenten, Merkmale und/oder Funktionalität der Recheneinrichtung(en) 700 aufweisen. Wenn Backend-Einrichtungen (z. B. Server, NAS usw.) implementiert sind, können die Backend-Einrichtungen außerdem als Teil eines Rechenzentrums 900 vorhanden sein, von dem ein Beispiel hier in Bezug auf 9 näher beschrieben ist.
  • Komponenten einer Netzwerkumgebung können über ein oder mehrere Netzwerke miteinander kommunizieren, die drahtgebunden, drahtlos oder beides sein können. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken aufweisen. So kann das Netzwerk beispielsweise ein oder mehrere Wide Area Networks (WANs), ein oder mehrere Local Area Networks (LANs), ein oder mehrere öffentliche Netzwerke wie das Internet und/oder ein öffentliches Telefonnetz (PSTN) und/oder ein oder mehrere private Netzwerke aufweisen. Wenn das Netz ein drahtloses Telekommunikationsnetz aufweist, können Komponenten wie eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie andere Komponenten) eine drahtlose Anschlussmöglichkeit bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peer-to-Peer-Netzwerkumgebungen - in diesem Fall kann ein Server nicht in einer Netzwerkumgebung enthalten sein - und eine oder mehrere Client-Server-Netzwerkumgebungen - in diesem Fall können ein oder mehrere Server in einer Netzwerkumgebung enthalten sein - aufweisen. In Peer-to-Peer-Netzwerkumgebungen kann die hier beschriebene Funktionalität in Bezug auf einen oder mehrere Server auf einer beliebigen Anzahl von Client-Einrichtungen implementiert sein.
  • Bei mindestens einer Ausführungsform kann eine Netzwerkumgebung eine oder mehrere Cloud-basierte Netzwerkumgebungen, eine verteilte Rechenumgebung, eine Kombination davon usw. aufweisen. Eine Cloud-basierte Netzwerkumgebung kann eine Frameworkschicht, einen Job Scheduler, einen Ressourcenmanager und ein verteiltes Dateisystem aufweisen, die auf einem oder mehreren Servern implementiert sind, die einen oder mehrere Kernnetzwerkserver und/oder Edge-Server aufweisen können. Eine Frameworkschicht kann ein Framework zur Unterstützung von Software einer Softwareschicht und/oder einer oder mehrerer Anwendungen einer Anwendungsschicht aufweisen. Die Software oder die Anwendung(en) kann (können) jeweils webbasierte Dienstsoftware oder Anwendungen aufweisen. In Ausführungsformen kann eine oder können mehrere der Client-Einrichtungen die webbasierte Dienstsoftware oder Anwendungen nutzen (z. B. durch Zugriff auf die Dienstsoftware und/oder Anwendungen über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs)). Bei der Frameworkschicht kann es sich um eine Art freies und quelloffenes Software-Webanwendungs-Framework handeln, das z. B. ein verteiltes Dateisystem für die Verarbeitung großer Datenmengen (z. B. „Big Data“) verwenden kann, ohne darauf beschränkt zu sein.
  • Eine Cloud-basierte Netzwerkumgebung kann Cloud-Computing und/oder einen Cloud-Speicher bereitstellen, was eine beliebige Kombination der hier beschriebenen Rechen- und/oder Datenspeicherfunktionen (oder einen oder mehrere Abschnitte davon) ausführt. Jede dieser verschiedenen Funktionen kann über mehrere Standorte von zentralen oder Hauptservern (z. B. von einem oder mehreren Rechenzentren, die über einen Staat, eine Region, ein Land, den Globus usw. verteilt sein können) verteilt sein. Befindet sich eine Verbindung zu einem Benutzer (z. B. eine Client-Einrichtung) relativ nahe an einem oder mehreren Edge-Servern, kann ein Hauptserver zumindest einen Abschnitt der Funktionalität dem oder den Edge-Servern zuweisen. Eine Cloud-basierte Netzwerkumgebung kann privat (z. B. auf eine einzelne Organisation beschränkt), öffentlich (z. B. für viele Organisationen verfügbar) und/oder eine Kombination davon (z. B. eine hybride Cloud-Umgebung) sein.
  • Die Client-Einrichtung(en) kann (können) zumindest einige der Komponenten, Merkmale und Funktionen der beispielhaften Recheneinrichtung(en) 700 aufweisen, wie es hier in Bezug auf 7 beschrieben ist. Als Ausführungsform und ohne Einschränkung kann eine Client-Einrichtung ein Personal Computer (PC), ein Laptop-Computer, ein mobiles Gerät, ein Smartphone, ein Tablet-Computer, eine Smartwatch, ein tragbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Player, ein Virtual-Reality-Headset, ein Global Positioning System (GPS) oder eine Einrichtung, ein Video-Player, eine Videokamera, eine Überwachungseinrichtung oder ein Überwachungssystem, ein Fahrzeug, ein Boot, ein fliegendes Luftschiff, eine virtuelle Maschine, eine Drohne, ein Roboter, ein in der Hand gehaltenes Kommunikationsgerät, ein Krankenhausgerät, ein Spielgerät oder -system, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettete Systemsteuerung, eine Fernbedienung, ein Gerät, eine Unterhaltungselektronikeinrichtung, eine Workstation, eine Edge-Einrichtung, eine beliebige Kombination dieser beschriebenen Einrichtungen oder eine andere geeignete Einrichtung sein.
  • Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinell verwendbaren Befehlen beschrieben sein, die computerausführbare Befehle wie z. B. Programmmodule aufweisen, die von einem Computer oder einer anderen Maschine, wie z. B. einem persönlichen Datenassistenten oder einer anderen in der Hand gehaltenen Einrichtung, ausgeführt werden. Im Allgemeinen beziehen sich Programmmodule, die Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw. aufweisen, auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen ausgeübt werden, die in der Hand gehaltene Geräte, Unterhaltungselektronik, Allzweckcomputer, speziellere Recheneinrichtungen usw. aufweisen. Die Offenbarung kann auch in verteilten Rechenumgebungen angewendet werden, in denen Tasks von entfernt arbeitenden Einrichtungen ausgeführt werden, die über ein Kommunikationsnetz miteinander verbunden sind.
  • Wie es hierin verwendet ist, sollte eine Erwähnung von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Zum Beispiel 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 enthalten. Darüber hinaus kann „mindestens eines der Elemente A oder B“ mindestens eines der Elemente A, mindestens eines der Elemente B oder mindestens eines der Elemente A und mindestens eines der Elemente B enthalten. Ferner kann „mindestens eines der Elemente A und B“ mindestens eines der Elemente A, mindestens eines der Elemente B oder mindestens eines der Elemente A und mindestens eines der Elemente B enthalten.
  • Der Gegenstand der vorliegenden Offenbarung wird hier mit einer gewissen Genauigkeit beschrieben, um die gesetzlichen Anforderungen zu erfüllen. Die Beschreibung selbst soll jedoch den Umfang dieser Offenbarung nicht einschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weise ausgestaltet sein kann, um verschiedene Schritte oder Kombinationen von Schritten, die den in diesem Dokument beschriebenen ähnlich sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien aufzuweisen. Obwohl die Begriffe „Schritt“ und/oder „Block“ hier verwendet werden können, um verschiedene Elemente der angewandten Verfahren zu bezeichnen, sollten die Begriffe nicht so ausgelegt werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offenbarten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird ausdrücklich beschrieben.

Claims (21)

  1. Verfahren, umfassend: Empfangen von Bilddaten, welche ein Gameplay-Video eines Spiels darstellen, wobei das Gameplay-Video in einer ersten Benutzerschnittstelle dargestellt wird; Anwenden der Bilddaten auf mindestens ein Modell zum maschinellen Lernen, MLM, wobei das mindestens eine MLM darauf trainiert ist, ein oder mehrere Objekte zu erkennen; zumindest basierend auf einem Erkennen eines Objekts des einen oder der mehreren Objekte innerhalb des Gameplay-Videos unter Verwendung des mindestens einen MLMs, Bestimmen eines Inhaltselements, welches innerhalb des Gameplay-Videos dargestellt wird; und basierend auf dem Bestimmen des Inhaltselements, Veranlassen einer Anzeige einer Option unter Verwendung von Metadaten des Inhaltselements, wobei die Option auswählbar ist, um eine Darstellung einer zweiten Benutzerschnittstelle zu bewirken, welche eine Information, die dem Inhaltselement zugeordnet ist, und ein oder mehrere grafische Elemente darstellt, welche auswählbar sind, um das Inhaltselement in dem Spiel zu erwerben.
  2. Verfahren nach Anspruch 1, wobei die Anzeige auf einer Benutzereingabe in die erste Benutzerschnittstelle basiert, welche dem Inhaltselement zugeordnet ist.
  3. Verfahren nach Anspruch 1 oder 2, welches darüber hinaus umfasst ein Zugreifen auf einen Datenspeicher unter Verwendung eines Inhaltsidentifizierers des Inhaltselements, um die Metadaten des Inhaltselements abzurufen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das mindestens eine MLM ein neuronales Zwillingsnetz umfasst, und wobei das Bestimmen des Inhaltselements das neuronale Zwillingsnetz verwendet, um das Inhaltselement in einem Bereich des Gameplay-Videos zu identifizieren.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Empfangen des Bildes von einer Pipeline einer Videoplattform erfolgt, welche Videostreams des Gameplay-Videos für eine Vielzahl von Benutzern bereitstellt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei mindestens eines der MLMe so trainiert ist, dass es das Inhaltselement anhand positiver Beispiele des Inhaltselements identifiziert.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bestimmen des in dem Gameplay-Video dargestellten Inhaltselements ein Vergleichen codierter Darstellungen von Inhaltselementen mit einer codierten Darstellung von einem oder mehreren Abschnitten des Gameplay-Videos umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das mindestens eine MLM das Objekt in einem Bereich von einem oder mehreren Bildern des Gameplay-Videos erkennt, und wobei die Option an einer Stelle dargestellt wird, welche dem Bereich entspricht.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Option mit einer Vielzahl von Bildern des Gameplay-Videos dargestellt wird, zumindest basierend auf einem Verfolgen des Objekts über die Vielzahl von Bildern.
  10. System umfassend: einen oder mehrere Prozessoren; und eine oder mehrere Speichereinrichtungen, welche Anweisungen speichern, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Vorgänge auszuführen, welche Folgendes umfassen: Darstellen eines Gameplay-Videos eines Spiels in einer ersten Benutzerschnittstelle; Empfangen von Metadaten eines Inhaltselements, wobei die Metadaten anzeigen, dass ein Inhaltselement in dem Gameplay-Video unter Verwendung mindestens eines Modells zum maschinellen Lernen (MLM) erkannt wurde, welches trainiert ist, um ein oder mehrere Objekte zu erkennen; und Veranlassen einer Anzeige einer Option unter Verwendung der Metadaten, wobei die Option in der ersten Benutzerschnittstelle auswählbar ist, um eine Darstellung einer zweiten Benutzerschnittstelle zu bewirken, welche ein Information, die dem Inhaltselement zugeordnet ist, und ein oder mehrere grafische Elemente darstellt, welche auswählbar sind, um das Inhaltselement in dem Spiel zu erwerben.
  11. System nach Anspruch 10, wobei die Metadaten einen Link zu der zweiten Benutzerschnittstelle umfassen, und wobei auf den Link basierend auf einer Auswahl der Option zugegriffen wird.
  12. System nach Anspruch 10 oder 11, wobei die Option eine Einblendung in das Gameplay-Video in der ersten Benutzerschnittstelle umfasst, wobei die Einblendung im Zusammenhang mit einem Bereich von einem oder mehreren Bildern des Gameplay-Videos dargestellt wird.
  13. System nach einem der Ansprüche 10 bis 12, wobei die Option ein interaktives Element umfasst, welches dem Inhaltselement zugeordnet ist.
  14. System nach einem der Ansprüche 10 bis 13, wobei die Metadaten eine Angabe von einem oder mehreren Bildern des Gameplay-Videos umfassen und die Anzeige der Option im Zusammenhang mit dem einen oder den mehreren Bildern erfolgt.
  15. System nach einem der Ansprüche 10 bis 14, wobei das Gameplay-Video eines oder mehrere der folgenden Elemente umfasst: ein Live-Stream-Video, ein Echtzeit-Video, ein echtzeitnahes Video, ein erneut gesendetes Video oder ein zuvor aufgezeichnetes Video.
  16. Verfahren umfassend: Empfangen von Bilddaten, welche für ein Video repräsentativ sind, welches in einer ersten Benutzerschnittstelle dargestellt wird; Anwenden der Bilddaten auf mindestens ein Modell zum maschinellen Lernen, MLM, wobei das mindestens eine MLM darauf trainiert ist, ein oder mehrere Objekte zu erkennen; zumindest basierend auf einem Erkennen, unter Verwendung des mindestens einen MLMs, mindestens eines Bereichs, welcher einem Objekt des einen oder der mehreren Objekte in dem Video entspricht, Anwenden des mindestens einen Bereichs auf ein neuronales Zwillingsnetz, NN, welches unter Verwendung von Beispielen eines oder mehrerer Inhaltselemente trainiert ist; Identifizieren, unter Verwendung mindestens des Zwillings-NN, eines Inhaltselements des einen oder der mehreren Inhaltselemente in dem Video; und basierend auf dem Identifizieren des Inhaltselements, Veranlassen einer Anzeige einer Option, welche auswählbar ist, um eine Darstellung einer zweiten Benutzerschnittstelle zu bewirken, welche eine Information, die dem Inhaltselement zugeordnet ist, und ein oder mehrere grafische Elemente darstellt, welche auswählbar sind, um das Inhaltselement zu erwerben.
  17. Verfahren nach Anspruch 16, wobei das Identifizieren des Inhaltselements ein Vergleichen mindestens einer ersten Ausgabe des Zwillings-NN, welche dem Inhaltselement zugeordnet ist, mit einer Ausgabe des Zwillings-NN umfasst, welche dem mindestens einen Bereich in dem Video entspricht.
  18. Verfahren nach Anspruch 16 oder 17, wobei die Option eine Einblendung in das Video umfasst, welche im Zusammenhang mit dem mindestens einen Bereich des Videos dargestellt wird.
  19. Verfahren nach einem der Ansprüche 16 bis 18, wobei das Identifizieren des Inhaltselements ein Vergleichen eines Abgleichens des mindestens einen Bereichs mit einer Codierung des Zwillings-NN umfasst, welche einem Inhaltsidentifizierer zugeordnet ist, und das Veranlassen der Anzeige der Option den Inhaltsidentifizierer verwendet, um ein oder mehrere Eigenschaften der Option zu bestimmen.
  20. Verfahren nach einem der Ansprüche 16 bis 19, wobei das Zwillings-NN darauf trainiert ist, um Darstellungen des Inhaltselements unter Verwendung positiver und negativer Beispiele des Inhaltselements zu codieren.
  21. Verfahren nach einem der Ansprüche 16 bis 20, wobei das Zwillings-NN darauf trainiert ist, um Darstellungen des Inhaltselements unter Verwendung positiver Beispiele des Inhaltselements aus verschiedenen Blickwinkeln zu codieren.
DE102022100521.6A 2021-01-12 2022-01-11 Automatische inhaltserkennung und information im livestreaming geeignet für videospiele Pending DE102022100521A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163136562P 2021-01-12 2021-01-12
US63/136,562 2021-01-12
US17/407,555 US11816890B2 (en) 2021-01-12 2021-08-20 Automatic content recognition and information in live streaming suitable for video games
US17/407,555 2021-08-20

Publications (1)

Publication Number Publication Date
DE102022100521A1 true DE102022100521A1 (de) 2022-07-14

Family

ID=82116201

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022100521.6A Pending DE102022100521A1 (de) 2021-01-12 2022-01-11 Automatische inhaltserkennung und information im livestreaming geeignet für videospiele

Country Status (3)

Country Link
US (2) US11816890B2 (de)
CN (1) CN114764896A (de)
DE (1) DE102022100521A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11651590B2 (en) * 2021-01-28 2023-05-16 Zebra Technologies Corporation Operation management system utilizing a wearable device
US12112252B1 (en) * 2021-05-21 2024-10-08 Amazon Technologies, Inc. Enhanced brand matching using multi-layer machine learning
US20240037145A1 (en) * 2022-08-01 2024-02-01 Google Llc Product identification in media items
US20240040201A1 (en) * 2022-08-01 2024-02-01 Google Llc Media item and product pairing
CN116883003A (zh) * 2023-07-10 2023-10-13 国家电网有限公司客户服务中心 基于生物探针技术的移动端支付购电反欺诈方法、系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494346B2 (en) 2011-12-22 2013-07-23 Max Abecassis Identifying a performer during a playing of a video
US10719744B2 (en) * 2017-12-28 2020-07-21 Intel Corporation Automated semantic inference of visual features and scenes

Also Published As

Publication number Publication date
US20240020975A1 (en) 2024-01-18
US20220222470A1 (en) 2022-07-14
US11816890B2 (en) 2023-11-14
CN114764896A (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
DE102022100521A1 (de) Automatische inhaltserkennung und information im livestreaming geeignet für videospiele
US11393176B2 (en) Video tools for mobile rendered augmented reality game
Betancourt et al. The evolution of first person vision methods: A survey
DE112019007506T5 (de) Bestimmen von dauern von hohem interesse von gameplay-sitzungen aus benutzereingaben
DE102021128292A1 (de) Skalierbare semantische bildsuche mit deep- template- matching
DE102017122379A1 (de) Umsetzbare Vorschläge für Aktivitäten
DE102020103409A1 (de) Unbeaufsichtigte klassifizierung von video mit spielgeschehen unter verwendung maschineller lernmodelle
DE102016010744A1 (de) Modifizieren von zumindest einem Attribut von einem Bild mit zumindest einem Attribut, das von einem anderen Bild extrahiert wurde
CN112272295B (zh) 具有三维效果的视频的生成方法、播放方法、装置及设备
DE102020111653A1 (de) Bestimmen relativer interessenbereiche in bildern unter verwendung von objekterfassung
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE102022121508A1 (de) Extraktion von ereignisinformation aus spielprotokollendurch natursprachenverarbeitung
CN116135273A (zh) 通过使用人工智能预测事件来从多个流中动态选择以供呈现
DE102022114647A1 (de) Automatisch generierte erweiterte aktivitäts- und ereignis-zu-sammelfassungen für spielsitzungen
DE102021119725A1 (de) Überlagern von metadaten über videoströme on-demand zur intelligenten videoanalytik
DE102022120731A1 (de) Multimodale sensorfusion zur identifizierung von inhalten bei anwendungen von mensch-maschine-schnittstellen
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE102022106956A1 (de) Konversationelle ki-plattformen mit dialogintegration von geschlossenen domänen und offenen domänen
DE102022132167A1 (de) Spielstilanalyse für Spielempfehlungen
DE102020122345A1 (de) Domänenübergreifende bildverarbeitung zur objektreidentifikation
DE102023125923A1 (de) Generative modelle maschinellen lernens für datenschutzerhaltende synthetische datenerzeugung unter verwendung von diffusion
DE102022128969A1 (de) Erkennung von benutzerabsichten und zugehörigen entitäten unter verwendung eines neuronalen netzwerks in einer interaktionsumgebung
DE112022001485T5 (de) Verfahren und einrichtungen zum synthetisieren von ansichten mit sechs freiheitsgraden aus spärlichen rgb-tiefe-eingaben
DE102020122028A1 (de) Selbstüberwachtes hierarchisches bewegungslernen für videoaktionserkennung
DE102022121250B4 (de) Entropiebasiertes Vorfiltern unter Verwenden neuronaler Netzwerke für Streaming-Anwendungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed