DE102022112888A1 - Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte - Google Patents

Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte Download PDF

Info

Publication number
DE102022112888A1
DE102022112888A1 DE102022112888.1A DE102022112888A DE102022112888A1 DE 102022112888 A1 DE102022112888 A1 DE 102022112888A1 DE 102022112888 A DE102022112888 A DE 102022112888A DE 102022112888 A1 DE102022112888 A1 DE 102022112888A1
Authority
DE
Germany
Prior art keywords
source
vectors
artifacts
gnn
artifact
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
DE102022112888.1A
Other languages
English (en)
Inventor
Janne Hellsten
Tero Tapani KARRAS
Samuli Matias Laine
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 DE102022112888A1 publication Critical patent/DE102022112888A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden Benutzerschnittstellen, Verfahren und Strukturen beschrieben zum intuitiven und flüssigen Erstellen neuer Artefakte aus bestehenden Artefakten und zum Erkunden latenter Räume auf visuelle Weise. In Ausführungsbeispielen werden Quellenartefakte zusammen mit einem Selektor angezeigt. Der Selektor ist dazu betreibbar, durch Festlegen einer Auswahlregion, die Teile eines oder mehrerer der angezeigten Quellenartefakte enthält, einen ausgewählten Satz der Quellenartefakte anzuzeigen. Quellenvektoren sind den Quellenartefakten in dem ausgewählten Satz zugeordnet. Ein oder mehrere resultierende Vektoren werden auf der Grundlage der Quellenvektoren bestimmt, und ein Ausgabeartefakt wird auf der Grundlage des einen oder der mehreren resultierenden Vektoren erzeugt.

Description

  • Hintergrund
  • Das Wort „Artefakt“ bezieht sich im Wesentlichen auf jeden beliebigen Gegenstand, der von einem Menschen manuell oder unter Verwendung von Werkzeugen hergestellt wurde. In diesem Sinne kann sich das Wort Artefakt auf ein beliebiges eine großen Vielzahl von Objekten beziehen, wie beispielsweise Bilder, musikalische Werke, Gebäude, Maschinen, Skulpturen, Textarbeiten, Filme, Computercode und mehr. Die Fähigkeit, neue solche Artefakte zu schaffen, wird oft hoch geschätzt, vor allem auf Gebieten, in denen dies traditionell beträchtlich Talent, Ausbildung, Arbeit oder Kreativität erfordert. Aus diesem und anderen Gründen haben Menschen Werkzeuge und Techniken entwickelt, um sich bei der Schaffung neuer Artefakte selbst zu helfen.
  • Ein solches Werkzeug ist der moderne Computer, und eine solche Technik ist die Verwendung von Anwendungssoftware, die auf einem Computer läuft, um neue Artefakte auf der Grundlage eines oder mehrerer bestehender Artefakte zu erstellen. Beispielsweise kann ein menschlicher Benutzer unter Verwendung von CAD (Computer-Aided Design)-Software vorhandene Vorlagen manuell bearbeiten, um Zeichnungen von neuen Strukturen zu erstellen. Mit Textverarbeitungssoftware kann ein Benutzer bestehende Dokumente ändern oder zusammenführen. Mit Videobearbeitungssoftware kann ein Benutzer vorhandene Videosegmente ändern oder zusammenführen. In jüngerer Zeit ist Anwendungssoftware aufgetaucht, mit der Benutzer neue digitale Bilder auf der Grundlage vorhandener digitaler Bilder erstellen können. Diese und andere Lösungen haben sich jedoch in ihren Möglichkeiten und in ihrer Anwendbarkeit als begrenzt erwiesen. Darüber hinaus weisen viele von ihnen aus Sicht der Mensch-Computer-Interaktion Mängel auf.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das einen Autoencoder und einen beispielhaften latenten Raum zeigt.
    • 2 ist ein Blockdiagramm, das eine beispielhafte Kategorie von Benutzerschnittstellen veranschaulicht, in Übereinstimmung mit Ausführungsformen.
    • 3-9 sind Blockdiagramme, die Komponenten einer beispielhaften Auswahlregion innerhalb einer Benutzerschnittstelle veranschaulichen, in Übereinstimmung mit Ausführungsformen.
    • 10 ist ein Blockdiagramm, das eine weitere beispielhafte Kategorie von Benutzerschnittstellen veranschaulicht, in Übereinstimmung mit Ausführungsformen.
    • 11 ist ein Ablaufdiagramm, das beispielhafte Verfahren veranschaulicht, in Übereinstimmung mit Ausführungsformen.
    • 12 ist ein Blockdiagramm, das schematisch beispielhafte Strukturen veranschaulicht, in Übereinstimmung mit Ausführungsformen, die zur Implementierung der beispielhaften Verfahren verwendet werden können.
    • 13 ist ein Blockdiagramm, das zahlreiche beispielhafte Darstellungsmodi veranschaulicht, die in Verbindung mit Ausführungsformen verwendet werden können.
    • 14-15 sind Blockdiagramme, die beispielhafte Techniken zum Implementieren von zwei der in 13 dargestellten Darstellungsmodi veranschaulichen.
    • 16 ist ein Blockdiagramm, das schematisch eine beispielhafte Technik veranschaulicht, in Übereinstimmung mit Ausführungsformen, zum Verwenden eines geschichteten neuronalen Netzwerks zum Erzeugen eines Ausgabeartefakts auf der Grundlage eines resultierenden Vektors.
    • 17 ist ein Blockdiagramm, das schematisch ein beispielhaftes Verfahren veranschaulicht, in Übereinstimmung mit Ausführungsformen, zum Anwenden des resultierenden Vektors von 16 auf eine der Schichten eines neuronalen Netzwerks.
    • 18 ist ein Blockdiagramm, das weitere beispielhafte Strukturen veranschaulicht, in Übereinstimmung mit Ausführungsformen, die zum Implementieren der beispielhaften Verfahren verwendet werden können.
    • 19 ist ein Blockdiagramm, das schematisch eine beispielhafte Technik veranschaulicht, in Übereinstimmung mit Ausführungsformen, zum Erzeugen eines hybriden Satzes von resultierenden Vektoren auf der Grundlage mehrerer Eingangsvektoren.
    • 20 ist ein Blockdiagramm, das schematisch eine beispielhafte Technik veranschaulicht, in Übereinstimmung mit Ausführungsformen, zum Verwenden eines geschichteten neuronalen Netzwerks zum Erzeugen eines Ausgabeartefakts auf der Grundlage eines hybriden Satzes von resultierenden Vektoren.
    • 21 ist ein Blockdiagramm, das schematisch ein beispielhaftes Verfahren veranschaulicht, in Übereinstimmung mit Ausführungsformen, zum Anwenden der hybriden resultierenden Vektoren von 20 auf eine der Schichten eines neuronalen Netzwerks.
    • 22 ist ein Ablaufdiagramm, das weitere beispielhafte Verfahren veranschaulicht, in Übereinstimmung mit Ausführungsformen.
    • 23 ist ein Blockdiagramm, das verschiedene beispielhafte Rechenvorrichtungen veranschaulicht, die zum Durchführen der beispielhaften Verfahren oder zum Implementieren der beispielhaften Strukturen verwendet werden können.
  • Detaillierte Beschreibung
  • Im obigen Abschnitt über den Hintergrund wurden allgemein mehrere Beispiele für die Technik der Verwendung von Anwendungssoftware, die auf einem Computer läuft, zur Erstellung neuer Artefakte auf der Grundlage eines oder mehrerer bestehender Artefakte beschrieben. Ein heutiges bildbasiertes Beispiel für diese Technik ist eine bekannte Website, die die Verwendung vorhandener digitaler Bilder zur Erstellung neuer Bilder ermöglicht. Auf dieser Website kann ein menschlicher Benutzer unter Verwendung eines Webbrowsers und einer Maus eine kleine Anzahl von Quellenbildern aus einer größeren Menge vorhandener Bilder auswählen, um ein neues Bild zu erzeugen. Unter Verwendung der von der Website bereitgestellten Anwendungssoftware besteht der Prozess des Auswählens von Quellenbildern darin, ein Bild nach dem anderen aus einer Galerie auszuwählen derart, dass die ausgewählten Bilder in einem separaten, von der Galerie getrennten Browserbereich erscheinen. Die Software präsentiert einen linearen Schieberegler neben jedem der ausgewählten Quellenbilder. Der Benutzer soll dann die Schieberegler für jedes der ausgewählten Quellenbilder verschieben, um einen gewünschten Grad eines Beitrags jedes Quellenbilds zu dem, was letztendlich das neu zu erstellende Bild werden wird, separat anzuzeigen. Nach dem Verschieben der Schieberegler muss der Benutzer dann auf eine Schaltfläche im Webbrowser klicken, um anzugeben, dass das neue Bild erzeugt werden soll. Nachdem diese Schaltfläche angeklickt wurde und nachdem eine gewisse Wartezeit verstrichen ist, wird ein neues Bild im Browser angezeigt. Das neue Bild basiert in gewisser Weise auf den ausgewählten Quellenbildern und auf den Positionen der Schieberegler, die den Quellenbildern zugeordnet sind.
  • Während die vorstehend beschriebene Anwendungssoftware im Allgemeinen ihren Zweck erfüllt, weisen sowohl die Ergebnisse, die sie erzielt, als auch die Benutzerschnittstelle, die sie dafür bereitstellt, zahlreiche Unzulänglichkeiten auf. Eine Unzulänglichkeit besteht darin, dass der Prozess zum Auswählen der Quellenbilder und zum Angeben ihres Grads an Beitrag zum erzeugten Bild umständlich ist, da die Bilder einzeln ausgewählt werden müssen, und da für jedes der ausgewählten Bilder ein eigener Schieberegler eingestellt werden muss. Eine weitere Unzulänglichkeit besteht darin, dass erst dann ein Bild erzeugt wird, wenn der Benutzer auf eine Browser-Schaltfläche geklickt hat, um anzuzeigen, dass ein neues Bild erzeugt werden soll. Dem Benutzer fehlt somit Rückmeldung während des Auswahlprozesses. Darüber hinaus muss, weil der beschriebene Auswahl-ZErzeugungsprozess iterativ ist, der Benutzer nach jedem nicht zufriedenstellenden Bild, das erzeugt wurde, erneut beginnen.
  • Dem Auswahl-/Erzeugungsprozess mangelt es also an Flüssigkeit. Eine nochmals weitere Unzulänglichkeit besteht darin, dass bei der Betrachtung des neu erzeugten Bilds oft unklar ist, in welcher Weise und in welchem Ausmaß jede der Schiebereglerpositionen zu dem Bild beigetragen haben. Eine nochmals weitere Unzulänglichkeit besteht darin, dass der gesamte Auswahl-/Erzeugungsprozess auf nur eine Art von Artefakten beschränkt ist - d.h. der Prozess ausschließlich auf Bilder beschränkt ist.
  • Diese und andere Unzulänglichkeiten bisheriger Lösungen können mit den hierin zu beschreibenden Techniken vorteilhaft behoben werden.
  • Nomenklatur
  • Diese Offenbarung beschreibt mehrere Ausführungsformen als Beispiel und zur Veranschaulichung. Es ist beabsichtigt, dass Eigenschaften und Merkmale aller beschriebenen Ausführungsformen in jeder beliebigen Weise kombiniert werden können, die mit den hierin enthaltenen Lehren, Vorschlägen und Zielen übereinstimmt. Daher sind Ausdrücke wie „in einer Ausführungsform“, „in genau einer Ausführungsform“ und dergleichen, wenn sie zur Beschreibung von Ausführungsformen in einem bestimmten Zusammenhang verwendet werden, nicht dazu gedacht, die beschriebenen Merkmale oder Eigenschaften nur auf die in diesem Zusammenhang erscheinenden Ausführungsformen zu beschränken.
  • Die Ausdrücke „basierend auf‟ oder „zumindest teilweise basierend auf‟ beziehen sich auf eine oder mehrere Eingaben, die direkt oder indirekt bei einer Bestimmung oder Berechnung verwendet werden können. Die Verwendung dieser Ausdrücke hierin soll nicht ausschließen, dass zusätzliche oder andere Eingaben beim Treffen der beschriebenen Bestimmung oder bei der Durchführung der beschriebenen Berechnung verwendet werden. Vielmehr können die so beschriebenen Bestimmungen oder Berechnungen entweder ausschließlich auf den genannten Eingaben oder auf diesen Eingaben sowie auf anderen beruhen.
  • Die Ausdrücke „konfiguriert zum“, „betreibbar zum“ und dergleichen, wie sie hierin verwendet werden, bedeuten, dass der referenzierte Gegenstand, wenn er betrieben wird, die beschriebene Funktion ausführen kann. In diesem Sinne kann ein Gegenstand dazu „konfiguriert“ sein, eine Funktion auszuführen, oder so „dazu betreibbar sein“ sein, eine Funktion auszuführen, auch wenn der Gegenstand nicht in Betrieb ist und daher die Funktion derzeit nicht ausführt. Die Verwendung der Ausdrücke „konfiguriert zum“, „betreibbar zum“ und dergleichen bedeutet nicht notwendigerweise, dass der beschriebene Gegenstand in irgendeiner Weise im Vergleich zu einem früheren Zustand verändert worden ist.
  • „Gekoppelt“ wie hierin verwendet bezieht sich auf eine Verbindung zwischen Gegenständen. Eine solche Verbindung kann direkt oder indirekt über Verbindungen mit anderen Zwischenelementen erfolgen.
  • Hierin verwendete Begriffe wie beispielsweise „einschließlich“, „umfassend“ und ihre Varianten bedeuten „einschließlich, aber nicht beschränkt auf“.
  • Artikel der Sprache, wie beispielsweise „ein“, „ein“ und „die“ wie hierin verwendet sollen sowohl Bezugnahmen im Singular als auch im Plural dienen, es sei denn, aus dem Kontext geht eindeutig etwas anderes hervor.
  • Die Wörter „Anzeige“, „anzeigen“, „angezeigt“ und ihre Varianten, wie hierin verwendet, bedeuten und umfassen eine Vielzahl von Aktivitäten mit Bezug zu der visuellen Darstellung eines Gegenstands bzw. Objekts. Beispielsweise kann „Anzeigen“ eines Objekts durch Darstellen des Objekts auf einer oder mehreren Anzeigevorrichtungen erzielt werden, oder kann durch Ausdrucken einer visuellen Darstellung des Objekts erfolgen. „Anzeigen“ eines Objekts kann auch durch Erzeugen von Befehlen erfolgen, die veranlassen, dass das Objekt auf einer oder mehreren Anzeigevorrichtungen angezeigt wird, und/oder durch Erzeugen von Daten, die auf einer oder mehreren Anzeigevorrichtungen angezeigt werden können, oder durch beides, unabhängig davon, ob das Objekt tatsächlich auf einer Anzeigevorrichtung angezeigt wird. Befehle, die veranlassen können, dass ein Objekt angezeigt wird, können beispielsweise Befehle umfassen, die an ein Grafiksubsystem eines Host-Computers gerichtet sind. Daten, die angezeigt werden können, können z.B. eine Bitmap oder eine ähnliche Darstellung eines gerenderten Bilds umfassen. In allen Ausführungsformen können solche Befehle oder Daten auf einem geeigneten computerlesbaren Medium gespeichert werden, oder sie können über einen oder mehrere Kommunikationspfade innerhalb eines Host-Computers (z.B. einen Grafikbus) gesendet werden, oder sie können über ein Netzwerk an einen oder mehrere andere Host-Computer unter Verwendung geeigneter Netzwerkprotokolle gesendet werden, oder alles davon. In allen Ausführungsformen kann die Anzeige eines Elements auf einer oder mehreren lokalen Anzeigevorrichtungen erfolgen, oder kann die Anzeige auf einer oder mehreren sich entfernt befindenden Anzeigevorrichtungen erfolgen, oder auf beiden. In Ausführungsformen, die ein oder mehrere Computer- bzw. Rechenvorrichtungen umfassen, kann die Anzeige eines Elements bzw. Objekts in Verbindung mit derselben Rechenvorrichtung erfolgen oder nicht erfolgen, die Befehle oder Daten erzeugt, die die Anzeige bewirken. Beispielsweise kann ein Benutzerschnittstellenelement in Zuordnung zu einer lokalen Rechenvorrichtung wie beispielsweise einem Webbrowser angezeigt werden, und können Befehle oder Daten, die die Anzeige desselben oder eines anderen Benutzerschnittstellenelements bewirken, von einer entfernten Rechenvorrichtung wie beispielsweise einem Webserver erzeugt und über ein Netzwerk an die lokale Rechenvorrichtung gesendet werden.
  • Generative neuronale Netzwerke
  • Der Ausdruck „generatives neuronales Netzwerk“ bezieht sich auf eine Klasse von neuronalen Netzwerken auf dem Gebiet des maschinellen Lernens. Ein generatives neuronales Netzwerk („GNN“) ist eine Art von neuronalem Netzwerk, das darauf trainiert wurde, im Ansprechen auf eine numerische Eingabe ein Artefakt zu erzeugen. Obwohl eine numerische Eingabe für ein GNN zufällig sein oder zufällig eingeführte Elemente enthalten kann, besteht ein charakteristisches Merkmal eines trainierten GNN darin, dass die Artefakte, die es im Ansprechen auf eine solche Eingabe erzeugt, anderen Artefakten ähneln, die Punkte in einer Wahrscheinlichkeitsverteilung repräsentieren, für deren Nachbildung bzw. Emulation das GNN trainiert wurde. Zum Beispiel kann ein großer Trainingssatz von digitalen Landschaftsbildern Punkte in einer Wahrscheinlichkeitsverteilung von Bildern darstellen, deren Merkmale Landschaften entsprechen. Nachdem ein GNN auf den Satz von Landschaftsbildern trainiert wurde, kann eine zufällige oder semi-zufällige Eingabe auf das GNN angewendet werden. Im Ansprechen auf die Eingabe wird das GNN ein Bild erzeugen, das einer Landschaft ähnelt - auch wenn sich das erzeugte Bild auf verschiedene Weise von jedem der Bilder, die in dem Trainingssatz enthalten waren unterscheiden kann.
  • Es existieren zahlreiche Techniken zum Trainieren eines GNN. Eine dieser Techniken ist die Verwendung eines so genannten generativen kontradiktorischen Netzwerks („GAN“; generative adversarial network). Das GAN-Konzept besteht darin, zwei neuronale Netzwerke im Tandem zu trainieren, während eines der Netzwerke im Wesentlichen in Konkurrenz zum anderen gesetzt wird. Während des Trainings lernt eines der beiden Netzwerke (der „Diskriminator“ oder „D“), Eingaben als zu einer von zwei Kategorien gehörend zu klassifizieren: denjenigen, die zu einem Satz von authentischen Beispielen (z.B. dem Trainingssatz) gehören, und denjenigen, die nicht dazu gehören. In der Zwischenzeit versucht das andere Netzwerk (der „Generator“ oder „G“), die Wahrscheinlichkeitsverteilung der authentischen Beispiele durch seine Interaktionen mit dem Diskriminator zu lernen. Dies geschieht während eines Prozesses, in welchem es synthetische Beispiele auf der Grundlage von Rauscheingaben erzeugt und die synthetischen Beispiele dem Diskriminator zur Klassifizierung präsentiert.
  • In diesem Prozess, der beispielsweise in Goodfellow, et al., „Generative Adversarial Nets“, arXiv:1406.2661v1 [stat.ML] (2014), und in Creswell, et al., „Generative Adversarial Networks: An Overview,“ arXiv:1710.07035v1 [cs.CV] (2017) vollständiger erläutert wird, wird eine Kostenfunktion verwendet, um sowohl den Generator als auch den Diskriminator zu optimieren. Der Trainingsprozess kann zum Beispiel versuchen, sowohl G als auch D zu optimieren, durch Lösen für max D min G V ( G , D )
    Figure DE102022112888A1_0001
    mit einer Kostenfunktion wie beispielsweise V ( G , D ) = E Pdata ( x ) + E Pg ( x ) log ( 1 D ( x ) )
    Figure DE102022112888A1_0002
    und zahlreichen Beispielen x, wobei EPdata(x) logD(x) der Erwartungswert von logD(x) für Beispiele x aus der Menge von authentischen Beispielen ist, EPg(x) log(1 - D(x)) der Erwartungswert von log(1-D(x)) für synthetische Beispiele x aus der Ausgabe des Generators ist und D(x) die Wahrscheinlichkeit ist, dass ein bestimmtes Beispiel x aus der Menge von authentischen Beispielen und nicht aus dem Generator stammt. Mit einer solchen Kostenfunktion, die während des Trainings angewendet wird, wird der Generator optimal, wenn pg(x) = pdata(x). Mit anderen Worten wird der Generator optimal, wenn die Wahrscheinlichkeitsdichtefunktion, die den synthetischen Beispielen entspricht, die gleiche ist wie die Wahrscheinlichkeitsdichtefunktion, die den authentischen Beispielen entspricht, was bedeutet, dass der Generator die Wahrscheinlichkeitsdichtefunktion des Trainingssatzes erfolgreich gelernt hat. Wenn dies der Fall ist, beträgt die von dem Diskriminator erzeugte Wahrscheinlichkeit 0,5 für alle Beispiele x, unabhängig von der Menge, aus welcher die Beispiele gezogen wurden.
  • Nachdem er so trainiert ist, kann der Generator unabhängig von dem Diskriminator verwendet werden, um weitere synthetische Beispiele zu erzeugen, von welchen jedes Beispielen aus dem Trainingssatz ähneln wird. Ein solcher Generator ist ein Beispiel für ein GNN, wie dieser Begriff hierin verwendet wird.
  • Latente Räume und GNNs
  • Jede numerische Eingabe, die direkt auf ein GNN angewendet werden kann, um einen synthetischen Artefakt zu erzeugen, repräsentiert einen diskreten Punkt in einem normalerweise mehrdimensionalen Raum, der allgemein als ein „latenter Raum“ bzw. Latenzraum bezeichnet wird. Dieser Raum wird als latent bezeichnet, weil er in gewissem Sinne nicht sichtbar ist. Das in 1 gezeigte Blockdiagramm hilft, dies zu veranschaulichen.
  • 1 ist eine schematische Darstellung eines Autoencoders. Ein Autoencoder ist eine Maschine, die in der Lage ist, ein Artefakt von einer ersten Darstellung (Datenraumdarstellung 100) in eine zweite, dazwischenliegende Darstellung (Latentraumdarstellung 102) und dann von der dazwischenliegenden Darstellung in eine dritte Darstellung (Datenraumdarstellung 104) zu übersetzen. Der Wortstamm „auto“ im Namen dieser Maschine bezieht sich auf die Tatsache, dass die dritte Darstellung identisch mit der ersten Darstellung ist. Um dieses Ergebnis zu erreichen, verwendet ein Autoencoder einen Encoder 106, um ein Artefakt aus dem Datenraum in den latenten Raum zu übersetzen. Anschließend wird ein Decoder 108 verwendet, um aus dem latenten Raum zurück in den Datenraum zu übersetzen.
  • Zur Verdeutlichung sei ein Fall betrachtet, in dem die Artefakte im Datenraum digitalen Bildern entsprechen. In einem solchen Fall können die Artefaktdarstellungen 100 und 104 jeweils, wiederum beispielhaft, einem digitalen 2D-Bild entsprechen, das auf einem Computermonitor oder einer anderen Anzeigevorrichtung angezeigt und von einem Menschen betrachtet werden könnte. Weiter sei angenommen, dass jedes der Bilder 1024x1024 Pixel umfasst. Es könnte also gesagt werden, dass jeder Punkt im Datenraum für dieses Beispiel die Dimensionen 1024x1024 hat. Der Datenraum selbst würde in diesem Beispiel dem Raum aller möglichen Punkte mit den Dimensionen 1024x1024 entsprechen. Weiter sei angenommen, dass die latente Repräsentation 102 die Dimensionen 1x512 hat (bei Anwendungen des maschinellen Lernens hat ein latenter Raum typischerweise eine geringere Dimensionalität als ein entsprechender Datenraum). Der latente Raum würde in einem solchen Beispiel dem Raum aller möglichen Punkte mit den Dimensionen 1x512 entsprechen. Anders ausgedrückt, würde der latente Raum allen möglichen Vektoren der Länge 512 entsprechen. Die Funktion des Encoders in Beispielen wie diesem kann als die einer Datenkompression angesehen werden, da der Encoder einen gegebenen Datenraumwert, der an seinem Eingang erscheint, auf einen Latenzraumwert abbildet, der eine geringere Dimensionalität als der Datenraumwert hat. In ähnlicher Weise kann die Funktion des Decoders als die einer Datendekompression angesehen werden, da der Decoder einen gegebenen Latenzraumwert, der an seinem Eingang erscheint, auf einen Datenraumwert abbildet, der eine größere Dimensionalität hat als der Latenzraumwert.
  • Während ein Autoencoder und ein GAN nicht notwendigerweise identische Maschinen sind, sind ihre Gemeinsamkeiten lehrreich für das Verständnis der Beziehung zwischen einem latenten Raum und einem GNN, das unter Verwendung eines GAN-Prozess trainiert wurde: Der Generator in einem GAN ist analog zu einem Decoder, da er eine Latenzraumrepräsentation als eine Eingabe annimmt und eine entsprechende Datenraumrepräsentation als eine Ausgabe erzeugt. Folglich ist ein GNN auch analog zu einem Decoder; es kann unter Verwendung des Generators eines GANs implementiert werden.
  • Erkundung latenter Räume
  • Ein interessanter Aspekt eines latenten Raums ist, dass, weil die Informationen in einem latenten Raum auf die vorstehend beschriebene Weise komprimiert werden, Darstellungen ähnlicher Artefakte im latenten Raum näher beieinander liegen sollten als im Datenraum. Dies folgt sich aus der Art und Weise, in welcher die Dimensionalität der Daten während ihrer Übersetzung aus dem Datenraum in den latenten Raum reduziert wird - „fremde“ Informationen, die jedes Artefakt in dem Datenraum unterscheiden (z.B. die Farbe eines Stuhls oder der Stoff, mit dem er bezogen ist), können in der Darstellung im latenten Raum effektiv entfernt werden, so dass nur die charakteristischeren Merkmale des Artefakts übrig bleiben (z.B. die allgemeine Struktur eines stuhlähnlichen Objekts). Falls das Ziel darin besteht, neue Artefakte aus bestehenden zu erstellen, kann es von Interesse sein, die Positionen der bestehenden Artefakte im latenten Raum zu identifizieren und andere Punkte im latenten Raum zwischen ihnen zu erkunden.
  • Dies zu tun, hat sich jedoch als nicht einfach erwiesen. Einer der Gründe dafür ist, dass ein typischer latenter Raum nicht direkt visualisiert bzw. sichtbar gemacht werden kann. Während beispielsweise ein 2D- oder 3D-Objekt direkt betrachtet werden kann, können Dimensionen jenseits von drei nicht direkt beobachtet werden. In einigen Visualisierungsverfahren können Farben oder Intensitätswerte verwendet werden, um eine oder sogar zwei Dimensionen jenseits von drei darzustellen, aber solche Ansätze werden schnell unpraktisch, wenn die Dimensionalität des latenten Raums zunimmt.
  • Beispielhafte Benutzerschnittstellen
  • Die Erfinder haben neuartige Benutzerschnittstellen, Verfahren und Strukturen entdeckt, die im Folgenden beschrieben werden und sowohl zur intuitiven und flüssigen Erstellung neuer Artefakte aus bestehenden Artefakten als auch zur Erkundung latenter Räume in einer visuellen Weise verwendet werden können.
  • Auswahl und Ausgabe
  • Nun auf 2 Bezug nehmend, ist eine erste beispielhafte Benutzerschnittstelle 200 gezeigt, die auf einer Anzeigevorrichtung 201 angezeigt wird. Zwei Regionen 202, 204 werden innerhalb der Schnittstelle angezeigt. Die Quellenregion 202 bietet einen Raum bzw. Platz zum Anzeigen einer Vielzahl von Quellenartefakten, während die Ausgaberegion 204 einen Raum bzw. Platz zum Anzeigen eines Ausgabeartefakts bietet.
  • In der Abbildung ist die Quellenregion als vier Quellenartefakte 206-212 anzeigend gezeigt. In tatsächlichen Ausführungsformen können viel mehr als vier Quellenartefakte in der Quellenregion angezeigt werden, wie durch die Ellipsen in der Zeichnung angedeutet. Während jedes der im Beispiel gezeigten Quellenartefakte ein Bild - insbesondere ein Bild eines menschlichen Gesichts - umfasst, werden Bilder hierin nur zu Illustrationszwecken verwendet. Im Allgemeinen können die angezeigten Quellenartefakte jede beliebige Art von Artefakt oder dessen Repräsentation umfassen, einschließlich, aber nicht beschränkt auf, Darstellungen von Videosegmenten, Audiosegmenten, Textwerken, Musikwerken, Computercode und mehr. Außerdem müssen in Ausführungsformen, die Bildartefakte anzeigen, die angezeigten Bilder nicht auf Bilder von menschlichen Gesichtern wie in diesem Beispiel beschränkt sein, sondern können Bilder mit jeder beliebigen Art von Inhalt umfassen, einschließlich, ohne Beschränkung darauf, Landschaften, Strukturen, Tiere, Pflanzen, Fotografien und mehr. Im Allgemeinen brauchen die angezeigten Quellenartefakte nicht alle vom gleichen Typ zu sein, sondern können anstelle dessen in anderen Ausführungsformen eine Mischung aus verschiedenen Artefaktarten umfassen.
  • Die Quellenartefakte können in jeder geeigneten Anordnung angezeigt werden. Eine solche Anordnung ist ein Gittermuster wie das hier gezeigte, das Reihen und Spalten von Quellenartefakten umfasst. In anderen Ausführungsformen können die Quellenartefakte in anderen Anordnungen, in Freiform oder in unregelmäßigen Mustern angezeigt werden, und können die Quellenartefakte regelmäßige oder unregelmäßige Leerräume zwischen sich aufweisen. Darüber hinaus kann jedes der angezeigten Quellenartefakte eine beliebige Form oder Größe haben, und brauchen ihre Formen und Größen nicht alle gleich zu sein.
  • Ein Wähler bzw. Selektor 214 ist ebenfalls als innerhalb der Quellenregion 202 liegend gezeigt. In der dargestellten Ausführungsform hat der Selektor die Form eines weißen Quadrats mit ähnlichen Abmessungen und einer ähnlichen Form wie jedes der angezeigten Quellbilder. In anderen Ausführungsformen kann der Selektor eine beliebige Form und Größe haben, und kann sich die Form und die Größe des Selektors von den Formen und Größen der Quellenartefakte unterscheiden. Beispielsweise kann der Selektor jede beliebige Art von Begrenzungsperimeter aufweisen, einschließlich, aber ohne Beschränkung darauf, einer Freiform, eines Kreises, einer Ellipse oder eines Polygons wie beispielsweise ein Rechteck oder ein Quadrat wie in dem gezeigten Beispiel. In anderen Ausführungsformen kann der Selektor einem einzelnen Punkt entsprechen, wie beispielsweise einer Cursorposition, oder kann er einem einzelnen Punkt innerhalb einer größeren Selektorform entsprechen. In nochmals weiteren Ausführungsformen kann jedes beliebige der Benutzerschnittstellenelemente, einschließlich des Selektors, dreidimensional sein. Zum Beispiel kann der Selektor und/oder eines der Quellenartefakte holografisch sein. In der dargestellten Ausführungsform kann der Selektor innerhalb der Quellenregion 202 bewegt werden, um eine Auswahlregion anzuzeigen. Der Selektor kann auf jede beliebige geeignete Weise bewegt werden. Beispielsweise kann ein Benutzer den Selektor mit einer Eingabevorrichtung wie beispielsweise einer Computermaus oder mit einer Geste auf einem Touchscreen oder einem Touchpad bewegen.
  • Die Ausgaberegion 204 ist als ein Ausgabeartefakt 216 anzeigend gezeigt. Wie die Quellenartefakte kann auch das Ausgabeartefakt jede beliebige Art von Artefakt oder dessen Repräsentation umfassen, einschließlich dreidimensionaler und/oder holografischer Darstellungen. In dem gezeigten Beispiel ist das Ausgabeartefakt ein Bild. Das Ausgabeartefakt enthält mindestens ein ausgewähltes Ausgabeattribut, das eine Kombination von Attributen ausgewählter Quellartefakte repräsentiert. In dem Beispiel von 2 umfasst das ausgewählte Ausgabeattribut ein Inhaltselement - in diesem Fall insbesondere die Gesichtszüge, die Frisur, die Pose und das Geschlecht der Person eines Porträts. Wie aus der Zeichnung ersichtlich ist, stellt das Inhaltselement des Ausgabeartefakts eine Kombination entsprechender Inhaltsattribute dar, die von denjenigen Quellenartefakten in der Region 202 gezeigt werden, die sich mit dem Selektor 214 schneiden. In einigen Ausführungsformen kann jedes Quellenartefakt einer entsprechenden Anzeigeregion zugeordnet sein. Beispielsweise können die Pixel der Anzeige 201, die zur Anzeige eines bestimmten Quellenartefakts oder einer Darstellung desselben verwendet werden, die Anzeigeregion für dieses Quellenartefakt definieren, oder kann die Anzeigeregion, die eine Quellenartefaktdarstellung enthält, eine andere Größe oder Form haben als die Quellenartefaktdarstellung, die er enthält. Wie die Quellenartefakte selbst können solche Quellenartefakt-Anzeigeregionen alle die gleiche Größe und Form haben oder sich in Größe oder Form unterscheiden. Die Quellenartefakt-Anzeigeregionen können z.B. eine beliebige Mischung oder freie Formen, kreisförmige oder elliptische Formen oder polygonale Formen wie beispielsweise Rechtecke oder Quadrate umfassen. Andere Beispiele sind ebenfalls möglich. Der hier verwendete Ausdruck „Quellenartefakt“ kann austauschbar als Bezugnahme entweder auf ein Quellenartefakt oder auf seine entsprechende Quellenartefakt-Anzeigeregion verstanden werden.
  • In allen derartigen Ausführungsformen können die ausgewählten der Quellenartefakte denjenigen Quellenartefakten entsprechen, deren Anzeigeregionen sich mit der Auswahlregion schneiden, und kann die Auswahlregion zu einem bestimmten Zeitpunkt einem Bereich entsprechen, der zu diesem Zeitpunkt durch den Selektor definiert ist. Wenn der Selektor bewegt wird, ändert sich die Auswahlregion, und können sich die entsprechenden ausgewählten Quellenartefakte mit ihr ändern.
  • Das Ausgabeelement kann einem beliebigen der Attribute entsprechen, die die Quellenartefakte aufweisen. In einigen Ausführungsformen kann das Ausgabeelement beispielsweise eher ein Stilelement als ein Inhaltselement umfassen. In Ausführungsformen wie der in 2 dargestellten, in der die Quellenartefakte und das Ausgabeartefakt Bilder sind, kann ein Stilelement beispielsweise der Hintergrundfarbe und der Beleuchtung eines Porträts, der Art von Medium, in bzw. auf dem das Porträt gemalt ist (z.B. Pastell, Öl), oder den Pinselstrichmerkmalen eines Malers (z.B. Monet, van Gogh oder Renoir) entsprechen. Andere Beispiele sind möglich und können je nach Art der verwendeten Quellenartefakte variieren. In diesen Ausführungsformen bewirkt das Bewegen des Selektors zwischen den Quellenartefakten, dass der Stil, in welchem das Ausgabeartefakt gerendert wird, einer Kombination der Stile entspricht, in denen die ausgewählten der Quellenartefakte gerendert werden. Dabei können die Inhaltselemente des Ausgabeartefakts im Wesentlichen unverändert bleiben.
  • Gewichtungstechniken
  • In einigen Ausführungsformen kann die Kombination von Quellenattributen, die sich in einem Ausgabeattribut widerspiegeln, eine gewichtete Kombination von Quellenattributen umfassen. In solchen Ausführungsformen kann ein Beitragsanteil eines bestimmten Quellenartefakts zu der gewichteten Kombination unter Verwendung einer Reihe von Techniken bestimmt werden, die nachstehend weiter zu beschreiben ist. Solche Techniken können auf der Grundlage beispielsweise der Form und Größe des Selektors sowie der Form, Größe und Anordnung der Quellenartefakte und/oder der Anzeigeregionen, die den Quellenartefakten entsprechen, variieren.
  • FIG, 3-9 zeigen ein illustratives Beispiel einer Gewichtungstechnik, die auf Flächen bzw. Bereichen basiert. Wie in 3 gezeigt, definiert die Position des Selektors 214 eine Auswahlregion. Die Auswahlregion ist in der Zeichnung unter Verwendung von weißen gestrichelten Liniensegmenten abgegeben. Die Auswahlregion definiert einen ersten Bereich 300 innerhalb der Grenzen des Selektors. Wie in 4 dargestellt, definiert die Anzeigeregion, die dem Quellenartefakt 206 entspricht, einen zweiten Bereich 400. Die Intersektion der Bereiche 300 und 400 definiert einen dritten Bereich 500, wie in 5 dargestellt. Im Allgemeinen kann dieser dritte Bereich z.B. dem gesamten Überschneidungsbereich zwischen einem beliebigen Quellenartefakt (oder seiner Anzeigeregion) und der Auswahlregion entsprechen, die durch die Position des Selektors angezeigt wird. Folglich definiert der Schnittbereich zwischen der Auswahlregion und dem Artefakt 208 einen Bereich 600 (siehe 6). In ähnlicher Weise definiert der Schnittbereich zwischen der Auswahlregion und dem Artefakt 210 einen Bereich 700 (siehe 7), und definiert der Schnittbereich zwischen der Auswahlregion und dem Artefakt 212 einen Bereich 800 (siehe 8).
  • Abhängig von den Größen, Formen und Anordnungen der Quellenartefakte oder ihrer jeweiligen Anzeigeregionen und abhängig auch von der Größe und der Form des Selektors, kann die Summe der Flächen bzw. Bereiche 500, 600, 700, 800 der Fläche der Auswahlregion entsprechen oder nicht. Beispielsweise kann die Auswahlregion auch Leerräume zwischen angezeigten Quellenartefakten enthalten. In der in 3-8 dargestellten Ausführungsform entspricht die Summe der Flächen bzw. Bereiche 500, 600, 700, 800 der Fläche der Auswahlregion, weil die Formen, Größen und Anordnungen der Quellenartefakte sie innerhalb der Auswahlregion zusammenhängend machen.
  • Nun auf 9 Bezug nehmend, sei zur Erläuterung angenommen, dass der Bereich A in 9 dem Bereich 500 entspricht und die Bereiche B, C und D in 9 den Bereichen 600, 700 bzw. 800 entsprechen. In einer Klasse von Ausführungsformen kann ein prozentualer Beitrag eines Quellenattributs von Artefakt 208 zu einem Ausgabeattribut dem Quotienten A / (A+B+C+D) entsprechen. In ähnlicher Weise kann ein prozentualer Beitrag von Artefakt 210 zum Ausgabeattribut dem Quotienten B / (A+B+C+D) entsprechen. In ähnlicher Weise kann der prozentuale Beitrag von Artefakt 212 dem Quotienten C / (A+B+C+D) und der prozentuale Beitrag von Artefakt 214 dem Quotienten D / (A+B+C+D) entsprechen. Eine solche Gewichtungstechnik kann unabhängig davon verwendet werden, ob die Summe der Flächen bzw. Bereiche A, B, C, D der Fläche der Auswahlregion entspricht. In Ausführungsformen, die Leerräume zwischen den angezeigten Quellenattributen enthalten, können die Quotienten beispielsweise normalisiert werden, um jeden Leerraum in einer bestimmten Auswahlregion auszugleichen.
  • Zahlreiche andere Gewichtungstechniken auf der Grundlage von Flächen bzw. Bereichen sind ebenfalls möglich. Beispielsweise kann der Beitrag durch einen bestimmten Quellenartefakt zu einem beliebigen Ausgabeattribut auf einem Verhältnis zwischen dem Schnittpunkt des Artefakts mit der Auswahlregion (z.B. Bereich A, B, C oder D) und der durch die Auswahlregion definierten Gesamtfläche beruhen. In noch anderen Ausführungsformen kann der Beitrag durch einen Quellenartefakts auf einem Verhältnis zwischen dem Schnittpunkt des Artefakts mit der Auswahlregion (z.B. Bereich A, B, C oder D) und einer Gesamtfläche, die durch die Anzeigeregion des Artefakts definiert ist (z.B. die Größe des angezeigten Quellenartefakts), basieren.
  • Eine andere Variante von Gewichtungstechniken kann auf Interpolation beruhen. Beispielsweise können in Ausführungsformen, die Quellenartefakte in einem regelmäßigen Muster wie beispielsweise einem Gittermuster aus Zeilen und Spalten oder wie beispielsweise einem sechseckigen Gittermuster anzeigen, Beiträge von ausgewählten Quellenartefakten zu einem Ausgabeattribut auf der Grundlage der Anzeigekoordinaten eines Selektors relativ zu Anzeigekoordinaten der Quellenartefakte bestimmt werden.
  • Als ein illustratives Beispiel für die letztgenannte Technik sei ein ausgewählter Satz von vier Quellenartefakten SAi,j , SAi,j+1 , SAi+1,j und SAi+1,j+1, die in einem rechteckigen Gittermuster mit einer Gesamtausdehnung sizex in der horizontalen Richtung und einer Gesamtausdehnung sizey in der vertikalen Richtung angeordnet sind. Wenn ein Selektor innerhalb des Gitters positioniert ist, kann jeder beliebige Punkt auf dem Selektor gewählt werden, um eine Interpolationskoordinate innerhalb des Gitters anzugeben. Der Einfachheit der Erklärung halber sein eine rechteckige Selektorform angenommen, die innerhalb des Gitters positioniert ist, und sei angenommen, dass die Koordinaten (tx, ty) der linken oberen Ecke der Selektorform als die Interpolationskoordinate bezeichnend gewählt werden. Der weiteren Einfachheit halber sei auch eine Normalisierung unter Verwendung von sizex und sizey angenommen, derart, dass tx und ty jeweils in den Bereich [0, 1] fallen. In einem solchen Beispiel können die Beiträge jedes der ausgewählten Quellenartefakte SA zu einem Ausgabeartefakt OA unter Verwendung bilinearer Interpolation wie folgt bestimmt werden: OA = ( SA i ,j ( 1 t x ) + SA i ,j + 1 t x ( 1 t y ) + ( S A i+1 ,j ( 1 t x ) + SAi j+1tx ) t y
    Figure DE102022112888A1_0003
  • In verschiedenen Ausführungsformen können auch andere Interpolationsmethoden als die bilineare Interpolation angewendet werden, je nach Bedarf.
  • Je nach gewünschter Anwendung kann jede geeignete Kombination dieser oder anderer Techniken verwendet werden, um einen gewichteten Beitrag durch ein Quellenartefakt zu einem Ausgabeattribut zu bestimmen.
  • Kontinuierliches oder diskretes Aktualisieren
  • In einigen Ausführungsformen kann sich das Aussehen des Ausgabeartefakts kontinuierlich ändern, wenn der Selektor zwischen den Quellenartefakten bewegt wird, um entsprechende Änderungen in der Auswahl der Quellenartefakte oder in den Gewichten ihrer jeweiligen Beiträge zu bewirken. Solche Ausführungsformen ermöglichen es einem Benutzer, einen latenten Raum, der den Quellenartefakten zugeordnet ist, auf flüssige Weise zu erkunden. In anderen Ausführungsformen kann es wünschenswert sein, das Aussehen des Ausgabeartefakts so lange zu fixieren, bis ein „Generieren“- oder „Aktualisieren“-Befehl oder dergleichen ausgegeben wird, z.B. durch Anklicken einer entsprechenden Schaltfläche, die auf der Benutzerschnittstelle bereitgestellt ist. In der letztgenannten Klasse von Ausführungsformen können Änderungen an dem Ausgabeartefakt zu ausgewählten diskreten Zeitpunkten erfolgen. In noch weiteren Ausführungsformen kann ein Moduswähler in der Benutzerschnittstelle bereitgestellt sein derart, dass ein Benutzer wählen kann, ob sich das Ausgabeartefakt kontinuierlich mit der Bewegung des Wählers ändern soll, oder ob es sich nur zu diskreten Zeiten im Ansprechen auf einen Erzeugungs- oder Aktualisierungsbefehl ändern soll. In jeder dieser Ausführungsformen ist der Benutzer in der Lage, einen latenten Raum, der Quellenartefakten zugeordnet ist, auf visuelle und intuitive Weise zu erkunden - visuell, weil die beobachtbaren Ausgabeartefakte Punkten in dem latenten Raum entsprechen, die zwischen Punkten liegen können, die durch jedes der Quellenartefakte repräsentiert werden, und intuitiv aufgrund der Art und Weise, in welcher der Benutzer in der Lage ist, gewünschte Auswahlen und Gewichtungen unter den Quellenartefakten anzugeben.
  • Auswahl aus mehreren Arten von Quellenattributen
  • Wie bereits erwähnt, können Quellenartefakte mehr als eine Art von Quellenattributen zeigen, aus welchen ein Benutzer für die Darstellung in einem Ausgabeartefakt auswählen möchte. Es wurde beispielsweise erwähnt, dass ein solches Quellenattribut ein Inhaltselement umfassen kann, während ein anderes solches Quellenattribut einen Stil umfassen kann, in welchem das Inhaltselement oder das Gesamtbild gerendert wird. (Mehrere Beispiele möglicher Inhalts- und Stilelemente sind vorstehend beschrieben.) 10 veranschaulicht generisch eine Beispielklasse von Benutzerschnittstellen, in welchen mehr als ein Attribut eines Ausgabeartefakts unabhängig durch Auswählen aus verschiedenen Arten von Quellenattributen in den Quellenartefakten beeinflusst werden kann.
  • Nun auf 10 Bezug nehmend, ist eine Benutzerschnittstelle 1000 als auf einem Anzeigevorrichtung 1001 angezeigt dargestellt. Wie die Benutzerschnittstelle 200 umfasst die Benutzerschnittstelle 1000 eine Quellenregion 202, die Platz zum Anzeigen mehrerer Quellenartefakte wie z.B. Bilder 206-212 bereitstelle. Ebenso wie die Benutzerschnittstelle 200 umfasst die Benutzerschnittstelle 1000 eine Ausgaberegion 204, die Platz zum Anzeigen eines Ausgabeartefakts wie beispielsweise das Bild 1016 bereitstellt. Im Gegensatz zur Benutzerschnittstelle 200 enthält die Benutzerschnittstelle 1000 jedoch eine oder mehrere zusätzliche Quellenregionen wie die Quellenregion 1002, die Platz zum Anzeigen zusätzlicher Quellenartefakte wie beispielsweise Bilder 1006, 1008, 1010, 1012 bereitstellen.
  • In dieser Klasse von Ausführungsformen kann jede Quellenregion einer anderen Art von Quellenattribut entsprechen. Beispielsweise kann die Quellenregion 202 einem Inhaltsattribut entsprechen, während die Quellenregion 1002 einem Stilattribut entsprechen kann. In gewissem Sinne kann jeder Quellenregion in solchen Ausführungsformen als eine Palette betrachtet werden. In Übereinstimmung mit dieser Analogie kann die Quellenregion 202 als eine Palette dienen, aus welcher Inhaltselemente ausgewählt werden können, während die Quellenregion 1002 als eine Palette dienen kann, aus welcher Stilelemente ausgewählt werden können. Wie bei 1013 angegeben, können in solchen Ausführungsformen beliebig viele Quellenregionen angezeigt werden, wobei jede von ihnen mehrere Quellenartefakte anzeigt und jede von ihnen einer anderen Quellenattributart entspricht.
  • In der gezeigten Ausführungsform enthält jede der Quellenregionen ihren eigenen Selektor 214, 1014. Wenn ein Selektor innerhalb seiner jeweiligen Quellenregion bewegt wird, werden die ausgewählten Quellenartefakte in einer ähnlichen Weise identifiziert, wie sie vorstehend in Bezug auf den Selektor 214 beschrieben wurde, und möglicherweise mit einem zugeordneten Gewicht. Das Ausgabeartefakt 1016 wiederum umfasst mehrere Ausgabeattribute, von welchen jedes unabhängig durch in den verschiedenen Quellenregionen angegebene Auswahlen beeinflusst wird. Wenn also der Selektor 214 innerhalb der Quellenregion 202 bewegt wird, kann sich ein Inhaltselement des Ausgabebilds ändern, kann jedoch ein Stilelement des Ausgabebilds im Wesentlichen unverändert bleiben. In ähnlicher Weise kann sich beim Bewegen des Selektors 1014 innerhalb der Quellenregion 1002 ein Stilelement des Ausgabebilds ändern, kann aber ein Inhaltselement des Bilds im Wesentlichen unverändert bleiben. Wie vorstehend in Bezug auf die Benutzerschnittstelle 200 beschrieben wurde, kann das Ausgabeartefakt kontinuierlich oder diskret aktualisiert werden, wenn die Selektoren bewegt werden, möglicherweise in Übereinstimmung mit der Modusauswahl eines Benutzers. In weiteren Ausführungsformen können Ausgabeartefakte Animationen enthalten, wie sie beispielsweise durch Hinzufügen von Rauscheingängen an verschiedenen Schichten eines GNN, das zum Erzeugen des Ausgabeartefakts verwendet wird (wie nachstehend noch zu beschreiben ist), erzeugt werden können.
  • In verschiedenen Ausführungsformen braucht die Anzahl von Selektoren nicht dieselbe zu sein wie die Anzahl der angezeigten unterschiedlichen Quellenregionen, und kann die Anzahl angezeigter Quellenregionen von einer bis zu beliebig vielen variieren. In einigen Ausführungsformen kann zum Beispiel eine einzige Quellenregion mit mehreren Selektoren darin angezeigt werden, wobei jeder der Selektoren einer anderen Attributart entspricht. In solchen Ausführungsformen kann ein Selektor über die Quellenartefakte bewegt werden, um ein Stil-Ausgabeelement für das Ausgabeartefakt auszuwählen, während ein anderer Selektor über dieselben Quellenartefakte bewegt werden kann, um ein Inhaltselement für das Ausgabeartefakt auszuwählen. In weiteren Ausführungsformen kann ein einziger Selektor mit mehreren Modi verwendet werden. In den letztgenannten Ausführungsformen kann die Benutzerschnittstelle es dem Benutzer ermöglichen, einen Modus für den Selektor derart auszuwählen, dass dann, wenn ein erster Selektormodus gewählt wird, Bewegungen des Selektors Inhaltsauswahlen anzeigen können (zum Beispiel), und wenn ein zweiter Selektormodus gewählt wird, die Bewegungen desselben Selektors die Stilauswahlen anzeigen können (wiederum zum Beispiel). In nochmals weiteren Ausführungsformen können mehrere unterschiedliche Quellenregionen angezeigt werden derart, dass jede Quellenregion einer separaten Quellenattributart entspricht, während nur ein einziger Selektor bereitgestellt wird. In solchen Ausführungsformen kann ein Benutzer den einzelnen Selektor innerhalb einer ersten Quellenregion bewegen, um eine Inhaltsauswahl zu treffen (zum Beispiel) und, nachdem er die Inhaltsauswahl festgelegt hat, denselben Selektor zu einer anderen Quellenregion bewegen, um eine Stilauswahl zu treffen (wiederum zum Beispiel). Andere Ausführungsformen sind ebenfalls möglich.
  • In Ausführungsformen, die Quellenartefakte in mehreren Quellenregionen anzeigen, können die in den verschiedenen Quellenregionen angezeigten Sätze von Artefakten gleich sein, oder können sie unterschiedlich sein. In nochmals weiteren Ausführungsformen können die Sätze völlig disjunkt sein.
  • Bewegung von Quellenartefakten
  • Falls gewünscht, kann in der Benutzerschnittstelle in jeder der vorstehend genannten Ausführungsformen ein Mechanismus bereitgestellt sein, der es dem Benutzer ermöglicht, Quellenartefakte innerhalb einer bestimmten Quellenregion oder in eine andere Quellenregion hinein zu bewegen. Auf diese Weise kann zusätzliche Flexibilität bei der Auswahl von Quellenattributen erreicht werden. Beispielsweise kann ein Selektor verwendet werden, um eine Auswahlregion anzuzeigen, nachdem mehrere geeignet ausgewählte Quellenartefakte so nahe zueinander gebracht wurden, dass die Auswahlregion sie einschließen kann.
  • In nochmals weiteren Ausführungsformen kann der Selektor einen Cursor anstelle eines Begrenzungsrands umfassen, und kann die Auswahlregion durch Verschieben ausgewählter Quellenartefakte angezeigt werden derart, dass sich die Quellenartefakte auf der Anzeige überlappen oder mit einer fest positionierten Auswahlregion überlappen oder in einem solchen Bereich enthalten sind. Es können mehrere solcher positionsfester Auswahlregionen bereitgestellt werden, die jeweils einer anderen Attributart entsprechen. In solchen Ausführungsformen kann der Grad der Überlappung zwischen den ausgewählten Quellenartefakten verwendet werden, um einen Beitrag zu bestimmen, der von jedem der ausgewählten Quellenartefakte zu einem Ausgabeattribut geleistet wird. Die Höhe jedes jeweiligen Beitrags kann in einer Weise ähnlich zu den vorstehend in Bezug auf 3-9 beschriebenen Techniken bestimmt werden.
  • Orte und relative Positionen angezeigter Elemente
  • Die Orte und relativen Positionen der hierin dargestellten angezeigten Elemente werden beispielhaft bereitgestellt und sind nicht als beschränkend zu verstehen. In einigen Ausführungsformen können sich die Orte oder die relativen Positionen der Quellenregionen und der Ausgaberegion von den dargestellten Ausführungsformen unterscheiden oder können in Übereinstimmung mit den Auswahlen eines Benutzers variiert werden (wie z.B. durch Anzeigen der Elemente innerhalb separater Fenster und Erlauben, dass der Benutzer die Fenster neu anordnen und/oder ihre Größe ändern kann). In anderen Ausführungsformen können einige der angezeigten Elemente weggelassen und andere hinzugefügt werden. In nochmals weiteren Ausführungsformen können einige der angezeigten Elemente an einem ersten geografischen Ort angezeigt werden, während dieselben oder andere der angezeigten Elemente an einem oder mehreren entfernten geografischen Orten angezeigt werden können, so dass mehrere Benutzer bei der Erstellung eines oder mehrerer Ausgabeartefakte zusammenarbeiten können.
  • Verarbeitungsorte
  • In ähnlicher Weise brauchen in beliebigen der hierin beschriebenen Ausführungsformen nicht alle Verarbeitungsschritte an einem gleichen physischen Ort durchgeführt werden, und brauchen sich Elemente von Verarbeitungshardware nicht alle an einem gleichen physischen Ort befinden. In einigen Ausführungsformen können beispielsweise Elemente der Benutzerschnittstelle an einem oder mehreren ersten Orten angezeigt werden, während die Erzeugung von Ausgabeartefakten oder andere Verarbeitungsschritte an einem oder mehreren zweiten, von den ersten Orten verschiedenen Orten durchgeführt werden können.
  • Beispielhafte Methoden und Strukturen
  • 11 zeigt eine Beispielklasse von Verfahren 1100 zum Erzeugen eines neuen Artefakts auf der Grundlage bestehender Artefakte oder zur Ermöglichung der visuellen Erkundung latenter Räume durch den Benutzer, in Übereinstimmung mit einer der vorstehend beschriebenen Benutzerschnittstellen oder anderen. In Schritten 1102 bzw. 1104 wird mindestens eine Vielzahl von Quellenartefakten angezeigt, und wird mindestens ein Selektor angezeigt. Das Anzeigen kann z.B. auf jede beliebige Weise erfolgen, die mit den vorstehend beschriebenen Beispiel-Benutzerschnittstellen übereinstimmt. In Schritt 1106 wird ein ausgewählter Satz der angezeigten Quellenartefakte bestimmt. Der ausgewählte Satz kann denjenigen Quellenartefakten entsprechen, die von einem Benutzer unter Verwendung des Selektors gemäß den vorstehend beschriebenen Beispielen angegeben wurden. In Schritten 1108, 1110 und 1112, die alle nachstehend noch zu beschreiben sind, werden Quellenvektoren bestimmt, die den Quellenartefakten in dem ausgewählten Satz entsprechen, werden ein oder mehrere resultierende Vektoren bzw. Ergebnisvektoren basierend auf den Quellenvektoren bestimmt, und wird ein Ausgabeartefakt basierend auf dem einen oder den mehreren resultierenden Vektoren erzeugt.
  • In Schritt 1114 kann das Ausgabeartefakt auf einer oder mehreren Anzeigevorrichtungen angezeigt werden. Beispielsweise kann das Ausgabeartefakt in einer Ausgaberegion angezeigt werden, die einer der vorstehend beschriebenen Beispiel-Benutzerschnittstellen entspricht, oder es können andere geeignete Aktionen in Bezug auf das Ausgabeartefakt durchgeführt werden. In einigen Ausführungsformen braucht das Ausgabeartefakt nicht angezeigt zu werden, sondern kann stattdessen in einem geeigneten computerlesbaren Speichermedium gespeichert oder gedruckt werden. In nochmals anderen Ausführungsformen können in Schritt 1114 Anweisungen oder Daten erzeugt werden, die bewirken, dass das Ausgabeartefakt an einem lokalen oder einem entfernten Ort oder an beiden angezeigt wird. Solche Anweisungen können beispielsweise an ein Grafiksubsystem eines Host-Computers gerichtete Befehle umfassen, und solche Daten können beispielsweise eine Bitmap oder eine ähnliche Repräsentation eines gerenderten Bilds umfassen. Die Befehle oder Daten können über einen oder mehrere Kommunikationspfade innerhalb eines Host-Computers (z.B. einen Grafikbus) gesendet werden, oder können über ein Netzwerk an einen oder mehrere andere Host-Computer unter Verwendung eines geeigneten Netzwerkprotokolls gesendet werden, oder beides. Die letztgenannten Arten von Ausführungsformen können unter anderem dazu geeignet sein, mehreren Anwendern, die sich an unterschiedlichen Orten befinden, die Zusammenarbeit bei dem Erzeugen von Ausgabeartefakten zu ermöglichen.
  • Einige oder alle Schritte in dem Verfahren 1100 können gleichzeitig durchgeführt werden, oder sie können nacheinander durchgeführt werden.
  • 12 veranschaulicht schematisch beispielhafte Strukturen 1200, die zur Durchführung von Verfahren in Übereinstimmung mit dem Verfahren 1100 verwendet werden können. Jeder der in 12 dargestellten Blöcke kann unter Verwendung geeigneter Software, die auf einer oder mehreren Rechenvorrichtungen läuft, oder unter Verwendung spezieller Hardware, die für die Ausführung der angegebenen Funktionen ausgelegt ist, oder durch eine Kombination dieser Möglichkeiten implementiert werden. Datenstrukturen, die den angezeigten Quellenartefakten entsprechen, sind unter 1202 angegeben. Beliebige geeignete Datenstrukturen können verwendet werden, um die Quellenartefakte darzustellen, und jedes beliebige geeignete Fenstersystem oder Grafik-Toolkit kann verwendet werden, um die Quellenartefakte zusammen mit dem einem oder den mehreren Selektoren, die ein Benutzer bewegen kann, um ausgewählte Sätze der angezeigten Quellenartefakte anzuzeigen, anzuzeigen. In einigen Ausführungsformen können Bilddaten oder Bilddateien, die jedem der Quellenartefakte entsprechen, oder Zeiger auf solche Daten oder Dateien, in Datenstrukturen 1202 gespeichert werden, um die Anzeige der Quellenartefakte zur Auswahl zu erleichtern. Dieselbe Datenstruktur oder eine andere Datenstruktur oder Technik kann verwendet werden, um diejenigen Quellenartefakte zu identifizieren, die als ein Ergebnis der in Bezug auf Schritt 1106 beschriebenen Operationen in den ausgewählten Satz aufgenommen wurden. Zur Veranschaulichung ist eine beispielhafter ausgewählter Satz von Quellenartefakten in 12 durch die schwarzen Punkte angegeben, die sich neben einem Quellenartefakt 1 („SA1“) und einem Quellenartefakt 4 („SA4“) befinden.
  • Ein Block 1204 kann dazu vorgesehen sein, die Funktion des Bestimmens eines oder mehrerer Quellenvektoren 1205 auszuführen, die den Quellenartefakten in dem ausgewählten Satz entsprechen. Zur Erleichterung der Durchführung dieser Funktion kann der Block 1204 Zugriff auf die Datenstrukturen 1202 und auf eine geeignete Anzeige 1203 bezüglich welche der Quellenartefakte in einen bestimmten ausgewählten Satz einbezogen wurden, erhalten. Die Funktion des Blocks 1204 kann in einer Vielzahl von Weisen durchgeführt werden, je nachdem, welche Darstellungsart in Bezug auf die Quellenartefakte zu verwenden ist. In 13 sind mehrere beispielhafte Darstellungsmodi dargestellt, von welchen jeder in Ausführungsformen verwendet werden kann. In anderen Ausführungsformen können andere geeignete Modi verwendet werden.
  • Nun auf 13 Bezug nehmend, entsprechen Gitter 1302, 1304, 1306 und 1308 jeweils einem beispielhaften Satz von Quellenartefakten SA0 - SA9. Die spezifische Nummerierung der gezeigten Quellenartefakte und die Anordnung, in welcher sie gezeigt sind, dienen nur der Veranschaulichung. In tatsächlichen Ausführungsformen können viel mehr Quellenartefakte dargestellt werden, und die Quellenartefakte brauchen nicht in dem in der Zeichnung dargestellten Gittermuster angeordnet oder in der angegebenen Weise nummeriert zu sein. Jedes der abgebildeten Gitter zeigt einen anderen Modus an, in welchem Quellenvektoren, die den angezeigten oder den ausgewählten Quellenartefakten entsprechen, intern innerhalb einer bestimmten Implementierung dargestellt werden können. In verschiedenen Ausführungsformen kann jeder beliebige dieser Darstellungsmodi entweder allein oder in Kombination verwendet werden, oder es können andere geeignete Modi verwendet werden.
  • Das Gitter 1302 zeigt eine erste beispielhafte Darstellungsweise. In diesem Modus kann jedes der Quellenartefakte einer zufälligen Ganzzahl zugeordnet sein. Zum Beispiel kann das Quellenartefakt SA0 der Ganzzahl 33 zugeordnet sein, das Quellenartefakt SA1 der Ganzzahl 7, das Quellenartefakt SA4 der Ganzzahl 65 usw. In Ausführungsformen, die diesen Modus oder diese Darstellung verwenden, können die jedem Quellenartefakt zugeordneten Ganzzahlen in einer Datenstruktur gespeichert werden, wie generisch bei 1202 angegeben, so dass die Ganzzahlen bei Bedarf durch den Block 1204 zur Bezugnahme verfügbar gemacht sind.
  • Das Gitter 1304 veranschaulicht eine zweite beispielhafte Darstellungsweise. In diesem Modus kann jedes der Quellenartefakte einem Zufallsvektor Z zugeordnet sein, der einer jeweiligen einen der zufälligen Ganzzahlen aus dem Gitter 1304 entspricht. Zum Beispiel kann, wie bei 1310 angegeben, der Zufallsvektor Z für ein bestimmtes eines der Quellenartefakte unter Verwendung einer Funktion bestimmt werden, die als Eingaben einen „Seed“-Wert, der der Zufallszahl des Quellenartefakts entspricht, und einen Dimensionswert „m“, der der Anzahl der Elemente entspricht, die der Zufallsvektor Z enthalten sollte, annimmt. Als ein spezifisches Beispiel zu Zwecken der Erläuterung kann ein Zufallsvektor Z0, der dem Quellenartefakt SA0 zugeordnet ist, dem Wert entsprechen, der durch Aufrufen einer randn-Funktion, die von der mit der Programmiersprache Python bereitgestellten NumPy-Bibliothek (oder einer anderen ähnlichen Funktion, die von einer anderen Bibliothek oder Computerumgebung bereitgestellt wird) bereitgestellt wird, in einer Weise wie beispielsweise der folgenden zurückgegeben wird: numpy .random .RandomState ( seed = 33 ) . randn ( 512 )
    Figure DE102022112888A1_0004
  • Eine solche Implementierung wäre für Ausführungsformen geeignet, bei welchen jedes Quellenartefakt mit einem Vektor dargestellt werden soll, der 512 Elemente enthält, von welchen jedes eine Gleitkommazahl ist. In ähnlicher Weise kann ein 512-Elemente-Zufallsvektor Z8, der dem Quellenartefakt SA8 zugeordnet ist, dem Wert entsprechen, der durch den Aufruf numpy .random .RandomState ( seed = 9 ) . randn ( 512 )
    Figure DE102022112888A1_0005
    zurückgegeben wird, und so weiter. In solchen Ausführungsformen umfasst jeder Vektor Z einen Zufallsvektor, weil jeder einem zufälligen Seed-Wert entspricht - in dem dargestellten Beispiel der zufälligen Ganzzahl, die einem entsprechenden einen der Quellenartefakte in dem Gitter 1302 zugeordnet ist. In der Praxis werden die Funktion randn und ähnliche Funktionen bei jedem Aufruf der Funktion mit demselben Seed-Wert denselben Vektor zurückgeben. Aus diesem Grund ist es möglich, nur eine Zufalls-Ganzzahl in Zuordnung zu jedem Quellenartefakt zu speichern und den Zufallsvektor Z für ein bestimmtes eines der Quellenartefakte zu berechnen, wann immer der entsprechende Zufallsvektor benötigt wird. Es ist auch möglich, die Zufallsvektoren Z in einer Datenstruktur wie beispielsweise der Struktur 1202 zu speichern, so dass die Vektoren nur einmal berechnet werden müssen. Der einmal berechnete Vektor kann dann wann immer benötigt zur Bezugnahme zur Verfügung gestellt werden.
  • Das Gitter 1306 zeigt eine dritte beispielhafte Darstellungsweise. In diesem Modus kann jedes der Quellenartefakte einem Zwischenvektor, W, zugeordnet sein, der dem demselben Artefakt zugeordneten Vektor Z entspricht. Beispielsweise kann, wie bei 1312 angegeben, jeder Zwischenvektor W unter Verwendung einer Funktion, f(Z), bestimmt werden, die einen gegebenen Vektor aus dem Z-Raum auf den W-Raum abbildet. In verschiedenen Ausführungsformen kann eine solche Funktion unter Verwendung eines mehrschichtigen neuronalen Netzwerks 1400 implementiert werden, wie in 14 dargestellt. Das neuronale Netzwerk 1400 kann zum Beispiel während des Prozesses des Trainierens eines GAN, wie vorstehend beschrieben, trainiert werden. In Ausführungsformen, die diese Darstellungsweise verwenden, kann der Zwischenvektor W, der jedem Quellenartefakt entspricht, bei Bedarf berechnet oder einmal berechnet und für einen späteren Abruf gespeichert werden, wie ebenfalls vorstehend beschrieben wurde.
  • Das Gitter 1308 zeigt eine vierte beispielhafte Darstellungsweise. In diesem Modus kann jedes der Quellenartefakte einem Satz W+ von Zwischenvektoren anstelle einem einzelnen Zwischenvektor W zugeordnet sein. In dem allgemeinen Fall, und in einigen entsprechenden Ausführungsformen, kann jeder Vektor in einem Satz W+ unter Verwendung einer anderen Funktion f(Z) bestimmt werden, die den Z-Wert für das entsprechende Quellenartefakt aus dem Raum Z auf einen Punkt im W-Raum abbildet. Folglich können für Ausführungsformen, in welchen jeder Satz W+ n Vektoren enthält, n solche Funktionen f1(Z) bis fn(Z) bereitgestellt werden, um die Vektoren für ein bestimmtes Artefakt zu bestimmen, wie bei 1314 angegeben. Jede der Abbildungsfunktionen kann durch ein anderes mehrschichtiges neuronales Netzwerk 1500, 1502 ... 1504 implementiert werden, wie in 15 dargestellt. Wie das neuronale Netzwerk 1400 kann jedes von neuronalen Netzwerken 1500, 1502 ... 1504 während des Prozesses des Trainierens eines GAN trainiert werden, wie vorstehend beschrieben wurde.
  • In anderen Ausführungsformen können einer oder mehrere der Vektoren in einem Satz W+ Duplikate sein. Zum Beispiel können in einigen Ausführungsformen alle n Vektoren in einem gegebenen Satz W+ Duplikate sein; in welchem Fall dieselbe Funktion f(Z) verwendet werden kann, um alle derselben zu erzeugen.
  • In beliebigen Ausführungsformen können die Sätze W+ bei Bedarf berechnet werden, oder können einmal berechnet und für einen späteren Abruf gespeichert werden, wie ebenfalls vorstehend beschrieben wurde.
  • Andere Darstellungsweisen für die Quellenartefakte und/oder zur Verwendung als Eingaben für ein GNN zum Erzeugen der Quellenartefakte sind ebenfalls möglich. Beispielsweise können in Ausführungsformen, die auf neuronalen Netzwerken basieren, die Darstellungsweisen gemäß der Architektur der neuronalen Netzwerke, auf welchen die Ausführungsformen basieren sollen, variiert werden. Die Quellenvektoren 1205, die durch den Block 1204 bestimmt werden, können einer beliebigen der vorstehend beschriebenen Modi bzw. Weisen in Bezug auf die Gitter 1304, 1306 oder 1308 oder gegebenenfalls anderen Modi entsprechen. In ähnlicher Weise kann jeder beliebige dieser Darstellungsweisen oder andere für Bezugnahmen verwendet werden, die in den Datenstrukturen 1202 gespeichert sein können.
  • Erneut auf 12 Bezug nehmend, kann ein Block 1206 bereitgestellt sein, um die in Schritt 1110 angegebene Funktion auszuführen, welche darin besteht, einen oder mehrere resultierende Vektoren 1207 auf der Grundlage von Quellenvektoren 1205 zu bestimmen. Ein resultierender Vektor kann als eine Quellenattributrepräsentation dienen, da er eine Kombination von Attributen ausgewählter Quellenartefakte repräsentiert.
  • In Ausführungsformen gemäß 12 kann ein Block 1206 einen einzigen resultierenden Vektor RV auf der Grundlage mehrerer Quellenvektoren SV erzeugen. Er kann dies in Übereinstimmung mit einer Vielzahl von Techniken tun. Gemäß einer beispielhaften Technik können die Quellenvektoren unter Verwendung eines der Modi dargestellt werden, die den vorstehend beschriebenen Gittern 1304 oder 1306 entsprechen (d.h., jeder Quellenvektor kann einem Z-Wert oder einem W-Wert entsprechen). Ausgehend von einem dieser Darstellungsmodi für die Quellenvektoren kann der Block 1206 jedes Element eines resultierenden Vektors durch Mittelwertbildung über die entsprechenden Elemente der Quellenvektoren berechnen. Bei zwei Quellenvektoren SVA und SVB, die jeweils n Elemente umfassen, kann der Block 1206 beispielsweise n Elemente für einen resultierenden Vektor RV separat berechnen, so dass jedes Element RVi gleich dem Durchschnitt von SVAi und SVBi ist. Die gleiche Technik kann angewendet werden, wenn mehr als zwei Quellenartefakte in einem ausgewählten Satz enthalten sind.
  • Eine weitere beispielhafte Technik kann in Ausführungsformen verwendet werden, die Gewichte für jedes der in einem bestimmten ausgewählten Satz enthaltenen Quellenartefakte bestimmen, wie vorstehend allgemein in Bezug auf die Beispiel-Benutzerschnittstellen beschrieben wurde. In dieser Kategorie von Ausführungsformen kann dem Block 1206 Zugriff auf individuelle Gewichtungswerte für jedes der Quellenartefakte gegeben sein, die in einem ausgewählten Satz enthalten sind, wie bei 1212 angegeben, so dass der Block 1206 die Gewichtungen bei der Bestimmung des resultierenden Vektors berücksichtigen kann. Als ein Beispiel sei angenommen, dass zwei Quellenvektoren SVA und SVB jeweils n Elemente umfassen. Weiter sei angenommen, dass die Quellenvektoren gemäß einem der Modi 1304 oder 1306 dargestellt werden (d.h. jeder wird durch einen Z-Wert oder durch einen W-Wert repräsentiert). In Anbetracht dieser Quellenvektorrepräsentationen kann der Block 1206 separat n Elemente für einen resultierenden Vektor RV berechnen derart, dass jedes Element RVi gleich einem gewichteten Durchschnitt von SVAi und SVBi ist. Hierfür gibt es mehrere Techniken. Eine Technik besteht darin, den Elementen des ausgewählten Satzes Gewichte derart zuzuweisen, dass die Summe aller Gewichte 1,0 beträgt. Auf diese Weise kann für einen ausgewählten Satz, der Quellenartefakte A und B enthält und wobei die Artefakte A und B zugewiesene Gewichte weightA bzw. weightB haben, jedes der resultierenden Vektorelemente RVi gleich der Summe von weightA *SVAi und weightB *SVBi gesetzt werden. Die gleiche Technik kann angewendet werden, wenn mehr als zwei Quellenartefakte in einem ausgewählten Satz enthalten sind. Andere Gewichtungstechniken sind ebenfalls möglich, einschließlich der, aber nicht beschränkt auf die vorstehend beschriebenen Interpolationstechniken.
  • Sobald der resultierende Vektor bestimmt wurde, kann er auf einen Ausgabeartefakt-Erzeugungsblock 1208 angewendet werden, wie bei 1207 gezeigt, um ein Ausgabeartefakt 1210 zu erzeugen. Ein solcher Ausgabeartefakt-Erzeugungsblock kann unter Verwendung jeder beliebigen Art von Artefaktgenerator implementiert werden, der in der Lage ist, ein Ausgabeartefakt auf der Grundlage eines resultierenden Vektors wie vorstehend beschrieben zu erzeugen.
  • In einigen Ausführungsformen kann der Ausgabeartefaktgenerator ein GNN umfassen. Zu Zwecken der Erläuterung zeigt 16 eine beispielhafte GNN-Architektur 1600, die zur Verwendung als ein Ausgabeartefaktgenerator in den letztgenannten Arten von Ausführungsformen geeignet sein kann. Für den Fachmann, der diese Offenbarung in Bezug nimmt, versteht sich jedoch, dass GNNs mit anderen Architekturen ebenfalls zum Erzeugen eines Ausgabeartefakts verwendet werden können. GNNs umfassen typischerweise mehrere Schichten, wie z.B. die Schichten 1-9 in der dargestellten Ausführungsform. Zum Beispiel kann in einem GNN zum Erzeugen von Bildern Schicht 1 ein Bild mit niedriger Auflösung (z.B. 4x4 Pixel) erzeugen. Die Ausgabe von Schicht 1 kann Schicht 2 zugeführt werden, welche ein höher auflösendes Bild (z.B. 16x16 Pixel) erzeugen kann, und so weiter, bis durch die letzte Schicht ein Bild mit relativ hoher Auflösung (z.B. 1024x1024 Pixel) erzeugt wird. Die Ausgabe der letzten Schicht kann das Ausgabeartefakt umfassen. Die Anzahl der in Ausführungsform 1600 gezeigten Schichten ist nur zur Veranschaulichung und zur Erläuterung gewählt. In anderen Ausführungsformen kann die Anzahl der Schichten abweichen. Weitere Einzelheiten bezüglich geeigneten Implementierungen für GNNs wie beispielsweise das GNN 1600 finden sich in Karras, et al., „A Style-Based Generator Architecture for Generative Adversarial Networks,“ arXiv:1812.04948v3 [cs.NE] (2019), und in Karras, et al., „Analyzing and Improving the Image Quality of StyleGAN,“ arXiv:1912.04958v2 [cs.CV] (2020).
  • Bei Ausführungsformen, in welchen nur ein einziger resultierender Vektor erzeugt wird, kann derselbe resultierende Vektor als eine Eingabe für jede der Schichten des GNN angewendet werden, wie bei 1604 angegeben. In Ausführungsformen, die andere GNN-Architekturen verwenden, kann der einzelne resultierende Vektor stattdessen als eine Eingabe für Schicht 1 verwendet werden, anstelle der in der Zeichnung gezeigten konstanten Eingabe für Schicht 1. Außerdem können je nach Architektur des GNN zusätzlich separate Eingaben für eine oder mehrere Schichten bereitgestellt werden. In Übereinstimmung mit einigen Architekturen kann beispielsweise ein konstanter Wert als eine zusätzliche Eingabe in Schicht 1 angewendet werden, wie bei 1602 angegeben, und können Rauscheingaben (nicht separat gezeigt) zusätzlich für jede der Schichten bereitgestellt werden - zum Beispiel während des GAN-Trainings, oder um gewünschte Effekte während der Erzeugung von Ausgabeartefakten durch ein trainiertes GNN zu erzeugen. Andere Verfahren der Anwendung resultierender Vektoren auf einen Generator sind ebenfalls möglich.
  • 17 stellt eine detailliertere Ansicht einer repräsentativen Schicht 1700 innerhalb eines GNN wie beispielsweise das GNN 1600 bereit. Auch hier ist jedoch zu beachten, dass die Architekturen von GNNs variieren. Für den Fachmann mit Bezug auf diese Offenbarung versteht sich, dass die in 17 gezeigte Architektur für verschiedene GNN-Architekturen in geeigneter Weise modifiziert werden kann. Die Schicht 1700 kann allgemein eine der Schichten 1-9 in der Ausführungsform 1600 repräsentieren. Eine GNN-Schicht 1700 kann Eingaben von einer vorangehenden Schicht entgegennehmen, wie bei 1702 gezeigt, und kann eine Ausgabe für eine nachfolgende Schicht bereitstellen, wie bei 1704 gezeigt. Innerhalb einer Schicht 1700 können ein oder mehrere Faltungsmodule 1706, 1707 bereitgestellt sein, zusammen mit einem oder mehreren zusätzlichen Verarbeitungsmodulen wie beispielsweise adaIN-Modulen 1708, 1710 und Affintransformationsmodulen 1712, 1714. Ein adaIN-Modul kann die Funktion einer adaptiven Instanznormalisierung implementieren, wie z.B. in Karras (siehe oben) erläutert wird. Die von jedem der Affintransformationsmodule angewendeten Transformationen können eindeutig sein und können beispielsweise in Verbindung mit dem Training eines GAN wie vorstehend beschrieben gelernt werden. Ausgaben der gelernten Affintransformationsmodule können, wie gezeigt, als Eingänge zu den jeweiligen einen der adaIN-Module gekoppelt werden. In Architekturen dieser Art kann der resultierende Vektor als eine Eingabe für jedes der Affintransformationsmodule bereitgestellt werden, wie bei 1716 angegeben. Für den Fachmann versteht sich, dass in einer repräsentativen GNN-Schicht auch andere, in 17 nicht dargestellte Verarbeitungsmodule vorhanden sein können und dass die Definition, welche Module in einer bestimmten Architektur eine einzelne Schicht bilden, variieren kann. In einigen Architekturen kann eine Schicht beispielsweise so definiert sein, dass sie nur ein einziges adaIN-Modul und ein einziges Faltungsmodul enthält, möglicherweise zusammen mit anderen zugehörigen Verarbeitungsmodulen.
  • 18 veranschaulicht eine weitere Kategorie von Ausführungsformen, 1800, in welchen das Ausgabeartefakt mehrere Ausgabeattribute aufweisen kann, von welchen jedes ein anderes Quellenattribut repräsentiert, das aus den Quellenartefakten ausgewählt wurde, wie vorstehend beschrieben. Obwohl in der Zeichnung Bilder gezeigt werden, um die Erklärung zu erleichtern, sind die Ausführungsformen 1800 nicht auf Bildartefakte beschränkt, sondern können mit jeder der vorstehend beschriebenen Artefaktarten verwendet werden, für welche ein geeigneter Ausgabeartefaktgenerator entwickelt werden kann.
  • In der dargestellten Ausführungsform sind zwei Quellenartefakt-Auswahlmodule 1820, 1822 gezeigt. Für Implementierungen, in welchen es gewünscht ist, verschiedene Quellenattribute gleichzeitig auszuwählen, können mehrere Quellenattribut-Auswahlmodule ähnlich den Modulen 1820, 1822 vorgesehen werden. In anderen Ausführungsformen kann ein einziges Quellenattribut-Auswahlmodul bereitgestellt sein und zur sequenziellen Auswahl verschiedener Quellenattribute verwendet werden. Jedes der Quellenattribut-Auswahlmodule kann in einer ähnlichen Weise implementiert werden, wie es vorstehend in Bezug auf die Strukturen von 12 beschrieben wurde.
  • Folglich können die Datenstrukturen 1802 ähnlich zu den Datenstrukturen 1202 sein, können die Quellenvektor-Bestimmungsblöcke 1804 ähnlich zu dem sein Quellenvektor-Bestimmungsblock 1204 sein, und können die Resultierendvektor-Bestimmungsblöcke 1806 ähnlich zu dem Resultierendvektor-Bestimmungsblock 1206 sein. Obwohl in dem Ausführungsbeispiel nur zwei Quellenattribut-Auswahlmodule gezeigt sind, können in weiteren Ausführungsbeispielen zusätzliche solche Auswahlmodule verwendet werden, oder kann dasselbe Auswahlmodul sequenziell verwendet werden, um die Auswahl aus mehr als zwei Arten von Quellenattributen zu ermöglichen. Wie vorstehend beschrieben wurde, können die Quellenartefakte, aus welchen die verschiedenen Attributarten ausgewählt werden, denselben Satz von Quellenartefakten umfassen, oder sie können verschiedene Sätze von Quellenartefakten umfassen.
  • Zur Darstellung der Quellenartefakte 1802 und der Quellenvektoren SVA, SVB kann dieselbe Vielfalt von Darstellungsweisen verwendet werden wie zur Darstellung entsprechender Entitäten in den Ausführungsformen von 12. In den Ausführungsformen 1800 wird jedoch der W+ Darstellungsmodus (der dem Modus 1308 in 13 entspricht) verwendet, um die resultierenden Vektoren darzustellen, die durch jeden der Blöcke 1806 bestimmt werden. In ähnlicher Weise können in einigen Ausführungsformen die Quellenvektoren SVA und SVB, die von den Blöcken 1804 bestimmt werden, auch unter Verwendung des W+-Modus dargestellt werden. Aus diesem Grund sind mehrere der Pfeile in 18 mit Schrägstrichen versehen, um anzuzeigen, dass jeder Pfeil mehreren Vektoren entsprechen kann, wie es der Fall wäre, wenn der W+ Darstellungsmodus verwendet wird.
  • Wenn sowohl die Quellenvektoren als auch die resultierenden Vektoren auf diese Weise dargestellt werden, kann jede der vorstehend in Bezug auf 12 beschriebenen Techniken zum Bestimmen der Elemente eines einzelnen resultierenden Vektors RV in ähnlicher Weise verwendet werden, um die Elemente für jeden resultierenden Vektor zu bestimmen, der einer bestimmten W+-Artefaktdarstellung entspricht. Beispielsweise sei zur Veranschaulichungszwecken angenommen, dass eine W+-Darstellung sowohl für die Quellenvektoren als auch für die resultierenden Vektoren in einer bestimmten Ausführungsform 1800 verwendet wird. Ferner sei angenommen, dass jede W+-Darstellung n Vektoren umfasst und dass jeder Vektor m Elemente (z. B. m Gleitkommazahlen) umfasst. Jede derartige W+-Darstellung kann als eine Matrix mit n Zeilen und m Spalten betrachtet werden derart, dass die Zeilen in der Matrix Vektoren und die Spalten in der Matrix Elementpositionen innerhalb der Vektoren entsprechen. In solchen Ausführungsformen können die Elemente eines ersten resultierenden Vektors in W+A unter Verwendung der ersten Zeile aus jeder der Matrizen, die SVA entsprechen, bestimmt werden. In ähnlicher Weise können die Elemente des zweiten resultierenden Vektors in W+A unter Verwendung der zweiten Zeile aus jeder der Matrizen bestimmt werden, die SVA entsprechen, und so weiter, bis der n-te resultierende Vektor in W+A unter Verwendung der n-ten Zeile aus jeder der Matrizen bestimmt wird, die SVA entsprechen. Die gleiche Technik kann verwendet werden, um die Elemente der resultierenden Vektoren in W+B zu bestimmen, ebenso diejenigen für alle weiteren Quellenattribute, die in der jeweiligen Ausführungsform beteiligt sind (z.B. ein Quellenattribut W+c vielleicht).
  • Die Funktion eines Kombinierermoduls 1824 in den Ausführungsformen 1800 besteht darin, einen hybriden Satz von resultierenden Vektoren W+Hybrid zu erzeugen, der in der Zeichnung als eine Ausgabe 1826 des Kombinierermoduls dargestellt ist. Ein hybrider Satz von resultierenden Vektoren ist ein Satz, in welchem einige der Vektoren aus einer Quellenattribut-Darstellung genommen werden, wie z.B. von W+A, während andere der Vektoren aus einer anderen Quellenattribut-Darstellung genommen werden, wie z.B. von W+B. 19 stellt ein Beispiel bereit für und veranschaulicht einen von mehreren Wegen, wie dies geschehen kann. In 19 sind zwei Quellenattribut-Darstellungen W+A, W+B als Eingänge in das Kombinierermodul gezeigt. Im Allgemeinen können mehr als zwei Quellenattribut-Darstellungen vorhanden sein, wie bei 1900 angegeben. In dem gezeigten Beispiel umfasst jede der Quellenattribut-Darstellungen 18 Vektoren mit den Nummern WA1 bis WA18 bzw. WB1 bis WB18. Der hybride Satz von resultierenden Vektoren 1902 beinhaltet einige der Vektoren von W+A und einige der Vektoren von W+B. In diesem Beispiel umfasst der Satz 1902 die Vektoren WA1 bis WA7 aus W+A und die Vektoren WB8 bis WB18 aus W+B.
  • Wie vorstehend beschrieben wurde, können einige Ausführungsformen zusätzliche Quellenattribut-Darstellungen erzeugen, wie z.B. W+c , usw. Unabhängig von der Anzahl von Quellenattribut-Darstellungen, die verwendet werden können, können beim Entwurf einer bestimmten Implementierung mehrere Einschränkungen berücksichtigt werden. Erstens kann die Anzahl von Vektoren in einem hybriden Satz 1902 die gleiche Anzahl von Vektoren umfassen wie jede der beitragenden Quellenattribut-Darstellungen. Zweitens kann jeder der Vektoren in dem hybriden Satz die gleiche Anzahl von Elementen umfassen wie jeder der Vektoren in den Quellenattribut-Darstellungen. Drittens können die Positionen der Vektoren in dem hybriden Satz mit den Positionen konsistent gehalten werden, die diese Vektoren in den Quellenattribut-Darstellungen eingenommen haben, aus denen sie entnommen wurden. Falls z.B. der Vektor WA1 in dem hybriden Satz die Zeile 1 in der Matrix W+A belegt hat, kann er auch die Zeile 1 in der hybriden Matrix belegen, und so weiter für jeden der anderen Vektoren in dem hybriden Satz. Viertens können dann, wenn mehrere Zeilen aus einer gegebenen Quellenattribut-Darstellung W+x entnommen werden, die entnommenen Zeilen zusammenhängende Zeilen sein. Einige oder alle dieser Beschränkungen können abhängig von den gewünschten Ergebnissen und von den Zielen, für welche eine bestimmte Ausführungsform entwickelt wird, weggelassen oder gelockert werden. Eine beispielhafte Technik zum gleichzeitigen Implementieren einer oder mehrerer der vorstehend genannten Einschränkungen besteht darin, den hybriden Satz durch Verketten zusammenhängender Zeilen aus den Quellenattribut-Darstellungsmatrizen zu erstellen. Zur Veranschaulichung können die zusammenhängenden Zeilen 1-3 aus einer Quellenattributmatrix entnommen werden, können die zusammenhängenden Zeilen 4-12 aus einer zweiten Quellenattributmatrix entnommen werden, und können die zusammenhängenden Zeilen 13-18 aus einer dritten Quellenattributmatrix entnommen werden, derart, dass der endgültige hybride Satz 18 Zeilen umfasst, die die Verkettung der drei Teilmengen aus zusammenhängenden Zeilen repräsentieren.
  • Erneut auf 18 Bezug nehmend, kann der Ausgabeartefakt-Erzeugungsblock 1808 jede beliebige Implementierung umfassen, die in der Lage ist, ein Ausgabeartefakt auf der Grundlage der Ausgabe des Kombinierers zu erzeugen. In der dargestellten Ausführungsform entspricht dies einem beliebigen Artefaktgenerator, der eine W+-Modus-Darstellung als eine Eingabe verwenden kann. Ein Beispiel für einen solchen Generator ist das zuvor beschriebene mehrschichtige GNN 1600. Die Art und Weise, wie die Eingabe an den Generator angelegt wird, kann ebenfalls in verschiedenen Ausführungsformen variieren, wie es für den Fachmann mit Bezug auf diese Offenbarung ersichtlich ist. Ein Beispiel für die Anwendung einer W+Hybrid-Matrix auf ein GNN wie beispielsweise das GNN 1600 ist in 20 dargestellt. Anstatt denselben resultierenden Vektor auf alle Schichten anzuwenden, wie in dem Beispiel von 16, wendet das Ausführungsbeispiel 2000 in 20 unterschiedliche Sätze von resultierenden Vektoren auf jede Schicht des GNN an, wie gezeigt. Beispielsweise werden die ersten beiden Zeilen der hybriden Matrix auf die Schicht 1 angewendet, werden die zweiten beiden Zeilen auf die Schicht 2 angewendet, und so weiter. Abhängig von den Zielen, für welche die Ausführungsform entwickelt wird, kann es wünschenswert sein, Konsistenz zwischen der Reihenfolge von Zeilen in der hybriden Matrix und der Reihenfolge der Schichten (und Unterschichten), auf welche die Zeilen angewendet werden, beizubehalten. Beispielsweise können steigende Zeilennummern in der hybriden Matrix auf steigende Schichtnummern innerhalb des GNN angewendet werden oder umgekehrt.
  • Anhand eines weiteren Beispiels zeigt 21 eine detailliertere Ansicht einer beliebigen Schicht 2100 innerhalb der Ausführungsform 2000. Bei Ausführungsformen mit einer GNN-Architektur wie beispielsweise der dargestellten kann jeder Vektor aus der hybriden Matrix auf einen anderen einen der Affintransformationsblöcke 1712, 1714 innerhalb einer gegebenen GNN-Schicht 1700 angewendet werden, wie gezeigt.
  • Es sind auch andere Arten der Anwendung von Vektoren einer hybriden Matrix auf ein GNN möglich. Wie aus der beispielhaften Ausführungsform 2000 ersichtlich ist, braucht beispielsweise die Anzahl von Zeilen in einer hybriden Matrix 1902 nicht gleich der Anzahl der Schichten in dem GNN sein. Während in dem Fall der Ausführungsform 2000 mehrere Zeilen aus der hybriden Matrix auf jede Schicht des GNN angewendet werden, kann in anderen Ausführungsformen die Anzahl von Schichten in dem GNN die Anzahl von Zeilen in der hybriden Matrix übersteigen. In der letztgenannten Kategorie von Ausführungsformen und möglicherweise auch in anderen kann es wünschenswert sein, denselben Satz von Zeilen aus der hybriden Matrix auf mehr als eine Schicht des GNN anzuwenden.
  • 22 ist ein Ablaufdiagramm, das eine beispielhafte Klasse von Verfahren 2200 veranschaulicht, die in Verbindung mit den Ausführungsformen 1800 oder mit anderen Ausführungsformen verwendet werden können. In Schritten 2202, 2204 wird mindestens ein Satz von Quellenartefakten angezeigt, zusammen mit einem oder mehreren Selektoren, die wie vorstehend beschrieben bewegt werden können, um eine oder mehrere Auswahlregionen anzuzeigen.
  • Ausführungsformen gemäß dem Verfahren 2200 ermöglichen es einem Benutzer, unter Verwendung des einen oder der mehreren Selektoren Auswahlen anzugeben, die aus mehreren verschiedenen Arten von Quellenattributen gewählt wurden, die unter den Quellenartefakten repräsentiert sind. Zum Beispiel kann der Benutzer Inhaltsattribute aus den angezeigten Quellenartefakten auswählen, und kann separat Stilattribute aus den angezeigten Quellenartefakten auswählen. Schritte 2206, 2208, 2210 entsprechen einer solchen Auswahl von Quellenattributen, während Schritte 2207, 2209, 2211 einer anderen Auswahl von Quellenattributen entsprechen. Die Schritte 2206, 2208, 2210 können gleichzeitig mit den Schritten 2207, 2209, 2211 durchgeführt werden, oder sie können sequenziell relativ zu den Schritten 2207, 2209, 2211 durchgeführt werden. In weiteren Ausführungsformen können zusätzliche ähnliche Schritte durchgeführt werden, um dem Benutzer die Möglichkeit zu geben, zusätzliche Attributarten aus den Quellenartefakten auszuwählen.
  • In den Schritten 2206, 2207 werden ein oder mehrere ausgewählte Sätze von Quellenartefakten bestimmt, die jeweils der einen oder den mehreren von den Selektoren angegebenen Auswahlregionen entsprechen. In den Schritten 2208, 2209 wird für jeden der ausgewählten Sätze ein entsprechender Satz von Quellenvektoren bestimmt. Die Schritte 2206-2209 können zum Beispiel in der vorstehend in Bezug auf die 10-15 beschriebenen Weise durchgeführt werden. In den Schritten 2210, 2211 wird für jeden ermittelten Satz von Quellenvektoren ein Satz von resultierenden Vektoren bestimmt. Die Schritte 2210, 2211 können z.B. in der vorstehend in Bezug auf 18 beschriebenen Weise durchgeführt werden.
  • In Schritt 2212 wird ein hybrider Satz von Vektoren auf der Grundlage der in den Schritten 2210 und 2211 bestimmten resultierenden Vektoren erzeugt. In Schritt 2214 kann auf der Grundlage des hybriden Satzes von Vektoren ein Ausgabeartefakt erzeugt werden. Die Schritte 2212, 2214 können zum Beispiel in der vorstehend in Bezug auf 19-21 beschriebenen Weise durchgeführt werden.
  • Falls gewünscht, können auch zusätzliche Schritte ähnlich denen, die vorstehend in Bezug auf Schritt 1114 des Verfahrens 1100 beschrieben wurden, durchgeführt werden.
  • Auswählen zur Arbeit mit verschiedenen Artefaktarten
  • In beliebigen Ausführungsformen kann ein Benutzerschnittstellenelement, wie beispielsweise ein Menü, angezeigt werden, das es dem Benutzer ermöglicht, aus einer Vielzahl verschiedener Artefaktarten auszuwählen, die bei der Erzeugung neuer Artefakte auf der Grundlage bestehender Artefakte in Übereinstimmung mit den vorstehend beschriebenen Techniken zu verwenden sind. In solchen Ausführungsformen kann die Angabe einer Artefaktart durch den Benutzer dazu führen, dass Quellenartefakte der angegebenen Art angezeigt werden, derart, dass der Benutzer unter den angezeigten Quellenartefakten auswählen kann, um ein neues Artefakt zu erzeugen, wie vorstehend beschrieben. Ausführungsformen können mehrere verschiedene Arten von Artefaktgeneratoren speichern oder Zugriff darauf haben. In solchen Ausführungsformen kann die Angabe einer Artefaktart durch den Benutzer dazu führen, dass die Ausführungsform einen Ausgabeartefaktgenerator verwendet, der der angegebenen Artefaktart entspricht. Falls ein Benutzer beispielsweise Videosegmente als die angegebenen Artefaktart auswählen würde, kann eine Ausführungsform Darstellungen von Videosegmenten unter den Quellenartefakten anzeigen und kann ein GNN, das darauf trainiert ist, Videosegmente zu erzeugen, als den Ausgabeartefaktgenerator verwenden.
  • Erzeugen von Quellenartefakten
  • In beliebigen Ausführungsformen kann derselbe Ausgabeartefaktgenerator, der ultimativ zum Erzeugen von Ausgabeartefakten verwendet wird, zuvor zum Erzeugen der Quellenartefakte verwendet werden. Beispielsweise können in Ausführungsformen, die ein GNN zum Erzeugen der Ausgabeartefakte verwenden, einige oder alle der Ausgabeartefakte zuvor durch Anwenden zufälliger Eingaben auf dasselbe oder ein ähnliches GNN erzeugt werden.
  • Beispielhafte Rechenvorrichtungen
  • 23 ist ein Blockdiagramm, das verschiedene Rechenvorrichtungen veranschaulicht, die zum Durchführen beliebiger der vorstehend beschriebenen Verfahren oder zum Implementieren der vorstehend beschriebenen Strukturen verwendet werden können. Die dargestellten Rechenvorrichtungen sind beispielhaft bereitgestellt und nicht als Beschränkung. Für den Fachmann mit Bezug auf diese Offenbarung versteht sich, dass auch alternative oder zusätzliche Arten von Rechenvorrichtungen in Verbindung mit beliebigen der hierin beschriebenen Ausführungsformen verwendet werden können.
  • Ein Computersystem 2300 beinhaltet einen oder mehrere CPU-Kerne 2302, der/die über einen Hochgeschwindigkeits-Speichercontroller 2306 und einen zugehörigen Hochgeschwindigkeits-Speicherbus 2307 mit einem Systemspeicher 2304 gekoppelt ist/sind. Der Systemspeicher 2304 umfasst in der Regel eine große Anzahl von Speicherplätzen mit wahlfreiem Zugriff, die häufig in mehreren dynamischen Speichervorrichtungen mit wahlfreiem Zugriff („DRAM“) untergebracht sind, welche wiederum in einem oder mehreren Dual-Inline-Speichermodul-Gehäusen („DIMM“) untergebracht sein können. Jeder CPU-Kern 2302 ist einer oder mehreren Ebenen eines Hochgeschwindigkeits-Cache-Speichers 2308 zugeordnet, wie gezeigt. Jeder Kern 2302 kann computerlesbare Anweisungen 2310 ausführen, die in dem Systemspeicher gespeichert sind, und kann dadurch Operationen an Daten 2312 durchführen, die ebenfalls in dem Systemspeicher gespeichert sind.
  • Der Speicher-Controller ist über den Eingabe/Ausgabe-Bus 2313 mit einem oder mehreren Eingabe/Ausgabe-Controllern wie beispielsweise dem Eingabe/Ausgabe-Controller 2314 gekoppelt. Der Eingabe-/Ausgabe-Controller ist wiederum mit einem oder mehreren materiellen, nichtflüchtigen, computerlesbaren Medien wie beispielsweise einem computerlesbaren Medium 2316 und einem computerlesbaren Medium 2318 gekoppelt. Nicht beschränkende Beispiele für solche computerlesbaren Medien sind so genannte Solid-State-Disks („SSDs“), Spinning-Media-Magnetplatten, optische Platten, Flash-Laufwerke, Magnetbänder und dergleichen. Die Speichermedien können permanent mit dem Computersystem verbunden sein, oder können entfernbar und tragbar sein. In dem gezeigten Beispiel sind auf dem Medium 2316 Anweisungen 2317 (Software) und auf dem Medium 2318 Daten 2319 gespeichert. Betriebssystemsoftware, die auf dem Computersystem ausgeführt wird, kann verwendet werden, um eine Vielzahl von Funktionen zu ermöglichen, einschließlich der Übertragung von Anweisungen 2310, 2317 und Daten 2312, 2319 zwischen den Speichermedien und dem Systemspeicher hin und her.
  • Der Speichercontroller ist darüber hinaus über einen zweiten Hochgeschwindigkeits-Speicherbus 2324 mit einem Grafiksubsystem 2326 gekoppelt. Das Grafiksubsystem kann wiederum mit einer oder mehreren Anzeigevorrichtungen 2328 gekoppelt sein. Während sich die Anzeigevorrichtungen 2328 in physischer Nähe zu den übrigen Komponenten des Computersystems befinden können, können sie auch entfernt angeordnet sein. Software, die auf dem Computersystem läuft, kann Anweisungen oder Daten erzeugen, die das Grafiksubsystem veranlassen, ein beliebiges der vorstehend beschriebenen Beispiele für Benutzerschnittstellenelemente auf den Anzeigevorrichtungen 2328 anzuzeigen. Solche Software kann auch Anweisungen oder Daten erzeugen, die die Anzeige solcher Elemente auf einer oder mehreren entfernten Anzeigevorrichtungen (z.B. Anzeigevorrichtungen, die an ein entferntes Computersystem angeschlossen sind) bewirken, indem die Anweisungen oder Daten über das Netzwerk 2322 unter Verwendung eines geeigneten Netzwerkprotokolls gesendet werden. Das Grafiksubsystem kann eine oder mehrere Grafikverarbeitungseinheiten („GPUs“) umfassen, um die Ausführung von Befehlen zu beschleunigen oder eines der vorstehend beschriebenen Verfahren zu implementieren.
  • Das Computersystem 2300 kann einen einzelnen, eigenständigen Computerarbeitsplatz repräsentieren, der mit Eingabe-/Ausgabegeräten wie beispielsweise einer Tastatur, einem Zeigegerät und einer Anzeige gekoppelt ist. Es kann auch einen der Knoten in einem größeren Mehrknoten- oder Mehrcomputersystem wie beispielsweise einem Cluster repräsentieren, in welchem Fall Zugriff auf seine Rechenkapazitäten durch Software bereitgestellt werden kann, die mit dem Cluster interagiert und/oder diesen steuert. Knoten in einem solchen Cluster können sich in einem einzigen Rechenzentrum befinden oder können über mehrere Standorte oder Rechenzentren in verschiedenen geografischen Regionen verteilt sein. Darüber hinaus kann das Computersystem 2300 einen Zugangspunkt repräsentieren, von dem aus auf einen solchen Cluster oder ein solches Mehrcomputersystem zugegriffen werden kann und/oder dieses gesteuert werden kann. Beliebige derselben oder ihre Komponenten oder Varianten können hierin als „Rechengerät“, eine „Rechenvorrichtung“ oder ein „Computersystem“ bezeichnet sein.
  • In beispielhaften Ausführungsformen können die Daten 2319 Repräsentationen von Quellen- oder Ausgabeartefakten entsprechen, und können die Anweisungen 2317 Algorithmen oder ausführbaren Anweisungen zum Durchführen der hierin beschriebenen Verfahren entsprechen. In solchen Ausführungsformen bewirken die Anweisungen, wenn sie von einer oder mehreren Rechenvorrichtungen wie beispielsweise einem oder mehreren der CPU-Kerne ausgeführt werden, dass die Rechenvorrichtung hierin beschriebene Operationen an den Daten durchführt und Ergebnisse erzeugt, die auch in einem oder mehreren materiellen, nicht flüchtigen, computerlesbaren Medien wie beispielsweise dem Medium 2318 gespeichert werden können. Das Wort „Medium“, wie hierin verwendet, sollte so ausgelegt werden, dass es ein oder mehrere solcher Medien umfasst.
  • Beliebige der vorstehend beschriebenen Benutzerschnittstellen und beliebige der funktionellen oder strukturellen Blöcke, die vorstehend in Bezug auf Blockdiagramme oder Ablaufdiagramme beschrieben wurden, können als ein oder mehrere Module implementiert werden. In einigen Ausführungsformen kann ein einziges solches Modul mehr als einen der beschriebenen funktionellen Blöcke implementieren. In anderen Ausführungsformen können mehrere Module zusammen einen einzigen funktionellen Block implementieren. Beliebige oder alle dieser Module können unter Verwendung geeigneter Software oder unter Verwendung spezieller Hardware, die für die Ausführung der angegebenen Funktionen ausgelegt ist, oder durch eine Kombination dieser Möglichkeiten implementiert werden.
  • Schlussfolgerung
  • Mehrere spezifische Ausführungsformen wurden vorstehend und in den beigefügten Ansprüchen beschrieben. Solche Ausführungsformen wurden beispielhaft und zur Veranschaulichung bereitgestellt. Personen mit Fachkenntnissen und Bezugnahme auf diese Offenbarung werden verschiedene nützliche Kombinationen, Modifikationen und Verallgemeinerungen der Merkmale und Eigenschaften der so beschriebenen Ausführungsformen erkennen. Beispielsweise können Schritte in hierin beschriebenen Verfahren im Allgemeinen in beliebiger Reihenfolge durchgeführt werden, und können einige Schritte weggelassen werden, während andere Schritte hinzugefügt werden können, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. In ähnlicher Weise können Komponenten in hierin beschriebenen Strukturen in verschiedenen Positionen, an verschiedenen Orten oder Gruppierungen angeordnet sein, und einige Komponenten können weggelassen werden, während andere Komponenten hinzugefügt werden können, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Der Umfang der Offenbarung soll alle derartigen Kombinationen, Modifikationen und Verallgemeinerungen sowie deren Äquivalente umfassen.

Claims (32)

  1. Verfahren, umfassend: Anzeigen einer Vielzahl von Quellenartefakten; Anzeigen eines oder mehrerer Selektoren, die dazu betreibbar sind, einen ersten Auswahlregion anzeigen, der mindestens einen Teil eines oder mehrerer der Quellenartefakte enthält; Bestimmen eines ersten ausgewählten Satzes von Quellenartefakten, die dem ersten Auswahlregion entsprechen; Zugreifen auf einen oder mehrere erste Quellenvektoren, die den Quellenartefakten in dem ersten ausgewählten Satz zugeordnet sind; Bestimmen eines ersten resultierenden Vektors auf der Grundlage der ersten Quellenvektoren; und Erzeugen eines Ausgabeartefakts auf der Grundlage des ersten resultierenden Vektors.
  2. Verfahren nach Anspruch 1, wobei: das Bestimmen des ersten resultierenden Vektors ein Bestimmen einer gewichteten Kombination der ersten Quellenvektoren umfasst.
  3. Verfahren nach Anspruch 2, wobei: das Bestimmen der gewichteten Kombination auf Schnittbereichen zwischen der ersten Auswahlregion und den Quellenartefakten in dem ersten ausgewählten Satz basiert.
  4. Verfahren nach Anspruch 2 oder 3, wobei: das Bestimmen der gewichteten Kombination auf einer Interpolationskoordinate basiert, die mindestens einer Koordinate der ersten Auswahlregion entspricht.
  5. Verfahren nach einem der vorangehenden Ansprüche, ferner umfassend: Anzeigen des Ausgabeartefakts.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei: das Erzeugen des Ausgabeartefakts ein Anwenden des ersten resultierenden Vektors als eine Eingabe für ein generatives neuronales Netzwerk („GNN“) umfasst.
  7. Verfahren nach Anspruch 6, wobei: das Anwenden des ersten resultierenden Vektors als eine Eingabe für das GNN das Anwenden des ersten resultierenden Vektors auf mehr als eine Schicht eines mehrschichtigen GNN umfasst.
  8. Verfahren nach einem der vorangehenden Ansprüche, wobei der eine oder die mehreren Selektoren dazu betreibbar sind, einen zweiten Auswahlregion anzuzeigen, der mindestens einen Teil eines oder mehrerer der Quellenartefakte enthält, und ferner umfassend: Bestimmen eines zweiten ausgewählten Satzes von Quellenartefakten, die dem zweiten Auswahlregion entsprechen; Zugreifen auf einen oder mehrere zweite Quellenvektoren, die mit den Quellenartefakten in dem zweiten ausgewählten Satz verbunden sind; Bestimmen eines zweiten resultierenden Vektors auf der Grundlage der zweiten Quellenvektoren; und wobei das Erzeugen des Ausgabeartefakts sowohl auf dem ersten als auch auf dem zweiten resultierenden Vektor basiert.
  9. Verfahren nach Anspruch 8, ferner umfassend: Anzeigen mindestens einiger der Quellenartefakte in einer ersten Quellenregion und mindestens einiger der Quellenartefakte in einer zweiten Quellenregion, die sich von der ersten Quellenregion unterscheidet.
  10. Verfahren nach Anspruch 9, wobei: der eine oder die mehreren Selektoren einen ersten und einen zweiten unterschiedlichen Selektor umfassen, die jeweils der ersten und der zweiten Quellenregion entsprechen.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei: das Erzeugen des Ausgabeartefakts ein Anwenden sowohl des ersten als auch des zweiten resultierenden Vektors als Eingaben für ein generatives neuronales Netzwerk („GNN“) umfasst.
  12. Verfahren nach einem der Ansprüche 8 bis 11: wobei der erste resultierende Vektor einer von zwei oder mehr ersten resultierenden Vektoren ist; wobei der zweite resultierende Vektor einer von zwei oder mehr zweiten resultierenden Vektoren ist; ferner umfassend ein Bestimmen eines hybriden Satzes von resultierenden Vektoren, der mindestens einen der ersten resultierenden Vektoren und mindestens einen der zweiten resultierenden Vektoren enthält; und wobei das Erzeugen des Ausgabeartefakts auf dem hybriden Satz von resultierenden Vektoren basiert.
  13. Verfahren nach Anspruch 12, wobei: das Erzeugen des Ausgabeartefakts ein Anwenden des hybriden Satzes von resultierenden Vektoren als eine Eingabe für ein generatives neuronales Netzwerk („GNN“) umfasst.
  14. Verfahren nach Anspruch 13, wobei: das Anwenden des hybriden Satzes von resultierenden Vektoren als eine Eingabe für das GNN ein Anwenden von ersten und zweiten unterschiedlichen Teilmengen der resultierenden Vektoren in dem hybriden Satz auf jeweilige erste und zweite Schichten eines mehrschichtigen GNN umfasst.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei: die zwei oder mehr ersten resultierenden Vektoren jeweiligen Zeilen in einer ersten Matrix entsprechen; die zwei oder mehr zweiten resultierenden Vektoren jeweiligen Zeilen in einer zweiten Matrix entsprechen; und ein Bestimmen des hybriden Satzes von resultierenden Vektoren ein Verketten zusammenhängender Zeilen der ersten Matrix mit zusammenhängenden Zeilen der zweiten Matrix umfasst.
  16. Verfahren nach einem der vorangehenden Ansprüche, wobei: das Erzeugen des Ausgabeartefakts ein Aktualisieren des Ausgabeartefakts im Wesentlichen kontinuierlich im Ansprechen auf Änderungen in der ersten Auswahlregion umfasst.
  17. System, umfassend: ein Benutzerschnittstellenmodul, das dazu betreibbar ist, eine Vielzahl von Quellenartefakten anzuzeigen und einen ersten ausgewählten Satz der Quellenartefakte zu bestimmen, wobei der erste ausgewählte Satz denjenigen der Quellenartefakte entspricht, die zumindest teilweise in einer ersten Auswahlregion enthalten sind; ein Quellenvektor-Bestimmungsmodul, das dazu betreibbar ist, erste Quellenvektoren zu bestimmen, die den Quellenartefakten in dem ersten ausgewählten Satz entsprechen; ein Resultierendvektor-Bestimmungsmodul, das dazu betreibbar ist, einen ersten resultierenden Vektor auf der Grundlage der ersten Quellenvektoren zu bestimmen; und ein Ausgabeartefakt-Erzeugungsmodul, das dazu betreibbar ist, einen Ausgabeartefakt auf der Grundlage des ersten resultierenden Vektors zu erzeugen.
  18. System nach Anspruch 17, wobei: das Benutzerschnittstellenmodul ferner dazu betreibbar ist, Gewichte oder Koordinaten anzuzeigen, die dem ersten ausgewählten Satz entsprechen; und das Resultierendvektor-Bestimmungsmodul ferner dazu betreibbar ist, den ersten resultierenden Vektor als eine gewichtete Kombination der ersten Quellenvektoren auf der Grundlage der Gewichte oder Koordinaten zu bestimmen.
  19. System nach Anspruch 18, wobei: die gewichtete Kombination auf Schnittbereichen zwischen der ersten Auswahlregion und den Quellenartefakten in dem ersten ausgewählten Satz basiert.
  20. System nach Anspruch 18 oder 19, wobei: die gewichtete Kombination auf einer Interpolationskoordinate basiert, die mindestens einer Koordinate der ersten Auswahlregion entspricht.
  21. System nach einem der Ansprüche 17 bis 20, wobei: das Benutzerschnittstellenmodul ferner dazu betreibbar ist, den Ausgabeartefakt anzuzeigen.
  22. System nach einem der Ansprüche 17 bis 21: Ferner umfassend ein generatives neuronales Netzwerk („GNN“); und wobei das Ausgabeartefakt-Erzeugungsmodul den Ausgabeartefakt durch Anwenden des ersten resultierenden Vektors als eine Eingabe für das GNN erzeugt.
  23. System nach Anspruch 22: wobei das GNN mehrere Schichten umfasst; und das Ausgabeartefakt-Erzeugungsmodul den ersten resultierenden Vektor auf mehr als eine Schicht des GNN anwendet.
  24. System nach einem der Ansprüche 17 bis 23, wobei: das Benutzerschnittstellenmodul ferner dazu betreibbar ist, einen zweiten ausgewählten Satz der Quellenartefakte zu bestimmen, wobei der zweite ausgewählte Satz denjenigen der Quellenartefakte entspricht, die zumindest teilweise in einer zweiten Auswahlregion enthalten sind; das Quellenvektor-Bestimmungsmodul ferner dazu betreibbar ist, zweite Quellenvektoren zu bestimmen, die den Quellenartefakten in dem zweiten ausgewählten Satz entsprechen; das Resultierendvektor-Bestimmungsmodul ferner dazu betreibbar ist, einen zweiten resultierenden Vektor auf der Grundlage der zweiten Quellenvektoren zu bestimmen; und das Ausgabeartefakt-Erzeugungsmodul dazu betreibbar ist, den Ausgabeartefakt auf der Grundlage sowohl des ersten als auch des zweiten resultierenden Vektors zu erzeugen.
  25. System nach Anspruch 24: ferner umfassend ein generatives neuronales Netzwerk („GNN“); und wobei das Ausgabeartefakt-Erzeugungsmodul den Ausgabeartefakt durch Anwenden sowohl des ersten als auch des zweiten resultierenden Vektors als Eingaben für das GNN erzeugt.
  26. System nach Anspruch 24 oder 25: wobei das Resultierendvektor-Bestimmungsmodul ferner dazu betreibbar ist, zwei oder mehr erste resultierende Vektoren und zwei oder mehr zweite resultierende Vektoren zu bestimmen; ferner ein Kombinierermodul umfasst, das dazu betreibbar ist, einen hybriden Satz von resultierenden Vektoren zu bestimmen, die mindestens einen der ersten resultierenden Vektoren und mindestens einen der zweiten resultierenden Vektoren enthält; und wobei das Ausgabeartefakt-Erzeugungsmodul dazu betreibbar ist, den Ausgabeartefakt auf der Grundlage des hybriden Satzes von resultierenden Vektoren zu erzeugen.
  27. System nach Anspruch 26: ferner umfassend ein generatives neuronales Netzwerk („GNN“); und wobei das Ausgabeartefakt-Erzeugungsmodul den Ausgabeartefakt durch Anwenden des hybriden Satzes von resultierenden Vektoren als eine Eingabe für das GNN erzeugt.
  28. System nach Anspruch 27, wobei: das GNN mindestens eine erste und eine zweite Schicht umfasst; und wobei das Ausgabeartefakt-Erzeugungsmodul den hybriden Satz von resultierenden Vektoren auf das GNN derart anwendet, dass erste und zweite unterschiedliche Teilmengen der resultierenden Vektoren auf jeweils die erste und die zweite Schicht angewendet werden.
  29. System nach einem der Ansprüche 26 bis 28, wobei: die zwei oder mehr ersten resultierenden Vektoren jeweiligen Zeilen in einer ersten Matrix entsprechen; die zwei oder mehr zweiten resultierenden Vektoren jeweiligen Zeilen in einer zweiten Matrix entsprechen; und das Kombinierermodul den hybriden Satz von resultierenden Vektoren durch Verketten zusammenhängender Zeilen der ersten Matrix mit zusammenhängenden Zeilen der zweiten Matrix bestimmt.
  30. System nach einem der Ansprüche 18 bis 29, wobei: das System dazu betreibbar ist, den Ausgabeartefakt im Ansprechen auf Änderungen in dem ersten ausgewählten Satz oder auf Änderungen in den entsprechenden Gewichten oder Koordinaten im Wesentlichen kontinuierlich zu aktualisieren.
  31. Materielles, nichtflüchtiges, computerlesbares Medium mit darin gespeicherten Anweisungen, die dann, wenn sie von einem oder mehreren Prozessoren in einer oder mehreren Rechenvorrichtungen ausgeführt werden, die Rechenvorrichtungen veranlassen, Schritte auszuführen, die umfassen Anzeigen einer Vielzahl von Quellenartefakten; Anzeigen eines oder mehrerer Selektoren, die eine erste Auswahlregion anzeigen, die mindestens einen Teil eines oder mehrerer der Quellenartefakte enthält; Bestimmen eines ersten ausgewählten Satzes von Quellenartefakten, die der ersten Auswahlregion entsprechen; Zugreifen auf einen oder mehrere erste Quellenvektoren, die den Quellenartefakten in dem ersten ausgewählten Satz zugeordnet sind; Bestimmen eines ersten resultierenden Vektors auf der Grundlage der ersten Quellenvektoren; und Erzeugen eines Ausgabeartefakts auf der Grundlage des ersten resultierenden Vektors.
  32. Medium nach Anspruch 31, wobei die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren in einer oder mehreren Rechenvorrichtungen ausgeführt werden, die Rechenvorrichtungen veranlassen, Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 16 durchzuführen.
DE102022112888.1A 2021-06-10 2022-05-23 Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte Pending DE102022112888A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/344,053 US20220398004A1 (en) 2021-06-10 2021-06-10 User Interfaces and Methods for Generating a New Artifact Based on Existing Artifacts
US17/344,053 2021-06-10

Publications (1)

Publication Number Publication Date
DE102022112888A1 true DE102022112888A1 (de) 2022-12-15

Family

ID=81943858

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022112888.1A Pending DE102022112888A1 (de) 2021-06-10 2022-05-23 Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte

Country Status (4)

Country Link
US (1) US20220398004A1 (de)
CN (1) CN115469784A (de)
DE (1) DE102022112888A1 (de)
GB (1) GB2609279A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526598B (en) * 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US11435885B1 (en) 2021-06-10 2022-09-06 Nvidia Corporation User interfaces and methods for generating a new artifact based on existing artifacts

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140122952A (ko) * 2013-04-11 2014-10-21 삼성전자주식회사 이미지 합성 방법 및 이를 구현하는 전자 장치
CN116546221A (zh) * 2016-02-05 2023-08-04 渊慧科技有限公司 使用神经网络压缩图像
US20200242771A1 (en) * 2019-01-25 2020-07-30 Nvidia Corporation Semantic image synthesis for generating substantially photorealistic images using neural networks
US10825221B1 (en) * 2019-04-23 2020-11-03 Adobe Inc. Music driven human dancing video synthesis
US11010421B2 (en) * 2019-05-09 2021-05-18 Microsoft Technology Licensing, Llc Techniques for modifying a query image
US11508169B2 (en) * 2020-01-08 2022-11-22 Palo Alto Research Center Incorporated System and method for synthetic image generation with localized editing
US20220108417A1 (en) * 2020-10-01 2022-04-07 Nvidia Corporation Image generation using one or more neural networks
US11482041B2 (en) * 2020-10-21 2022-10-25 Adobe Inc. Identity obfuscation in images utilizing synthesized faces
US11727614B2 (en) * 2021-02-23 2023-08-15 Adobe Inc. Web-based digital image editing in real time utilizing a latent vector stream renderer and an image modification neural network
US11893717B2 (en) * 2021-02-26 2024-02-06 Adobe Inc. Initializing a learned latent vector for neural-network projections of diverse images

Also Published As

Publication number Publication date
GB2609279A (en) 2023-02-01
GB202206274D0 (en) 2022-06-15
US20220398004A1 (en) 2022-12-15
CN115469784A (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
DE60031664T2 (de) Computerverfahren und vorrichtung zum schaffen von sichtbarer graphik unter verwendung von graph algebra
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE60033250T2 (de) System und Verfahren zur Darstellung mit Strahlverfolgung
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
DE102019008168A1 (de) Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes
DE69817634T2 (de) Vorrichtung und Verfahren zur Anzeige von Fenstern
DE102017009910A1 (de) Bearbeiten von Digitalbildern unter Nutzung eines neuronalen Netzwerkes mit einer netzwerkinternen Erstellungsschicht
DE102022112888A1 (de) Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE102018130924A1 (de) Systeme und Verfahren zur dynamischen Gesichtsanalyse mittels eines rekurrenten neuronalen Netzes
DE112007001789B9 (de) Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie
DE102018001136A1 (de) Interaktive Farbpalettenschnittstelle zum digitalen Malen
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE102017007967A1 (de) Verarbeiten und rendern eines dreidimensionalen Modells
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
EP0829822B1 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
DE112004000377T5 (de) Bildsegmentierung in einer dreidimensionalen Umgebung
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102009007334A1 (de) Front-End für universelles Rendering Framework
DE60024514T2 (de) Aufzeichnungsmedium, Verfahren und Einrichtung zur Bildverarbeitung mit integrierten Daten zur Formmodellierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed