DE102022129710A1 - Contentfehlerbehebung in Grafikdesigndokumenten - Google Patents

Contentfehlerbehebung in Grafikdesigndokumenten Download PDF

Info

Publication number
DE102022129710A1
DE102022129710A1 DE102022129710.1A DE102022129710A DE102022129710A1 DE 102022129710 A1 DE102022129710 A1 DE 102022129710A1 DE 102022129710 A DE102022129710 A DE 102022129710A DE 102022129710 A1 DE102022129710 A1 DE 102022129710A1
Authority
DE
Germany
Prior art keywords
content
location
graphic design
semantic
design system
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
DE102022129710.1A
Other languages
English (en)
Inventor
Gregory Cy Muscolino
Christian Cantrell
Archie Samuel Bagnall
Christopher James Gammon
Patrick James Hebron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102022129710A1 publication Critical patent/DE102022129710A1/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • 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
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Detail Structures Of Washing Machines And Dryers (AREA)

Abstract

Offenbart werden Ausführungsformen zur Durchführung einer Contentfehlerbehebung (content linting) in einem Grafikdesignsystem. Ein Verfahren zur Contentfehlerbehebung beinhaltet ein Empfangen einer Auswahl eines Contenttyps, der generiert werden soll, ein Empfangen einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps, ein Bestimmen eines Platzierungskontexts, der dem Ort auf der Digitalzeichenfläche zugeordnet ist, ein Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts und ein unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgendes Generieren von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche unter Nutzung der einen oder der mehreren Contentregeln.

Description

  • Hintergrund
  • In den letzten Jahren waren erhebliche Verbesserungen bei Computersystemen zum Implementieren von künstlicher Intelligenz und maschinell lernenden Modellen zu beobachten. Computersysteme können beispielsweise maschinell lernende Modelle (so beispielsweise Modelle mit neuronalen Netzwerken) implementieren, um Objekte, die in Digitalbildern abgebildet sind, zu identifizieren, Digitalanimationen und anderen Content zu generieren und dergleichen mehr. Entstanden sind derartige Fortschritte als Ergebnis zahlreicher Faktoren im Zusammenhang mit dem Erschließen und Generieren von Trainingsdaten, dem Konzipieren von Merkmalen (feature engineering), dem Konzipieren von Modellen (beispielsweise der Modifikation einer maschinell lernenden Architektur und von Parametern), dem Trainieren von Modellen und der verbesserten Arbeitsweise von Modellen.
  • Im Ergebnis integrieren Anwendungen maschinelles Lernen zunehmend für eine Vielzahl von Zwecken. Grafikbearbeitungssysteme, so beispielsweise Grafikdesignanwendungen, beinhalten beispielsweise Werkzeuge, mit denen Nutzer visuelle Zusammenstellungen (die auch als „Grafiken“ oder „Grafikdesigns“ bezeichnet werden) erstellen und bearbeiten. Maschinelles Lernen ermöglicht ein automatisiertes Contentgenerieren, das beispielsweise als Werkzeug zu derartigen Grafikdesignanwendungen hinzugefügt wird. Derartige Anwendungen waren jedoch nicht von Anfang an für maschinelles Lernen konzipiert. Obwohl maschinelles Lernen in Anwendungen integriert werden kann, um deren Funktionalität zu erweitern, bleibt die Grafikdesignanwendung im Grunde eine herkömmliche Anwendung, die die Fähigkeiten des maschinellen Lernens, die eine vollständig integrierte auf maschinellem Lernen basierende Grafikdesignanwendung aufweist, nicht vollumfänglich einsetzt.
  • Zusammenfassung
  • Vorgestellt werden hier Techniken/Technologien, die das Verwalten eines Grafikdesigndokumentes unter Nutzung von semantischen Schichten ermöglichen. Bei einigen Ausführungsformen ermöglicht ein Grafikdesignsystem, dass Content unter Nutzung von semantischen Zeichenwerkzeugen generiert wird. Derartige Werkzeuge ermöglichen, dass Nutzer einen Contenttyp auswählen und den Content sodann zu der Zeichnung hinzufügen, indem sie beispielsweise eine Contenttextur auf der Digitalzeichenfläche malen, ein Contentmodell aus einer Contentbibliothek mittels Drag and Drop übernehmen, und dergleichen mehr. Wird derartiger Content hinzugefügt, so wird ein maschinell lernendes Modell, das dem Content zugeordnet ist, benutzt, um den hinzuzufügenden Content zu generieren. Da die Zeichenwerkzeuge semantikbewusst sind, ist semantische Information über den Content, der zu der Zeichnung hinzugefügt wird, bekannt. Entsprechend erstellt das Grafikdesignsystem für den neuen Content eine semantische Schicht, die semantische Information über den Content beinhaltet.
  • Bei einigen Ausführungsformen wird die semantische Information benutzt, um einen semantischen Kontext für die Zeichnung zu generieren. Der semantische Kontext wird benutzt, um räumliche, stilistische oder andere Fehler oder Unzulänglichkeiten in dem Dokument zu identifizieren. Content kann beispielsweise automatisch auf Grundlage dessen, wo der Content in der Zeichnung hinzugefügt wird, sowie auf Grundlage von Content, der benachbart zu jenem Ort ist, skaliert werden. Zusätzlich kann die z-Reihenfolge von Schichten auf Grundlage des semantischen Kontexts analysiert und auf Grundlage des Contents der Schichten modifiziert werden.
  • Bei einigen Ausführungsformen kann die semantische Information auch benutzt werden, um die Zeichnung semantisch zu organisieren. Ein Szenegraph stellt beispielsweise die Schichten und/oder den Content der Zeichnung sowie dasjenige, wie diese Schichten in Zusammenhang stehen, dar. Unter Nutzung des semantischen Szenegraphen können Schichten einfacher zur Bearbeitung oder anderweitigen Manipulation durch den Nutzer ausgewählt werden. Zusätzlich stellt der semantische Szenegraph eine organisierte Zusammenfassung der Zeichnung bereit, die für andere Nutzer, die gegebenenfalls zusätzliche Arbeit in die Zeichnung investieren wollen, von Nutzen ist.
  • Zusätzliche Merkmale und Vorteile von exemplarischen Ausführungsformen der vorliegenden Offenbarung sind in der nachfolgenden Beschreibung niedergelegt, erschließen sich in Teilen aus der Beschreibung oder ergeben sich durch die praktische Umsetzung von exemplarischen Ausführungsformen.
  • Figurenliste
  • Die Detailbeschreibung erfolgt anhand der begleitenden Zeichnung, die sich wie folgt zusammensetzt.
    • 1 zeigt ein Diagramm eines Prozesses einer auf maschinellem Lernen basierenden Contenterstellung entsprechend einer oder mehreren Ausführungsformen.
    • 2 zeigt ein Beispiel für eine Nutzerschnittstelle eines semantischen Zeichenwerkzeuges entsprechend einer oder mehreren Ausführungsformen.
    • 3 bis 5 zeigen ein Beispiel für das Verwalten einer z-Reihenfolge von Schichten auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen.
    • 6 zeigt ein Diagramm eines Schichtverwalters entsprechend einer oder mehreren Ausführungsformen.
    • 7 zeigt ein Beispiel für eine Nutzerschnittstelle zur Bereitstellung von Contentvorschlägen entsprechend einer oder mehreren Ausführungsformen.
    • 8 zeigt ein Beispiel für ein Contentvorschlagssystem entsprechend einer oder mehreren Ausführungsformen.
    • 9 zeigt ein schematisches Diagramm eines Grafikdesignsystems entsprechend einer oder mehreren Ausführungsformen.
    • 10 zeigt ein Flussdiagramm einer Abfolge von Handlungen bei einem Verfahren der auf maschinellem Lernen basierenden Contentgenerierung entsprechend einer oder mehreren Ausführungsformen.
    • 11 zeigt ein Diagramm eines Prozesses des Contentfehlerbehebens (content linting) auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen.
    • 12 zeigt ein Beispiel für das Größenanpassen (sizing) mit Fehlern entsprechend einer oder mehreren Ausführungsformen.
    • 13 zeigt ein Beispiel für das automatische Größenanpassen neuen Contents entsprechend einer oder mehreren Ausführungsformen.
    • 14 zeigt ein alternatives Beispiel für das automatische Größenanpassen neuen Contents entsprechend einer oder mehreren Ausführungsformen.
    • 15 zeigt ein Beispiel für das Contentfehlerbeheben in einer Grafikdesignanwendung entsprechend einer oder mehreren Ausführungsformen.
    • 16 zeigt ein schematisches Diagramm eines Grafikdesignsystems entsprechend einer oder mehreren Ausführungsformen.
    • 17 zeigt ein Flussdiagramm einer Abfolge von Handlungen bei einem Verfahren des Contentfehlerbehebens auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen.
    • 18 zeigt ein Diagramm eines Prozesses des hierarchischen Organisierens semantischer Schichten entsprechend einer oder mehreren Ausführungsformen.
    • 19 zeigt ein Beispiel für einen semantischen Szenegraphen entsprechend einer oder mehreren Ausführungsformen.
    • 20 zeigt ein schematisches Diagramm eines Grafikdesignsystems entsprechend einer oder mehreren Ausführungsformen.
    • 21 zeigt ein Flussdiagramm einer Abfolge von Handlungen bei einem Verfahren zum hierarchischen Organisieren semantischer Schichten entsprechend einer oder mehreren Ausführungsformen.
    • 22 zeigt ein schematisches Diagramm einer exemplarischen Umgebung, in der ein Bildverarbeitungssystem arbeiten kann, entsprechend einer oder mehreren Ausführungsformen.
    • 23 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung entsprechend einer oder mehreren Ausführungsformen.
  • Detailbeschreibung
  • Eine oder mehrere Ausführungsformen der vorliegenden Offenbarung beinhalten ein auf maschinellem Lernen basierendes Grafikdesignsystem, das ein Grafikdesignprojekt eines Nutzers so, wie es gezeichnet wird, semantisch organisiert. Viele Grafikbearbeitungssysteme ermöglichen beispielsweise, dass Nutzer separate Schichten von Content erstellen und bearbeiten, um entsprechende visuelle Eigenschaften oder Positionen von Komponenten ihrer Grafiken zu modifizieren. Beinhalten können Grafikbearbeitungssysteme veranschaulichungshalber Grafikdesignanwendungen mit Optionen für Nutzer zum Hinzufügen von Elementen, Organisieren von Elementen und/oder Modifizieren von Eigenschaften (beispielsweise Farbe, Helligkeit und dergleichen) einiger oder aller Elemente einer Grafik mittels Schichten. Die Verwaltung und Organisation von Schichten wird jedoch üblicherweise dem Nutzer überlassen, was bedeutet, dass diese oftmals zu wenig genutzt werden, was die Komplexität der Navigation durch ein Dokument sogar erhöhen kann.
  • Ausführungsformen stellen semantische Schichten bereit, die Schichten beinhalten, die in Bezug auf sich selbst contentbewusst sind. Im Gegensatz zu herkömmlichen Grafikdesignwerkzeugen, bei denen der Nutzer Content manuell zeichnet, ermöglichen semantische Grafikdesignwerkzeuge, dass Content spezifischer Typen (beispielsweise unter Nutzung maschinellen Lernens, von Contentbibliotheken und dergleichen) auf Grundlage von Nutzereingaben generiert wird. Der Nutzer kann beispielsweise eine Fläche einer Digitalzeichenfläche mit einem „Gras“ zeichnenden Werkzeug bemalen, und die Fläche wird mit generiertem Gras gefüllt. Derartige semantische Werkzeuge enthalten inhärent zusätzliche Information über den gerade erstellten Content im Gegensatz zu herkömmlichen Designwerkzeugen, die gegebenenfalls lediglich gewisse Eigenschaften (beispielsweise Pixeleigenschaften bei einem Rasterdesignwerkzeug, Vektoreigenschaften bei einem Vektordesignwerkzeug und dergleichen mehr) kennen.
  • Unter Nutzung dieser Information generiert das Grafikdesignsystem automatisch semantische Schichten auf Grundlage der Interaktion eines Nutzers mit der Zeichnung. Dies ermöglicht, dass das Grafikdesignsystem die Zeichnung für den Nutzer organisiert, ohne dass eine zusätzliche Eingabe erforderlich wäre. Beinhalten kann dies ein Gruppieren oder Konsolidieren von Schichten ähnlichen Contents, ein Anordnen der Schichten in einer geeigneten z-Reihenfolge auf Grundlage des Contents der Schichten, ein automatisches Größenanpassen von Content bei dessen Hinzufügung auf Grundlage von dessen Ort innerhalb der Zeichnung und auf Grundlage beliebigen benachbarten Contents oder beliebiger benachbarter Schichten und dergleichen mehr. Zusätzlich kann das Grafikdesignsystem aus diesem semantischen Kontext Contentfehlerbehebungsregeln anwenden. Ähnlich wie bei der herkömmlichen Fehlerbehebung, bei der Code auf programmiertechnische oder stilistische Fehler analysiert wird, bestimmt die Contentfehlerbehebung räumliche, semantische oder andere Unzulänglichkeiten zwischen Schichten und/oder Content der Zeichnung auf Grundlage des semantischen Kontexts der Zeichnung.
  • Zusätzlich kann die semantische Information benutzt werden, um die Zeichnung hierarchisch zu organisieren. Ein Szenegraph stellt beispielsweise die Schichten der Zeichnung und dasjenige, wie diese Schichten in Zusammenhang stehen, dar. Unter Nutzung der semantischen Information können diese Beziehungen semantische Beziehungen beinhalten, die erfassen, wie der Content aus verschiedenen Schichten in Zusammenhang steht. Unter Nutzung des semantischen Szenegraphen können Schichten ohne Weiteres zur Bearbeitung oder anderweitigen Manipulation durch den Nutzer ausgewählt werden. Zusätzlich stellt der semantische Szenegraph eine organisierte Zusammenfassung der Zeichnung bereit, die für andere Nutzer, die gegebenenfalls weitere Arbeit in die Zeichnung investieren wollen, stärker von Nutzen ist. Von Nutzen ist dies insbesondere bei gemeinsam bearbeiteten (kollaborativen) Dokumenten, an denen Remote-Teams arbeiten und wo zusätzlicher Kontext hilfreich ist.
  • 1 zeigt ein Diagramm eines Prozesses des auf maschinellem Lernen basierenden Contenterstellens entsprechend einer oder mehreren Ausführungsformen. Wie in 1 gezeigt ist, kann ein Grafikdesignsystem 100 eine oder mehrere Eingabeauswahlen 102 von einem Nutzer, einem System, einer Anwendung oder einer anderen Entität empfangen, siehe Bezugszeichen 1. Das Grafikdesignsystem 100 beinhaltet ein semantisches Zeichen- und Malwerkzeug, das ermöglicht, dass Nutzer den Content, den sie zu erstellen wünschen, auswählen und diesen sodann zu der Zeichenfläche hinzufügen. Möchte der Nutzer beispielsweise Gras zu einer Zeichnung hinzufügen, so kann der Nutzer ein „Gras-Werkzeug“ auswählen und sodann eine Fläche der Zeichenfläche mit dem Gras-Werkzeug „bemalen“. Ein oder mehrere maschinell lernende Modelle generieren sodann den Gras-Content in der bemalten Fläche.
  • Bei verschiedenen Ausführungsformen beinhalten die maschinell lernenden Modelle ein oder mehrere neuronale Netzwerke, die darauf trainiert sind, einen oder mehrere Typen von Content zu generieren. Ein maschinell lernendes Modell kann beispielsweise ein generativ-adversatives Netzwerk (Generative Adversarial Network GAN) beinhalten, das darauf trainiert worden ist, neuen oder variierten Content auf Grundlage einer Eingabe zu generieren. Verschiedene Typen von neuronalen Netzwerken können in Abhängigkeit von der Anwendung, dem gerade generierten Content und dergleichen mehr benutzt werden. Ein neuronales Netzwerk kann ein maschinell lernendes Modell beinhalten, das auf Grundlage einer Trainingseingabe auf das Nähern unbekannter Funktionen abgestimmt (beispielsweise trainiert) wird. Insbesondere kann ein neuronales Netzwerk ein Modell aus wechselseitig verbundenen digitalen Neuronen beinhalten, die kommunizieren und lernen, komplexe Funktionen zu nähern und Ausgaben auf Grundlage von mehreren Eingaben, die für das Modell bereitgestellt werden, zu generieren. Das neuronale Netzwerk beinhaltet beispielsweise einen oder mehrere maschinell lernende Algorithmen. Mit anderen Worten, ein neuronales Netzwerk ist ein Algorithmus, der Techniken des Deep Learning, das heißt des maschinellen Lernens, implementiert, einen Satz von Algorithmen einsetzt und versucht, auf hoher Ebene gegebene Abstraktionen an Daten zu modellieren.
  • Wie in 1 gezeigt ist, können die Eingabeauswahlen 102 von einem Nutzerschnittstellenverwalter 104 empfangen werden. Der Nutzerschnittstellenverwalter 104 stellt eine Nutzerschnittstelle bereit, durch die der Nutzer eine Zeichnung unter Nutzung des Grafikdesignsystems 100 bearbeitet oder erstellt. Bei einigen Ausführungsformen stellt der Nutzerschnittstellenverwalter 104 eine Zeichenfläche (beispielsweise ein Feld der Nutzerschnittstelle, in dem die Zeichnung erstellt wird) zusammen mit einem Zugang zu verschiedenen Zeichenwerkzeugen bereit. Die Nutzerschnittstelle kann beispielsweise Texturen beinhalten, die verschiedenem Content entsprechen und die der Nutzer auswählen kann, damit sie zu der Zeichnung hinzugefügt werden. Bei Bezugszeichen 2 werden die Eingabeauswahlen für einen Zeichenflächenverwalter 106 bereitgestellt. Der Zeichenflächenverwalter 106 kann beispielsweise denjenigen Bereich der Zeichenfläche mit Auswahl durch den Nutzer über den Nutzerschnittstellenverwalter detektieren, indem er Positionsdaten, die dem Cursor des Nutzers zugeordnet sind, die Position eines Fingers oder Stiftes auf einem berührungsempfindlichen Bildschirm (Touchscreen) oder einer anderen Eingabevorrichtung empfängt. Zusätzlich kann der Zeichenflächenverwalter 106 die ausgewählte Textur empfangen.
  • Bei Bezugszeichen 3 sendet der Zeichenflächenverwalter eine Contentanforderung an das Contentgenerierungsmodell 114. Bei einigen Ausführungsformen beinhaltet die Anforderung den ausgewählten Bereich und den Contenttyp zur Bereitstellung für ein Contentgenerierungsmodell 114. Bei einigen Ausführungsformen ist der Contenttyp einem spezifischen Contentgenerierungsmodell zugeordnet. In einigen Fällen hält der Zeichenflächenverwalter eine Abbildung von Contenttexturen auf Contentgenerierungsmodelle vor und leitet die Anforderung an das geeignete Modell weiter, wenn der Nutzer einen Bereich mit der ausgewählten Textur bemalt. Bei einigen Ausführungsformen werden die Bereichsbegrenzungen, die mit generiertem Content ausgefüllt werden sollen, für das Contentgenerierungsmodell bereitgestellt. Zusätzlich oder alternativ beinhaltet/beinhalten die Eingabeauswahl / die Eingabeauswahlen 102 bei einigen Ausführungsformen eine Auswahl eines Objektes aus einem Contentmodell. Eine Contentbibliothek 108 kann beispielsweise eine Vielzahl von Objekten bereitstellen, die zu einer Zeichnung hinzugefügt werden können (beispielsweise Bäume, Menschen, Fahrzeuge und dergleichen). Bei einigen Ausführungsformen handelt es sich hierbei um statische Objekte, die aus einer Bibliothek bezogen werden. Alternativ kann das Aussehen der Objekte durch ein maschinell lernendes Modell (so beispielsweise ein Contentgenerierungsmodell) generiert werden, wenn eine Instanz des ausgewählten Objektes zu der Zeichenfläche hinzugefügt wird. In einigen Fällen sendet, siehe Bezugszeichen 4, der Zeichenflächenverwalter 106 an die Contentbibliothek 108 eine Anforderung bezüglich des ausgewählten Contents.
  • Bei Bezugszeichen 5 empfängt der Zeichenflächenverwalter den angeforderten Content (beispielsweise den generierten Content aus dem Contentgenerierungsmodell 114, Content aus der Contentbibliothek 108 und dergleichen) und fügt den Content zu der Zeichenfläche hinzu. Wird dieser neue Content empfangen, so sendet der Zeichenflächenverwalter eine Anforderung an den Schichtverwalter 110, siehe Bezugszeichen 6, um eine neue Schicht für den Content zu generieren. Der Schichtverwalter 110 empfängt Information, die der Schicht zugeordnet ist, detektiert den neuen Content und empfängt semantische Information, die dem neuen Content zugeordnet ist, von dem Zeichenflächenverwalter 106. Die Schicht kann derart definiert sein, dass sie denselben Bereich wie der neue Content bedeckt. Ist alternativ derselbe oder ein ähnlicher Content an einer anderen Stelle auf der Zeichenfläche vorhanden, so kann der neue Content zu einer bestehenden Schicht hinzugefügt werden, zu einer neuen Schicht, die mit der bestehenden Schicht gruppiert ist, hinzugefügt werden oder auf andere Weise mit ähnlichem Content, wie nachstehend noch weiter erläutert wird, verknüpft werden.
  • Beinhalten kann die semantische Information, die von dem Zeichenflächenverwalter 106 empfangen wird, bei verschiedenen Ausführungsformen den Contenttyp, den Ort, an dem der Content hinzugefügt worden ist, die Art, auf die der Nutzer den Content hinzugefügt hat (beispielsweise durch Malen, Drag and Drop und dergleichen), naheliegende Schichten und/oder Contenttypen und dergleichen mehr. Bei Bezugszeichen 7 codiert der Schichtverwalter die semantische Information in die neue Schicht und fügt einen Eintrag, der der neuen Schicht zugeordnet ist, zu den Schichtdaten 112 hinzu, siehe Bezugszeichen 8. Die Schichtdaten 112 können einen Datenspeicher oder eine Datenstruktur beinhalten, der/die semantische Information, die jeder Schicht zugeordnet ist, vorhält. Bei einigen Ausführungsformen werden die Schichtdaten 112, wie nachstehend noch beschrieben wird, benutzt, um das Dokument auf Grundlage der semantischen Beziehungen zwischen Schichten zu organisieren. Ist die Zeichenfläche mit dem neuen Content aktualisiert, siehe Bezugszeichen 9, so wird die aktualisierte Zeichenfläche 120 dem Nutzer über den Nutzerschnittstellenverwalter 104 präsentiert. Die Zeichenfläche wird beispielsweise in Echtzeit oder nahezu in Echtzeit mit dem zusätzlichen Content, wenn dieser generiert wird, aktualisiert.
  • Bei einigen Ausführungsformen können bestehende Dokumente von dem Grafikdesignsystem 100 importiert werden. Diese Dokumente können Schichten beinhalten, die keine semantische Information beinhalten. In solchen Fällen kann Content, der zu dem Dokument neu hinzugefügt worden ist, semantischen Schichten, wie vorstehend erläutert worden ist, zugeordnet werden. Obwohl hierdurch zusätzliche Information bereitgestellt wird, die für das Organisieren des neuen Contents von Nutzen ist, bleiben die Beziehungen zu dem alten Content und Schichten im Unklaren. Entsprechend wird das bestehende Dokument bei einigen Ausführungsformen durch einen semantischen Klassifikator verarbeitet. Der semantische Klassifikator empfängt das Eingabedokument (oder Schichten hiervon) und gibt ein wahrscheinliches Etikett für den Content einer jeden Schicht des Eingabedokumentes aus. Ist das Dokument ein Rasterbild, das keine Schichten beinhaltet, so gibt der Klassifikator eine Klasse, die jedem Pixel zugeordnet ist, aus. Pixel, die eine Klasse teilen bzw. gemeinsam nutzen, können zu einer neuen semantischen Schicht und der semantischen Klasse, die jener Schicht zugeordnet ist, hinzugefügt werden.
  • 2 zeigt ein Beispiel für eine Nutzerschnittstelle eines semantischen Zeichenwerkzeuges entsprechend einer oder mehreren Ausführungsformen. Wie in 2 gezeigt ist, beinhaltet eine Nutzerschnittstelle 200 eine Zeichenfläche 202 und Contentfelder 204 und 206 sowie ein Schichtenfeld 208. Die exemplarische Nutzerschnittstelle von 2 soll keine exklusive Implementierung einer derartigen Schnittstelle darstellen und ist nur im Sinne einer Vereinfachung der Beschreibung gezeigt. Alternative Nutzerschnittstellenelemente, eine alternative räumliche Organisation und dergleichen können beispielsweise in Abhängigkeit von der Hardwareplattform, auf der die Nutzerschnittstelle 200 läuft (beispielsweise Tablet, Smartphone, Laptop, Desktop und dergleichen) implementiert sein. Zusätzlich können alternative Nutzerschnittstellenelemente zur Anzeige von Contentoptionen, Schichten und dergleichen benutzt werden.
  • Bei dem Beispiel von 2 zeigt die Zeichenfläche 202 eine Schichtkarte. Es handelt sich hierbei um eine bearbeitbare Zeichenfläche, auf der der Nutzer Content hinzufügen kann, der sodann generiert und in einem separaten Feld der Nutzerschnittstelle (nicht gezeigt) angezeigt wird. Der Nutzer kann eine Form aus dem Formfeld 204 auswählen und die ausgewählte Form mittels Drag and Drop auf die Zeichenfläche 202 bringen. Der Nutzer kann beispielsweise ein Flugzeug aus der Flugzeug-Form 212 aus dem Formenfeld 204 auszuwählen und dieses auf die Zeichenfläche ziehen. Das Flugzeug 210 ist ein derartiges Beispiel. Anderer Content, so beispielsweise der See, der Himmel, die Berge und dergleichen, können von dem Nutzer auf die Zeichenfläche gemalt werden. Der Nutzer kann beispielsweise eine entsprechende Textur aus dem Texturfeld 206 auswählen und ein Malwerkzeug (beispielsweise einen Pinsel, einen Stift und dergleichen) nutzen, um den Content auf die Digitalzeichenfläche zu malen. Der entsprechende Content wird sodann, wie vorstehend erläutert worden ist, generiert.
  • Wie vorstehend erläutert worden ist, wird, wenn der Nutzer Content zu der Zeichenfläche hinzufügt, automatisch zu der Zeichnung eine semantische Schicht hinzugefügt, die semantische Information über das Objekt, das hinzugefügt worden ist, beinhaltet. Bei diesem Beispiel wird eine Flugzeug-Schicht 214, wie in dem Schichtenfeld 208 gezeigt ist, hinzugefügt. Aufgrund der Platzierung des Flugzeuges (beispielsweise im Himmel der Zeichnung) ist die Flugzeug-Schicht 214 derart gezeigt, dass sie innerhalb der Himmel-Schicht 216 eingebettet ist. Automatisch durchgeführt werden kann dieses Organisieren auf Grundlage der Positionierung des Contents (beispielsweise des Flugzeug-Contents 210 auf dem Himmel-Content 218) und zudem auf Grundlage der semantischen Kenntnis des Contents sowohl der Flugzeug-Schicht, der Himmel-Schicht wie auch der Information darüber, wie Flugzeuge und der Himmel üblicherweise in Zusammenhang stehen. Auf gleiche Weise beinhalten die Schichten 208 eine Berge-Schicht 210, die einem Berg-Content 222 entspricht, und eine Bäume-Schicht 224, die einem Baum-Content 226 entspricht.
  • 3 bis 5 zeigen ein Beispiel für das Verwalten einer z-Reihenfolge von Schichten auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen. Wie in 3 gezeigt ist, beinhaltet eine Nutzerschnittstelle 200 die Zeichenfläche 202, die eine Schichtkarte, wie vorstehend anhand 2 beschrieben worden ist, darstellt, und eine Zeichenfläche 300, die den entsprechenden generierten Content darstellt. Bei dem Beispiel von 3 wählt der Nutzer eine Wolken-Textur 302 aus dem Texturfeld 206 aus und „malt“ sodann Wolke-Content auf die Schichtkarte 202. Der Cursor 304 des Nutzers wird beispielsweise zu einem Pinselkopf, mit dem der Nutzer sodann ein Anklicken und Ziehen (drag) (oder ein Antippen und Ziehen und dergleichen in Abhängigkeit von der Implementierung der Schnittstelle) vornimmt, um Wolke-Content zu der Zeichnung hinzuzufügen. Hierbei werden die Wolke-Schichten 306 und 308 hinzugefügt, die dem Wolke-Content 310 und 312, wie auf der Content-Zeichenfläche 300 gezeigt ist, entsprechen.
  • Wie in 4 gezeigt ist, ist der Wolke-Bereich 400, sobald der Wolke-Content gezeichnet ist, vor dem Berg-Bereich 402, wie in Fläche 404 gezeigt ist. Dies ergibt ein wahrscheinlich unrealistisches Ergebnis, da die Wolke-Bedeckung wahrscheinlich nicht auf/vor dem Berg sein soll. Semantisch bestimmt werden kann dies auf Grundlage des Wissens über den Content der Schichten (beispielsweise den Berg-Content und den Wolke-Content) und auf Grundlage von semantischen Regeln, die definieren, wie verschiedene Typen von Content in Zusammenhang stehen. Die semantischen Beziehungen für das Dokument können beispielsweise definieren, dass Wolken standardmäßig Hintergrund-Content sind und dass anderer Content vor dem Wolke-Content erscheinen soll. Dies beinhaltet den Berg-Content 402. Als solches ist die z-Reihenfolge der Schichten, wie sie in 4 gezeigt ist, nicht richtig.
  • Bei einigen Ausführungsformen ist der Schichtverwalter 110 für das Verwalten der z-Reihenfolge von Schichten zuständig, wenn Content zu der Zeichenfläche hinzugefügt wird. Wie in 5 gezeigt ist, ist die z-Reihenfolge der Schichten beispielsweise passend aktualisiert worden, um die Wolke-Schicht 500 hinter der Berg-Schicht zu platzieren, was eine realistischere Darstellung dieser Elemente, siehe 504, ergibt. Durchgeführt wird diese Aktualisierung der z-Reihenfolge bei einigen Ausführungsformen, wenn Content erstellt wird, auf Grundlage der semantischen Beziehungen zwischen Schichten und der Platzierung des Contents auf der Zeichenfläche. Zusätzlich oder alternativ kann eine Nutzereingabe benutzt werden, um die z-Reihenfolge zu definieren, wenn der Content erstellt wird (beispielsweise durch Spezifizieren einer z-Reihenfolge, Rückgängigmachen der automatischen Aktualisierung und dergleichen mehr).
  • 6 zeigt ein Diagramm eines Schichtverwalters entsprechend einer oder mehreren Ausführungsformen. Wie in 6 gezeigt ist, empfängt der Schichtverwalter 110 eine Eingabeauswahl / Eingabeauswahlen 102, siehe Bezugszeichen 1. Wie vorstehend erläutert worden ist, können die Eingabeauswahlen an den Schichtverwalter durch einen Nutzerschnittstellenverwalter und/oder einen Zeichenflächenverwalter weitergeleitet werden. Zusätzlich oder alternativ kann die Eingabe für den Schichtverwalter 110 von dem Zeichenflächenverwalter auf Grundlage der von dem Nutzer empfangenen Eingabeauswahlen generiert werden. Insbesondere beinhaltet der Schichtverwalter 110 einen Contentdetektor 600, einen Schichtcodierer 606 und einen z-Reihenfolgen-Verwalter 608.
  • Bei Bezugszeichen 2 identifiziert der Contentdetektor 600 einen Contenttyp 602 und Platzierungsdaten 604, die den Eingabeauswahlen 102 zugeordnet sind. Unter Nutzung des Beispiels von 3 bis 5 beinhaltet der Contenttyp eine „Wolke-Textur“, und die Platzierungsdaten beinhalten Daten, die den Bereich der Zeichenfläche darstellen, den der Nutzer mit der Wolke-Textur bemalt hat. Beinhalten kann dies Koordinaten in dem Zeichenflächenkoordinatensystem, die Begrenzungen des nutzerseitig ausgewählten Bereiches definieren. Bei einigen Ausführungsformen beinhalten die Platzierungsdaten 604 zudem eine Relativplatzierung des neuen Contents im Vergleich zu bestehendem Content in dem Dokument (beispielsweise andere Schichten, die nahe an dem Ort des neuen Contents liegen, und dergleichen mehr).
  • Bei Bezugszeichen 3 wird Information über den neuen Content für den z-Reihenfolgen-Verwalter 608 bereitgestellt. Der z-Reihenfolgen-Verwalter 608 ist dafür zuständig, eine passende z-Reihenfolge für die Schichten des Dokumentes zu bestimmen, siehe Bezugszeichen 4. Bei einigen Ausführungsformen nutzt der z-Reihenfolgen-Verwalter 608 eine oder mehrere semantische Regeln 610, die Beziehungen zwischen verschiedenen semantischen Klassen von Content, die von dem Grafikdesignsystem unterstützt werden, definieren. Dies beinhaltet Regeln, die von einem Anbieter des Grafikdesignsystems (beispielsweise einem Anwendungsentwickler, einem Plug-in-Entwickler und dergleichen), dem Endnutzer oder einer Organisation, die das Grafikdesignsystem nutzt oder hostet, oder einer anderen Entität bereitgestellt werden. Die semantischen Regeln 610 können beispielsweise gängige Anordnungen von Contenttypen relativ zueinander definieren. Beinhalten können die semantischen Regeln bei einigen Ausführungsformen ein z-Reihenfolgen-Netzwerk, so beispielsweise ein neuronales Netzwerk, das darauf trainiert ist, eine wahrscheinliche z-Reihenfolge einer oder mehrerer Schichten, die bekannten Contenttypen zugeordnet sind, vorherzusagen. Ein derartiges z-Reihenfolgen-Netzwerk kann an öffentlich zugänglichen Grafikdesigndokumentdatensätzen, an Dokumenten, die einen „hauseigenen Stil“ darstellen, oder an anderen Trainingsdatensätzen trainiert werden. Bei einigen Ausführungsformen bezieht der z-Reihenfolgen-Verwalter optional eine Nutzereingabe 612 mit ein, siehe Bezugszeichen 5. Der Nutzer kann beispielsweise eine spezifische z-Reihenfolge auswählen oder eine präsentierte z-Reihenfolge (beispielsweise durch einen Hotkey bzw. ein Tastaturkürzel, eine Reaktion auf eine Aufforderung am Bildschirm oder auf eine andere Nutzereingabe) übergehen. Auf Grundlage der semantischen Regeln und der optionalen Nutzereingabe empfängt der Schichtcodierer 606 bei Bezugszeichen 6 semantische Information, die dem neuen Content zugeordnet ist, von dem Contentdetektor und die z-Reihenfolge, die von dem z-Reihenfolgen-Verwalter 608 empfangen wird, und codiert eine neue semantische Schicht mit den Daten. Bei Bezugszeichen 7 wird die neue semantische Schicht zu den Schichtdaten 112 hinzugefügt. Bei einigen Ausführungsformen aktualisiert der Schichtcodierer beim Aktualisieren einer z-Reihenfolge für eine neue Schicht zusätzlich beliebige bestehende Schichten mit aktualisierter z-Reihenfolgen-Information.
  • 7 zeigt ein Beispiel für eine Nutzerschnittstelle zur Bereitstellung von Contentvorschlägen entsprechend einer oder mehreren Ausführungsformen. Wie in 7 gezeigt ist, kann eine Nutzerschnittstelle 700 eines Grafikdesignsystems eine Zeichenfläche 702 und ein Contentfeld 704 beinhalten. Ähnlich wie bei den vorbeschriebenen Nutzerschnittstellen kann das Contentfeld verschiedene Objekte und/oder Texturen beinhalten, die zur Erstellung der auf der Zeichenfläche 702 gezeigten Zeichnung benutzt werden können. Die Nutzerschnittstelle 700 kann zudem ein Vorhersagefeld 706 beinhalten, das Contentempfehlungen auf Grundlage der semantischen Information über den Content, der bis dahin zu der Zeichenfläche hinzugefügt worden ist, bereitstellt.
  • Bei dem Beispiel von 7 ist die Zeichnung eine Strandszene, in der Wasser, Berge, ein Pelikan und dergleichen abgebildet sind. Contentempfehlungen können unter Nutzung eines Contentempfehlungsmodells auf diese Szene zugeschnitten werden. Das Contentempfehlungsmodell kann ein neuronales Netzwerk sein, das an Szenedaten trainiert ist. Die Szenedaten können mit semantischen Klassen des Contents einer jeden Szene etikettiert sein, und das Contentempfehlungsmodell kann trainiert werden, um Klassen von Content, die bei einem gegebenen Satz von Eingabeklassen wahrscheinlich auftreten, vorherzusagen. Ein derartiges Modell kann, wenn es eingesetzt wird, sodann eine Herleitung bzw. Inferenz an dem Satz von Klassen, der einem Dokument zugeordnet ist, durchführen, während das Dokument von dem Nutzer erstellt wird. Immer dann, wenn neuer Content hinzugefügt wird, wird beispielsweise eine neue Herleitungsaufforderung an das Modell gesendet, und es werden eine oder mehrere vorhergesagte Contentklassen ausgegeben. Diese werden dem Nutzer sodann über das Vorhersagefeld 706 präsentiert. Bei diesem Beispiel beinhalten die vorhergesagten Klassen ein Haus, ein Surfbrett und Staubtexturen zusammen mit verschiedenen Buschobjekten.
  • 8 zeigt ein Beispiel für ein Contentvorschlagssystem entsprechend einer oder mehreren Ausführungsformen. Wie erläutert worden ist, werden Contentempfehlungen für den Nutzer bei einigen Ausführungsformen über die Grafikdesignsystemnutzerschnittstelle bereitgestellt. Bestehende Zeichenflächendaten 802 werden beispielsweise für eine Empfehlungs-Engine 806 des Contentempfehlungssystems 800 bereitgestellt. Bei einigen Ausführungsformen ist das Contentempfehlungssystem als Teil eines Grafikdesignsystems 100 implementiert. Zusätzlich oder alternativ ist das Contentempfehlungssystem 800 als separates System oder Dienst implementiert. Das Contentempfehlungssystem 800 kann beispielsweise als cloudbasierter Dienst als Teil eines Paketes (suite) von cloudbasierten Anwendungen implementiert sein. Das Grafikdesignsystem kann die bestehenden Zeichenflächendaten periodisch oder bei Detektion eines bestimmten Ereignisses bereitstellen (beispielsweise bei einer Änderung an den bestehenden Zeichenflächendaten infolge dessen, dass neue Contenttypen hinzugefügt werden).
  • Die bestehenden Zeichenflächendaten 802 können Contentklassen 804, die der aktuellen Zeichnung des Nutzers zugeordnet sind, beinhalten. Bei einigen Ausführungsformen werden die Contentklassen 804 als strukturierte Daten bereitgestellt. Bei einigen Ausführungsformen werden die Contentklassen zuerst von einem anderen neuronalen Netzwerk vorverarbeitet, um eine Darstellung des Satzes von Contentklassen, der sodann für das Contentempfehlungsmodell bereitgestellt wird, zu generieren. Das Contentempfehlungsmodell 808 führt sodann eine Herleitung bzw. Inferenz an dem Satz von Contentklassen 804 durch und sagt eine oder mehrere Contentklassen voraus, die wahrscheinlich in der Zeichnung, die den Satz von Contentklassen beinhaltet, beinhaltet sind. Die vorhergesagten Klassen werden sodann als Contentempfehlungen 810 bereitgestellt und dem Nutzer über die Nutzerschnittstelle, wie vorstehend erläutert worden ist, präsentiert. Bei einigen Ausführungsformen werden die vorhergesagten Klassen mit einer Wahrscheinlichkeit, die größer als ein Schwellenwert ist, präsentiert, während diejenigen mit einer Wahrscheinlichkeit unter dem Schwellenwert weggelassen werden.
  • 9 zeigt ein schematisches Diagramm eines Grafikdesignsystems (beispielsweise das vorbeschriebene „Grafikdesignsystem“) entsprechend einer oder mehreren Ausführungsformen. Wie gezeigt ist, kann das Grafikdesignsystem 900 unter anderem einen Nutzerschnittstellenverwalter 902, einen Zeichenflächenverwalter 904, einen Schichtverwalter 906, einen Neuronalnetzwerkverwalter 908, ein Contentempfehlungssystem 910 und einen Speicherverwalter 912 beinhalten. Der Neuronalnetzwerkverwalter 908 beinhaltet ein Contentgenerierungsmodell 914 und ein Contentempfehlungsmodell 916. Der Speicherverwalter 912 beinhaltet Schichtdaten 918 und Zeichnungsdaten 920.
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 den Nutzerschnittstellenverwalter 902. Der Nutzerschnittstellenverwalter 902 ermöglicht beispielsweise, dass Nutzer anfordern, dass Content generiert und zu einer Zeichenfläche, die von dem Grafikdesignsystem 900 bereitgestellt wird, hinzugefügt wird. Dies beinhaltet die Bereitstellung eines Werkzeugzugangs durch ein oder mehrere Nutzerschnittstellenfelder, Menüs oder andere Nutzerschnittstellenelemente. Zusätzlich kann der Nutzer Zeichnungen direkt auf der Zeichenfläche erstellen und bearbeiten, indem er Contenttexturen malt, Objekte mittels Drag and Drop verschiebt und/oder die Zeichenfläche unter Nutzung von bereitgestellten Zeichenwerkzeugen direkt bearbeitet. Bei einigen Ausführungsformen stellt der Nutzerschnittstellenverwalter 902 eine Nutzerschnittstelle bereit, durch die der Nutzer Contenttexturen und Objekte, Zeichenwerkzeuge und dergleichen, wie vorstehend erläutert worden ist, auswählen kann. Alternativ oder zusätzlich ermöglicht die Nutzerschnittstelle, dass der Nutzer bestehende Zeichnungen von einem lokalen oder entfernten (remote) Speicherort öffnet und bearbeitet (und zwar beispielsweise durch Bereitstellen einer Adresse (beispielsweise einer URL oder eines anderen Endpunktes), die einem Dokumentspeicher zugeordnet ist). Bei einigen Ausführungsformen stellt die Nutzerschnittstelle Contentempfehlungen auf Grundlage der semantischen Information, die dem bereits in der Zeichnung vorhandenen Content zugeordnet ist, bereit. Der Nutzer kann durch den empfohlenen Content browsen und wählen, ob ein beliebiger Teil des empfohlenen Contents zu der Zeichnung hinzugefügt werden soll.
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 zudem den Zeichenflächenverwalter 904. Wie erläutert worden ist, empfängt der Zeichenflächenverwalter eine Anforderung für neuen Content von dem Nutzer über den Nutzerschnittstellenverwalter 902 und koordiniert die Erstellung einer neuen semantischen Schicht, die dem Content entspricht, und die Generierung des Contents durch das Contentgenerierungsmodell 914. Wählt ein Nutzer beispielsweise einen Contenttyp aus, damit dieser zu der Zeichenfläche hinzugefügt wird, und bemalt eine Fläche der Zeichenfläche mit dem ausgewählten Content, so werden der Contenttyp und die bemalte Fläche von dem Zeichenflächenverwalter 904 für das Contentgenerierungsmodell 914 bereitgestellt. Wie erläutert worden ist, kann das Contentgenerierungsmodell 914 für den Contenttyp spezifisch sein. Sobald der Content generiert worden ist, aktualisiert der Contentverwalter die Zeichenfläche passend. Zusätzlich kann der Zeichenflächenverwalter an den Schichtverwalter 906 eine Aufforderung dahingehend senden, eine neue semantische Schicht für den neuen Content zu generieren. Die Aufforderung kann semantische Information über den Content, der in den Schichtdaten 918 beinhaltet sein soll, beinhalten. Die aktuelle Zeichnung kann in den Zeichnungsdaten 920 gespeichert werden.
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 zudem den Schichtverwalter 906. Wie erläutert worden ist, empfängt der Schichtverwalter 906 semantische Schichtinformation von dem Zeichenflächenverwalter 904. Der Schichtverwalter 906 erstellt eine neue semantische Schicht und codiert die semantische Information in jener Schicht. Beinhaltet sein kann der Content, der jener Schicht zugeordnet ist, der Ort der Schicht auf der Zeichenfläche und naheliegende Schichten, die z-Reihenfolge der Schichten und dergleichen mehr. Sobald eine neue semantische Schicht erstellt ist, werden deren zugeordnete Schichtdaten 918 zusammen mit den Schichtdaten anderer Schichten gespeichert und können zum Organisieren der Zeichnung, Bereitstellen von Contentempfehlungen und dergleichen mehr benutzt werden.
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 zudem den Neuronalnetzwerkverwalter 908. Der Neuronalnetzwerkverwalter 908 kann mehrere neuronale Netzwerke oder andere maschinell lernende Modelle, so beispielsweise das Contentgenerierungsmodell 914 und ein Contentempfehlungsmodell 916, hosten. Der Neuronalnetzwerkverwalter 908 kann eine Ausführungsumgebung, Bibliotheken und/oder beliebige andere Daten, die zum Ausführen der maschinell lernenden Modelle benötigt werden, beinhalten. Bei einigen Ausführungsformen kann der Neuronalnetzwerkverwalter 908 eigens vorgesehenen Software- und/oder Hardwareressourcen zur Ausführung der maschinell lernenden Modelle zugeordnet sein. Wie erläutert worden ist, können das Contentgenerierungsmodell 914 und das Contentempfehlungsmodell 916 als verschiedene Typen von neuronalen Netzwerken implementiert sein. Bei einigen Ausführungsformen beinhaltet der Neuronalnetzwerkverwalter 908 mehrere Contentgenerierungsmodelle, die jeweils einem anderen zu generierenden Content zugeordnet sind (es können beispielsweise verschiedene Contenttexturen verschiedenen Modellen zugeordnet sein).
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 zudem das Contentempfehlungssystem 910. Bei einigen Ausführungsformen ist das Contentempfehlungssystem 910 als Teil des Grafikdesignsystems 900 implementiert. Alternativ ist das Contentempfehlungssystem 910 als separates System implementiert, das mit dem Grafikdesignsystem kommuniziert. Zusätzlich hostet das Contentempfehlungssystem bei Ausführungsformen, bei denen das Contentempfehlungssystem separat implementiert ist, das Contentempfehlungsmodell selbst (beispielsweise in seinem eigenen Neuronalnetzwerkverwalter oder einer anderen das Modell hostenden Umgebung). Erstellt der Nutzer eine Zeichnung unter Nutzung des Grafikdesignsystems 900, so wird semantische Information, die wenigstens einigen der Schichten der Zeichnung zugeordnet ist, periodisch für das Contentempfehlungssystem bereitgestellt. Wie erläutert worden ist, wird das Contentempfehlungsmodell 916 an Trainingsdaten trainiert, damit es lernt, welche Typen von Content üblicherweise zusammen auftreten. Das Contentempfehlungsmodell gibt eine Vorhersage eines oder mehrerer Typen von Content aus, die wahrscheinlich mit dem Content in der Zeichnung auftreten, und gibt die empfohlenen Contenttypen an den Nutzer über den Nutzerschnittstellenverwalter aus.
  • Wie in 9 dargestellt ist, beinhaltet das Grafikdesignsystem 900 zudem den Speicherverwalter 912. Der Speicherverwalter 912 hält Daten für das Grafikdesignsystem 900 vor. Der Speicherverwalter 912 kann Daten eines beliebigen Typs, einer beliebigen Größe oder einer beliebigen Art nach Bedarf vorhalten, um die Funktionen des Grafikdesignsystems 900 wahrzunehmen. Der Speicherverwalter 912 beinhaltet, wie in 9 gezeigt ist, die Schichtdaten 918. Die Schichtdaten 918 können semantische Information, die den Schichten einer Zeichnung zugeordnet ist, beinhalten, wie vorstehend bereits detaillierter erläutert worden ist. Insbesondere beinhalten die Schichtdaten 918 bei einer oder mehreren Ausführungsformen semantische Information, die dem Typ von Content, der in jeder Schicht dargestellt ist, zugeordnet ist. Bei einigen Ausführungsformen beinhalten die Schichtdaten Information über die Relativpositionierung der Schicht auf der Zeichenfläche (beispielsweise über naheliegende Schichten) und die z-Reihenfolge der Schichten. Der Speicherverwalter 912 beinhaltet zudem die Zeichnungsdaten 920. Die Zeichnungsdaten 920 können durch das Grafikdesignsystem 900 erstellte oder bearbeitbare Zeichnungsdateien beinhalten.
  • Jede der Komponenten 902 bis 910 des Grafikdesignsystems 900 und deren entsprechende Elemente (wie in 9 gezeigt ist) können miteinander unter Nutzung beliebiger geeigneter Kommunikationstechnologien kommunizieren. Es sollte einsichtig sein, dass ungeachtet dessen, dass die Komponenten 902 bis 912 und deren entsprechende Elemente in 9 getrennt gezeigt sind, beliebige der Komponenten 902 bis 912 und deren entsprechende Elemente auch zu weniger Komponenten, so beispielsweise auch nur zu einer einzigen Fazilität oder einem einzigen Modul, kombiniert, in mehr Komponenten unterteilt oder zu anderen Komponenten konfiguriert werden können, so dies bei einer bestimmten Implementierung dienlich ist.
  • Die Komponenten 902 bis 912 und deren entsprechende Elemente können Software, Hardware oder beides umfassen. Die Komponenten 902 bis 912 und deren entsprechende Elemente können beispielsweise eine oder mehrere Anweisungen umfassen, die auf einem computerlesbaren Speichermedium gespeichert und durch Prozessoren einer oder mehrerer Rechenvorrichtungen ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Grafikdesignsystems 900 veranlassen, dass eine Clientvorrichtung und/oder eine Servervorrichtung die hier beschriebenen Verfahren durchführen. Alternativ können die Komponenten 902 bis 912 und deren entsprechende Elemente Hardware beinhalten, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zur Übernahme einer gewissen Funktion oder Gruppe von Funktionen. Zusätzlich können die Komponenten 902 bis 912 und deren entsprechende Elemente eine Kombination von computerausführbaren Anweisungen und Hardware umfassen.
  • Implementiert sein können die Komponenten 902 bis 912 des Grafikdesignsystems 900 beispielsweise zudem als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plug-ins, als eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell. Die Komponenten 902 bis 912 des Grafikdesignsystems 900 können daher als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Des Weiteren können die Komponenten 902 bis 912 des Grafikdesignsystems 900 als eine oder mehrere webbasierte Anwendungen, die auf einem Remoteserver gehostet werden, implementiert sein. Alternativ oder zusätzlich können die Komponenten des Grafikdesignsystems 900 in einem Paket von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Veranschaulichungshalber können die Komponenten des Grafikdesignsystems 900 als Teil einer Anwendung oder eines Paketes von Anwendungen implementiert sein, darunter unter anderem ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, ADOBE ACROBAT, ADOBE ILLUSTRATOR, ADOBE LIGHTROOM und ADOBE INDESIGN. „ADOBE“, „CREATIVE CLOUD“, „PHOTOSHOP“, „ACROBAT“, „ILLUSTRATOR“, „LIGHTROOM“ und „INDESIGN“ sind entweder eingetragene Marken oder Marken von Adobe Inc. in den Vereinigten Staaten und/oder anderen Ländern.
  • 1 bis 9, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Systemen und Vorrichtungen bereit, die das Erstellen und Verwalten von semantischen Schichten in einem Zeichnungsdokument ermöglichen. Zusätzlich zum Vorbeschriebenen können Ausführungsformen auch anhand von Flussdiagrammen beschrieben werden, die Handlungen und Schritte in einem Verfahren zum Erreichen eines bestimmten Ergebnisses umfassen. 10 zeigt beispielsweise ein Flussdiagramm eines exemplarischen Verfahrens entsprechend einer oder mehreren Ausführungsformen. Das anhand 10 beschriebene Verfahren kann mit weniger oder mehr Schritten/Handlungen durchgeführt werden, oder es können die Schritte/Handlungen in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Handlungen wiederholt werden oder parallel zueinander durchgeführt werden oder parallel zu verschiedenen Instanzen derselben oder ähnlicher Schritte/Handlungen durchgeführt werden.
  • 10 zeigt ein Flussdiagramm 1000 einer Abfolge von Handlungen bei einem Verfahren des auf maschinellem Lernen basierenden Contentgenerierens entsprechend einer oder mehreren Ausführungsformen. Bei einer oder mehreren Ausführungsformen wird das Verfahren 1000 in einer Digitalmedienumgebung durchgeführt, die das Grafikdesignsystem 900 beinhaltet. Das Verfahren 1000 soll für ein oder mehrere Verfahren entsprechend der vorliegenden Offenbarung illustrativ sein und mögliche Ausführungsformen nicht beschränken. Alternative Ausführungsformen können zusätzliche, weniger oder andere Schritte als die anhand 10 beschriebenen beinhalten.
  • Wie in 10 dargestellt ist, beinhaltet das Verfahren 1000 eine Handlung 1002 des Empfangens einer Auswahl eines Contenttyps, der generiert werden soll. Wie erläutert worden ist, kann eine Grafikdesignsystemnutzerschnittstelle eine Vielzahl von Contenttypen für den Nutzer bereitstellen. Die Auswahl kann über einen Nutzerschnittstellenverwalter des Grafikdesignsystems vorgenommen werden. Einige Contenttypen beinhalten Contenttexturen, die ermöglichen, dass der Nutzer eine Fläche einer Digitalzeichenfläche mit einem Contenttyp (beispielsweise Wolke, Himmel, Staub, Ozean und dergleichen) bemalt, woraufhin entsprechender Content von einem maschinell lernenden Modell generiert wird. Zusätzlich beinhalten kann der Content Objektmodelle, so beispielsweise Tiere, Bäume, Fahrzeuge, Menschen und dergleichen, die ausgewählt und mittels Drag and Drop zu der Digitalzeichenfläche verschoben (oder auf andere Weise hinzugefügt) werden können.
  • Wie in 10 dargestellt ist, beinhaltet das Verfahren 1000 eine Handlung 1004 des Empfangens einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps. Wie erläutert worden ist, kann die Auswahl durch den Nutzerschnittstellenverwalter des Grafikdesignsystems vorgenommen werden. Ein Bereich der Digitalzeichenfläche kann beispielsweise von dem Nutzer bemalt werden (beispielsweise durch Auswählen eines Zeichenwerkzeuges und des ausgewählten Contenttyps und durch sodann erfolgendes Zeichnen über einem Bereich zur Auswahl desselben). Alternativ kann ein Objekt mittels Drop an einen spezifischen Ort auf der Digitalzeichenfläche verschoben werden.
  • Wie in 10 dargestellt ist, beinhaltet das Verfahren 1000 eine Handlung 1006 des unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgenden Generierens von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche. Wie erläutert worden ist, kann ein Zeichenflächenverwalter an ein Contentgenerierungsmodell eine Aufforderung dahingehend senden, entsprechenden Content zu generieren. Die Aufforderung kann den Contenttyp und die Fläche, die gefüllt werden soll, beinhalten.
  • Wie in 10 dargestellt ist, beinhaltet das Verfahren 1000 eine Handlung 1008 des automatischen Hinzufügens des Contents zu einer Schicht, die der Digitalzeichenfläche zugeordnet ist, auf Grundlage eines semantischen Etiketts, das dem Content zugeordnet ist. Wie erläutert worden ist, kann der Zeichenflächenverwalter anfordern, dass Content generiert wird, und kann zudem anfordern, dass der Schichtverwalter eine neue semantische Schicht für den neuen Content erstellt. Die Anforderung kann semantische Information (beispielsweise den Contenttyp, den Ort und dergleichen), die dem neuen Content zugeordnet ist, beinhalten. Bei einigen Ausführungsformen beinhaltet das automatische Hinzufügen des Contents zu einer Schicht, die der Digitalzeichenfläche zugeordnet ist, ein Identifizieren einer bestehenden Schicht, die dem Contenttyp zugeordnet ist, und ein Hinzufügen des Contents zu der bestehenden Schicht.
  • Bei einigen Ausführungsformen beinhaltet das automatische Hinzufügen des Contents zu einer Schicht, die der Digitalzeichenfläche zugeordnet ist, ein Generieren einer neuen Schicht, die dem Content zugeordnet ist, wobei die Digitalzeichenfläche mehreren Schichten, die dem Contenttyp zugeordnet sind, zugeordnet ist. Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein in Reaktion auf das Generieren der neuen Schicht erfolgendes Bestimmen einer neuen z-Reihenfolge der mehreren Schichten und der neuen Schicht auf Grundlage des semantischen Etiketts, das dem Content zugeordnet ist, und auf Grundlage des einen oder der mehreren semantischen Etiketten, die den mehreren Schichten zugeordnet sind. Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Kombinieren der mehreren Schichten, die dem Contenttyp zugeordnet sind, in einer Gruppe von Schichten, wobei jede Schicht Content, der dem Contenttyp zugeordnet ist, beinhaltet. Bei einigen Ausführungsformen beinhaltet die Gruppe von Schichten eine Hierarchie von Schichten (beispielsweise eine semantische Hierarchie, wie nachstehend noch erläutert wird), die semantisch auf Grundlage eines oder mehrerer Contenttypen organisiert ist.
  • Bei einigen Ausführungsformen beinhaltet das Bestimmen der neuen z-Reihenfolge ein Bestimmen der neuen z-Reihenfolge auf Grundlage einer oder mehrerer semantischer Reihenfolgenfestsetzungsregeln unter Nutzung der semantischen Etiketten. Bei einigen Ausführungsformen kann der Nutzer eine z-Reihenfolgen-Platzierung spezifizieren. Beinhalten kann das Verfahren beispielsweise ein Empfangen einer Nutzereingabe, die eine z-Reihenfolgen-Platzierung für die neue Schicht angibt, und ein Bestimmen einer zweiten neuen z-Reihenfolge auf Grundlage der Nutzereingabe.
  • Die Fehlerbehebung (linting) ist ein statisches Codeanalysewerkzeug, das zum Identifizieren von Bugs, Fehlern und stilistischen Problemen in Code benutzt wird. Hierdurch wird es möglich, kleine Fehler, die ein Programmierer leicht übersehen kann, zu identifizieren und zu korrigieren, bevor diese zu größeren Problemen in späteren Phasen der Entwicklung oder des Einsatzes führen. Im Kontext einer Zeichnung können viele kleine Fehler (beispielsweise die Platzierung von Objekten relativ zu anderen Objekten, geometrische Beziehungen innerhalb eines Objektes, unrealistische physikalische Gegebenheiten und dergleichen mehr) die Art und Weise, wie die Zeichnung wahrgenommen wird, alle beeinflussen, wobei sich dem Nutzer notwendige Berichtigungen jedoch nicht immer ohne Weiteres erschließen.
  • Herkömmliche Grafikdesignanwendungen beinhalten, wenn überhaupt, sehr wenig Information über den Inhalt, der gerade erstellt wird. Derartige herkömmliche Systeme sind üblicherweise auf Pixelwerte (beispielsweise Farbe, Transparenz und dergleichen), Eigenschaften von Vektorgrafiken (beispielsweise Linienbreite, Füllung, Krümmungsparameter und dergleichen) beschränkt, ohne die Semantik irgendwie zu verstehen. Dies macht die Contentfehlerbehebung (content linting) (beispielsweise die Validierung) schwierig, wenn nicht gar unmöglich, da wenig Kontext zur Nutzung bei einer Bestimmung dessen, ob Fehler in der Zeichnung vorhanden sind, vorhanden ist.
  • Semantische Zeichenwerkzeuge beinhalten Information über den darin beinhalteten Content. Content kann beispielsweise zu semantischen Schichten hinzugefügt werden, die auch semantische Information über den Content (beispielsweise den Contenttyp, die Relativposition zu anderen Schichten oder anderem Content und dergleichen) beinhalten. Im Ergebnis kann man ein semantisches Verständnis der Zeichnung als Ganzes erhalten. Die Contentfehlerbehebung kann sodann an der Zeichnung auf Grundlage dieses semantischen Verständnisses durchgeführt werden, was ermöglicht, dass mehrere Validierungsregeln auf die Zeichnung angewendet werden, um Fehler, so beispielsweise im Zusammenhang mit der Platzierung, Größenanpassung, Orientierung und dergleichen, zu berichtigen.
  • 11 zeigt ein Diagramm eines Prozesses der Contentfehlerbehebung auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen. Das Grafikdesignsystem 1100 kann ähnlich wie das Grafikdesignsystem 100, das vorstehend beschrieben worden ist, implementiert sein. Wie in 11 dargestellt ist, empfängt ein Grafikdesignsystem 1100 eine Nutzereingabe 1102, die eine Contentauswahl 1104 und eine Platzierungsauswahl 1106 beinhalten kann. Der Nutzerschnittstellenverwalter 1108 stellt eine Nutzerschnittstelle bereit, durch die der Nutzer eine Zeichnung unter Nutzung des Grafikdesignsystems 1100 bearbeitet oder erstellt. Bei einigen Ausführungsformen stellt der Nutzerschnittstellenverwalter 1108 eine Zeichenfläche (beispielsweise ein Feld der Nutzerschnittstelle, in dem die Zeichnung erstellt wird) zusammen mit einem Zugang zu verschiedenen Zeichenwerkzeugen, wie vorstehend anhand 1 erläutert worden ist, bereit.
  • Bei Bezugszeichen 2 werden die Contentauswahl 1104 und die Platzierungsauswahl 1106, die über den Nutzerschnittstellenverwalter 1108 vorgenommen worden sind, von dem Platzierungskontextverwalter 1110 empfangen. Bei Bezugszeichen 3 generiert der Platzierungskontextverwalter 1110 einen Platzierungskontext, der dem neuen Content zugeordnet ist. Wie erläutert worden ist, kann die Platzierungsauswahl 1106 einen Ort auf einer Digitalzeichenfläche, an dem der Content hinzugefügt werden soll, beinhalten. Betroffen sind beispielsweise ein Bereich, in dem mit einer Contenttextur gemalt wird, ein Ort eines Cursors, an dem ein Objekt eingefügt werden soll, und dergleichen mehr. Der Platzierungskontext beinhaltet den Ort auf der Digitalzeichenfläche zusammen mit Information über diesen Ort, die man aus den Schichtdaten 1112 erhält. Bei einigen Ausführungsformen beinhalten die Schichtdaten semantische Information, die den Schichten zugeordnet ist, Information über die Relativpositionierung von Schichten auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten. Bei einigen Ausführungsformen kann ein bestimmter Ort auf der Zeichenfläche in den Schichtdaten nachgeschlagen werden, um naheliegende Schichten und ihren zugeordneten Content zu identifizieren. Es kann beispielsweise bestimmt werden, dass eine Koordinate auf der Digitalzeichenfläche über einer ersten Schicht ist, die auf einer zweiten Schicht liegt. Der Platzierungskontext kann sodann eine Datenstruktur beinhalten, die die Beziehung der Koordinate zu der ersten Schicht und der zweiten Schicht sowie die semantischen Klassen des Contents in diesen beiden Schichten erfasst.
  • Der Platzierungskontext wird sodann für den Contentanalysator 1114, siehe Bezugszeichen 4, bereitgestellt. Der Contentanalysator 1114 kann Contentregeln 1116 auf den neuen Content auf Grundlage des Platzierungskontextes, siehe Bezugszeichen 5, anwenden. Die Contentregeln 1116 können Größen(anpassungs)regeln bzw. Größenregeln (beispielsweise betreffend die Skala bzw. Skalierung), Ausrichtungsregeln (beispielsweise betreffend die Orientierung) und dergleichen mehr beinhalten. Die Größen(anpassungs)regeln bzw. Größenregeln definieren beispielsweise einen Bereich von Größen von Contenttypen, die zu den Contenttypen konsistent sind. Die Regeln können relativ definiert sein (beispielsweise hängt die Größe eines Contenttyps von der Größe eines Contenttyps, der zu der Zeichnung bereits hinzugefügt worden ist, ab). Auf ähnliche Weise definieren Ausrichtungsregeln, wie Content mit anderem Content ausgerichtet sein sollte. Wird beispielsweise ein Auto-Objekt zu einer Straßen-Textur hinzugefügt, so können die Ausrichtungsregeln dasjenige, wie nahe das Auto-Objekt an der Straßen-Textur sein sollte, sowie die Orientierung des Autos relativ zur Orientierung der Straßen-Textur bestimmen. Contentregeln können von dem Nutzer, dessen Organisation oder einer anderen Entität definiert werden. Standardcontentregeln können beispielsweise vom Entwickler des Grafikdesignsystems bereitgestellt werden.
  • Die allgemeine Abfolge der Schritte von Bezugszeichen 1 bis Bezugszeichen 5 kann in einer Schleife verarbeitet werden, wenn neue Platzierungsauswahlen empfangen werden (beispielsweise als Folge dessen, dass der Nutzer die Cursorposition auf der Digitalzeichenfläche bewegt). Entsprechend kann der Platzierungskontext in Echtzeit oder nahezu in Echtzeit aktualisiert werden, und es kann der aktualisierte Platzierungskontext sodann von dem Contentanalysator, wie vorstehend erläutert worden ist, analysiert werden. Es kann sich beispielsweise ergeben, dass die Größe eines Objektes variiert, wenn der Nutzer seinen Cursor über die Zeichenfläche bewegt, bis das Objekt an seinem endgültigen Ort platziert ist. Alternativ kann die Abfolge der Schritte von Bezugszeichen 1 bis Bezugszeichen 5 bei Auftreten von spezifischen Ereignissen diskret verarbeitet werden. Platziert der Nutzer beispielsweise Content auf der Zeichenfläche, so wird der Platzierungskontext an diesem Ort bestimmt, und der Content wird analysiert.
  • Bei einigen Ausführungsformen beinhalten die Ergebnisse des Contentanalysators 1114 Änderungen, die an dem Content derart vorgenommen werden sollen, dass sie mit den Contentregeln verträglich sind. Ein Objekt muss beispielsweise gegebenenfalls (beispielsweise um eine Anzahl von Pixeln) bewegt werden, um es in Ausrichtung mit benachbarten Schichten zu bringen. Alternativ muss gegebenenfalls die Größe des Objektes angepasst werden, oder es muss gegebenenfalls die z-Reihenfolge der Schichten geändert werden. Bei einigen Ausführungsformen können Nichtbeachtungen mehrerer Regeln identifiziert werden.
  • Bei Bezugszeichen 6 werden die Ergebnisse der Contentanalyse für den Zeichenflächenverwalter 1118 bereitgestellt. Auf Grundlage der Analyse modifiziert der Zeichenflächenverwalter 1118 den Content, der zu der Zeichenfläche hinzugefügt worden ist, oder generiert neuen Content, der mit den Contentregeln verträglich ist, siehe Bezugszeichen 7. Der Zeichenflächenverwalter bewegt Content beispielsweise um eine Anzahl von Pixeln, ändert die Größe des Contents, orientiert den Content neu und dergleichen mehr, und dies auf Grundlage der Contentanalyse. Bei einigen Ausführungsformen beinhaltet dies ein an ein Contentgenerierungsmodell erfolgendes Senden einer Aufforderung dahingehend, neuen Content zu generieren. Optional werden bei einigen Ausführungsformen die Contentänderungen 1120, siehe Bezugszeichen 8, dem Nutzer über den Nutzerschnittstellenverwalter 1108 zur Annahme oder Zurückweisung präsentiert, bevor sie vorgenommen werden. Alternativ werden die Änderungen automatisch vorgenommen, und es wird dem Nutzer die Möglichkeit gegeben, beliebige Änderungen, die nicht erwünscht sind, rückgängig zu machen. Sobald die Änderungen vorgenommen worden sind, wird dem Nutzer die aktualisierte Zeichenfläche 1122 über den Nutzerschnittstellenverwalter 1108 präsentiert.
  • 12 zeigt ein Beispiel für das Größenanpassen mit Fehlern entsprechend einer oder mehreren Ausführungsformen. Wie vorstehend erläutert worden ist, stellen Ausführungsformen ein Grafikdesignsystem bereit, das ermöglicht, dass ein Nutzer Content, der generiert werden soll, hinzufügt. Bereitstellen kann das Grafikdesignsystem beispielsweise mehrere Zeichenflächen, so beispielsweise die Zeichenfläche 1200, die eine Schichtkarte bereitstellt, und eine Zeichenfläche 1202, die den generierten Content der Zeichnung entsprechend der Schichtkarte zeigt. Dieser Content beinhaltet Contenttexturen, die ermöglichen, dass ein Nutzer einige Contenttypen (beispielsweise Wolken, Himmel, Gras, Wasser und dergleichen) auf die Zeichenfläche malt, woraufhin dieser Content unter Nutzung eines maschinell lernenden Modells generiert wird. Der Content beinhaltet zudem Objekte, die aus einer Contentbibliothek mittels Drag and Drop auf die Zeichenfläche verschoben werden. Derartige Objekte beinhalten unter anderem Menschen, Tiere, Fahrzeuge, Gebäude und dergleichen. Beinhalten können die Objekte 3D-Modelle, die beliebig auf der Zeichenfläche orientiert sein können und deren Aussehen durch ein maschinell lernendes Modell generiert oder aus der Contentbibliothek (beispielsweise als Satz von festen Aussehen) bezogen werden kann.
  • Wie in 12 gezeigt ist, ist ein Kuh-Objekt zu der Zeichenfläche 1200 hinzugefügt worden. Bei diesem Beispiel wird die Kuh in einer Standardgröße unabhängig von ihrer Position auf der Zeichenfläche hinzugefügt. Zusätzlich wird die neue Schicht, die der Kuh zugeordnet ist, in einer z-Reihenfolge, die zu den übrigen Elementen der Zeichnung nicht konsistent ist, platziert. Die Kuh ist beispielsweise größer als die Vordergrund-Bäume, jedoch wenigstens teilweise hinter diesen befindlich und ist dabei auch hinter den Hintergrund-Bäumen befindlich, die wiederum so aussehen, dass sie durch die Kuh hindurch scheinen, wie bei 1206 gezeigt ist. Gezeigt sind exemplarische Contentfehler, die auftreten können, wenn neuer Content zu einer Zeichenfläche hinzugefügt wird. Bei herkömmlichen Systemen bleibt es dem Nutzer überlassen, die Zeichnung manuell anzupassen, um den neuen Content zu dem bestehenden Content konsistent zu machen. Wie erläutert worden ist, können Ausführungsformen jedoch mehrere Contentregeln anwenden, die bekannte semantische Information über den neuen Content und den bestehenden Content einsetzen, um derartige Fehler zu korrigieren, wenn der Content erstellt wird.
  • 13 zeigt ein Beispiel für eine automatische Größenanpassung von neuem Content entsprechend einer oder mehreren Ausführungsformen. Wie in 13 gezeigt ist, wird die Kuh, wenn sie auf der Zeichenfläche 1300 anstatt dessen an anderen Orten platziert wird, im gegebenen Platzierungskontext passend der Größe nach angepasst. Die Kuh 1302, die an dem Ort 1304 platziert ist, wird beispielsweise konsistent zu ihrer Position in einem Abstand von der Szene und relativ zu den nahestehenden Büschen der Größe nach angepasst. Auf ähnliche Weise ist die Kuh 1306, die an dem Ort 1308 platziert ist, größer als die Kuh 1302, und die Kuh 1310 an dem Ort 1312 im Vordergrund ist noch größer. Wie erläutert worden ist, wird jeder Kuh ein anderer Platzierungskontext zugeordnet, der aus ihrem Platzierungsort 1304, 1308, 1312 bestimmt wird. Bei dem Beispiel von 13 wird die Kuh passend der Größe nach angepasst, wenn sie auf der Zeichenfläche platziert wird.
  • 14 zeigt ein alternatives Beispiel für das Übergehen von Contentfehlerbehebungsregeln entsprechend einer oder mehreren Ausführungsformen. Wie in 14 gezeigt ist, wird der Content bei einigen Ausführungsformen dynamisch auf Grundlage des Cursorortes des Nutzers der Größe nach angepasst, wenn der Content zu der Zeichenfläche hinzugefügt wird. Bei diesem Beispiel ist ein Vogel 1400 zu der Zeichenfläche hinzugefügt. Wie erläutert worden ist, kann der Vogel ein 3D-Modell sein, das aus einer Contentbibliothek hinzugefügt wird, und es kann das Aussehen des Vogels bei der Platzierung generiert werden. Obwohl die Zeichenfläche nur eine Schichtkarte zeigt, beinhaltet das Grafikdesignsystem bei verschiedenen Ausführungsformen eine Schichtzeichenfläche und eine Contentzeichenfläche, wie bei den vorherigen Beispielen dargestellt worden ist. Alternativ kann das Grafikdesignsystem nur eine Contentzeichenfläche, die den wiedergegebenen Content zeigt, beinhalten.
  • Bewegt der Nutzer seinen Cursor zu verschiedenen Positionen, so kann der Platzierungskontext dynamisch bestimmt und zur passenden Größenanpassung des Objektes benutzt werden. Beginnt man beispielsweise bei der Position 1402, so beinhaltet der Platzierungskontext, dass der Vogel über einer Berg-Schicht und nahe an einem Baum-Objekt positioniert ist. Der Vogel kann daher auf Grundlage der naheliegenden Objekte derart der Größe nach angepasst werden, dass es so aussieht, als habe er in der Zone, in der er fliegt, eine realistische Größe. Zieht der Nutzer den Cursor über die Zeichenfläche, so ändert sich der Platzierungskontext, und die Eigenschaften des Vogels werden aktualisiert. An der Position 1404 ist der Vogel beispielsweise über einer Himmel-Schicht und nicht besonders nahe an anderen Objekten. Als solches kann die Größe des Vogels verringert werden, um einen Vogel, der in einem größeren Abstand vom Betrachter fliegt, darzustellen. Auf ähnliche Weise ist der Vogel bei einer Neupositionierung an der Position 1406 nunmehr viel näher am Betrachter im Vordergrund, und es nimmt dessen Größe zu.
  • 15 zeigt ein Beispiel für die Contentfehlerbehebung bei einer Grafikdesignanwendung entsprechend einer oder mehreren Ausführungsformen. Wie erläutert worden ist, ermöglicht die Contentfehlerbehebung, dass in einer Zeichnung kleine Fehler, die ansonsten für den Nutzer schwierig zu identifizieren sind, detektiert und korrigiert werden. Ein Pferd-Objekt im Hintergrund der exemplarischen Figuren, die erläutert worden sind, ist beispielsweise in dem Zeichnungssegment 1500 gezeigt. Das Pferd ist hierbei so gezeigt, dass es aus dem See trinkt. Das Pferd wird jedoch teilweise von einem Busch verdeckt, der im Hintergrund sein sollte, wie bei 1502 gezeigt ist. Zusätzlich steht das Pferd teilweise auf dem See, anstatt dass es an dessen Ufer stehen würde, wie bei 1504 gezeigt ist.
  • Wird das Pferd zu der Zeichnung hinzugefügt, so wird ein Platzierungskontext für das Pferd von dem Platzierungskontextverwalter 1110, wie erläutert worden ist, generiert. Bei diesem Beispiel kann der Platzierungskontext die Naheliegender-Busch-Schicht, die Ufer-Schicht und die See-Schicht beinhalten. Bei einigen Ausführungsformen kann der Platzierungskontext auf Grundlage der Schichtdaten und/oder eines semantischen Szenegraphen (beispielsweise auf Grundlage einer semantischen Hierarchie), der den Content und/oder Schichten der Zeichnung darstellt, generiert werden. Der Contentanalysator 1114 kann den Platzierungskontext analysieren und identifizieren, dass das Pferd-Objekt teilweise auf der See-Schicht ist. Definieren können die Contentregeln Klassen von Objekten, die auf einer Wasser-Schicht realistischerweise abgebildet werden können (beispielsweise Boote, Wasserski, Fische, Vögel und dergleichen), sowie Klassen von Objekten, die auf einer Wasser-Schicht im Allgemeinen unrealistischerweise abgebildet werden können (beispielsweise Landtiere, Menschen, Landfahrzeuge und dergleichen). Als solches kann der Contentanalysator einen Abstand in Pixeln bestimmen, um das Pferd derart zu bewegen, dass es nicht teilweise über dem See ist. Zusätzlich kann der Contentanalysator bestimmen, dass die z-Reihenfolge des Pferdes und der Büsche inkonsistent zu deren Relativpositionen ist, und eine aktualisierte z-Reihenfolge bestimmen, um das Pferd vor der Busch-Schicht zu platzieren.
  • Die Contentregeln können in Abhängigkeit von der Menge der verfügbaren semantischen Information grob- oder feinkörnig sein. Die semantischen Klassen für das Pferd können beispielsweise spezifischer als nur „Pferd“ sein. Klassifiziert werden kann das Pferd beispielsweise als „trinkendes Pferd“ oder mit einem anderen Etikett, das die Handlung beschreibt, während deren Durchführung das Pferd abgebildet ist. In einigen Fällen kann der Contentanalysator einen Abstand bestimmen, um den das Pferd bewegt wird, damit nur dessen Kopf über dem See ist. Auf ähnliche Weise kann, wenn das Pferd als „grasendes Pferd“ klassifiziert wird, der Contentanalysator einen Abstand bestimmen, um den das Pferd bewegt wird, damit es gänzlich über einer Boden-Schicht (beispielsweise Gras, Ufer, Staub und dergleichen) und nicht über einer Wasser-Schicht ist.
  • Mit den Änderungen, die von dem Contentanalysator 1114 identifiziert worden sind, kann der Zeichenflächenverwalter 1118 diese Änderungen sodann an dem Pferd auf der Zeichenfläche anwenden. Wie bei 1506 gezeigt ist, ist das Pferd beispielsweise nach links bewegt worden, damit es nicht mehr über dem See ist. Zusätzlich ist die z-Reihenfolge derart aktualisiert worden, dass das Pferd nicht hinter den Büschen ist.
  • 16 zeigt ein schematisches Diagramm eines Grafikdesignsystems (beispielsweise des vorbeschriebenen „Grafikdesignsystems“) entsprechend einer oder mehreren Ausführungsformen. Wie gezeigt ist, kann das Grafikdesignsystem 1600 unter anderem einen Nutzerschnittstellenverwalter 1602, einen Platzierungskontextverwalter 1604, einen Contentanalysator 1606, einen Zeichenflächenverwalter 1608 und einen Speicherverwalter 1610 beinhalten. Der Speicherverwalter 1610 beinhaltet Schichtdaten 1618, Zeichnungsdaten 1620, Platzierungskontextdaten 1622 und Contentregeln 1624. Bei einigen Ausführungsformen beinhaltet das Grafikdesignsystem 1600 des Weiteren einige oder alle Komponenten, die wenigstens anhand des Grafikdesignsystems 900 beschrieben worden sind.
  • Wie in 16 dargestellt ist, beinhaltet das Grafikdesignsystem 1600 einen Nutzerschnittstellenverwalter 1602. Der Nutzerschnittstellenverwalter 1602 ermöglicht beispielsweise, dass Nutzer anfordern, dass Content generiert und zu einer von dem Grafikdesignsystem 1600 bereitgestellten Zeichenfläche hinzugefügt wird. Beinhaltet ist hierbei das Bereitstellen eines Werkzeugzugangs durch ein oder mehrere Nutzerschnittstellenfelder, Menüs oder andere Nutzerschnittstellenelemente. Zusätzlich kann der Nutzer Zeichnungen direkt auf der Zeichenfläche erstellen und bearbeiten, indem er Contenttexturen malt, Objekte mittels Drag and Drop verschiebt und/oder die Zeichenfläche unter Nutzung von bereitgestellten Zeichenwerkzeugen direkt bearbeitet. Bei einigen Ausführungsformen stellt der Nutzerschnittstellenverwalter 1602 eine Nutzerschnittstelle bereit, durch die der Nutzer Contenttexturen und Objekte, Zeichenwerkzeuge und dergleichen mehr, wie vorstehend erläutert worden ist, auswählen kann. Alternativ oder zusätzlich ermöglicht die Nutzerschnittstelle, dass der Nutzer bestehende Zeichnungen von einem lokalen oder entfernten (remote) Speicherort öffnet und bearbeitet (beispielsweise durch Bereitstellen einer Adresse (beispielsweise einer URL oder eines anderen Endpunktes), die einem Dokumentspeicher zugeordnet ist). Bei einigen Ausführungsformen präsentiert die Nutzerschnittstelle dem Nutzer zum Korrigieren von Fehlern über den Nutzerschnittstellenverwalter 1602 Contentfehlerbehebungsänderungen, deren Annahme oder Zurückweisung der Nutzer wählen kann. Alternativ ermöglicht der Nutzerschnittstellenverwalter 1602, dass der Nutzer Änderungen, die in Reaktion auf detektierte Fehler automatisch vorgenommen worden sind, rückgängig macht.
  • Wie in 16 dargestellt ist, beinhaltet das Grafikdesignsystem 1600 zudem den Platzierungskontextverwalter 1604. Wie erläutert worden ist, ist der Platzierungskontextverwalter 1604 für das Generieren eines Platzierungskontexts 1622 zuständig, der Daten beinhaltet, die einem Platzierungsort von neuem Content auf einer Zeichenfläche zugeordnet sind. Die Platzierungsauswahl kann einen Ort auf einer Digitalzeichenfläche beinhalten, an dem der Content hinzugefügt wird (beispielsweise einen Bereich, der mit einer Contenttextur bemalt wird, einen Ort eines Cursors, an dem ein Objekt eingefügt wird, und dergleichen mehr). Der Platzierungskontext beinhaltet den Ort auf der Digitalzeichenfläche zusammen mit Information über den Ort, die aus den Schichtdaten 1618 bezogen wird, so beispielsweise Information über die Relativpositionierung von Schichten auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten. Bei einigen Ausführungsformen schlägt der Platzierungskontextverwalter den Platzierungsort in den Schichtdaten nach, um naheliegende Schichten und deren zugeordneten Content zu identifizieren. Der Platzierungskontext kann dann eine Datenstruktur sein, die die Schicht- und Contentinformation, die dem Platzierungsort zugeordnet ist, beinhaltet.
  • Wie in 16 dargestellt ist, beinhaltet das Grafikdesignsystem 1600 zudem den Contentanalysator 1606. Der Contentanalysator 1606 wendet Contentregeln 1624 auf den Platzierungskontext, der von dem Platzierungskontextverwalter 1604 generiert wird, an, um Fehler in dem Dokument zu identifizieren. Wie erläutert worden ist, können die Contentregeln 1624 Größen(anpassungs)regeln bzw. Größenregeln (beispielsweise betreffend die Skala bzw. Skalierung), Ausrichtungsregeln (beispielsweise betreffend die Orientierung) und dergleichen beinhalten. Die Größen(anpassungs)regeln bzw. Größenregeln definieren beispielsweise einen Bereich von Größen von Contenttypen, die zu den Contenttypen konsistent sind. Die Regeln können relativ definiert sein (so hängt die Größe eines Contenttyps beispielsweise von der Größe eines Contenttyps, der zu der Zeichnung bereits hinzugefügt worden ist, ab). Auf ähnliche Weise definieren Ausrichtungsregeln, wie Content mit anderem Content ausgerichtet werden soll. Neuer Content weist beispielsweise zugeordnete Eigenschaften auf. Wird ein Objekt (beispielsweise ein 3D-Modell) zu dem Dokument hinzugefügt, so werden dessen Größe, Orientierung, Aussehen und dergleichen (beispielsweise als Objekt- und/oder Dokumentmetadaten) gespeichert. Derartige Eigenschaften werden für den gesamten Content, wenn dieser zu dem Dokument hinzugefügt wird, aufgezeichnet. Die Eigenschaften von neuem Content können mit den Eigenschaften von Content verglichen werden, auf die in dem Platzierungskontext verwiesen wird (beispielsweise die Ausrichtungseigenschaft eines Objektes im Vergleich zur Ausrichtung einer damit in Zusammenhang stehenden Schicht und dergleichen mehr). Die Contentregeln 1624 können Bereiche von annehmbaren Eigenschaftswerten (oder Differenzen bei Eigenschaftswerten) zwischen verschiedenen Typen von Content definieren. Durch Anwenden der Contentregeln 1624 auf den Content kann der Contentanalysator 1606 Eigenschaften identifizieren, die entsprechend den Contentregeln nicht gültig sind, und kann identifizieren, dass Änderungen an dem Content vorgenommen werden sollen, um den Content gültig zu machen.
  • Wie in 16 dargestellt ist, beinhaltet das Grafikdesignsystem 1600 zudem den Zeichenflächenverwalter 1608. Wie erläutert worden ist, empfängt der Zeichenflächenverwalter von dem Nutzer eine Anforderung für neuen Content über den Nutzerschnittstellenverwalter 1602 und koordiniert das Erstellen einer neuen semantischen Schicht, die dem Content entspricht, und das Generieren des Contents durch das Contentgenerierungsmodell 1614. Zusätzlich kann der Zeichenflächenverwalter von dem Contentanalysator 1606 eine Contentanalyse empfangen, die identifiziert, dass Änderungen an dem Content auf der Zeichenfläche derart vorgenommen werden sollen, dass der Content mit den Contentregeln 1624 verträglich ist. Bei einigen Ausführungsformen wendet der Zeichenflächenverwalter die Änderungen automatisch auf den zugeordneten Content, wie vorstehend erläutert worden ist, an. Alternativ werden die Änderungen dem Nutzer zuerst über den Nutzerschnittstellenverwalter 1602 entweder zur Annahme oder zur Zurückweisung präsentiert, bevor der Zeichenflächenverwalter 1608 die Änderungen auf die Zeichnung anwendet. Sobald die Aktualisierung erfolgt ist, kann die aktualisierte Zeichnung in den Zeichnungsdaten 1620 gespeichert werden.
  • Wie in 16 dargestellt ist, beinhaltet das Grafikdesignsystem 1600 zudem den Speicherverwalter 1610. Der Speicherverwalter 1610 hält Daten für das Grafikdesignsystem 1600 vor. Der Speicherverwalter 1610 kann Daten eines beliebigen Typs, einer beliebigen Größe oder einer beliebigen Art nach Bedarf vorhalten, um die Funktionen des Grafikdesignsystems 1600 wahrzunehmen. Der Speicherverwalter 1610 beinhaltet, wie in 16 gezeigt ist, die Schichtdaten 1618. Die Schichtdaten 1618 können semantische Information, die den Schichten einer Zeichnung zugeordnet ist, wie vorstehend detaillierter beschrieben worden ist, beinhalten. Insbesondere beinhalten die Schichtdaten 1618 bei einer oder mehreren Ausführungsformen semantische Information, die dem Typ von in jeder Schicht dargestelltem Content zugeordnet ist. Bei einigen Ausführungsformen beinhalten die Schichtdaten Information über die Relativpositionierung der Schicht auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten. Bei einigen Ausführungsformen werden die Schichtdaten als semantische Hierarchie (die auch als semantischer Szenegraph bezeichnet wird) dargestellt, was nachstehend noch näher erläutert wird. Der Speicherverwalter 1610 beinhaltet zudem die Zeichnungsdaten 1620. Die Zeichnungsdaten 1620 können von dem Grafikdesignsystem 1600 erstellte oder bearbeitbare Zeichnungsdateien beinhalten.
  • Zusätzlich beinhaltet der Speicherverwalter 1610 einen Platzierungskontext 1622. Wie erläutert worden ist, beinhaltet der Platzierungskontext Schicht- und Contentinformation, die bestimmten Koordinaten auf einer Digitalzeichenfläche zugeordnet ist. Bei einigen Ausführungsformen wird der Platzierungskontext von dem Platzierungskontextverwalter generiert, wenn neuer Content hinzugefügt wird, und wird nach der Nutzung ausgesondert. Alternativ wird ein Platzierungskontext 1622 für jedes Contentstück, das zu der Digitalzeichenfläche hinzugefügt wird, vorgehalten und aktualisiert, wenn der Content geändert, bewegt und dergleichen wird. Der Speicherverwalter 1610 beinhaltet zudem Contentregeln 1624. Die Contentregeln 1624 beinhalten Größen(anpassungs)regeln bzw. Größenregeln (beispielsweise betreffend die Skala bzw. Skalierung), Ausrichtungsregeln (beispielsweise betreffend die Orientierung) und dergleichen mehr. Die Größen(anpassungs)regeln bzw. Größenregeln definieren beispielsweise einen Bereich von Größen von Contenttypen, die zu den Contenttypen konsistent sind. Die Regeln können relativ definiert sein (so hängt die Größe eines Contenttyps beispielsweise von der Größe eines Contenttyps, der zu der Zeichnung bereits hinzugefügt worden ist, ab). Auf ähnliche Weise definieren Ausrichtungsregeln, wie Content mit anderem Content ausgerichtet werden soll.
  • Jede der Komponenten 1602 bis 1610 des Grafikdesignsystems 1600 und deren entsprechende Elemente können (wie in 16 gezeigt ist) miteinander unter Nutzung beliebiger geeigneter Kommunikationstechnologien kommunizieren. Es sollte einsichtig sein, dass ungeachtet dessen, dass die Komponenten 1602 bis 1612 und deren entsprechende Elemente in 16 getrennt gezeigt sind, beliebige der Komponenten 1602 bis 1612 und deren entsprechende Elemente auch zu weniger Komponenten, beispielsweise auch nur zu einer einzigen Fazilität oder einem einzigen Modul, kombiniert, in mehr Komponenten unterteilt oder zu anderen Komponenten konfiguriert werden können, so dies bei einer bestimmten Ausführungsform dienlich ist.
  • Die Komponenten 1602 bis 1612 und deren entsprechende Elemente können Software, Hardware oder beides umfassen. Die Komponenten 1602 bis 1612 und deren entsprechende Elemente können beispielsweise eine oder mehrere Anweisungen umfassen, die auf einem computerlesbaren Speichermedium gespeichert sind und von Prozessoren einer oder mehrerer Rechenvorrichtungen ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Grafikdesignsystems 1600 veranlassen, dass eine Clientvorrichtung und/oder eine Servervorrichtung die hier beschriebenen Verfahren durchführen. Alternativ können die Komponenten 1602 bis 1612 und deren entsprechende Elemente Hardware umfassen, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zur Übernahme einer gewissen Funktion oder Gruppe von Funktionen. Zusätzlich können die Komponenten 1602 bis 1612 und deren entsprechende Elemente eine Kombination von computerausführbaren Anweisungen und Hardware umfassen.
  • Implementiert sein können die Komponenten 1602 bis 1612 des Grafikdesignsystems 1600 zudem beispielsweise als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plug-ins, als eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell. Die Komponenten 1602 bis 1612 des Grafikdesignsystems 1600 können daher als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Des Weiteren können die Komponenten 1602 bis 1612 des Grafikdesignsystems 1600 als eine oder mehrere webbasierte Anwendungen, die auf einem Remoteserver gehostet sind, implementiert sein. Alternativ oder zusätzlich können die Komponenten des Grafikdesignsystems 1600 in einem Paket von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Veranschaulichungshalber können die Komponenten des Grafikdesignsystems 1600 als Teil einer Anwendung oder eines Paketes von Anwendungen implementiert sein, darunter unter anderem ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, ADOBE ACROBAT, ADOBE ILLUSTRATOR, ADOBE LIGHTROOM und ADOBE INDESIGN. „ADOBE“, „CREATIVE CLOUD“, „PHOTOSHOP“, „ACROBAT“, „ILLUSTRATOR“, „LIGHTROOM“ und „INDESIGN“ sind entweder eingetragene Marken oder Marken von Adobe Inc. in den Vereinigten Staaten und/oder anderen Ländern.
  • 11 bis 16, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Systemen und Vorrichtungen bereit, die die Erstellung und Verwaltung von semantischen Schichten in einem Zeichnungsdokument ermöglichen. Zusätzlich zum Vorbeschriebenen können Ausführungsformen auch anhand von Flussdiagrammen beschrieben werden, die Handlungen und Schritte in einem Verfahren zum Erreichen eines bestimmten Ergebnisses umfassen. 17 zeigt beispielsweise ein Flussdiagramm eines exemplarischen Verfahrens entsprechend einer oder mehreren Ausführungsformen. Das anhand 17 beschriebene Verfahren kann mit weniger oder mehr Schritten/Handlungen durchgeführt werden, oder es können die Schritte/Handlungen in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Handlungen auch wiederholt werden oder parallel zueinander durchgeführt werden oder parallel zu verschiedenen bzw. anderen Instanzen derselben oder ähnlicher Schritte/Handlungen durchgeführt werden.
  • 17 zeigt ein Flussdiagramm einer Abfolge von Handlungen bei einem Verfahren 1700 des Contentfehlerbehebens auf Grundlage einer semantischen Information entsprechend einer oder mehreren Ausführungsformen. Bei einer oder mehreren Ausführungsformen wird das Verfahren 1700 in einer Digitalmedienumgebung durchgeführt, die das Grafikdesignsystem 1600 beinhaltet. Das Verfahren 1700 soll für ein oder mehrere Verfahren entsprechend der vorliegenden Offenbarung illustrativ sein und mögliche Ausführungsformen nicht beschränken. Alternative Ausführungsformen können zusätzliche, weniger oder andere Schritte als die anhand 17 beschriebenen beinhalten.
  • Wie in 17 dargestellt ist, beinhaltet das Verfahren 1700 eine Handlung 1702 des Empfangens einer Auswahl eines Contenttyps, der generiert werden soll. Wie erläutert worden ist, kann eine Grafikdesignsystemnutzerschnittstelle eine Vielzahl von Contenttypen für den Nutzer bereitstellen. Die Auswahl kann über einen Nutzerschnittstellenverwalter des Grafikdesignsystems vorgenommen werden. Einige Contenttypen beinhalten Contenttexturen, die ermöglichen, dass ein Nutzer eine Fläche einer Digitalzeichenfläche mit einem Contenttyp (beispielsweise Wolke, Himmel, Staub, Ozean und dergleichen) bemalt, woraufhin entsprechender Content von einem maschinell lernenden Modell generiert wird. Zusätzlich kann Content Objektmodelle, so beispielsweise Tiere, Bäume, Fahrzeuge, Menschen und dergleichen, beinhalten, die ausgewählt und sodann mittels Drag and Drop zu der Zeichenfläche verschoben (oder auf andere Weise zu dieser hinzugefügt) werden können.
  • Wie in 17 dargestellt ist, beinhaltet das Verfahren 1700 eine Handlung 1704 des Empfangens einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps. Wie erläutert worden ist, kann die Auswahl durch den Nutzerschnittstellenverwalter des Grafikdesignsystems vorgenommen werden. Ein Bereich der Digitalzeichenfläche kann beispielsweise von dem Nutzer bemalt werden (beispielsweise durch Auswählen eines Zeichenwerkzeuges und des ausgewählten Contenttyps und durch sodann erfolgendes Zeichnen über einem Bereich zur Auswahl desselben). Alternativ kann ein Objekt mittels Drop zu einem spezifischen Ort auf der Digitalzeichenfläche gebracht werden.
  • Wie in 17 dargestellt ist, beinhaltet das Verfahren 1700 eine Handlung 1706 des Bestimmens eines Platzierungskontexts, der dem Ort auf der Digitalzeichenfläche zugeordnet ist. Wie erläutert worden ist, beinhaltet der Platzierungskontext Information über Schichten und/oder Content, der nahe an dem ausgewählten Ort auf der Digitalzeichenfläche ist. Es können beispielsweise mehrere Schichten an einer gegebenen Koordinate (oder innerhalb eines Schwellenabstandes der Koordinate) vorhanden sein, und es kann die semantische Information, die jeder dieser Schichten zugeordnet ist, zu dem Platzierungskontext hinzugefügt werden. Zusätzlich können Eigenschaften, die dem Content zugeordnet sind (beispielsweise Aussehen, Ort, Orientierung und dergleichen), ebenfalls zu dem Platzierungskontext hinzugefügt werden. Bei einigen Ausführungsformen beinhaltet der Platzierungskontext eines oder mehrere von dem Contenttyp, einem oder mehreren Contenttypen nahe an dem Ort (beispielsweise räumlich benachbarten Content und/oder Schichten), bestehenden Schichten, die dem Ort zugeordnet sind, oder einer Schicht-z-Reihenfolge. Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Identifizieren der wenigstens einen räumlich benachbarten Schicht auf Grundlage wenigstens einer semantischen Hierarchie von Schichten (was beispielsweise nachstehend noch näher erläutert wird) der Digitalzeichenfläche.
  • Wie in 17 dargestellt ist, beinhaltet das Verfahren 1700 eine Handlung 1708 des Identifizierens einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts. Die Contentregeln können beispielsweise Größen(anpassungs)regeln bzw. Größenregeln, Ausrichtungsregeln und dergleichen beinhalten. Bei einigen Ausführungsformen beinhaltet das Identifizieren einer oder mehrerer Contentregeln ein Identifizieren einer Größencontentregel, die dem Content zugeordnet ist, und ein unter Nutzung der Größencontentregel erfolgendes Bestimmen einer Standardgröße des Contents an dem Ort auf Grundlage des Platzierungskontexts.
  • Wie in 17 dargestellt ist, beinhaltet das Verfahren 1700 eine Handlung 1710 des unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgenden Generierens von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche unter Nutzung der einen oder der mehreren Contentregeln. Wie erläutert worden ist, kann ein Zeichenflächenverwalter an ein Contentgenerierungsmodell eine Aufforderung dahingehend senden, entsprechenden Content zu generieren. Die Aufforderung kann den Contenttyp und die zu füllende Fläche beinhalten. Beinhaltet sein kann hierbei angeforderter aktualisierter Content, der mit den Contentregeln verträglich ist. Wird beispielsweise ein Objekt in der Szene neu ausgerichtet, so kann das neue Aussehen des nunmehr neu ausgerichteten Objektes generiert werden.
  • Bei einigen Ausführungsformen können Contentregeln auf Content angewendet werden, bevor dieser auf der Digitalzeichenfläche platziert wird. Der Nutzer kann ein Objekt beispielsweise aus einem Contentfeld der Nutzerschnittstelle auf die Zeichenfläche ziehen und dabei verschiedene Orte auf der Zeichenfläche bei dem Prozess überqueren. Bewegt sich das Objekt, so kann neuer Platzierungskontext generiert werden, und es kann Content entsprechend modifiziert werden. Das Verfahren beinhaltet des Weiteren beispielsweise ein Empfangen einer Auswahl eines neuen Ortes auf Grundlage einer Änderung der Cursorposition und ein Bestimmen einer neuen Standardgröße des Contents auf Grundlage der Größencontentregel und des neuen Ortes. Bei einigen Ausführungsformen können die Contentregeln von dem Nutzer übergangen werden. Bei einigen Ausführungsformen beinhaltet das Verfahren beispielsweise des Weiteren ein Empfangen einer Auswahl einer Größe des Contents und ein Übergehen der Größencontentregel auf Grundlage der Auswahl der Größe.
  • Bei einigen Ausführungsformen beinhaltet das Identifizieren einer oder mehrerer Contentregeln des Weiteren ein Identifizieren einer Ausrichtungsregel mit Zuordnung zu dem Content und wenigstens einer räumlich benachbarten Schicht der Digitalzeichenfläche und ein Bestimmen eines oder mehrerer Ausrichtungsparameter zum Ausrichten des Contents mit der wenigstens einen räumlich benachbarten Schicht.
  • Ein Szenegraph ist eine Datenstruktur, die eine Darstellung des Contents einer Szene bereitstellt. Knoten des Graphen können Objekte in der Szene darstellen, während Verbindungen zwischen den Knoten (beispielsweise logische, räumliche und dergleichen mehr) Beziehungen zwischen verbundenen Objekten angeben können. Herkömmliche Grafikdesignanwendungen beinhalten jedoch, wenn überhaupt, sehr wenig Information über den Content, der erstellt wird. Derartige herkömmliche Systeme sind üblicherweise auf Pixelwerte (beispielsweise Farbe, Transparenz und dergleichen), Eigenschaften von Vektorgrafiken (beispielsweise Linienbreite, Füllung, Krümmungsparameter und dergleichen mehr) beschränkt, ohne ein semantisches Verständnis zu haben. Hierdurch wird die Contentfehlerbehebung (beispielsweise die Validierung) schwierig, wenn nicht unmöglich, da wenig Kontext zur Nutzung für eine Bestimmung dessen, ob Fehler in der Zeichnung vorhanden sind, vorhanden ist. Als solches verfügt das System üblicherweise nicht über Information darüber, welche Objekte in der Szene dargestellt sind oder wie diese in Zusammenhang stehen. Zusätzlich ist dem System bei Rastergrafikeditoren oftmals nicht bekannt, was überhaupt als Objekt zu betrachten ist. Hierdurch wird es schwierig oder gar unmöglich, bei herkömmlichen Systemen einen derartigen Szenegraphen aufzubauen.
  • Semantische Zeichenwerkzeuge beinhalten Information über den darin beinhalteten Content. Content kann beispielsweise zu semantischen Schichten hinzugefügt werden, die auch semantische Information über den Content beinhalten (beispielsweise den Contenttyp, die Relativposition zu anderen Schichten oder anderem Content und dergleichen mehr). Im Ergebnis kann man ein semantisches Verständnis der Zeichnung als Ganzes erhalten. Diese semantische Information kann benutzt werden, um einen semantischen Szenegraphen zu generieren, der aufgebaut werden kann, wenn die Zeichnung von dem Nutzer erstellt wird. Das Vorliegen eines semantischen Szenegraphen vereinfacht das Bearbeiten und die Verwaltung der Zeichnung, und zwar insbesondere durch mehrere Nutzer. Der semantische Szenegraph stellt beispielsweise eine Zusammenfassung der Szene bereit, die es für einen ungeübten Nutzer leichter macht, die Zeichnung zu verstehen. Zusätzlich können sich Änderungen, die von verschiedenen Nutzern an der Zeichnung vorgenommen werden, in Unterschieden zwischen zwei Szenegraphen widerspiegeln. Von Nutzen ist der Szenegraph zudem beim Auswählen von Content zur Bearbeitung durch Auswählen des Contents aus dem Graphen und nicht direkt auf der Zeichenfläche.
  • 18 zeigt ein Diagramm eines Prozesses des hierarchischen Semantikschichtorganisierens entsprechend einer oder mehreren Ausführungsformen. Das Grafikdesignsystem 1800 kann ähnlich wie die Grafikdesignsysteme 100 und 1100, die vorstehend beschrieben worden sind, implementiert sein. Wie in 18 gezeigt ist, kann das Grafikdesignsystem 1800 ein Eingabedokument 1802 empfangen, siehe Bezugszeichen 1. Das Eingabedokument kann ein schon vorher bestehendes Zeichnungsdokument oder ein neues Zeichnungsdokument, das der Nutzer erstellt, sein. Bei einigen Ausführungsformen kann der Nutzer das Eingabedokument 1802 über den Nutzerschnittstellenverwalter 1804 bereitstellen. Der Nutzerschnittstellenverwalter 1804 stellt beispielsweise eine Nutzerschnittstelle für das Grafikdesignsystem 1800 bereit. Die Nutzerschnittstelle kann Nutzerschnittstellenelemente beinhalten, die ermöglichen, dass der Nutzer anfordert, dass ein bestehendes Dokument (beispielsweise von einem lokalen oder entfernten Speicherort) geöffnet oder ein neues Dokument erstellt wird.
  • Bei einigen Ausführungsformen fordert der Nutzer an, dass ein semantischer Szenegraph für das Eingabedokument 1802 generiert wird. Alternativ wird ein semantischer Szenegraph für das Dokument automatisch generiert, sobald dieses von dem Grafikdesignsystem 1800 geöffnet wird. Bei einigen Ausführungsformen kann der Zeichenflächenverwalter 1806 Schichtdaten beziehen, die dem Eingabedokument zugeordnet sind, siehe Bezugszeichen 2. Die Schichtdaten beinhalten, wie erläutert worden ist, beispielsweise semantische Information, die den Schichten zugeordnet ist, Information über die Relativpositionierung von Schichten auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten, wie vorstehend erläutert worden ist. Die Schichtdaten können für ein bestehendes Dokument abgerufen oder generiert werden, wenn die Zeichnung erstellt wird, wie vorstehend erläutert worden ist.
  • Bei Bezugszeichen 3 werden die Schichtdaten, die dem Eingabedokument zugeordnet sind, für den Semantikhierarchieverwalter 1810 bereitgestellt. Bei Bezugszeichen 4 kann der Semantikhierarchieverwalter 1810 semantische Beziehungen 1812 und semantische Knoten 1814 unter den Schichtdaten identifizieren. Semantische Knoten beinhalten beispielsweise jede Instanz einer semantischen Klasse, die in der Szene dargestellt ist. Bei einigen Ausführungsformen entspricht jede semantische Schicht einem bestimmten Objekt bzw. Objekt- oder Contenttyp. Bei einigen Ausführungsformen ist wenigstens eine Eins-zu-Eins-Beziehung zwischen Schichten und semantischen Knoten vorhanden. Bei einigen Ausführungsformen beinhalten die Schichtdaten Gruppen von Schichten, wobei jede Schicht in der Gruppe dem gleichen Contenttyp entspricht. Eine Szene, die beispielsweise einen Wald beinhaltet, kann viele Bäume beinhalten, wobei jeder Baum ein Objekt, das seine eigene Schicht aufweist, sein kann. Diese Baum-Schichten können zu einer Baum-Gruppe gruppiert werden. Zusätzlich können räumliche Beziehungen zwischen Schichten auch in den Schichtdaten dargestellt werden. Als Beispiele zu nennen sind Wolke-Schichten, die auf einer Himmel-Schicht platziert sind, Baum-Schichten auf einer Boden-Schicht und dergleichen mehr. Der Semantikhierarchieverwalter kann diese als semantische Beziehungen 1812 darstellen, die die semantischen Knoten verbinden, um die semantische Hierarchie (beispielsweise einen semantischen Szenegraphen) zu bilden.
  • Bei Bezugszeichen 5 kann der semantische Szenegraph (beispielsweise die semantischen Beziehungen und die semantischen Knoten) in dem Semantikhierarchiedatenspeicher 1816 gespeichert werden. Alternativ kann die semantische Hierarchie mit Schichtdaten 1808 gespeichert werden. Bei Bezugszeichen 6 kann die semantische Hierarchie 1820 ausgegeben werden, um sie dem Nutzer über den Nutzerschnittstellenverwalter 1804 zu zeigen. Bei einigen Ausführungsformen kann die Nutzerschnittstelle ein Semantikhierarchiefeld beinhalten, das den Graph für den Nutzer visualisiert. Der Nutzer kann mit dem Graph interagieren, um spezifische Schichten auszuwählen, unbeabsichtigte oder unrichtige semantische Beziehungen zu identifizieren oder die Zeichnung auf andere Weise zu verwalten. Zusätzlich kann der semantische Graph von dem Grafikdesignsystem für weitere Verbesserungen benutzt werden. Der semantische Szenegraph kann während der Contentfehlerbehebung benutzt werden, um in Zusammenhang stehende Schichten zu identifizieren.
  • 19 zeigt ein Beispiel für einen semantischen Szenegraphen entsprechend einer oder mehreren Ausführungsformen. Wie erläutert worden ist, kann ein semantischer Szenegraph eine Datenstruktur sein, die mehrere Knoten, die durch mehrere Verbindungen verbunden sind, beinhaltet. Jeder Knoten stellt eine andere semantische Klasse, die in der Zeichnung abgebildet ist, dar, während jede Verbindung räumliche und/oder semantische Beziehungen zwischen den Knoten beinhaltet. Wie in 19 gezeigt ist, wird ein semantischer Szenegraph für eine Zeichnung 1900 generiert, wobei der Wurzelknoten des semantischen Szenegraphen die dargestellte Zeichnung ist.
  • Bei dem Beispiel von 19 ist die Zeichnung eine Landschaft, die Luft-Komponenten und Boden-Komponenten beinhaltet. Als solches beinhaltet die erste Schicht von Knoten in dem exemplarischen semantischen Szenegraphen von 19 einen Luft-Knoten 1902 und einen Boden-Knoten 1904. Der Luft-Knoten 1902 weist Beziehungen zu Schichten auf, die Elemente in der Luft darstellen, so beispielsweise zu der Himmel-Schicht (dargestellt durch den Himmel-Knoten 1906), die den Himmel in der Zeichnung 1900 abbildet, und zu einem Vogel-Knoten 1908, der den Vogel in der Zeichnung darstellt. Der Vogel-Knoten stellt einen fliegenden Vogel dar und ist daher mit dem Luft-Knoten organisiert. Ein Vogel, der sitzt, kann mit dem Baum oder einer Struktur, auf der das Sitzen erfolgt, und dergleichen mehr organisiert sein. Auf ähnliche Weise ist ein Flugzeug-Knoten 1910, der das abgebildete Flugzeug beim Fliegen darstellt, mit dem Himmel-Knoten 1906, wie in der Himmel-Schicht dargestellt, verbunden.
  • Der Boden-Knoten 1904 weist Beziehungen zu verschiedenen Schichten auf, die mit dem Boden verbunden sind, so beispielsweise Pferde 1912, Berge 1914 und ein See 1916. Bei einigen Ausführungsformen können zusätzliche oder weniger Knoten zur Darstellung der Schichten in der Zeichnung 1900 benutzt werden. Der Boden 1904 kann weiter in zusätzliche Schichten, so beispielsweise Gras, Felsen und dergleichen, jeweils mit ihren eigenen entsprechenden Knoten unterteilt sein. Die Pferde 1912 sind mit einem sich aufbäumenden Pferd 1918 und einem trinkenden Pferd 1920 verknüpft. Jede Kante, die die Pferde mit dem Pferde-Knoten verbindet, kann eine räumliche Information über die Pferde beinhalten, so beispielsweise Koordinaten in der Zeichnung, die jedem Pferd zugeordnet sind. Bei einigen Ausführungsformen wird eine zusätzliche Verbindung zwischen dem Trinkendes-Pferd-Knoten 1920 und dem See-Knoten 1916 hergestellt, wobei die Kante räumliche Information, die das trinkende Pferd mit einer Position in dem See verknüpft, beinhaltet. Auf ähnliche Weise sind der Vogel-Knoten 1908 und der Pferde-Knoten 1912 bei einigen Ausführungsformen weiter miteinander verknüpft, da sie beide Elemente der Tier-Klasse darstellen.
  • Verknüpft sein kann der Boden mit zusätzlichen Schichten, die zusätzlichen Objekten am Boden, so beispielsweise Büschen 1922 und Bäumen 1924, entsprechen. Diese Knoten können Gruppierungen von Schichten, die zu derselben Klasse gehören, darstellen. Jeder Busch in der Zeichnung 1900 kann beispielsweise eine entsprechende Schicht und einen Knoten 1926 bis 1928 in dem semantischen Szenegraphen darstellen. Auf gleiche Weise kann jeder Baum in der Zeichnung 1900 eine entsprechende Schicht und einen Knoten 1930 bis 1932 in dem semantischen Szenegraphen aufweisen. Der Büsche-Knoten 1922 und der Bäume-Knoten 1924 können ebenfalls verknüpft sein, da sie zu der Pflanzen-Klasse gehören. Zusätzlich ist der See-Knoten 1916 mit den Booten auf dem See verknüpft. Dies beinhaltet einen Boote-Knoten 1934, der mit einem Boot-1 1936 und einem Boot-2 1938 verknüpft ist. Wie erläutert worden ist, können die Kanten, die diese Boote mit dem Boote-Knoten 1934 verbinden, Information darüber beinhalten, wie die Boote mit dem See in Zusammenhang stehen, also beispielsweise Koordinaten in der Zeichnung. Zusätzlich kann der Boote-Knoten 1934 mit dem Flugzeug-Knoten 1910 verbunden sein, da beide zur Fahrzeug-Klasse gehören.
  • 20 zeigt ein schematisches Diagramm eines Grafikdesignsystems (beispielsweise des vorbeschriebenen „Grafikdesignsystems“) entsprechend einer oder mehreren Ausführungsformen. Beinhalten kann das Grafikdesignsystem 2000, wie gezeigt ist, unter anderen einen Nutzerschnittstellenverwalter 2002, einen Zeichenflächenverwalter 2004, einen Semantikhierarchieverwalter 2006 und einen Speicherverwalter 2010. Der Speicherverwalter 2010 beinhaltet Schichtdaten 2018, Zeichnungsdaten 2020 und Semantikhierarchiedaten 2022. Bei einigen Ausführungsformen beinhaltet das Grafikdesignsystem 2000 des Weiteren einige oder alle Komponenten, die wenigstens anhand der Grafikdesignsysteme 900 und 1600 beschrieben worden sind.
  • Wie in 20 dargestellt ist, beinhaltet das Grafikdesignsystem 2000 den Nutzerschnittstellenverwalter 2002. Der Nutzerschnittstellenverwalter 2002 ermöglicht beispielsweise, dass Nutzer anfordern, dass Content generiert und zu einer von dem Grafikdesignsystem 2000 bereitgestellten Zeichenfläche hinzugefügt wird. Dies beinhaltet das Bereitstellen eines Werkzeugzuganges durch ein oder mehrere Nutzerschnittstellenfelder, Menüs oder andere Nutzerschnittstellenelemente. Zusätzlich kann der Nutzer Zeichnungen direkt auf der Zeichenfläche erstellen und bearbeiten, indem er Contenttexturen malt, Objekte mittels Drag and Drop verschiebt und/oder die Zeichenfläche unter Nutzung von bereitgestellten Zeichenwerkzeugen direkt bearbeitet. Bei einigen Ausführungsformen stellt der Nutzerschnittstellenverwalter 2002 eine Nutzerschnittstelle bereit, durch die der Nutzer Contenttexturen und Objekte, Zeichenwerkzeuge und dergleichen mehr, wie vorstehend erläutert worden ist, auswählen kann. Alternativ oder zusätzlich ermöglicht die Nutzerschnittstelle, dass der Nutzer bestehende Zeichnungen von einem lokalen oder entfernten Speicherort öffnet und bearbeitet (beispielsweise durch Bereitstellen einer Adresse (beispielsweise einer URL oder eines anderen Endpunktes), die einem Dokumentspeicher zugeordnet ist). Zusätzlich empfängt der Nutzerschnittstellenverwalter eine Aufforderung dahingehend, eine semantische Hierarchie 2022 (beispielsweise einen semantischen Szenegraphen) für ein Eingabedokument (beispielsweise eine Zeichnung und dergleichen) zu generieren. Bei einigen Ausführungsformen wird die semantische Hierarchie generiert, wenn die Zeichnung erstellt wird. Alternativ wird ein bestehendes Dokument unter Nutzung des Nutzerschnittstellenverwalters 2002 geöffnet (beispielsweise durch Auswählen eines Nutzerschnittstellenelementes zum Öffnen eines bestehenden Dokumentes). Ist das Dokument geöffnet oder wird es von dem Nutzer angefordert, so wird für den Zeichenflächenverwalter 2004 eine Aufforderung dahingehend bereitgestellt, die Erstellung der semantischen Hierarchie zu orchestrieren.
  • Wie in 20 dargestellt ist, beinhaltet das Grafikdesignsystem 2000 zudem den Zeichenflächenverwalter 2004. Wie erläutert worden ist, orchestriert der Zeichenflächenverwalter das Generieren einer semantischen Hierarchie für ein Dokument. Wie vorstehend erläutert worden ist, empfängt der Zeichenflächenverwalter 2004 von dem Nutzer beispielsweise eine Aufforderung für neuen Content über den Nutzerschnittstellenverwalter 2002 und koordiniert das Erstellen einer neuen semantischen Schicht, die dem Content entspricht, und das Generieren des Contents unter Nutzung eines Contentgenerierungsmodus, einer Contentbibliothek und dergleichen mehr, wie vorstehend erläutert worden ist. Wie erläutert worden ist, werden, wenn Content zu der Zeichnung hinzugefügt wird, neue semantische Schichten erstellt, die semantische Information, die dem neuen Content zugeordnet ist, beinhalten. Für bestehende Dokumente kann der Zeichenflächenverwalter Schichtdaten 2018, die dem Eingabedokument zugeordnet sind, über einen Speicherdienst 2010 beziehen. Wie erläutert worden ist, beinhalten die Schichtdaten beispielsweise semantische Information, die den Schichten zugeordnet ist, Information über die Relativpositionierung von Schichten auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten, wie vorstehend erläutert worden ist. Die Schichtdaten können für ein bestehendes Dokument abgerufen werden oder können generiert werden, wenn die Zeichnung erstellt wird, wie vorstehend erläutert worden ist.
  • Wie in 20 dargestellt ist, beinhaltet das Grafikdesignsystem 2000 zudem den Semantikhierarchieverwalter 2006. Der Semantikhierarchieverwalter 2006 nutzt sodann die Schichtdaten, die von dem Zeichenflächenverwalter 2004 bezogen worden sind, um die semantische Hierarchie 2022 zu generieren. Der Semantikhierarchieverwalter 2006 kann beispielsweise semantische Beziehungen und semantische Knoten unter den Schichtdaten identifizieren. Semantische Knoten beinhalten beispielsweise jede Instanz einer semantischen Klasse, die in der Szene dargestellt ist. Entsprechen können die Knoten jeder semantischen Schicht, Gruppen von semantischen Schichten und dergleichen mehr oder Klassen, zu denen mehrere semantische Schichten gehören. Wie erläutert worden ist, kann jede semantische Schicht einem bestimmten Objekt bzw. Objekt- oder Contenttyp entsprechen. In derartigen Fällen ist wenigstens eine Eins-zu-Eins-Beziehung zwischen Schichten und semantischen Knoten vorhanden. Bei einigen Ausführungsformen beinhalten die Schichtdaten Gruppen von Schichten, wobei jede Schicht in der Gruppe demselben Contenttyp entspricht. Beziehungen zwischen den Knoten (beispielsweise zwischen Content, der in der Zeichnung abgebildet ist) können als Kanten, die in Zusammenhang stehende Knoten verbinden, codiert werden. Zeichnungskoordinaten, die Orten in der Zeichnung entsprechen, an denen ein Objekt mit einer anderen Schicht überlappt, können beispielsweise als Eigenschaften einer Kante gespeichert werden, die einen Knoten, der das Objekt darstellt, mit einem Knoten, der die Schicht darstellt, verbindet.
  • Wie in 20 dargestellt ist, beinhaltet das Grafikdesignsystem 2000 zudem den Speicherverwalter 2010. Der Speicherverwalter 2010 hält Daten für das Grafikdesignsystem 2000 vor. Der Speicherverwalter 2010 kann Daten eines beliebigen Typs, einer beliebigen Größe oder einer beliebigen Art nach Bedarf vorhalten, um die Funktionen des Grafikdesignsystems 2000 wahrzunehmen. Der Speicherverwalter 2010 beinhaltet, wie in 20 gezeigt ist, die Schichtdaten 2018. Die Schichtdaten 2018 können semantische Information, die den Schichten einer Zeichnung zugeordnet ist, beinhalten, wie vorstehend detaillierter erläutert worden ist. Insbesondere beinhalten die Schichtdaten 2018 bei einer oder mehreren Ausführungsformen semantische Information, die dem Typ von Content, der in jeder Schicht dargestellt wird, zugeordnet ist. Bei einigen Ausführungsformen beinhalten die Schichtdaten Information über die Relativpositionierung der Schicht auf der Zeichenfläche (beispielsweise naheliegende Schichten) und die z-Reihenfolge der Schichten. Der Speicherverwalter 2010 beinhaltet zudem Zeichnungsdaten 2020. Die Zeichnungsdaten 2020 können Zeichnungsdateien beinhalten, die von dem Grafikdesignsystem 2000 erstellt oder bearbeitbar sind.
  • Zusätzlich beinhaltet der Speicherverwalter 2010 zudem die semantische Hierarchie 2022. Wie erläutert worden ist, kann die semantische Hierarchie 2022 (beispielsweise ein semantischer Szenegraph) eine Datenstruktur sein, die eine Zeichnung darstellt, die unter Nutzung des Grafikdesignsystems 2000 generiert oder von diesem gelesen werden kann. Die semantische Hierarchie 2022 kann mehrere Knoten, die durch mehrere Kanten verbunden sind, beinhalten. Wie erläutert worden ist, stellen die mehreren Knoten jeweils eine semantische Klasse, die Content in der Zeichnung entspricht, dar. Einige Knoten stellen beispielsweise spezifische semantische Schichten dar, während andere Knoten eine Klasse, zu der mehrere semantische Schichten gehören, und dergleichen mehr darstellen können. Die Kanten beinhalten Information, die die Knoten verknüpft. Die Beziehungen zwischen dem Content (beispielsweise räumlich, logisch und dergleichen) können beispielsweise den Kanten zugeordnet sein.
  • Jede der Komponenten 2002 bis 2010 des Grafikdesignsystems 2000 und deren entsprechende Elemente können (wie in 20 dargestellt ist) miteinander unter Nutzung beliebiger geeigneter Kommunikationstechnologien kommunizieren. Es sollte einsichtig sein, dass ungeachtet dessen, dass die Komponenten 2002 bis 2012 und deren entsprechende Elemente in 20 getrennt gezeigt sind, beliebige der Komponenten 2002 bis 2012 und deren entsprechende Elemente auch zu weniger Komponenten, so beispielsweise zu einer einzigen Fazilität oder einem einzigen Modul, kombiniert, in mehr Komponenten unterteilt oder zu anderen Komponenten konfiguriert werden können, so dies bei einer bestimmten Ausführungsform dienlich ist.
  • Die Komponenten 2002 bis 2012 und deren entsprechende Elemente können Software, Hardware oder beides umfassen. Die Komponenten 2002 bis 2012 und deren entsprechende Elemente können beispielsweise eine oder mehrere Anweisungen beinhalten, die auf einem computerlesbaren Speichermedium gespeichert und durch Prozessoren einer oder mehrerer Rechenvorrichtungen ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Grafikdesignsystems 2000 veranlassen, dass eine Clientvorrichtung und/oder eine Servervorrichtung die hier beschriebenen Verfahren durchführen. Alternativ können die Komponenten 2002 bis 2012 und deren entsprechende Elemente Hardware umfassen, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zur Übernahme einer gewissen Funktion oder Gruppe von Funktionen. Zusätzlich können die Komponenten 2002 bis 2012 und deren entsprechende Elemente eine Kombination von computerausführbaren Anweisungen und Hardware umfassen.
  • Implementiert sein können die Komponenten 2002 bis 2012 des Grafikdesignsystems 2000 zudem beispielsweise als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plugins, als eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell. Daher können die Komponenten 2002 bis 2012 des Grafikdesignsystems 2000 als eigenständige Anwendung implementiert sein, so beispielsweise als Desktop- oder Mobilanwendung. Des Weiteren können die Komponenten 2002 bis 2012 des Grafikdesignsystems 2000 als eine oder mehrere webbasierte Anwendungen, die auf einem Remoteserver gehostet werden, implementiert sein. Alternativ oder zusätzlich können die Komponenten des Grafikdesignsystems 2000 in einem Paket von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Veranschaulichungshalber können die Komponenten des Grafikdesignsystems 2000 als Teil einer Anwendung oder eines Paketes von Anwendungen implementiert sein, darunter unter anderem ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, ADOBE ACROBAT, ADOBE ILLUSTRATOR, ADOBE LIGHTROOM und ADOBE INDESIGN. „ADOBE", „CREATIVE CLOUD", „PHOTOSHOP", „ACROBAT", „ILLUSTRATOR", „LIGHTROOM“ und „INDESIGN“ sind entweder eingetragene Marken oder Marken von Adobe Inc. in den Vereinigten Staaten und/oder anderen Ländern.
  • 18 bis 20, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Systemen und Vorrichtungen bereit, die die Erstellung und Verwaltung von semantischen Schichten in einem Zeichnungsdokument ermöglichen. Zusätzlich zum Vorbeschriebenen können Ausführungsformen auch anhand von Flussdiagrammen beschrieben werden, die Handlungen und Schritte in einem Verfahren zum Erreichen eines bestimmten Ergebnisses umfassen. 21 zeigt beispielsweise ein Flussdiagramm eines exemplarischen Verfahrens entsprechend einer oder mehreren Ausführungsformen. Das anhand 21 beschriebene Verfahren kann mit weniger oder mehr Schritten/Handlungen durchgeführt werden, oder es können die Schritte/Handlungen in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Handlungen wiederholt werden oder parallel zueinander durchgeführt werden oder parallel zu verschiedenen bzw. anderen Instanzen derselben oder ähnlicher Schritte/Handlungen durchgeführt werden.
  • 21 zeigt ein Flussdiagramm einer Abfolge von Handlungen bei einem Verfahren 2100 zum hierarchischen Organisieren semantischer Schichten entsprechend einer oder mehreren Ausführungsformen. Bei einer oder mehreren Ausführungsformen wird das Verfahren 2100 in einer Digitalmedienumgebung durchgeführt, die das Grafikdesignsystem 2000 beinhaltet. Das Verfahren 2100 soll für ein oder mehrere Verfahren entsprechend der vorliegenden Offenbarung illustrativ sein und mögliche Ausführungsformen nicht beschränken. Alternative Ausführungsformen können zusätzliche, weniger oder andere Schritte als die anhand 21 beschriebenen beinhalten.
  • Wie in 21 dargestellt ist, beinhaltet das Verfahren 2100 eine Handlung 2102 des Beziehens eines Dokumentes. Wie erläutert worden ist, kann ein Nutzerschnittstellenverwalter beispielsweise eine Aufforderung dahingehend empfangen, ein bestehendes Dokument (beispielsweise von einem lokalen oder entfernten Speicherort) zu öffnen. Zusätzlich oder alternativ kann ein neues Dokument erstellt werden. Wie erläutert worden ist, ist das Dokument ein Grafikdesigndokument (beispielsweise eine Zeichnung), so beispielsweise eine Rasterzeichnung, eine Vektorzeichnung und dergleichen.
  • Wie in 21 dargestellt ist, beinhaltet das Verfahren 2100 eine Handlung 2104 des Identifizierens mehrerer Schichten, die dem Dokument zugeordnet sind. Das Grafikdesignsystem kann beispielsweise Schichtdaten, die dem Dokument zugeordnet sind, vorhalten. Bei einigen Ausführungsformen können die Schichtdaten Metadaten sein, die in den Dokumentdaten beinhaltet sind, getrennt von dem Grafikdesignsystem gespeichert werden oder dem Dokument auf andere Weise zugeordnet und für das Grafikdesignsystem zugänglich sind.
  • Wie in 21 dargestellt ist, beinhaltet das Verfahren 2100 eine Handlung 2106 des Bestimmens von mehreren semantischen Etiketten, die den mehreren Schichten zugeordnet sind. Wie erläutert worden ist, können semantische Zeichenwerkzeuge semantische Schichten für Content erstellen, wenn dieser zu dem Dokument hinzugefügt wird. Beinhalten können die semantischen Schichten semantische Information, die dem Content in der Schicht zugeordnet ist, Beziehungen zu Content in anderen Schichten und dergleichen mehr. Bei verschiedenen Ausführungsformen werden die semantischen Etiketten aus der semantischen Information, die dem Dokument zugeordnet ist, bestimmt. Bei einigen Ausführungsformen beinhaltet das Bestimmen von mehreren semantischen Etiketten, die den mehreren Schichten zugeordnet sind, des Weiteren ein Annotieren einer jeden Schicht der mehreren Schichten mit einem entsprechenden semantischen Etikett durch ein maschinell lernendes Modell, das darauf trainiert ist, ein semantisches Etikett für Content, der einer Schicht zugeordnet ist, zu generieren.
  • Wie in 21 dargestellt ist, beinhaltet das Verfahren 2100 eine Handlung 2108 des Bestimmens einer Semantikschichthierarchie der mehreren Schichten. Bei einigen Ausführungsformen beinhaltet das Bestimmen der Semantikschichthierarchie ein Bestimmen von semantischen Beziehungen zwischen den mehreren Schichten auf Grundlage der entsprechenden semantischen Etiketten. Bei einigen Ausführungsformen sind die semantischen Beziehungen in der semantischen Information, die den semantischen Schichten zugeordnet ist, beinhaltet. Alternativ können semantische Regeln oder andere Information definieren, wie semantische Klassen in Zusammenhang stehen.
  • Wie in 21 dargestellt ist, beinhaltet das Verfahren 2100 eine Handlung 2110 des Organisierens der mehreren Schichten auf Grundlage wenigstens der Semantikschichthierarchie. Bei einigen Ausführungsformen beinhaltet das Organisieren der mehreren Schichten auf Grundlage wenigstens der Semantikschichthierarchie ein Identifizieren von semantisch ähnlichen Schichten auf Grundlage ihrer entsprechenden semantischen Etiketten und ein Erstellen einer Gruppe von Schichten, die die semantisch ähnlichen Schichten beinhaltet, wobei jede Gruppe einem Gruppenetikett zugeordnet ist. Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Identifizieren von semantisch ähnlichen Gruppen auf Grundlage ihrer entsprechenden Gruppenetiketten und ein Erstellen einer Gruppe von Gruppen, die die semantisch ähnlichen Gruppen beinhaltet. Bei einigen Ausführungsformen beinhaltet das Organisieren der mehreren Schichten des Weiteren ein Bestimmen einer z-Reihenfolge der mehreren Schichten auf Grundlage der Semantikschichthierarchie; und ein Speichern der z-Reihenfolge in der Semantikschichthierarchie.
  • Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Empfangen einer Auswahl eines Contenttyps, der generiert werden soll, ein Empfangen einer Auswahl eines Ortes auf einer Digitalzeichenfläche des Dokumentes zum Platzieren von Content des Contenttyps, ein unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgendes Generieren von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche und ein Hinzufügen des Contents zu einer neuen Schicht des Dokumentes, wobei die neue Schicht einem semantischen Etikett, das dem Contenttyp entspricht, zugeordnet ist. Bei einigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Aktualisieren der Semantikschichthierarchie auf Grundlage wenigstens der neuen Schicht.
  • 22 zeigt ein schematisches Diagramm einer exemplarischen Umgebung 2200, in der das Grafikdesignsystem 900, 1600, 2000 entsprechend einer oder mehreren Ausführungsformen arbeiten kann. Bei einer oder mehreren Ausführungsformen beinhaltet die Umgebung 2200 einen Dienstanbieter 2202, der einen oder mehrere Server 2204 beinhalten kann, die mit mehreren Clientvorrichtungen 2206A bis 2206N über ein oder mehrere Netzwerke 2208 verbunden sind. Die Clientvorrichtungen 2206A bis 2206N, das eine oder die mehreren Netzwerke 2208, der Dienstanbieter 2202 und der eine oder die mehreren Server 2204 können miteinander oder mit anderen Komponenten unter Nutzung beliebiger Kommunikationsplattformen und Technologien kommunizieren, die für das Transportieren von Daten und/oder Kommunikationssignalen geeignet sind, darunter beliebige bekannte Kommunikationstechnologien, Vorrichtungen, Medien und Protokolle, die Remotedatenkommunikationsvorgänge unterstützen, von denen Beispiele nachstehend detaillierter anhand 23 beschrieben werden.
  • Obwohl 22 eine bestimmte Anordnung der Clientvorrichtungen 2206A bis 2206N, des einen oder der mehreren Netzwerke 2208, des Dienstanbieters 2202 und des einen oder der mehreren Server 2204 zeigt, sind verschiedene zusätzliche Anordnungen möglich. Die Clientvorrichtungen 2206A bis 2206N können beispielsweise direkt mit dem einen oder den mehreren Servern 2204 unter Umgehung des Netzwerkes 2208 kommunizieren. Alternativ können die Clientvorrichtungen 2206A bis 2206N direkt miteinander kommunizieren. Der Dienstanbieter 2202 kann ein Anbieter eines öffentlichen Clouddienstes sein, der über eine eigene Infrastruktur in einem oder mehreren Datenzentren verfügt und diese betreibt und diese Infrastruktur für Kunden und Endnutzer auf Anfrage für Hostanwendungen auf dem einen oder den mehreren Servern 2204 bereitstellt. Beinhalten können die Server einen oder mehrere Hardwareserver (beispielsweise Hosts), die jeweils ihre eigenen Rechenressourcen (beispielsweise Prozessoren, Speicher bzw. Memory, Plattenraum, Netzwerkbandbreite und dergleichen) aufweisen und sicher zwischen mehreren Kunden verteilt werden können, von denen jeder seine eigenen Anwendungen auf dem einen oder den mehreren Servern 2204 hostet. Bei einigen Ausführungsformen kann der Dienstanbieter ein Anbieter einer privaten Cloud sein, der eine Cloudinfrastruktur für eine einzige Organisation vorhält. Der eine oder die mehreren Server 2204 können auf ähnliche Weise einen oder mehrere Hardwareserver beinhalten, und zwar jeweils mit ihren eigenen Rechenressourcen, die unter Anwendungen, die von dem einen oder den mehreren Servern gehostet werden, zur Nutzung durch Mitglieder der Organisation oder durch ihre Kunden verteilt werden.
  • Auf ähnliche Weise kann, obwohl die Umgebung 2200 von 22 derart abgebildet ist, dass sie verschiedene Komponenten aufweist, die Umgebung 2200 zusätzliche oder alternative Komponenten aufweisen. Die Umgebung 2200 kann beispielsweise auf einer einzigen Rechenvorrichtung mit dem Grafikdesignsystem 900, 1600, 2000 implementiert sein. Insbesondere kann das Grafikdesignsystem 900, 1600, 2000 gänzlich oder in Teilen auf der Clientvorrichtung 2202A implementiert sein.
  • Wie in 22 dargestellt ist, kann die Umgebung 2200 Clientvorrichtungen 2206A bis 2206N beinhalten. Die Clientvorrichtungen 2206A bis 2206N können eine beliebige Rechenvorrichtung umfassen. Umfassen können die Clientvorrichtungen 2206A bis 2206N beispielsweise einen oder mehrere PCs, Laptopcomputer, Mobilvorrichtungen, Mobiltelefone, Tablets, Spezialzweckcomputer, Fernsehgeräte oder andere Rechenvorrichtungen, darunter Rechenvorrichtungen, die nachstehend anhand 23 noch beschrieben werden. Obwohl in 22 drei Clientvorrichtungen gezeigt sind, sollte einsichtig sein, dass die Clientvorrichtungen 2206A bis 2206N eine beliebige Anzahl von Clientvorrichtungen (größer oder kleiner als gezeigt) umfassen können.
  • Wie in 22 dargestellt ist, können die Clientvorrichtungen 2206A bis 2206N und der eine oder die mehreren Server 2204 über ein oder mehrere Netzwerke 2208 kommunizieren. Das eine oder die mehreren Netzwerke 2208 können ein einziges Netzwerk oder eine Sammlung von Netzwerken darstellen (so beispielsweise das Internet, ein Firmenintranet, ein virtuelles privates Netzwerk (VPN), ein Ortsbereichsnetzwerk (LAN), ein drahtloses Ortsbereichsnetzwerk (WLAN), ein zellenbasiertes Netzwerk, ein Großbereichsnetzwerk (WAN), ein Stadtbereichsnetzwerk (MAN) oder eine Kombination aus zwei oder mehreren derartigen Netzwerken. Das eine oder die mehreren Netzwerke 2208 können daher ein beliebiges geeignetes Netzwerk sein, über das die Clientvorrichtungen 2206A bis 2206N auf einen Dienstanbieter 2202 und einen Server 2204 zugreifen können, oder umgekehrt. Das eine oder die mehreren Netzwerke 2208 werden nachstehend anhand 23 detaillierter beschrieben.
  • Zusätzlich kann die Umgebung 2200 auch einen oder mehrere Server 2204 beinhalten. Der eine oder die mehreren Server 2204 können einen beliebigen Typ von Daten generieren, speichern, empfangen und übertragen. Ein Server 2204 kann beispielsweise Daten von einer Clientvorrichtung, so beispielsweise der Clientvorrichtung 2206A, empfangen und die Daten an eine andere Clientvorrichtung, so beispielsweise die Clientvorrichtung 2202B und/oder 2202N, senden. Der Server 2204 kann zudem elektronische Mitteilungen zwischen einem oder mehreren Nutzern der Umgebung 2200 übertragen. Bei einer exemplarischen Ausführungsform ist der Server 2204 ein Datenserver. Der Server 2204 kann zudem einen Kommunikationsserver oder einen Webhostingserver umfassen. Zusätzliche Details im Zusammenhang mit dem Server 2204 werden nachstehend anhand 23 noch erläutert.
  • Wie erwähnt worden ist, können der eine oder die mehreren Server 2204 bei einer oder mehreren Ausführungsformen wenigstens einen Teil des Grafikdesignsystems 900, 1600, 2000 beinhalten oder implementieren. Insbesondere kann das Grafikdesignsystem 900, 1600, 2000 eine Anwendung umfassen, die auf dem einen oder den mehreren Servern 2204 arbeitet, oder es kann ein Teil des Grafikdesignsystems 900, 1600, 2000 von dem einen oder den mehreren Servern 2204 heruntergeladen werden. Das Grafikdesignsystem 900, 1600, 2000 kann beispielsweise eine Webhostinganwendung beinhalten, die ermöglicht, dass die Clientvorrichtungen 2206A bis 2206N mit Content, der auf dem einen oder den mehreren Servern 2204 gehostet wird, interagieren. Veranschaulichungshalber können eine oder mehrere Clientvorrichtungen 2206A bis 2206N bei einer oder mehreren Ausführungsformen der Umgebung 2200 auf eine Webpage zugreifen, die von dem einen oder den mehreren Servern 2204 unterstützt wird. Insbesondere kann die Clientvorrichtung 2206A eine Webanwendung (beispielsweise einen Webbrowser) betreiben, durch den ermöglicht wird, dass ein Nutzer auf eine Webpage oder Webseite, die auf dem einen oder den mehreren Servern 2204 gehostet ist, zugreift, sie anschaut und/oder mit ihnen interagiert.
  • Greift die Clientvorrichtung 2206A auf eine Webpage oder eine andere Webanwendung, die auf dem einen oder den mehreren Servern 2204 gehostet sind, zu, so können der eine oder die mehreren Server 2204 bei einer oder mehreren Ausführungsformen ermöglichen, dass ein Nutzer ein Dokument (beispielsweise eine Zeichnungsdatei), das auf dem einen oder den mehreren Servern 2204 gespeichert ist, öffnet, bearbeitet oder erstellt. Darüber hinaus kann die Clientvorrichtung 2206A (beispielsweise über eine Nutzereingabe) eine Aufforderung dahingehend empfangen, Content zu dem Dokument hinzuzufügen, und die Aufforderung für den einen oder die mehreren Server 2204 bereitstellen. Bei Empfang der Aufforderung können der eine oder die mehreren Server 2204 automatisch die Verfahren und Prozesse, die vorstehend beschrieben worden sind, durchführen, um Content zu dem Dokument hinzuzufügen. Der eine oder die mehreren Server 2204 können das Dokument auf Grundlage des neuen Contents aktualisieren und das aktualisierte Dokument an die Clientvorrichtung 2206A zur Anzeige für den Nutzer ausgeben.
  • Wie eben beschrieben worden ist, kann das Grafikdesignsystem 900, 1600, 2000 gänzlich oder in Teilen durch die einzelnen Elemente 2202 bis 2208 der Umgebung 2200 implementiert sein. Es sollte einsichtig sein, dass ungeachtet dessen, dass gewisse Komponenten des Grafikdesignsystems 900, 1600, 2000 bei den vorherigen Beispielen im Zusammenhang mit bestimmten Elementen der Umgebung 2200 beschrieben worden sind, verschiedene alternative Implementierungen möglich sind. Bei einer oder mehreren Ausführungsformen ist das Grafikdesignsystem 900, 1600, 2000 beispielsweise auf einer beliebigen der Clientvorrichtungen 2206A bis 2206N implementiert. Auf ähnliche Weise kann das Grafikdesignsystem 900, 1600, 2000 bei einer oder mehreren Ausführungsformen auf dem einen oder den mehreren Servern 2204 implementiert sein. Darüber hinaus können verschiedene Komponenten und Funktionen des Grafikdesignsystems 900, 1600, 2000 separat unter den Clientvorrichtungen 2206A bis 2206N, dem einen oder den mehreren Servern 2204 und dem Netzwerk 2208 implementiert sein.
  • Umfassen oder einsetzen können Ausführungsformen der vorliegenden Offenbarung einen Spezialzweck- oder Allzweckcomputer, der Computerhardware beinhaltet, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, wie nachstehend noch detaillierter beschrieben wird. Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung beinhalten zudem physische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können einer oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die auf einem nichttemporären computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise eine beliebige der hier beschriebenen Mediencontentzugriffsvorrichtungen) ausführbar sind. Allgemein empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichttemporären computerlesbaren Medium (beispielsweise einem Speicher bzw. Memory und dergleichen) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse durchgeführt werden, die einen oder mehrere der hier beschriebenen Prozesse beinhalten.
  • Computerlesbare Medien können beliebige verfügbare Medien sein, auf die ein Allzweck- oder Spezialzweckcomputersystem zugreifen kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichttemporäre computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen tragen, sind Übertragungsmedien. Beispiels- und nicht beschränkungshalber können Ausführungsformen der Offenbarung daher wenigstens zwei deutlich verschiedene Arten von computerlesbaren Medien umfassen, nämlich nichttemporäre computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • Nichttemporäre computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, SSDs (Solid State Drives) (beispielsweise auf Grundlage eines RAM), einen Flash-Speicher, einen Phasenänderungsspeicher (PCM), andere Typen von Speicher, andere optische Plattenspeicher, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen benutzt werden kann und auf das ein Allzweck- oder Spezialzweckcomputer zugreifen kann.
  • Ein „Netzwerk“ ist als ein oder mehrere Datenlinks definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wird Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder drahtgebunden, drahtlos oder eine Kombination aus drahtgebunden oder drahtlos) an einen Computer übertragen oder für diesen bereitgestellt, so sieht der Computer die Verbindung im Grunde als Übertragungsmedium. Übertragungsmedien können ein Netzwerk und/oder Datenlinks beinhalten, die zum Tragen von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen benutzt werden können und auf die ein Allzweck- oder Spezialzweckcomputer zugreifen kann. Kombinationen des Vorbeschriebenen sollen ebenfalls im Umfang der computerlesbaren Medien beinhaltet sein.
  • Des Weiteren können Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen bei der Verwirklichung von verschiedenen Computersystemkomponenten automatisch von Übertragungsmedien auf nichttemporäre computerlesbare Speichermedien (Vorrichtungen) (oder umgekehrt) übertragen werden. Beispielsweise können computerausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder einen Datenlink empfangen werden, in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (beispielsweise eines „NIC“) gepuffert und sodann gegebenenfalls an einen Computersystem-RAM und/oder an weniger flüchtige Computerspeichermedien (Vorrichtungen) auf einem Computersystem übertragen werden. Es sollte daher einsichtig sein, dass nichttemporäre computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten, die auch (oder sogar primär) Übertragungsmedien einsetzen, beinhaltet sein können.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung auf einem Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine gewisse Funktion oder Gruppe von Funktionen wahrnehmen. Bei einigen Ausführungsformen werden computerausführbare Anweisungen auf einem Allzweckcomputer ausgeführt, um den Allzweckcomputer in einen Spezialzweckcomputer zu verwandeln, der Elemente der Offenbarung implementiert. Die computerausführbaren Anweisungen können beispielsweise Binaries, Anweisungen in einem Zwischenformat wie Assemblersprache oder sogar Quellcode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Handlungen spezifisch ist, sollte einsichtig sein, dass der Erfindungsgegenstand, der in den beigefügten Ansprüchen definiert ist, nicht unbedingt auf die vorbeschriebenen Merkmale oder Handlungen beschränkt ist. Vielmehr werden die beschriebenen Merkmale und Handlungen als exemplarische Formen der Implementierung der Ansprüche offenbart.
  • Einem Fachmann auf dem Gebiet erschließt sich, dass die Offenbarung in Netzwerkrechenumgebungen mit vielen Typen von Computersystemkonfigurationen praktisch umgesetzt werden kann, darunter PCs, Desktopcomputer, Laptopcomputer, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorensysteme, mikroprozessorbasierte oder programmierbare Geräte der Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframecomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches bzw. Schalter und dergleichen. Umgesetzt werden kann die Offenbarung auch in verteilten Systemumgebungen, in denen lokale und entfernte (remote) Rechensysteme, die (entweder durch drahtgebundene Datenlinks, drahtlose Datenlinks oder durch eine Kombination von drahtgebundenen und drahtlosen Datenlinks) durch ein Netzwerk verbunden sind, gleichermaßen Aufgaben erledigen. In einer verteilten Systemumgebung können Programmmodule sowohl in lokalen wie auch in entfernten (remote) Memoryspeichervorrichtungen befindlich sein.
  • Ausführungsformen der vorliegenden Offenbarung können auch in Cloudrechenumgebungen implementiert sein. In der vorliegenden Beschreibung ist „Cloudrechnen“ bzw. „Cloud Computing“ als Modell definiert, das einen nach Bedarf erfolgenden Netzwerkzugriff auf einen gemeinsam genutzten Vorrat von konfigurierbaren Rechenressourcen ermöglicht. Das Cloudrechnen kann beispielsweise auf einem Marktplatz eingesetzt werden, um einen allgegenwärtigen und bequemen nach Bedarf erfolgenden Zugriff auf den gemeinsam genutzten Vorrat von konfigurierbaren Rechenressourcen anzubieten. Der gemeinsam genutzte Vorrat von konfigurierbaren Rechenressourcen kann schnell über eine Virtualisierung bereitgestellt und unter geringem Verwaltungsaufwand oder mit wenig Eingriffen des Dienstanbieters freigegeben und sodann entsprechend skaliert werden.
  • Ein Cloudrechenmodell kann aus verschiedenen Eigenschaften gebildet sein, so beispielsweise On-Demand Self-Service, Broad Network Access, Resource Pooling, Rapid Elasticity, Measured Service und dergleichen mehr. Ein Cloudrechenmodell kann zudem verschiedene Dienstmodelle aufweisen, so beispielsweise Software as a Service („SaaS“), Platform as a Service („PaaS“) und Infrastructure as a Service („laaS“). Ein Cloudrechenmodell kann zudem unter Nutzung von verschiedenen Verwertungsmodellen eingesetzt werden, so beispielsweise Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud und dergleichen mehr. In der vorliegenden Beschreibung und in den Ansprüchen ist eine „Cloudrechenumgebung“ eine Umgebung, in der Cloudcomputing bzw. Cloudrechnen zum Einsatz kommt.
  • 23 zeigt in Form eines Blockdiagramms eine exemplarische Rechenvorrichtung 2300, die zur Durchführung eines oder mehrerer der vorbeschriebenen Prozesse konfiguriert sein kann. Es sollte einsichtig sein, dass eine oder mehrere Rechenvorrichtungen, so beispielsweise die Rechenvorrichtung 2300, das Bildverarbeitungssystem implementieren können. Wie in 23 gezeigt ist, kann die Rechenvorrichtung einen Prozessor 2302, einen Speicher 2304, eine oder mehrere Kommunikationsschnittstellen 2306, eine Speichervorrichtung 2308 und einen oder mehrere I/O-Vorrichtungen/Schnittstellen 2310 umfassen. Bei gewissen Ausführungsformen kann die Rechenvorrichtung 2300 weniger oder mehr Komponenten als die in 23 gezeigten beinhalten. In 23 gezeigte Komponenten der Rechenvorrichtung 2300 werden nunmehr detaillierter beschrieben.
  • Bei bestimmten Ausführungsformen beinhaltet/beinhalten ein Prozessor/Prozessoren 2302 Hardware zur Ausführung von Anweisungen, so beispielsweise von solchen, die ein Computerprogramm bilden. Beispiels- und nicht beschränkungshalber kann/können der Prozessor / die Prozessoren 2302 zur Ausführung von Anweisungen die Anweisungen aus einem internen Register, einem internen Cache, dem Memory bzw. Speicher 2304 oder einer Speichervorrichtung 2308 abrufen (oder holen) und sie decodieren und ausführen. Beinhalten kann/können der Prozessor / die Prozessoren 2302 bei verschiedenen Ausführungsformen eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs), feldprogrammierbare Gate Arrays (FPGAs), chipintegrierte Systeme bzw. Ein-Chip-Systeme (Systems on Chip SoC) oder einen anderen Prozessor / andere Prozessoren oder Kombinationen von Prozessoren.
  • Die Rechenvorrichtung 2300 beinhaltet den Memory bzw. Speicher 2304, der mit dem Prozessor / den Prozessoren 2302 gekoppelt ist. Der Memory bzw. Speicher 2304 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren benutzt werden. Der Memory bzw. Speicher 2304 kann eines oder mehrere von flüchtigen und nichtflüchtigen Speichern beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“), einen Nur-Lese-Speicher („ROM“), eine Solid State Disk (SSD), einen Flash, einen Phasenänderungsspeicher (PCM) oder andere Typen von Datenspeicher. Der Speicher 2304 kann ein interner oder ein verteilter Speicher sein.
  • Die Rechenvorrichtung 2300 kann des Weiteren eine oder mehrere Kommunikationsschnittstellen 2306 beinhalten. Eine Kommunikationsschnittstelle 2306 kann Hardware, Software oder beides beinhalten. Die Kommunikationsschnittstelle 2306 kann eine oder mehrere Schnittstellen zur Kommunikation (so beispielsweise zur paketbasierten Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 2300 oder einem oder mehreren Netzwerken bereitstellen. Beinhalten kann die Kommunikationsschnittstelle 2306 beispiels- und nicht beschränkungshalber einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter für die Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einen Drahtlos-NIC (WNIC) oder einen Drahtlosadapter für die Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem WI-FI. Die Rechenvorrichtung 2300 kann des Weiteren einen Bus 2312 beinhalten. Der Bus 2312 kann Hardware, Software oder beides, die Komponenten der Rechenvorrichtung 2300 miteinander koppeln, umfassen.
  • Die Rechenvorrichtung 2300 beinhaltet eine Speichervorrichtung 2308 mit einem Speicher zur Speicherung von Daten oder Anweisungen. Beispiels- und nicht beschränkungshalber kann die Speichervorrichtung 2308 ein nichttemporäres Speichermedium, wie es vorstehend beschrieben worden ist, umfassen. Die Speichervorrichtung 2308 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein USB-Laufwerk (USB Universeller Serieller Bus) oder eine Kombination aus diesen oder anderen Speichervorrichtungen beinhalten. Die Rechenvorrichtung 2300 beinhaltet zudem eine oder mehrere Eingabe- oder Ausgabevorrichtungen/Schnittstellen 2310 („I/O“), die dafür vorgesehen sind, einem Nutzer zu ermöglichen, eine Eingabe (so beispielsweise Nutzerstriche bzw. Nutzertastendrücke) in die Rechenvorrichtung einzugeben, eine Ausgabe von der Rechenvorrichtung zu empfangen und Daten auf andere Weise zu und von der Rechenvorrichtung 2300 zu transferieren. Diese I/O-Vorrichtungen/Schnittstellen 2310 können eine Maus, ein Tastenfeld oder eine Tastatur, einen berührungsempfindlichen Bildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination derartiger I/O-Vorrichtungen/Schnittstellen 2310 beinhalten. Der berührungsempfindliche Bildschirm kann mit einem Stift oder einem Finger aktiviert werden.
  • Die I/O-Vorrichtungen/Schnittstellen 2310 können eine oder mehrere Vorrichtungen zum Präsentieren einer Ausgabe gegenüber einem Nutzer beinhalten, darunter unter anderem eine Grafik-Engine, eine Anzeige (beispielsweise einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Audiolautsprecher und einen oder mehrere Audiotreiber. Bei gewissen Ausführungsformen sind die I/O-Vorrichtungen/Schnittstellen 2310 dafür konfiguriert, grafische Daten für eine Anzeige zur Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können eine oder mehrere grafische Nutzerschnittstellen und/oder beliebigen anderen grafischen Content darstellen, so dies bei einer bestimmten Implementierung von Nutzen ist.
  • In der vorstehenden Beschreibung sind Ausführungsformen anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Es sind verschiedene Ausführungsformen anhand der hier erläuterten Details beschrieben worden, wobei die begleitende Zeichnung die verschiedenen Ausführungsformen illustriert. Die vorstehende Beschreibung und die Zeichnung sind für eine oder mehrere Ausführungsformen illustrativ und sollen nicht beschränkend gedeutet werden. Es werden zahlreiche spezifische Details beschrieben, um ein gründliches Verständnis der verschiedenen Ausführungsformen bereitzustellen.
  • Ausführungsformen können andere spezifische Formen beinhalten, ohne vom Wesen oder wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sollen in jeglicher Hinsicht nur als illustrativ und nicht als restriktiv gedeutet werden. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Handlungen durchgeführt werden, oder es können die Schritte/Handlungen in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Handlungen wiederholt werden oder parallel zueinander durchgeführt werden oder parallel zu verschiedenen bzw. anderen Instanzen derselben oder ähnlicher Schritte/Handlungen durchgeführt werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung gegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in ihrem Umfang eingeschlossen sein.
  • Bei den verschiedenen vorbeschriebenen Ausführungsformen soll, außer dies ist explizit anders angegeben, disjunktive Sprache, so beispielsweise der Ausdruck „wenigstens eines von A, B oder C“, derart verstanden werden, dass entweder A, B oder C oder eine beliebige Kombination hieraus (beispielsweise A, B und/oder C) gemeint ist. Disjunktive Sprache als solche soll nicht implizieren oder so verstanden werden, dass eine gegebene Ausführungsform das jeweilige Vorhandensein von wenigstens einem von A, wenigstens einem von B oder wenigstens einem von C erfordert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Semantikhierarchieverwalter 2006 und einen Speicherverwalter 2010 [0097]
    • Der Speicherverwalter 2010 beinhaltet Schichtdaten 2018, Zeichnungsdaten 2020 [0097]
    • Semantikhierarchiedaten 2022 [0097]
    • beinhaltet das Grafikdesignsystem 2000 den Nutzerschnittstellenverwalter 2002 [0098]
    • Der Nutzerschnittstellenverwalter 2002 ermöglicht [0098]
    • Semantikhierarchieverwalter 2006 [0100]
    • Der Semantikhierarchieverwalter 2006 [0100]
    • Semantikhierarchieverwalt [0100]
    • Speicherverwalter 2010 [0101]
    • Der Speicherverwalter 2010 hält Daten für das Grafikdesignsystem 2000 [0101]
    • Jede der Komponenten 2002 bis 2010 [0103]
    • Alternativ können die Komponenten 2002 [0104]
    • ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, ADOBE ACROBAT, ADOBE ILLUSTRATOR, ADOBE LIGHTROOM und ADOBE INDESIGN. „ADOBE“, „CREATIVE CLOUD“, „PHOTOSHOP“, „ACROBAT“, „ILLUSTRATOR“, „LIGHTROOM [0105]

Claims (20)

  1. Verfahren, umfassend: Empfangen einer Auswahl eines Contenttyps, der generiert werden soll; Empfangen einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps; Bestimmen eines Platzierungskontexts, der dem Ort auf der Digitalzeichenfläche zugeordnet ist; Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts; und unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgendes Generieren von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche unter Nutzung der einen oder der mehreren Contentregeln.
  2. Verfahren nach Anspruch 1, wobei der Platzierungskontext eines oder mehrere beinhaltet von: dem Contenttyp, einem oder mehreren Contenttypen nahe an dem Ort, bestehenden Schichten, die dem Ort zugeordnet sind, oder einer Schicht-z-Reihenfolge.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts des Weiteren umfasst: Identifizieren einer Größencontentregel, die dem Content zugeordnet ist; und unter Nutzung der Größencontentregel erfolgendes Bestimmen einer Standardgröße des Contents an dem Ort auf Grundlage des Platzierungskontexts.
  4. Verfahren nach Anspruch 3, des Weiteren umfassend: Empfangen einer Auswahl eines neuen Ortes auf Grundlage einer Änderung einer Cursorposition; und Bestimmen einer neuen Standardgröße des Contents auf Grundlage der Größencontentregel und des neuen Ortes.
  5. Verfahren nach Anspruch 3 oder 4, des Weiteren umfassend: Empfangen einer Auswahl einer Größe des Contents; und Übergehen der Größencontentregel auf Grundlage der Auswahl der Größe.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts des Weiteren umfasst: Identifizieren einer Ausrichtungsregel mit Zuordnung zu dem Content und wenigstens einer räumlich benachbarten Schicht der Digitalzeichenfläche; und Bestimmen eines oder mehrerer Ausrichtungsparameter zum Ausrichten des Contents mit der wenigstens einen räumlich benachbarten Schicht.
  7. Verfahren nach Anspruch 6, des Weiteren umfassend: Identifizieren der wenigstens einen räumlich benachbarten Schicht auf Grundlage wenigstens einer semantischen Hierarchie von Schichten der Digitalzeichenfläche.
  8. Nichttransitorisches bzw. nichttemporäres computerlesbares Speichermedium, das darauf gespeicherte Anweisungen beinhaltet, die bei Ausführung durch wenigstens einen Prozessor den wenigstens einen Prozessor veranlassen zum: Empfangen einer Auswahl eines Contenttyps, der generiert werden soll; Empfangen einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps; Bestimmen eines Platzierungskontexts, der dem Ort auf der Digitalzeichenfläche zugeordnet ist; Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts; und unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgenden Generieren von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche unter Nutzung der einen oder der mehreren Contentregeln.
  9. Nichttemporäres computerlesbares Speichermedium nach Anspruch 8, wobei der Platzierungskontext eines oder mehrere beinhaltet von: dem Contenttyp, einem oder mehreren Contenttypen nahe an dem Ort, bestehenden Schichten, die dem Ort zugeordnet sind, oder einer Schicht-z-Reihenfolge.
  10. Nichttemporäres computerlesbares Speichermedium nach Anspruch 8 oder 9, wobei zum Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts die Anweisungen bei Ausführung den wenigstens einen Prozessor des Weiteren veranlassen zum: Identifizieren einer Größencontentregel, die dem Content zugeordnet ist; und unter Nutzung der Größencontentregel erfolgenden Bestimmen einer Standardgröße des Contents an dem Ort auf Grundlage des Platzierungskontexts.
  11. Nichttemporäres computerlesbares Speichermedium nach Anspruch 10, wobei die Anweisungen bei Ausführung den wenigstens einen Prozessor des Weiteren veranlassen zum: Empfangen einer Auswahl eines neuen Ortes auf Grundlage einer Änderung einer Cursorposition; und Bestimmen einer neuen Standardgröße des Contents auf Grundlage der Größencontentregel und des neuen Ortes.
  12. Nichttemporäres computerlesbares Speichermedium nach Anspruch 10 oder 11, wobei die Anweisungen bei Ausführung den wenigstens einen Prozessor des Weiteren veranlassen zum: Empfangen einer Auswahl einer Größe des Contents; und Übergehen der Größencontentregel auf Grundlage der Auswahl der Größe.
  13. Nichttemporäres computerlesbares Speichermedium nach einem der Ansprüche 8 bis 12, wobei zum Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts die Anweisungen bei Ausführung den wenigstens einen Prozessor des Weiteren veranlassen zum: Identifizieren einer Ausrichtungsregel mit Zuordnung zu dem Content und wenigstens einer räumlich benachbarten Schicht der Digitalzeichenfläche; und Bestimmen eines oder mehrerer Ausrichtungsparameter zum Ausrichten des Contents mit der wenigstens einen räumlich benachbarten Schicht.
  14. Nichttemporäres computerlesbares Speichermedium nach Anspruch 13, wobei die Anweisungen bei Ausführung den wenigstens einen Prozessor des Weiteren veranlassen zum: Identifizieren der wenigstens einen räumlich benachbarten Schicht auf Grundlage wenigstens einer semantischen Hierarchie von Schichten der Digitalzeichenfläche.
  15. Grafikdesignsystem, umfassend: wenigstens einen Prozessor; und einen Speicher, der darauf gespeicherte Anweisungen beinhaltet, die bei Ausführung durch den wenigstens einen Prozessor das Grafikdesignsystem veranlassen zum: Empfangen einer Auswahl eines Contenttyps, der generiert werden soll; Empfangen einer Auswahl eines Ortes auf einer Digitalzeichenfläche zum Platzieren von Content des Contenttyps; Bestimmen eines Platzierungskontexts, der dem Ort auf der Digitalzeichenfläche zugeordnet ist; Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts; und unter Nutzung eines oder mehrerer maschinell lernender Modelle erfolgenden Generieren von Content des ausgewählten Contenttyps an dem Ort auf der Digitalzeichenfläche unter Nutzung der einen oder der mehreren Contentregeln.
  16. Grafikdesignsystem nach Anspruch 15, wobei der Platzierungskontext eines oder mehrere beinhaltet von: dem Contenttyp, einem oder mehreren Contenttypen nahe an dem Ort, bestehenden Schichten, die dem Ort zugeordnet sind, oder einer Schicht-z-Reihenfolge.
  17. Grafikdesignsystem nach Anspruch 15 oder 16, wobei zum Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts die Anweisungen bei Ausführung das Grafikdesignsystem des Weiteren veranlassen zum: Identifizieren einer Größencontentregel, die dem Content zugeordnet ist; und unter Nutzung der Größencontentregel erfolgenden Bestimmen einer Standardgröße des Contents an dem Ort auf Grundlage des Platzierungskontexts.
  18. Grafikdesignsystem nach Anspruch 17, wobei die Anweisungen bei Ausführung das Grafikdesignsystem des Weiteren veranlassen zum: Empfangen einer Auswahl eines neuen Ortes auf Grundlage einer Änderung einer Cursorposition; und Bestimmen einer neuen Standardgröße des Contents auf Grundlage der Größencontentregel und des neuen Ortes.
  19. Grafikdesignsystem nach Anspruch 17 oder 18, wobei die Anweisungen bei Ausführung das Grafikdesignsystem des Weiteren veranlassen zum: Empfangen einer Auswahl einer Größe des Contents; und Übergehen der Größencontentregel auf Grundlage der Auswahl der Größe.
  20. Grafikdesignsystem nach einem der Ansprüche 15 bis 19, wobei zum Identifizieren einer oder mehrerer Contentregeln für den Content auf Grundlage einer statischen Analyse des Platzierungskontexts die Anweisungen bei Ausführung das Grafikdesignsystem des Weiteren veranlassen zum: Identifizieren einer Ausrichtungsregel mit Zuordnung zu dem Content und wenigstens einer räumlich benachbarten Schicht der Digitalzeichenfläche; und Bestimmen eines oder mehrerer Ausrichtungsparameter zum Ausrichten des Contents mit der wenigstens einen räumlich benachbarten Schicht.
DE102022129710.1A 2022-01-27 2022-11-10 Contentfehlerbehebung in Grafikdesigndokumenten Pending DE102022129710A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/586,609 2022-01-27
US17/586,609 US20230237719A1 (en) 2022-01-27 2022-01-27 Content linting in graphic design documents

Publications (1)

Publication Number Publication Date
DE102022129710A1 true DE102022129710A1 (de) 2023-07-27

Family

ID=87068780

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022129710.1A Pending DE102022129710A1 (de) 2022-01-27 2022-11-10 Contentfehlerbehebung in Grafikdesigndokumenten

Country Status (4)

Country Link
US (1) US20230237719A1 (de)
CN (1) CN116543072A (de)
AU (1) AU2022275525B2 (de)
DE (1) DE102022129710A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12033251B2 (en) * 2022-01-27 2024-07-09 Adobe Inc. Automatically generating semantic layers in a graphic design document

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724242B2 (en) * 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7266370B2 (en) * 2004-09-20 2007-09-04 Trilibis Inc. System and method for developing and deploying device independent applications
US7499058B2 (en) * 2005-04-22 2009-03-03 Microsoft Corporation Programmatical access to handwritten electronic ink in a tree-based rendering environment
US8306969B2 (en) * 2008-09-23 2012-11-06 Microsoft Corporation Linking search queries to rich media themes
US20110264768A1 (en) * 2010-04-24 2011-10-27 Walker Digital, Llc Systems and methods for facilitating transmission of content from a source to a user device
JP5617448B2 (ja) * 2010-08-31 2014-11-05 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US10120847B2 (en) * 2012-01-27 2018-11-06 Usablenet Inc. Methods for transforming requests for web content and devices thereof
US10614156B1 (en) * 2012-11-14 2020-04-07 Worldwide Creative Techniques, Llc System and method for using a dynamic webpage editor
US10007933B2 (en) * 2013-02-22 2018-06-26 Swoop Inc. Systems and methods for integrating dynamic content into electronic media
US9787752B2 (en) * 2014-09-03 2017-10-10 Sap Se Hotspot editor for a user interface
US10198674B2 (en) * 2016-12-22 2019-02-05 Canon Kabushiki Kaisha Method, apparatus and system for rendering a graphical representation within limited memory
CN109240677B (zh) * 2017-07-07 2020-10-16 阿里巴巴集团控股有限公司 一种图层处理方法及装置
US10909401B2 (en) * 2018-05-29 2021-02-02 Sri International Attention-based explanations for artificial intelligence behavior
US20200242771A1 (en) * 2019-01-25 2020-07-30 Nvidia Corporation Semantic image synthesis for generating substantially photorealistic images using neural networks
US11126340B2 (en) * 2019-02-20 2021-09-21 Mastercard International Incorporated Systems and methods for dynamically generating customized web-based payment interfaces
US10930040B2 (en) * 2019-05-20 2021-02-23 Adobe Inc. Graphic object modifications
MX2022002517A (es) * 2020-05-08 2022-03-25 Bold Ltd Sistemas y metodos para crear documentos mejorados para un perfecto analisis sintactico automatizado.
US11138775B1 (en) * 2020-08-06 2021-10-05 Richard R. Rosser Interactive illustration system, interactive animation system, and methods of use
US20220180602A1 (en) * 2020-12-03 2022-06-09 Nvidia Corporation Generating images of virtual environments using one or more neural networks
US11989398B2 (en) * 2021-10-22 2024-05-21 Ebay Inc. Digital content view control system
US11778064B2 (en) * 2021-11-10 2023-10-03 Pencil Learning Technologies, Inc. Systems and methods for generating educational fluid media
US20230334795A1 (en) * 2022-01-25 2023-10-19 Multinarity Ltd Dual mode presentation of user interface elements
US12033251B2 (en) * 2022-01-27 2024-07-09 Adobe Inc. Automatically generating semantic layers in a graphic design document

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, ADOBE ACROBAT, ADOBE ILLUSTRATOR, ADOBE LIGHTROOM und ADOBE INDESIGN. „ADOBE", „CREATIVE CLOUD", „PHOTOSHOP", „ACROBAT", „ILLUSTRATOR", „LIGHTROOM
Alternativ können die Komponenten 2002
beinhaltet das Grafikdesignsystem 2000 den Nutzerschnittstellenverwalter 2002
Der Nutzerschnittstellenverwalter 2002 ermöglicht
Der Semantikhierarchieverwalter 2006
Der Speicherverwalter 2010 beinhaltet Schichtdaten 2018, Zeichnungsdaten 2020
Der Speicherverwalter 2010 hält Daten für das Grafikdesignsystem 2000
Jede der Komponenten 2002 bis 2010
Semantikhierarchiedaten 2022
Semantikhierarchieverwalt
Semantikhierarchieverwalter 2006
Semantikhierarchieverwalter 2006 und einen Speicherverwalter 2010
Speicherverwalter 2010

Also Published As

Publication number Publication date
AU2022275525B2 (en) 2024-08-29
CN116543072A (zh) 2023-08-04
US20230237719A1 (en) 2023-07-27
AU2022275525A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102022130284A1 (de) Automatisches Generieren von semantischen Schichten in einem Grafikdesigndokument
DE112015003406B4 (de) Datenherkunftssummierung
DE102020002153A1 (de) Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern
DE102020001655A1 (de) Einsetzen mehrerer ein Objekt detektierender Modelle zum automatischen Auswählen von nutzerseitig angeforderten Objekten in Bildern
DE102020002964A1 (de) Verwenden eines neuronalen Netzwerks mit einer Zwei-Strom Encoder-Architektur zur Erzeugung digitaler Kompositbilder
DE102020002152A1 (de) Klassifizieren von Farben von Objekten in Digitalbildern
US20120092357A1 (en) Region-Based Image Manipulation
DE102019000675A1 (de) Nutzen eines modells auf der basis eines tiefen neuronalen netzwerks zum identifizieren von visuell ähnlichen digitalen bildern auf der basis von nutzer-ausgewählten visuellen eigenschaften
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE102022105471A1 (de) Generieren von modifizierten Digitalbildern unter Einsatz von tiefen visuellen angeleiteten Patchabgleichsmodellen zur Bildwiederherstellung
DE202016107451U1 (de) Systeme zur interaktiven Darstellung eines sichtbaren Teils einer Rendering-Oberfläche auf einem Benutzergerät
DE102021004506A1 (de) Generative Bildzusammenführung
DE102020001437A1 (de) Verwendung kontextsensitiver Sensoren und multidimensionaler Gesteneingaben zum effizienten Generieren von nachbearbeiteten Digitalbildern
DE102019000178A1 (de) Interaktives System zum automatischen Synthetisieren einer contentsensitiven Füllung
DE102012215488A1 (de) Adaptive Anwenderschnittstelle für ein kreatives Multimedia-Gestaltungssystem
DE102022129710A1 (de) Contentfehlerbehebung in Grafikdesigndokumenten
DE102022129703A1 (de) Organisieren eines Grafikdesigndokumentes unter Nutzung semantischer Schichten
DE102023110001A1 (de) Anwenden eines objektbewussten Stiltransfers auf Digitalbilder
DE102023131072A1 (de) Aufweiten von Objektmasken zur Verringerung von Artefakten während des Rekonstruierens
DE102023131135A1 (de) Detektieren von Objektbeziehungen und Bearbeiten von Digitalbildern auf Grundlage der Objektbeziehungen
DE102023120640A1 (de) Gestaltete glyphen vermittels generativer ki
DE102023125641A1 (de) Entfernen von störenden Objekten aus Digitalbildern
DE102023120654A1 (de) Zusammensetzung von zielszenen vermittels generativer ki
DE102022002707A1 (de) Maschinell lernende Konzepte zur Schnittstellenmerkmalseinführung über Zeitzonen oder grafische Bereiche hinweg

Legal Events

Date Code Title Description
R012 Request for examination validly filed