DE102018001136A1 - Interaktive Farbpalettenschnittstelle zum digitalen Malen - Google Patents

Interaktive Farbpalettenschnittstelle zum digitalen Malen Download PDF

Info

Publication number
DE102018001136A1
DE102018001136A1 DE102018001136.5A DE102018001136A DE102018001136A1 DE 102018001136 A1 DE102018001136 A1 DE 102018001136A1 DE 102018001136 A DE102018001136 A DE 102018001136A DE 102018001136 A1 DE102018001136 A1 DE 102018001136A1
Authority
DE
Germany
Prior art keywords
color
attributes
pixel group
color value
gui
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
DE102018001136.5A
Other languages
English (en)
Inventor
Maria Shugrina
Stephen J. DiVerdi
Jingwan Lu
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 Systems 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 Systems Inc filed Critical Adobe Systems Inc
Publication of DE102018001136A1 publication Critical patent/DE102018001136A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Abstract

Eine interaktive Palettenschnittstelle beinhaltet einen Farbaufnehmer für digitale Malanwendungen. Ein Nutzer kann Farben zum Kreieren eines digitalen Kunstwerkes unter Verwendung der interaktiven Palettenschnittstelle kreieren, modifizieren und auswählen. Die interaktive Palettenschnittstelle beinhaltet eine Mischfläche, in der Farben zum Zusammenmischen hinzugefügt, entfernt und umgeordnet werden können, um Gradienten und Skalen zu kreieren. Die Mischfläche ist eine digitale Nachbildung einer physischen Palette, auf der ein Künstler verschiedene Farben vor dem Aufbringen derselben auf das Kunstwerk hinzufügt und mischt. Farbkleckse, die logische Gruppen von Pixeln in der Mischfläche sind, können vom Nutzer räumlich umgeordnet und skaliert werden, um verschiedene Kombinationen von Farben zu kreieren und auszuprobieren. Die Farbe, Position und Größe eines jeden Kleckses beeinflusst die Farbe anderer Pixel in der Mischfläche. Bearbeitungen an der Mischfläche sind nichtdestruktiv, und es bleibt eine unendliche Historie von Farbkombinationen erhalten.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung betrifft allgemein die digitale Bildverarbeitung und insbesondere Techniken zum Kreieren, Modifizieren und Auswählen von Farben für digitale Kunstwerke unter Verwendung einer interaktiven Palettenschnittstelle.
  • Hintergrund
  • Gewisse Interaktionsmittel, so beispielsweise Tablets und Stifte, stellen eine natürliche Schnittstelle für Künstler, die digitale Malanwendungen nutzen, bereit. Zum Auswählen einer Farbe setzen einige bestehende digitale Malwerkzeuge eine Farbaufnehmerschnittstelle (color picker interface) ein, die vor Jahrzehnten entwickelt worden ist. Die bestehenden Farbaufnehmer werden jedoch nur einem Bruchteil der Funktionalität einer traditionellen Palette eines Künstlers gerecht, die ein grundlegendes Werkzeug beim Malen mit physischen Medien ist. Traditionelle Paletten sind üblicherweise starre, flache Oberflächen, auf denen ein Maler verschiedene Farben anordnet und mischt. Traditionelle Paletten werden nicht nur für einen einfachen Zugriff auf Farben genutzt, sondern ermöglichen einem Künstler auch das Kreieren einer eigenen Ansicht des Farbraumes, der für das Kunstwerk spezifisch ist. Darüber hinaus ermöglichen traditionelle Paletten einem Künstler, leicht auf vorgemischte Farben zuzugreifen. Des Weiteren eröffnet die Möglichkeit, traditionelle Paletten zum Mischen von Farben zu verwenden, einen Weg, zusammenhängende Harmonien zu kreieren, so beispielsweise die Farbe einer Orange, die sich an der blauen Oberfläche einer Vase spiegelt. Traditionelle Paletten eröffnen einem Künstler zudem die Möglichkeit, Farben auszuprobieren und damit herumzuspielen und eine Farbskala (color gamut) für ein Gesamtkunstwerk zu planen. Diese komplexen Interaktionen, die mit kreativen Malprozessen unter Verwendung traditioneller Mittel einhergehen, können bei bestehenden digitalen Malwerkzeugen nicht nachgestellt werden.
  • Figurenliste
  • Die Patent- oder Anmeldungsakte enthält wenigstens eine farbige Zeichnungsfigur. Kopien der Veröffentlichung des Patentes oder der Patentanmeldung mit der Farbzeichnung oder den Farbzeichnungen werden auf Antrag und nach Zahlung einer anfallenden Gebühr vom Amt zur Verfügung gestellt.
  • Die begleitende Zeichnung ist nicht maßstabsgetreu. In der Zeichnung sind alle identischen oder nahezu identischen Komponenten, die in verschiedenen Figuren dargestellt sind, mit den gleichen Bezugszeichen bezeichnet.
    • 1 zeigt ein exemplarisches System zum digitalen Malen unter Verwendung einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 2 zeigt eine exemplarische interaktive Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 3A bis 3F zeigen einige weitere exemplarische interaktive Palettenschnittstellen entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 4A bis 4F zeigen verschiedene interaktive Bearbeitungsfunktionen einer exemplarischen Mischfläche in einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 5 zeigt eine exemplarische interaktive Palettenschnittstelle mit einem Farbhistorienrad entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 6 zeigt eine weitere exemplarische interaktive Palettenschnittstelle mit einem Farbhistorienrad entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 7 ist ein Flussdiagramm eines exemplarischen Verfahrens zum digitalen Malen unter Verwendung einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 8 ist ein Flussdiagramm eines exemplarischen Verfahrens zum Bearbeiten einer interaktiven Palette entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 9 ist ein Flussdiagramm eines exemplarischen Verfahrens zum Beibehalten einer Farbhistorie einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 10 ist ein Flussdiagramm eines exemplarischen Verfahrens zum automatischen Erstellen einer Farbpalette entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 11 ist ein Blockdiagramm zur Darstellung einer exemplarischen Rechenvorrichtung, die bei der Umsetzung einer beliebigen der verschiedentlich in der vorliegenden Offenbarung beschriebenen Techniken Verwendung finden kann.
  • Detailbeschreibung
  • Übersicht
  • In der Realität bieten traditionelle Malpaletten eine Oberfläche zum Anordnen und Mischen von Farbe. Traditionelle Paletten ermöglichen, dass Künstler beim Farbmischprozess intuitiv ein Element hinzufügen, machen jedoch gleichzeitig die Auswahl einer spezifischen Farbe infolge der Beschränkungen beim Mischen von Farben schwieriger. Einige Farben enthalten, sobald sie zusammengemischt sind, beispielsweise Farbtöne (hues), die schwierig herauszuheben oder zu unterdrücken sind, was Künstler zwingt, den Mischprozess mit frischer Farbe erneut zu beginnen. Ein gängiges Beispiel hierfür ist das Hinzufügen von schwarzer Farbe zu weißer Farbe, wonach es nahezu unmöglich ist, den ursprünglichen Farbton der weißen Farbe wiederherzustellen. Traditionelle Paletten ermöglichen Künstlern zudem, Farben nach eigenem Gusto am Rand der Palette anzuordnen. Eine derartige räumliche Anordnung von Farben auf der Palette stellt die gesamte Farbskala gleichzeitig dar, was sodann eine Harmonisierung ermöglicht, indem allen Farben auf der Palette eine neue Farbe, so beispielsweise eine Rotnuance, hinzugefügt wird. Sobald die Farben angeordnet sind, kann die Palette jedoch nicht mehr umgeordnet werden, was bedingt, dass sie mit der Zeit unübersichtlich wird. Physische Paletten weisen die Nachteile physischer Medien auf, also beispielsweise die Unmöglichkeit, eine vorher vorhandene Farbe wiederherzustellen. Sobald eine gemischte Farbe ausgeht, ist deren Reproduktion gegebenenfalls sehr schwierig. Des Weiteren erlauben physische Paletten keine nichtdestruktive Bearbeitung (Änderung der Farben), was den Künstler beim Experimentieren und Rückgängigmachen von Fehlern einschränkt. Dies kann bewirken, dass Künstler beim Ausprobieren zurückhaltender sind, als sie es wären, wenn eine nichtdestruktive Bearbeitung möglich wäre. Aus diesen Gründen ist das bloße Nachbilden einer physischen Palette in einer digitalen Ausgabe nicht die beste Option dafür, den farblichen Bedürfnissen eines Künstlers gerecht zu werden.
  • In der Realität können einige bestehende digitale Farbaufnehmer (color pickers) Vorlieben eines Künstlers entgegenkommen, was bei einer traditionellen Farbpalette nicht möglich ist. Einige bestehende digitale Farbaufnehmer stellen beispielsweise Mechanismen zum Auswählen einer Farbe, so beispielsweise ein interaktives Farbenrad, bereit. Derartige bestehende Farbaufnehmer unterstützen auch Farbhistorien und Musterpaletten (swatch palettes), und zwar unabhängig von der Farbaufnehmerschnittstelle durch ein Pipettenwerkzeug (eye dropper tool), das bei Malprogrammen üblich ist (und das Sampeln einer Farbe von der Leinwand ermöglicht). Derartigen bestehenden Farbaufnehmern mangelt es jedoch an anderen Fähigkeiten, so beispielsweise dem Mischen und Harmonisieren von Farben in Bezug auf andere Farben, dem Ausprobieren und Experimentieren mit verschiedenen Farbkombinationen und dem Organisieren von Farben in einer grafischen Schnittstelle unter Verwendung eines Farbskalenlayouts. Einige Künstler setzen Behelfslösungen ein, um diese fehlenden Fähigkeiten zu verwirklichen, so beispielsweise eine Musterpalette, um eine Farbskala zu organisieren. Da die bestehenden Schnittstellen jedoch nicht für derartige Verwendungen konzipiert sind, sind sie anfällig und kompliziert.
  • Zu diesem Zweck sind Techniken zum digitalen Malen unter Verwendung einer interaktiven Palettenschnittstelle bereitgestellt worden, die bestimmte Merkmale traditioneller Malpaletten ins Digitale übernehmen und zudem bestehende digitale Farbaufnehmer verbessern. Entsprechend einer Ausführungsform der vorliegenden Offenbarung kann ein, Nutzer Farben zum Kreieren eines digitalen Kunstwerkes unter Verwendung der interaktiven Palettenschnittstelle kreieren, modifizieren und auswählen. Die interaktive Palettenschnittstelle beinhaltet eine Mischfläche, auf der Farben zum Zusammenmischen hinzugefügt, entfernt und umgeordnet werden können, um Gradienten und Skalen zu kreieren. Die Mischfläche ist eine digitale Nachbildung einer physischen Palette, auf der ein Künstler verschiedene Farben vor deren Aufbringung auf das Kunstwerk hinzufügt und mischt. Farbkleckse (color blobs), die logische Gruppen von Pixeln in der Mischfläche darstellen, können vom Nutzer räumlich umgeordnet und skaliert werden, um verschiedene Farbkombinationen zu kreieren und auszuprobieren. Die Farbe, Position und Größe eines jeden Farbkleckses beeinflusst die Farbe anderer Pixel in der Mischfläche. Bearbeitungen an der Mischfläche sind nichtdestruktiv, sodass eine potenziell unbegrenzte Historie von Farbkombinationen erhalten bleibt, was dem Nutzer ermöglicht, vorher kreierte Farbkombinationen wiederherzustellen und zu modifizieren. Bei einigen Ausführungsformen kann daher die Mischfläche durch Reproduzieren von Farben aus einem bestehenden digitalen Kunstwerk anstelle von manuell vom Nutzer kreierten Farben oder auch zusätzlich hierzu automatisch kreiert oder modifiziert werden.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird eine parametrische Palettenschnittstelle bereitgestellt, die Beschränkungen bei bestehenden Farbpaletten sowohl im physischen bzw. physikalischen wie auch digitalen Bereich angeht. Die Palettenschnittstelle ist leicht und intuitiv in der Bedienung, schnell in der Wiedergabe und kompakt in der Speicherung. Die Darstellung ist auf andere digitale Farbbearbeitungen und physische bzw. physikalische Farbmodelle verallgemeinerbar und unterstützt das Nachverfolgen einer vollständigen Historie (full history tracking). Das Konzept bietet die nachfolgenden Möglichkeiten und vermeidet dabei zahlreiche Unzulänglichkeiten traditioneller Paletten: das Kreieren und Auswählen von Farben; das Zugreifen auf vorher kreierte Farben; das Kreieren (Harmonisieren) von Farben im Zusammenhang mit anderen Farben; die Vorlage einer Farbskala zur Verwendung für ein Kunstwerk unter Einbeziehung von Schattierungen und Tönen; und das Ausprobieren verschiedener Farbkombinationen als Teil des kreativen Prozesses. Die offenbarten Techniken sind insbesondere in Situationen von Nutzen, in denen ein intuitiver Umgang mit natürlichen Werkzeugen Menschen bei der Arbeit mit Farbe ermuntern kann, digital zu malen, und öffnet bereits digital tätigen Künstlern neue Grade an kreativer Freiheit. Eine derartige interaktive Palettenschnittstelle kombiniert Merkmale physischer und digitaler Paletten. Ein Farbaufnehmer für digitale Malanwendungen entsprechend einer Ausführungsform beinhaltet beispielsweise eine intuitive Schnittstelle für Künstler, die mit traditionellen Ölfarben- oder Wasserfarbenmedien vertraut sind.
  • Systemarchitektur
  • 1 zeigt ein exemplarisches System 100 zum digitalen Malen unter Verwendung einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das System 100 beinhaltet eine Rechenvorrichtung 110 mit einem Prozessor 120, eine digitale Malanwendung 130 sowie eine grafische Nutzerschnittstelle (GUI) 160, die eine interaktive Palettenschnittstelle 162 beinhaltet. Die Rechenvorrichtung 110 ist dafür ausgelegt, ein Palettenwiedergabemodul 140, ein Palettenbearbeitungsmodul 142, ein Palettenhistorienmodul 144 und ein Palettenautoerstellungsmodul 146 auszuführen.
  • Wie nachstehend beispielsweise anhand 2, 3A bis 3F, 4A bis 4F, 5, 6, 7, 8, 9 und 10 noch detaillierter beschrieben wird, ist das Palettenwiedergabemodul 140 allgemein dafür ausgelegt, einer oder mehreren Pixelgruppen oder Farbklecksen, die in der grafischen Nutzerschnittstelle (GUI) der Rechenvorrichtung 110 wiedergegeben sind, Attribute zuzuweisen, eine Farbe wenigstens eines anderen Pixels in der GUI als parametrische Funktion der Pixelgruppenattribute zu berechnen und die Pixel in der GUI wiederzugeben. Es sollte einsichtig sein, dass ein „Pixel“ im Sinne der vorliegenden Offenbarung einen physischen Punkt in einem Bild beinhaltet, das durch eine digitale oder elektronische Anzeige oder eine Druckervorrichtung dargestellt wird. Die Attribute beinhalten die Farbe, die Position und die Größe der Pixelgruppe. Das Palettenbearbeitungsmodul 142 ist allgemein dafür ausgelegt, eine Eingabe zu empfangen, die eine Modifikation der Farbe, der Position oder der Größe einer oder mehrerer Pixelgruppen darstellt, die Farbe einer oder mehrerer weiterer Pixel in der GUI unter Verwendung der parametrischen Funktion zu aktualisieren und die aktualisierten Pixel in der GUI wiederzugeben. Das Palettenhistorienmodul 144 ist allgemein dafür ausgelegt, eines oder mehrerer der Attribute der Pixelgruppen vor der Modifikation der Attribute derart zu speichern, dass die Attribute, sobald sie modifiziert sind, in Reaktion auf eine Nutzereingabe aus den gespeicherten Werten wiederhergestellt werden können. Das Palettenautoerstellungsmodul 146 ist allgemein dafür ausgelegt, eine oder mehrere Farben aus einem bestehenden digitalen Kunstwerk in eine interaktive Farbpalette umzuwandeln.
  • Exemplarische parametrische Palettenschnittstelle
  • Entsprechend einer Ausführungsform wird eine Palette P für ein gegebenes Kunstwerk als Satz von Mischflächen D1 ... Dn dargestellt, wobei jede Mischfläche ein Satz von Farbklecksen Bi ist. Jeder Klecks Bi ist ein Tupel von Attributen (ci, pi, ri, mi}, die einen Farbvektor ci in einem gewählten Farbraum
    Figure DE102018001136A1_0001
    (beispielsweise sRGB), eine Position pi in
    Figure DE102018001136A1_0002
    , einen kontinuierlichen Teilsatz von ℝ2 (beispielsweise die Zone, die durch den Einheitskreis definiert wird), einen Radius ri und einen optionalen Metadatenvektor mi enthalten. Bei einigen Ausführungsformen stellen die Attribute eine oder mehrere Nutzereingaben, die von einer Clientvorrichtung empfangen werden, bereit, die jeweils einer Auswahl eines Farbkleckses, einer Position des Farbkleckses innerhalb der Mischfläche relativ zu beliebigen anderen Farbklecksen und einer Größe des Farbkleckses entsprechen. Beliebige oder alle der Attribute können vom Nutzer über eine interaktive Palettenschnittstelle, die von der Clientvorrichtung bereitgestellt wird, gesteuert bzw. geregelt werden. Es wird eine Familie kontinuierlicher, glatter bzw. stetiger Funktionen
    Figure DE102018001136A1_0003
    definiert, wobei jede Funktion eine lokale Einflusszone eines jeden Kleckses auf die Farbe anderer Pixel in der Mischfläche definiert, um auf der Palette einen Farbgradienten zwischen Farbklecksen oder andernfalls in deren Nähe zu erzeugen. Die Positions- und Radiusparameter eines jeden Kleckses Bi definieren implizit dessen Einflussfunktion Mi := F(pi,ri) über der Domäne
    Figure DE102018001136A1_0004
    In einigen Fällen wird eine Variante der Metakugelfunktion (metaball function) verwendet, die eine Gauß'sche Näherung mit endlicher Ausdehnung ist, und es wird eine quadratische Radiustransformation eingesetzt, um für Kleckse verschiedener Radien einen gleichen Einflussrand sicherzustellen.
  • 2 zeigt eine exemplarische Palette 140 mit einer Mischfläche 202 entsprechend einer Ausführungsform. Die Palette 140 kann beispielsweise als Teil der interaktiven Palettenschnittstelle 162 von 1 implementiert sein. Die Palette 140 beinhaltet einen Referenzrahmen 212, der beispielsweise durch x- und y-Koordinaten zur Lokalisierung von Pixeln innerhalb der Palette 140 definiert ist. Die Mischfläche 202 kann beispielsweise eine erste Gruppe von Pixeln 204 und eine zweite Gruppe von Pixeln 206 beinhalten. Jede der ersten und zweiten Gruppen von Pixeln 204 und 206 kann auch als Farbklecks bezeichnet werden. Es sollte einsichtig sein, dass die Mischfläche 202 eine beliebige Anzahl von Farbklecksen beinhalten kann. Im vorliegenden Fall sind lediglich zwei Farbkleckse zu Erläuterungszwecken dargestellt. Die erste Pixelgruppe 204 beinhaltet mehrere erste Pixel, die in einem Kreis mit dem Radius r1 angeordnet sind, während die zweite Pixelgruppe 206 mehrere zweite Pixel, die in einem Kreis mit dem Radius r2 angeordnet sind, beinhaltet. Die Pixel in der ersten Pixelgruppe 204 weisen eine Farbe c1 auf, während die Pixel in der zweiten Pixelgruppe 206 eine Farbe c2 aufweisen. Die Mischfläche 204 kann des Weiteren eine Isooberfläche (isosurface) 208 beinhalten, die an die erste Pixelgruppe 204 und die zweite Pixelgruppe 206 anschließt. Pixel auf der Isooberfläche 208, darunter ein Isooberflächenpixel 210, weisen eine oder mehrere Farben auf, die durch die parametrische Einflussfunktion Mi definiert sind, die die Farbe cp für ein Pixel (beispielsweise das Isooberflächenpixel 210) definiert, das relativ zu dem Referenzrahmen 212 an dem Punkt p befindlich ist. Die parametrische Funktion Mi definiert den Farbgradienten über die gesamte Isooberfläche 208 hinweg als Funktion der Farben c1, c2, ...,cn, der Größen (beispielsweise der Radien r1 und r2) und der Orte einer jeden Pixelgruppe (beispielsweise der ersten Pixelgruppe 204 und der zweiten Pixelgruppe 206). Verschiedene Mischarten können zum Erzeugen des Gradienten verwendet werden, so beispielsweise die sRGB-Interpolation und die Interpolation im Spektralkoeffizientenraum echter Farben, die unter Verwendung der bekannten Kubelka-Munk-Transformation (K-M) zur diffusen Reflexion von Licht wiedergegeben werden.
  • Zur Wiedergabe einer Mischfläche Dj werden alle Punkte
    Figure DE102018001136A1_0005
    die der nachfolgenden Randbedingung genügen, wiedergegeben: T B i D j M i ( p )
    Figure DE102018001136A1_0006
  • Für eine gegebene Schwelle T > 0 führt dies zu einer glatten bzw. stetigen ausgefüllten Isooberfläche 208 der Kleckse 204, 206 (Klecks Bi in der Fläche Dj) in der Palette 104. Zur Berechnung der Farbe cp ∈ K bei p wird die parametrische Einflussfunktion Mi(p) als Interpolationsgewichtungen verwendet: c p = B i D j M i ( p ) c i B i D j M i ( p )
    Figure DE102018001136A1_0007
  • Die Punkte p und die Farbe cp eines jeden Punktes können parallel in einem Fragmentschattierer (fragment shader) berechnet werden.
  • In der Palette 140 können sRGB-Farben verwendet werden, obwohl auch andere Farbräume zum Einsatz kommen können. Anstelle eines dreidimensionalen sRGB-Vektors kann beispielsweise ci auch ein Vektor physischer bzw. physikalischer Kubelka-Munk-Koeffizienten (K-M) sein. Die Koeffizienten werden unter Verwendung der vorstehenden Gleichung für ci interpoliert, und es kann die Farbe mit der K-M-Gleichung wiedergegeben werden. Ein Satz von Koeffizienten für echte Acrylfarben kann als Alternative zu sRGB verwendet werden. Bei einigen Ausführungsformen können spezielle „Transformatorkleckse“, so beispielsweise Desaturatoren (Entsättiger) verwendet werden, die die S-Komponente des HSV-Farbraumes steuern bzw. regeln.
  • 3A bis 3F zeigen mehrere exemplarische Paletten mit drei, vier, fünf, sechs, sieben beziehungsweise acht Farbklecksen (oben) und den entsprechenden Farbverteilungen, die aus den jeweiligen Paletten gesampelt und im sRGB-Raum ausgedruckt sind (unten).
  • Interaktives Bearbeitungsbeispiel
  • Die exemplarische Palettenschnittstelle 140, die anhand 2 erläutert worden ist, ermöglicht eine reaktions- und ausdrucksgenaue Palettenschnittstelle. Eine derartige Schnittstelle kann auf einer Rechenvorrichtung mit einem berührungsempfindlichen Bildschirm, so beispielsweise auf einem Tablet, oder auch unter Verwendung einer herkömmlichen Eingabevorrichtung, so beispielsweise einer Maus, eines Stiftes oder einer anderen geeigneten Vorrichtung, implementiert sein. Ein Nutzer kann beispielsweise eine neue Mischfläche kreieren, Farbkleckse hinzufügen, entfernen und umordnen und eine Pinselfarbe unter Verwendung berührungsbasierter Eingaben ändern. Da der Standard-HSV-Farbaufnehmer zum Auswählen von Farben gut geeignet ist, ist er bei einigen Ausführungsformen in eine exemplarische Palettendarstellung integriert.
  • Die Palette 140 kann interaktiv bearbeitet werden, um eine große Vielzahl von Farbmannigfaltigkeiten zu parametrisieren, wodurch die Darstellung zu einem mächtigen und attraktiven Mechanismus beim Erstellen gängiger Farbräume und beim Ausprobieren von Farbskalen wird. 4A bis 4F zeigen verschiedene interaktive Bearbeitungsfunktionen einer exemplarischen Mischfläche 400 in einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung. Kreiert wird ein Farbklecks in der Mischfläche 400 von einem Nutzer allgemein durch Auswählen einer Farbe beispielsweise aus einem Farbenrad (siehe beispielsweise den Farbaufnehmer 606 von 6), Hinzufügen der ausgewählten Farbe zu der Mischfläche 400 zum Kreieren des Farbkleckses, Umherbewegen des Farbkleckses beispielsweise unter Verwendung einer Drag-Bewegung und Ändern der Größe und Umskalieren des Farbkleckses beispielsweise unter Verwendung einer Auseinander- und Zusammenziehbewegung (pinching motion).
  • Insbesondere zeigt 4A eine exemplarische Mischfläche 400, bei der der Nutzer die Palettenschnittstelle beispielsweise unter Verwendung einer berührungsempfindlichen Anzeige, einer Maus oder einer anderen geeigneten Eingabevorrichtung antippt, um einen Farbklecks 402 zu der Mischfläche 400 hinzuzufügen. Die Farbe kann beispielsweise unter Verwendung beliebiger geeigneter Farbauswahltechniken ausgewählt werden, so beispielsweise durch ein Farbenrad, einen Farbengleiter bzw. Farbenschieberegler oder eine Farbmusterschnittstelle. In 4A sind zusätzlich zwei weitere Farbkleckse 404 und 406 gezeigt.
  • 4B zeigt die exemplarische Mischfläche 400 von 4A, wobei der Nutzer hier den hinzugefügten Farbklecks 402 zu dem anderen Farbklecks 406 mittels Dragging bewegt. Wird der hinzugefügte Farbklecks 402 mittels Dragging näher an den anderen Farbklecks 406 heran oder weiter von diesem wegbewegt, so hat der hinzugefügte Farbklecks 402 dadurch eine Wirkung auf die Farben der Mischfläche 400, dass er Gradienten 408 mit glattem bzw. stetigem und fließendem Verhalten kreiert.
  • 4C zeigt die exemplarische Mischfläche 400 von 4A und 4B, wobei der Nutzer hier den Farbklecks 404 auseinander- und zusammenzieht, um dessen Größe sowie dessen Wirkung auf die Farben der Mischfläche 400 zu ändern. Das Ändern der Größe des Farbkleckses 404 ändert beispielsweise, wie in 4C gezeigt ist, im Vergleich zu 4B auch die Farben des Gradienten 410 benachbart zu dem Farbklecks 404.
  • 4D zeigt die exemplarische Mischfläche 400 von 4A bis 4C, wobei der Nutzer hier eine oder mehrere Farben aus der Mischfläche 400 auswählt, um ein Kunstwerk 420 unter Verwendung eines Pinselwerkzeuges innerhalb der digitalen Malanwendung zu malen. Die Farben können durch Berühren oder auf andere Weise erfolgendes Auswählen eines Punktes in der Mischfläche 400 entsprechend der gewünschten Farbe für das Pinselwerkzeug ausgewählt werden.
  • 4E zeigt die exemplarische Mischfläche 400 von 4A bis 4D, wobei der Nutzer hier einen Punkt in der Mischfläche 400 zweimal antippt, um die Farbe jenes Punktes zu ändern. Sobald die Auswahl erfolgt ist, kann die Farbe des Punktes auf ähnliche Weise wie beim Hinzufügen des Farbkleckses 402, wie vorstehend anhand 4A erläutert worden ist, geändert werden.
  • 4F zeigt die exemplarische Mischfläche 400 von 4A bis 4E, wobei der Nutzer hier verschiedene Farben aus der Mischfläche 400 durch Antippen der gewünschten Farben beim Malen des Kunstwerkes 420 auswählt. Dies ähnelt dem Vorgang, bei dem ein Künstler Farbe aus einer physischen Palette aufnimmt.
  • 4A bis 4F zeigen eine exemplarische Interaktionssequenz mit der Palette. Man nehme an, dass ein Künstler ein Stillleben mit einer Vase und einer Frucht malt. Auch wenn die Szenerie vor Augen liegt, impliziert das Malen mehr als nur das Nachbilden von Farben. Die Frucht kann beispielsweise mit intensiven Violettschattierungen und starken Hervorhebungen oder realistischer mit braunen Schattierungen und subtilen Rosafarbtönen gesättigt sein. Eine derartige Auswahl beeinflusst den Stil und die Stimmung, die die Palette dem Künstler durch Hinzufügen, Umordnen und Skalieren von Klecksen auszuprobieren ermöglicht. Wie vorstehend erläutert worden ist, können die Farbkleckse beispielsweise durch Berühren von Farbpunkten und Bewegen derselben mittels Dragging bewegt werden, wodurch neue Gradienten mit glattem bzw. stetigem und fließendem Verhalten kreiert werden. Der Nutzer kann die Palette berühren, um eine gemischte Farbe auszuwählen, und anfangen, mit der ausgewählten Farbe zu malen. Ein doppeltes Antippen eines Kleckses öffnet einen HSV-Aufnehmer und ändert dessen Farbe und damit den Farbraum, um eine weitere Frucht zu malen. Sobald der Künstler mit der Farbanordnung zufrieden ist, kann die Palette zum Malen einer weiteren Frucht aufgerufen werden. Wird eine Reflexion der Frucht in der Vase gemalt, so kann der Künstler eine Farbe durch Kopieren und Einfügen (copy and paste) aus der Fruchtpalette in die Vasenpalette übernehmen, wodurch er einen harmonisierenden Gradienten kreiert.
  • Historie und Umfärbung
  • Entsprechend einer Ausführungsform wird die Farbhistorie eines Kunstwerkes, die der interaktiven Palette zugeordnet ist, als Satz von Farben HC = {c1 ... ck}, die zum Malen wenigstens eines Striches des Kunstwerkes verwendet worden sind, gespeichert. Jeder Klecks in der Palette nimmt beispielsweise einen Speicher von 8 Byte ein. Eine typische Mischfläche kann eine vergleichsweise kleine Anzahl von Klecksen enthalten.
  • Die Palettenhistorie ist gleichwertig zu der Palette P, wobei jede Mischfläche Di explizit vom Nutzer kreiert oder automatisch während der Palettenbearbeitung gespeichert werden kann. Jede Mischfläche Di verweist auf eine übergeordnete (parent) Mischfläche D i p
    Figure DE102018001136A1_0008
    und gegebenenfalls auch auf eine Liste von Farben H i c H c ,
    Figure DE102018001136A1_0009
    die aus D i p
    Figure DE102018001136A1_0010
    aufgenommen worden sind. Eine Momentaufnahme des Zustandes der Mischfläche wird gespeichert, wenn die neue Mischfläche Di dieselben Farben in H i c
    Figure DE102018001136A1_0011
    nicht mehr beinhaltet. Der Nutzer bearbeitet die Mischfläche D0 beispielsweise dafür, eine neue Mischfläche D 0 '
    Figure DE102018001136A1_0012
    D0 zu erzeugen, die dieselben Farben wie die Mischfläche D0 (jedoch gegebenenfalls in anderer Anordnung) darstellt. In diesem Fall wird die vorherige Mischfläche D0 aussortiert (nicht gespeichert), da D 0 '
    Figure DE102018001136A1_0013
    D0 dieselben Farben darstellt. Später kreiert der Nutzer eine neue Farbfläche D1 aus D 0 '
    Figure DE102018001136A1_0014
    D0 und bearbeitet D1 daraufhin, um D2 zu erzeugen, das wenigstens eine andere Farbe aus D1 beinhaltet. Dies bewirkt, dass D1 automatisch als separate Momentaufnahme gespeichert wird, da D2 wenigstens eine Farbe, die nicht auch in D1 beinhaltet ist, beinhaltet.
  • Zur Wiedergabe von P wird jeweils eine Mischfarbe Di angezeigt, wobei die Farben in der Farbhistorie Hc gemäß dem Farbton als Ring von Pixeln am Umfang der Mischfläche angeordnet werden, wie beispielsweise in 5 und 6 gezeigt ist (Farbhistorienrad 504, 604). Jedes Pixel in dem Ring entspricht einer in der Historie gespeicherten Mischfläche Di. Das Auswählen einer am Umfang befindlichen Farbe cj in dem Farbhistorienrad bevölkert die Palette mit der Mischfläche Df derart, dass c j H f c
    Figure DE102018001136A1_0015
    gilt, wobei f eine spezifische Mischfläche Df bezeichnet, die in der Historie gespeichert ist und der ausgewählten Farbe cj entspricht. Auf ähnliche Weise kann die Mischfläche Df erneut aus der Historie abgerufen werden, indem ein Element von H f c
    Figure DE102018001136A1_0016
    aus der Leinwand unter Verwendung eines Standardpipettenwerkzeuges ausgewählt wird. Da es möglich ist, erneut auf eine gespeicherte Mischfläche Di zuzugreifen und diese zu einem späteren Zeitpunkt zu bearbeiten, kann eine Palettenhistorie als Wald aus Bäumen dargestellt werden, wobei jede Mischfläche höchstens einen übergeordneten (parent) Baum in dem Wald aufweist. Da eine Farbe in mehr als einer Mischfläche dargestellt werden kann, ist das Auswählen einer Fläche durch eine Farbe auf der Leinwand gegebenenfalls nicht eindeutig. Daher wird jedes Pixel in dem Kunstwerk mit einem Mischflächenidentifikationswert (ID) markiert, der dafür verwendet wird, das entsprechende Pixel zu malen. Der ID-Wert wird sodann dafür verwendet, die spezifische Mischfläche Di, die der ausgewählten Farbe entspricht, erneut aufzurufen.
  • 5 zeigt eine exemplarische interaktive Palettenschnittstelle 500 mit einem Farbhistorienrad 504, das durch einen Ring von Pixeln dargestellt ist, der wenigstens teilweise eine Mischfläche 502 umgibt, entsprechend einer Ausführungsform der vorliegenden Offenbarung. Die Mischfläche 502 arbeitet so, wie vorstehend anhand der Mischfläche 400 von 4A bis 4F beschrieben worden ist, und beinhaltet unter anderem die Isooberflächenpixel (beispielsweise die in 2 mit 208, 210 bezeichneten). Verschiedene Punkte entlang des Farbhistorienrades 504 entsprechen Farben in der Palette 500 zu bestimmten Zeitpunkten, wenn der Nutzer die Farben der Palette bearbeitet und modifiziert. So entspricht beispielsweise die Mischfläche 502a der Palette 500 zu einem ersten Zeitpunkt, die Mischfläche 502b entspricht der Palette 500 zu einem zweiten Zeitpunkt, die Mischfläche 502c entspricht der Palette 500 zu einem dritten Zeitpunkt, und die Mischfläche 504d entspricht der Palette 500 zu einem vierten Zeitpunkt. Die Mischflächen 502a, 502b, 502c und 502d sind in der Palette 500, wie in 5 dargestellt ist, nicht aufgrund ihrer Unverzichtbarkeit abgebildet, sondern sind in 5 zu Zwecken der Erläuterung aufgenommen. In der Praxis bewirkt das Antippen oder auf andere Weise erfolgende Auswählen eines Punktes entlang des Farbhistorienrades 504, dass die Farben der Mischfläche 502 in der Mitte der Palettnschnittstelle 500 in Farben, die dem ausgewählten Punkt (beispielsweise einem von 502a, 502b, 502c oder 502d) entsprechen, geändert werden.
  • 6 zeigt eine exemplarische interaktive Palettenschnittstelle 600 mit einem Farbhistorienrad, das durch einen Ring von Pixeln 604 dargestellt ist, die wenigstens teilweise eine Mischfläche 602 umgeben, entsprechend einer Ausführungsform der vorliegenden Offenbarung. Die Mischfläche 602 arbeitet allgemein so, wie vorstehend anhand der Mischfläche 400 von 4A bis 4F beschrieben worden ist. Ähnlich wie in 5 entsprechen verschiedene Punkte entlang des Farbhistorienrades 604 Farben in der Palette 600 zu bestimmten Zeitpunkten, wenn der Nutzer die Farben der Palette bearbeitet und modifiziert. Die interaktive Palettenschnittstelle 600 beinhaltet des Weiteren einen Farbaufnehmer 606, der eine Farbskala anzeigt, aus der der Nutzer Farben wählen kann, um sie zu der Mischfläche 602 hinzuzufügen. Der Nutzer kann beispielsweise einen Punkt auf dem Farbaufnehmer 606 entsprechend der Farbe, die der Nutzer zu der Mischfläche 602 hinzufügen möchte, auswählen. Sobald die Hinzufügung zu der Mischfläche 602 erfolgt ist, wird die Farbe zu einem Farbklecks, der auf vielerlei Arten, wie in der vorliegenden Offenbarung ausgeführt ist, manipuliert werden kann.
  • Umfärbung des Gemalten
  • Die Zuordnung zwischen der Palettenhistorie und den Leinwandfarben ermöglicht eine historienbewusste Umfärbung des Gemalten. Im Malumfärbungsmodus sind lediglich Änderungen an Klecksfarben zulässig (das Bewegen, Hinzufügen oder Löschen hingegen nicht). Wird eine Mischfläche Di durch Ändern der Farbe des Kleckses Bc bearbeitet, so wird die Bearbeitung auf alle abstammenden Mischflächen D 1 i D k i
    Figure DE102018001136A1_0017
    übertragen. Weist B c '
    Figure DE102018001136A1_0018
    in einer untergeordneten (child) Fläche D j i
    Figure DE102018001136A1_0019
    dieselbe Farbe wie in der Überordnung (parent) auf, so erfolgt eine Aktualisierung zur neuen Farbe, und es wird D j i
    Figure DE102018001136A1_0020
    zu D j i ¯
    Figure DE102018001136A1_0021
    Das Ändern der Farbe eines braunen Kleckses in die Farbe c in D1 ändert beispielsweise die entsprechenden braunen Kleckse in D2 und D4 zu c, bewirkt jedoch keine Änderungen in D3, da hier keine braune Farbe vorhanden ist.
  • Sobald D i i ¯ D k i ¯
    Figure DE102018001136A1_0022
    aktualisiert sind, wird die Bearbeitung auf das Bild übertragen. Jedes Pixel x im Gemalten enthält eine Farbe cx und einen Verweis auf die Fläche Dx, die zum Aufnehmen von cx verwendet wird. Der Ort px der Farbe cx in dem ursprünglichen Dx wird vor der Bearbeitung ausgewählt. Sodann wird das Pixel x mit der Farbe am Ort px in der bearbeiteten Fläche D x ' ¯
    Figure DE102018001136A1_0023
    aktualisiert. Daher kann ein Künstler große Zonen des Gemalten beeinflussen, indem er Mischflächen, die im Historienbaum sehr weit oben sind, bearbeitet, oder er kann nur die neuesten Details ändern, indem er die Blattflächen bearbeitet. Nach der Umfärbung des Kunstwerkes kann der Künstler mit den aktualisierten Farbflächen in der Palettenhistorie weitermalen.
  • Ein Vorteil der offenbarten Ausführungsformen besteht darin, dass die Palettenhistorie zwischen Bearbeitungen an ähnlich gefärbten Bereichen des Kunstwerkes auf Grundlage dessen, wie diese gemalt worden sind, so beispielsweise Wasser- und Himmelsbereiche in der Landschaftsmalerei, unterscheiden kann, wohingegen manche bestehende Palettenschnittstellen nicht dazu fähig sind, Bereiche getrennt umzufärben. Dies versetzt den Künstler zudem in die Lage, die Farbskala auszuprobieren und zu ändern, nachdem er bereits einige Zeit gemalt hat.
  • Exemplarische Palettenautoerstellung
  • Digitale Künstler können in einigen Fällen ein exemplarisches Bild als Farbreferenz nutzen, während sie ein Kunstwerk malen. Ein exemplarisches Bild unterstützt jedoch das Ausprobieren verschiedener Farbkombinationen nicht, da die Farben in dem Bild nicht ohne Weiteres bearbeitet werden können; ebenso wenig unterstützt es das Zugreifen auf die Historie, da Farben nicht erneut ausgewählt werden können. Entsprechend einer Ausführungsform wird das exemplarische Bild in eine interaktive Palettenschnittstelle umgewandelt. Diese Ausführungsform stellt eine bearbeitbare Farbskala bereit, die als Ausgangspunkt für ein künstlerisches Ausprobieren von Farben dient.
  • Für ein gegebenes Eingabefarbbild I, das als diskreter Satz von Pixeln xi mit der Farbe c(xi) und der Position p(xi) definiert ist, stellt eine Palette P den Farbraum von I dar und beinhaltet eine oder mehrere Mischflächen Di. Die Energie von P wird folgendermaßen minimiert:
    Figure DE102018001136A1_0024
  • Hierbei weist die Indikatorfunktion
    Figure DE102018001136A1_0025
    einer beliebigen Eingabe c, die eine ausreichend ähnliche Farbe im L*a*b-Raum in einer beliebigen der Flächen in P aufweist, den Wert 0 und ansonsten die Maximalkosten 1 zu. Ei(P) kann als Bruchteil der Farben in I, die durch die Palette dargestellt werden, gedeutet werden. Zur Erzeugung eines vereinfachten Ergebnisses wird ein Sampeln und Clustern eingesetzt.
  • Das vorstehend formulierte Problem ist ein nichtkonvexes diskret-kontinuierliches Optimierungsproblem moderater Größe und mit Nebenbedingungen sowie zusätzlicher Komplexität, die durch die veränderliche Anzahl von Klecksen und Mischflächen hinzukommt. Eine Palette kann aus einer beliebigen Anzahl von n Mischflächen bestehen, wobei die Anzahl von Klecksen in einer Mischfläche von 1 bis zu einer mittleren Zahl (beispielsweise 20) mit sechs Variablen pro Klecks (Position, Farbe, Radius) reicht. Der Suchraum wird unter Berücksichtigung der nachfolgenden Beobachtungen verringert:
    1. 1: Der Satz von Farben in I ist für die Klecksfarben ausreichend.
    2. 2: Natürliche Bilder weisen viele redundante Farben auf.
    3. 3: Benachbarte Pixel stammen von derselben Mischfläche.
    4. 4: Kleckse konstanter Größe sind in einem regelmäßigen Gitter ausreichend.
  • Aus diesen Beobachtungen ist der nachfolgende Algorithmus abgeleitet. Farben werden aus I gesampelt, und es wird eine agglomerative Single-Link-Clusterung in ℝ5 (Position und L*a*b-Farbe) verwendet, um einen Satz von Farbclustern ausfindig zu machen, die aus getrennten Farbflächen bezogenen Farben entsprechen. Während des Clusterns bleibt die Ausgestaltung der Palettenmischfläche, die jedes Cluster darstellt, erhalten, wobei die Mischfläche nach dem Zusammenführen zweier Cluster mittels Durchführen eines Markov-Ketten-Monte-Carlo-Samplings der Palettenausgestaltungen in einem regelmäßigen Gitter mit konstanter Klecksgröße und mit Klecksfarben, die nur aus Farbsamples ausgewählt sind, die zu dem zusammengeführten Cluster gehören, angepasst wird.
  • Algorithmus 1: Palettenautoerstellung
    procedure generatePalette(I)
    S ← sampleImage(I,n0) // sample position, color
    Ŝ ← clusterRedundantColors(S)
    C ← absorbSmallestClusters(Ŝ, n1)
    D ← initMixingDishes(C)
    while not termination_condition do
    C1,C2 closest pair in C // single link L2 in R5
    C1 mergeClusters (C1, C2)
    D1 mergeDishes (C1, D1, D2)
    C ← C \ C2
    D ← D \ D2
    D ← absorbSmallPalettes(D)
    end procedure
    procedure mergeDishes (C, D1, D2)
    e0 Ec(D1) // cost of D1 for all colors
    d0 D1
    d*, e* ← sampleDishes(C, e0,d0)
    return d*
    end procedure
  • Der Algorithmus weist Parameter n0, n1 und Et, die Zielkosten auf. Zunächst werden n0 gleichmäßige Samples S aus dem Eingabebild I entnommen. Kaum unterscheidbare Farben werden (beispielsweise mit einem L*a*b-Abstand, der kleiner als t = 3 ist) in dem Samplebild S zu einem sehr viel kleineren Satz Ŝ geclustert, wobei jeder Eintrag ŝi eine mittlere Farbe (mean color) c(ŝ), einen mittleren Ort (mean location) und eine Anzahl (count) aufweist. Cluster, die weniger als drei Samples aufweisen, werden ausgesondert. Bei einigen Ausführungsformen gilt n0 = 10000, was die Größe von S für die meisten Bilder um wenigstens eine Größenordnung verringert und die Kostenberechnung beschleunigt. Zur Berechnung der Kosten werden die mittleren Farben in Ŝ als Proxy für I verwendet, wobei jedes
    Figure DE102018001136A1_0026
    mit seiner Anzahl gewichtet ist.
  • Die komplette nachfolgende Clusterung wird in ℝ5 (L*a*b-Farbe und Position) durchgeführt, wobei Vektoren derart skaliert sind, dass sie in [0, 1] liegen, um der Position und Farbe grob dieselbe Wichtigkeit zuzuordnen. Ein Cluster wird für jedes ŝi initialisiert, und es werden die kleinsten Cluster zusammengeführt, bis nur n1 Cluster in dem Satz C übrig sind. Bei einigen Ausführungsformen gilt n1 = 300, und es werden die Farben in jedem Cluster durch höchstens drei Kleckse genähert. Jede Clusterfläche wird durch Sampeln einer, zweier und dreier Klecksausgestaltungen initialisiert, bis Et erreicht wird, und zwar unter Verwendung von Farben aus allen ŝ in dem Cluster und der mittleren Farbe hiervon. Alle Kleckse weisen die gleiche Größe auf und sind in einem festen Referenzgitter angeordnet.
  • Die agglomerative Single-Link-Clusterung von C wird durchgeführt, bis eine Randbedingung zur Beendigung erreicht ist, so beispielsweise die Anzahl der Mischflächen (||C||) oder der Minimalabstand zwischen Clustern. Nach jeder Zusammenführung (merge) wird der Raum von Mischflächen unter Verwendung des Metropolis-Hastings-Algorithmus mit (1 - EC) als vorgeschlagener Verteilung gesampelt, wodurch Samples niedriger Kosten wahrscheinlicher werden. Die Kosten werden für die gesampelte Mischfläche und die vereinigten (coalesced) Farben ŝ ∈ C berechnet, wobei der Satz von Farben zu den zusammengeführten Clustern gehört. Als willkürlicher Schritt kann ein Klecks hinzugefügt, entfernt oder farblich geändert werden, wobei die Farben nur aus C ausgewählt sind. Das Sampeln endet, wenn Et erreicht ist. Ansonsten ist pro Zusammenführung eine feste Anzahl von Iterationen zulässig, und es wird das beste Sample beibehalten. Endet die Clusterung, so werden die kleinsten Paletten zusammengeführt, um Mischflächen mit einem oder zwei Klecksen zu vermeiden, die ohne Weiteres zu einer anderen Mischfläche hinzugefügt werden können.
  • Exemplarische Verfahren
  • 7 ist ein Flussdiagramm eines exemplarischen Verfahrens 700 zum digitalen Malen unter Verwendung einer interaktiven Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das Verfahren 700 kann beispielsweise in dem Palettenwiedergabemodul 140 der digitalen Malanwendung 130 von 1 implementiert sein. Das Verfahren 700 ist beispielsweise derart ausgestaltet, dass einer oder mehreren Gruppen von Pixeln oder Farbklecksen in einer grafischen Nutzerschnittstelle (GUI) Attribute zugewiesen werden, wobei die Attribute die Farbe, Position und Größe der Pixelgruppe beinhalten, eine Farbe wenigstens eines weiteren Pixels in der GUI als parametrische Funktion der Pixelgruppenattribute berechnet wird und die Pixel in der GUI wiedergegeben werden.
  • Im Detail beinhaltet das Verfahren 700 ein Zuweisen 702 eines ersten Satzes von Attributen an eine erste Pixelgruppe. Der erste Satz von Attributen beinhaltet einen ersten Referenzkoordinatenpunkt, einen ersten Farbwert und einen ersten Größenwert. Der erste Referenzkoordinatenpunkt definiert einen Ort der ersten Pixelgruppe innerhalb der GUI (wie beispielsweise in 2 dargestellt ist). Der erste Farbwert definiert eine Farbe der ersten Pixelgruppe (beispielsweise einen RGB-Farbwert oder einen anderen Wert, der eine Farbe innerhalb eines geeigneten Farbraumes darstellt). Der erste Größenwert definiert eine Anzahl von Pixeln, die in der ersten Pixelgruppe beinhaltet sind (beispielsweise die Anzahl von Pixeln in einem Bereich, der durch einen Radius r definiert ist). Bei einigen Ausführungsformen empfängt eine Clientvorrichtung, die dafür ausgelegt ist, die interaktive Palettenschnittstelle wiederzugeben, eine Nutzereingabe, die einer Auswahl des ersten Referenzkoordinatenpunktes, des ersten Farbwertes, des ersten Größenwertes oder einer Kombination hieraus entspricht. Das Verfahren 700 beinhaltet des Weiteren ein Zuweisen 704 eines zweiten Satzes von Attributen an eine zweite Pixelgruppe. Der zweite Satz von Attributen beinhaltet einen zweiten Referenzkoordinatenpunkt, einen zweiten Farbwert und einen zweiten Größenwert. Der zweite Referenzkoordinatenpunkt definiert einen Ort der zweiten Pixelgruppe innerhalb der GUI (wie beispielsweise in 2 dargestellt ist). Der zweite Farbwert definiert eine Farbe der zweiten Pixelgruppe (beispielsweise einen RGB-Farbwert oder einen anderen Wert, der eine Farbe innerhalb eines geeigneten Farbraumes darstellt). Der zweite Größenwert definiert eine Anzahl von Pixeln, die in der zweiten Pixelgruppe beinhaltet sind (beispielsweise die Anzahl von Pixeln in einem Bereich, der durch einen Radius r definiert wird). Bei einigen Ausführungsformen empfängt die Clientvorrichtung eine Nutzereingabe, die einer Auswahl des zweiten Referenzkoordinatenpunktes, des zweiten Farbwertes, des zweiten Größenwertes oder einer beliebigen Kombination hieraus entspricht. Es sollte einsichtig sein, dass eine beliebige Anzahl von Nutzereingaben, die einer beliebigen Anzahl von Referenzpunkten, Farbwerten oder Größenwerten entsprechen, von der Clientvorrichtung, wie sich aus der vorliegenden Offenbarung ergibt, empfangen werden kann.
  • Das Verfahren 700 beinhaltet des Weiteren ein Berechnen 706 eines dritten Farbwertes, der eine Farbe eines Isooberflächenpixels an einem dritten Referenzkoordinatenpunkt (wie beispielsweise in 2 dargestellt ist) definiert. Der dritte Farbwert (oder mehrere dritte Farbwerte) stellt die Farbe eines Pixels in der interaktiven Palettenschnittstelle dar, das nicht notwendigerweise in den ersten oder zweiten Pixelgruppen beinhaltet ist, und kann ein Pixel zwischen den Positionen eines oder mehrerer Pixel in den ersten und zweiten Pixelgruppen oder auf andere Weise nahe an diesen sein. Der dritte Farbwert kann beispielsweise wenigstens einen Abschnitt eines Farbgradienten in einem oder mehreren Pixeln (so beispielsweise dem Isooberflächenpixel 210 von 2) zwischen den Positionen eines oder mehrerer Pixel in den ersten und zweiten Pixelgruppen (so beispielsweise den ersten und zweiten Pixelgruppen 204 und 206 von 2) oder auf andere Weise nahe an diesen darstellen. Um den Gradienten zu erhalten, ist der dritte Farbwert eines jeden Isooberflächenpixels als parametrische Funktion eines jeden von dem ersten Satz von Attributen und dem zweiten Satz von Attributen beispielsweise durch die nachfolgende Gleichung definiert: c p = B i D j M i ( p ) c i B i D j M i ( p )
    Figure DE102018001136A1_0027
  • Wie vorstehend erläutert worden ist, ändern sich, wenn der Nutzer die Farbkleckse innerhalb eines Schwellenabstandes T voneinander platziert, die Farben des Gradienten, wenn der Nutzer die Positionen oder Größen eines jeden Farbkleckses anpasst. Sind beispielsweise drei Farbkleckse in der interaktiven Palettenschnittstelle vorhanden, so können sich die Farben des Gradienten ändern, wenn der Nutzer einen Klecks umherbewegt oder die Größe des Kleckses im Vergleich zu den anderen beiden Klecksen ändert, wie beispielsweise anhand 4A bis 4F beschrieben worden ist.
  • Das Verfahren 700 beinhaltet des Weiteren ein in der GUI erfolgendes Wiedergeben 708 des Isooberflächenpixels an dem dritten Referenzkoordinatenpunkt unter Verwendung des dritten Farbwertes. Das Wiedergeben des Isooberflächenpixels wie auch anderer Pixel in dem Bereich des Isooberflächenpixels erzeugt einen Farbgradienten in der Palette, aus der der Nutzer eine Farbe zum Malen mittels der interaktiven Palettenschnittstelle auswählen kann. Bei einigen Ausführungsformen beinhaltet das Verfahren 700 des Weiteren ein in der GUI erfolgendes Wiedergeben der ersten Pixelgruppe am Ort der ersten Pixelgruppe unter Verwendung des ersten Farbwertes (so beispielsweise eines ersten Farbkleckses mit einer Position, Farbe und Größe) und ein in der GUI erfolgendes Wiedergeben der zweiten Pixelgruppe am Ort der zweiten Pixelgruppe unter Verwendung des zweiten Farbwertes (so beispielsweise eines zweiten Farbkleckses mit einer Position, Farbe und Größe). Eine derartige Wiedergabe kann beispielsweise eine Palette, wie sie in 2 und 3A bis 3F gezeigt ist, erzeugen.
  • 8 ist ein Flussdiagramm eines exemplarischen Verfahrens 800 zum Bearbeiten einer interaktiven Palette entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das Verfahren 800 kann beispielsweise in dem Palettenbearbeitungsmodul 142 der digitalen Malanwendung 130 von 1 implementiert sein. Allgemein ist das Verfahren 800 dafür ausgelegt, eine Eingabe, die eine Modifikation der Farbe, Position oder Größe einer oder mehrerer Pixelgruppen darstellt, zu empfangen, die Farbe eines oder mehrerer anderer Pixel in der GUI unter Verwendung der parametrischen Funktion zu aktualisieren und die aktualisierten Pixel in der GUI wiederzugeben.
  • Im Detail beinhaltet das Verfahren 800 ein Empfangen 802 einer Eingabe, die eine Modifikation des ersten Satzes von Attributen darstellt. Die Eingabe kann beispielsweise von einem Nutzer erzeugt werden, der mit der Palettenschnittstelle interagiert, um einen Farbklecks oder eine Pixelgruppe innerhalb einer Mischfläche hinzuzufügen, zu entfernen oder zu modifizieren. Der Nutzer kann die Schnittstelle beispielsweise antippen, um eine Farbe hinzuzufügen oder zu entfernen, einen Farbklecks mittels Dragging über die Schnittstelle in eine andere Position innerhalb der GUI bewegen oder den Farbklecks auseinander- und zusammenziehen, um die Größe des Farbkleckses zu vergrößern oder zu verringern (und damit die Anzahl der Pixel in dem Farbklecks zu vergrößern oder zu verringern). Das Verfahren 800 beinhaltet des Weiteren ein in Reaktion auf die Eingabe erfolgendes Aktualisieren 804 des dritten Farbwertes auf Grundlage der Änderung. Nachdem der Nutzer den Farbklecks hinzugefügt, entfernt oder modifiziert hat, kann die Farbe der Isooberflächenpixel in der Mischfläche beispielsweise unter Verwendung der nachfolgenden Gleichung aktualisiert werden, in der die Attribute des Farbkleckses durch die Eingabe modifiziert worden sind: c p = B i D j M i ( p ) c i B i D j M i ( p )
    Figure DE102018001136A1_0028
  • Das Verfahren 800 beinhaltet des Weiteren ein in der GUI erfolgendes Wiedergeben 806 des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes. Dies bewirkt, dass die Palettenschnittstelle die Farbskalen und Gradienten in Reaktion auf Eingaben des Nutzers aktualisiert.
  • 9 ist ein Flussdiagramm eines exemplarischen Verfahrens 900 zum Erhalten einer Farbhistorie für eine interaktive Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das Verfahren 900 kann beispielsweise in dem Palettenhistorienmodul 144 der digitalen Malanwendung 130 von 1 implementiert sein. Das Verfahren 900 ist allgemein dafür ausgelegt, ein oder mehrere Attribute der Pixelgruppen vor der Modifikation der Attribute zu speichern, sodass die Attribute, sobald sie modifiziert sind, in Reaktion auf eine Nutzereingabe aus den gespeicherten Werten wiederhergestellt werden können.
  • Im Detail beinhaltet das Verfahren 900 ein Speichern 902 des ersten Satzes von Attributen als ursprünglichen ersten Satz von Attributen auf einem elektronischen Speichermedium vor der Modifikation des ersten Satzes von Attributen. Immer dann, wenn ein Nutzer beispielsweise einen Farbklecks hinzufügt, entfernt oder modifiziert, was anhand 8 beschrieben worden ist, werden die ursprünglichen oder vorherigen Werte der Attribute der ersten Pixelgruppe in dem Speicher oder der Ablage für einen zukünftigen Abruf gespeichert. Das Verfahren 900 beinhaltet des Weiteren ein Empfangen 904 einer Eingabe, die eine Aufforderung zur Rückgängigmachung der Änderung des ersten Satzes von Attributen darstellt. Der Nutzer kann beispielsweise einen Bereich der GUI antippen, der ein Farbhistorienrad zeigt, wie beispielsweise anhand 5 und 6 beschrieben worden ist, um einen Satz von Palettenfarben, der vorher bei 902 gespeichert worden ist, bevor die Palette modifiziert worden ist (wie beispielsweise anhand 8 beschrieben worden ist) abzurufen. Das Verfahren 900 beinhaltet des Weiteren ein von dem elektronischen Speichermedium erfolgendes Abrufen 906 des ursprünglichen ersten Satzes von Attributen (beispielsweise in Reaktion auf das Empfangen 904 der Eingabe) und ein in Reaktion auf die Eingabe erfolgendes Aktualisieren 908 des dritten Farbwertes auf Grundlage des ursprünglichen ersten Satzes von Attributen. Nachdem der Nutzer die Palette beispielsweise in einen früheren Zustand zurückversetzt hat, kann die Farbe der Isooberflächenpixel in der Mischfläche unter Verwendung der nachfolgenden Gleichung aktualisiert werden, in der die Attribute des Farbkleckses in den vorherigen Zustand zurückversetzt worden sind: c p = B i D j M i ( p ) c i B i D j M i ( p )
    Figure DE102018001136A1_0029
  • Das Verfahren 900 beinhaltet des Weiteren ein in der GUI erfolgendes Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes. Dies bewirkt, dass die Palettenschnittstelle die Farbskalen und Gradienten in Reaktion auf die Eingabe des Nutzers aktualisiert, um die Farben der Palette in einen früheren Zustand zurückzuversetzen.
  • Bei einigen Ausführungsformen beinhaltet das Verfahren 900 des Weiteren ein in der GUI erfolgendes Wiedergeben 912 wenigstens eines Teilringes von Pixeln, die die erste Farbe beinhalten, die dem ersten Satz von Attributen zugeordnet ist. Der Ring von Pixeln umgibt wenigstens teilweise den Ort des Isooberflächenpixels, wie in 5 und 6 gezeigt ist.
  • 10 ist ein Flussdiagramm eines exemplarischen Verfahrens 1000 zum automatischen Erstellen einer Palettenschnittstelle entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das Verfahren 1000 kann beispielsweise in dem Palettenautoerstellungsmodul 146 der digitalen Malanwendung 130 von 1 implementiert sein. Das Verfahren 1000 ist allgemein dafür ausgelegt, eine oder mehrere Farben aus einem bestehenden digitalen Kunstwerk in eine interaktive Palettenschnittstelle umzuwandeln. Dies ist insbesondere dann von Nutzen, wenn der Nutzer eine Palette unter Verwendung von Farben kreieren möchte, die er in einem bestehenden Kunstwerk vorfindet, und zwar als Ausgangspunkt zum Modifizieren des Kunstwerkes oder zum Kreieren eines neuen Kunstwerkes mit Farben, die zu denjenigen des bestehenden Kunstwerkes ähnlich sind.
  • Im Detail beinhaltet das Verfahren 1000 ein Sampeln und Clustern 1002 von Farben von Pixeln in einem bestehenden digitalen Kunstwerk. Ein exemplarischer Algorithmus zum Sampeln und Clustern ist vorstehend in Algorithmus 1 beschrieben worden. Das Verfahren. 1000 beinhaltet des Weiteren ein Erzeugen 1004 der ersten Pixelgruppe (oder einer oder mehrerer beliebiger anderer Pixelgruppen) wenigstens teilweise auf Grundlage der gesampelten und geclusterten Pixel aus dem bestehenden Kunstwerk. Sobald die Pixelgruppe oder Gruppen hiervon ausgewählt sind, siehe 1004, kann die interaktive Palettenschnittstelle, wie anhand 7 beschrieben worden ist, wiedergegeben, bearbeitet und dergleichen mehr werden.
  • 11 ist ein Blockdiagramm zur Darstellung einer exemplarischen Rechenvorrichtung 1100, die zur Durchführung einer beliebigen der verschiedentlich in der vorliegenden Offenbarung beschriebenen Techniken eingesetzt werden kann. Das System 100 von 1 oder beliebige Teile hiervon sowie die Verfahren von 7 bis 10 oder beliebige Teile hiervon können beispielsweise in der Rechenvorrichtung 1100 implementiert sein. Die Rechenvorrichtung 1100 kann beispielsweise ein Computersystem sein, so beispielsweise eine Workstation, ein Desktopcomputer, ein Server, ein Laptop, ein Handcomputer, ein Tabletcomputer (beispielsweise der Tabletcomputer iPad®), eine mobile Rechen- oder Kommunikationsvorrichtung (beispielsweise die mobile Kommunikationsvorrichtung iPhone®, die mobile Kommunikationsvorrichtung Android™ und dergleichen mehr), eine VR-Vorrichtung oder eine VR-Komponente (beispielsweise ein Headset, ein Handschuh, eine Kamera, ein Treadmill und dergleichen mehr) oder eine andere Form von Rechen- oder Telekommunikationsvorrichtung, die kommunikationsfähig ist und die über ausreichend Prozessorleistung und Speicherkapazität verfügt, um die in der vorliegenden Offenbarung beschriebenen Vorgänge durchzuführen. Es kann ein verteiltes Rechensystem gegeben sein, das eine Mehrzahl derartiger Rechenvorrichtungen beinhaltet.
  • Die Rechenvorrichtung 1100 beinhaltet eine oder mehrere Speichervorrichtungen 1110 oder nichttemporäre computerlesbare Medien 1120, auf denen eine oder mehrere computerausführbare Anweisungen . oder Software zum Implementieren von verschiedentlich in der vorliegenden Offenbarung beschriebenen Techniken codiert sind. Die Speichervorrichtungen 1110 können einen Computersystemspeicher oder einen Speicher mit wahlfreiem Zugriff beinhalten, so beispielsweise einen Permanentplattenspieler (der beispielsweise beliebige geeignete optische oder magnetische Permanentspeichervorrichtungen beinhalten kann, so beispielsweise einen RAM, einen ROM, einen Flash, ein USB-Laufwerk oder ein anderes halbleiterbasiertes Speichermedium), ein Festplattenlaufwerk, eine CD-ROM oder ein anderes computerlesbares Medium zum Speichern von Daten und computerlesbaren Anweisungen oder Software zur Implementierung verschiedener Ausführungsformen aus der vorliegenden Offenbarung. Die Speichervorrichtung 1110 kann auch andere Typen von Speichern oder Kombinationen hieraus beinhalten. Die Speichervorrichtung 1110 kann auf der Rechenvorrichtung 1100 oder auch getrennt und entfernt von der Rechenvorrichtung 1100 angeordnet sein. Die nichttemporären computerlesbaren Medien 1120 können unter anderem einen oder mehrere Typen von Hardwarespeicher, nichttemporären physischen Medien (beispielsweise eine oder mehrere magnetische Speicherplatten, eine oder mehrere optische Platten, eine oder mehrere USB-Flash-Laufwerke) und dergleichen mehr beinhalten. Die nichttemporären computerlesbaren Medien 1120, die in der Rechenvorrichtung 1100 beinhaltet sind, können computerlesbare und computerausführbare Anweisungen oder Software zum Implementieren von verschiedenen Ausführungsformen beinhalten. Die computerlesbaren Medien 1120 können auf der Rechenvorrichtung 1100 oder auch getrennt und entfernt von der Rechenvorrichtung 1100 vorgesehen sein.
  • Die Rechenvorrichtung 1100 beinhaltet zudem wenigstens einen Prozessor 1130 zum Ausführen von computerlesbaren und computerausführbaren Anweisungen oder Software, die in der Speichervorrichtung 1110 oder auf den nichttemporären computerlesbaren Medien 1120 oder anderen Programmen zum Steuern bzw. Regeln der Systemhardware gespeichert sind. Es kann auf der Rechenvorrichtung 1100 eine Virtualisierung eingesetzt werden, sodass die Infrastruktur und Ressourcen auf der Rechenvorrichtung 1100 dynamisch geteilt werden können. Es kann beispielsweise eine virtuelle Maschine vorgesehen sein, die einen Prozess abwickelt, der auf mehreren Prozessoren läuft, wobei der Prozess so aussieht, als würde er nur auf einer Rechenvorrichtung anstatt auf mehreren Rechenvorrichtungen laufen. Es können zudem mehrere virtuelle Maschinen mit einem Prozessor verwendet werden.
  • Ein Nutzer kann mit der Rechenvorrichtung 1100 durch eine Ausgabevorrichtung 1140 interagieren, so beispielsweise einen Bildschirm oder Monitor, der eine oder mehrere Nutzerschnittstellen, die entsprechend einigen Ausführungsformen bereitgestellt werden, anzeigen kann. Die Ausgabevorrichtung 1140 kann zudem andere Aspekte, Elemente oder Informationen oder Daten im Zusammenhang mit einigen Ausführungsformen anzeigen. Die Rechenvorrichtung 1100 kann weitere I/O-Vorrichtungen 1150 zum Empfangen einer Eingabe von einem Nutzer beinhalten, so beispielsweise eine Tastatur, einen Joystick, einen Gamecontroller, eine Zeigevorrichtung (beispielsweise eine Maus, den Finger eines Nutzers, der direkt auf eine berührungsempfindliche Anzeigevorrichtung einwirkt und dergleichen mehr) oder eine beliebige andere geeignete Nutzerschnittstelle. Die Rechenvorrichtung 1100 kann andere geeignete herkömmliche I/O-Peripheriegeräte beinhalten. Die Rechenvorrichtung 1100 beinhaltet verschiedene geeignete Vorrichtungen zur Durchführung eines oder mehrerer verschiedentlich in der vorliegenden Offenbarung beschriebener Aspekte, oder ist funktionell damit gekoppelt.
  • Auf der Rechenvorrichtung 1100 kann ein beliebiges Betriebssystem laufen, so beispielsweise beliebige Versionen der Betriebssysteme von Microsoft® Windows®, verschiedene Releases der Betriebssysteme Unix und Linux, eine beliebigen Version von MacOS® für Macintosh Computer, ein beliebiges eingebettetes Betriebssystem, ein beliebiges Echtzeitbetriebssystem, ein beliebiges Open-Source-Betriebssystem, ein beliebiges proprietäres Betriebssystem, beliebige Betriebssysteme für mobile Rechenvorrichtungen oder ein beliebiges anderes Betriebssystem, das auf der Rechenvorrichtung 1000 laufen und die in der vorliegenden Offenbarung beschriebenen Vorgänge ausführen kann. Bei einer Ausführungsform kann das Betriebssystem auf einer oder mehreren Instanzen einer Cloudmaschine laufen.
  • Bei anderen Ausführungsformen können die funktionellen Komponenten/Module mit Hardware implementiert sein, so beispielsweise einer Gate-Level-Logik (beispielsweise FPGA) oder einem zweckgebundenen Halbleiter (beispielsweise ASIC). Wieder andere Ausführungsformen können mit einem Microcontroller implementiert sein, der eine Anzahl von Eingabe-/Ausgabe-Ports zum Empfangen und Ausgeben von Daten und eine Anzahl von eingebetteten Routinen zum Ausführen der in der vorliegenden Offenbarung beschriebenen Funktionalitäten aufweist. Verallgemeinert bedeutet dies, dass augenscheinlich eine beliebige geeignete Kombination aus Hardware, Software und Firmware verwendet werden kann.
  • Im Lichte der vorliegenden Offenbarung erschließt sich, dass verschiedene Module und Komponenten des Systems, so beispielsweise die digitale Malanwendung 130, das Palettenwiedergabemodul 140, das Palettenbearbeitungsmodul 142, das Palettenhistorienmodul 144, das Palettenautoerstellungsmodul 146, die GUI 160 oder Kombinationen hieraus in Software implementiert sind, so beispielsweise als Satz von Anweisungen (beispielsweise: HTML, XML, C, C++, objektorientiertes C, JavaScript, Java, BASIC und dergleichen mehr, die auf einem beliebigen computerlesbaren Medium oder Computerprogrammerzeugnis (beispielsweise Festplattenlaufwerk, Server, Platte oder andere geeignete nichttemporäre Speicher oder Sätze von Speichern) codiert sein können und die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass die in der vorliegenden Offenbarung beschriebenen Verfahren ausgeführt werden. Es sollte einsichtig sein, dass bei einigen Ausführungsformen verschiedene Funktionen und Datentransformationen, die von dem Nutzerrechensystem gemäß Beschreibung in der vorliegenden Offenbarung durchgeführt werden, auch von ähnlichen Prozessoren oder Datenbanken in anderen Ausgestaltungen und Anordnungen durchgeführt werden können und dass die dargestellten Ausführungsformen nicht beschränkend gedacht sind. Verschiedene Komponenten der vorliegenden exemplarischen Ausführungsform, darunter die Rechenvorrichtung 1100, können beispielsweise in einen oder mehrere Desktop- oder Laptopcomputer, Workstations, Tablets, Smartphones, Spielkonsolen, Set-Top-Boxen oder andere derartige Rechenvorrichtungen integriert sein. Weitere Komponenten und Module, die für ein Rechensystem typisch sind, so beispielsweise Prozessoren (beispielsweise eine zentrale Verarbeitungseinheit und ein Coprozessor, ein Grafikprozessor und dergleichen), Eingabevorrichtungen (beispielsweise eine Tastatur, eine Maus, ein Touchpad, ein Touchscreen und dergleichen mehr) und ein Betriebssystem, sind nicht gezeigt, jedoch geläufig.
  • Im Lichte der vorliegenden Offenbarung ergeben sich zahlreiche Ausführungsformen, und es können die hier beschriebenen Merkmale in einer beliebigen Anzahl von Ausgestaltungen kombiniert werden. Eine exemplarische Ausführungsform stellt ein computerimplementiertes Verfahren zum Bereitstellen einer interaktiven Palettenschnittstelle (GUI) in einer digitalen Malumgebung bereit. Das Verfahren beinhaltet ein Zuweisen eines ersten Satzes von Attributen an eine erste Pixelgruppe. Der erste Satz von Attributen beinhaltet einen ersten Referenzkoordinatenpunkt, einen ersten Farbwert und einen ersten Größenwert. Der erste Referenzkoordinatenpunkt definiert einen Ort der ersten Pixelgruppe innerhalb der GUI. Der erste Farbwert definiert eine Farbe der ersten Pixelgruppe. Der erste Größenwert definiert eine Anzahl von Pixeln, die in der ersten Pixelgruppe beinhaltet sind. Das Verfahren beinhaltet des Weiteren ein Zuweisen eines zweiten Satzes von Attributen an eine zweite Pixelgruppe. Der zweite Satz von Attributen beinhaltet einen zweiten Referenzkoordinatenpunkt, einen zweiten Farbwert und einen zweiten Größenwert. Der zweite Referenzkoordinatenpunkt definiert einen Ort der zweiten Pixelgruppe innerhalb der GUI. Der zweite Farbwert definiert eine Farbe der zweiten Pixelgruppe. Der zweite Größenwert definiert eine Anzahl von Pixeln, die in der zweiten Pixelgruppe beinhaltet sind. Das Verfahren beinhaltet des Weiteren ein Berechnen eines dritten Farbwertes, der eine Farbe eines Isooberflächenpixels an einem dritten Referenzkoordinatenpunkt definiert. Der dritte Farbwert ist eine parametrische Funktion eines jeden der ersten und zweiten Referenzkoordinatenpunkte, der ersten und zweiten Farbwerte und der ersten und zweiten Größenwerte. Das Verfahren beinhaltet des Weiteren ein in der GUI erfolgendes Wiedergeben des Isooberflächenpixels an dem dritten Referenzkoordinatenpunkt unter Verwendung des dritten Farbwertes. Bei einigen Ausführungsformen beinhaltet das Verfahren ein in der GUI erfolgendes Wiedergeben der ersten Pixelgruppe am Ort der ersten Pixelgruppe unter Verwendung des ersten Farbwertes und ein in der GUI erfolgendes Wiedergeben der zweiten Pixelgruppe am Ort der zweiten Pixelgruppe unter Verwendung des zweiten Farbwertes. Bei einigen Ausführungsformen beinhaltet das Verfahren ein Empfangen einer Eingabe, die eine Modifikation des ersten Satzes von Attributen darstellt; ein in Reaktion auf das Eingeben erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage der Änderung und ein in der GUI erfolgendes Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes. Bei einigen derartigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Speichern des ersten Satzes von Attributen als ursprünglichen ersten Satz von Attributen auf einem elektronischen Speichermedium vor der Modifikation des ersten Satzes von Attributen. Bei einigen derartigen Ausführungsformen beinhaltet das Verfahren des Weiteren ein Empfangen einer Eingabe, die eine Aufforderung zur Rückgängigmachung der Änderung des ersten Satzes von Attributen darstellt; ein von dem elektronischen Speichermedium erfolgendes Abrufen des ursprünglichen ersten Satzes von Attributen; ein in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage des ursprünglichen ersten Satzes von Attributen; und ein in der GUI erfolgendes Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes. Bei einigen Ausführungsformen beinhaltet das Verfahren ein in der GUI erfolgendes Wiedergeben wenigstens eines Teilringes von Pixeln, die die erste Farbe beinhalten, die dem ersten Satz von Attributen zugeordnet ist, wobei der Ring von Pixeln den Ort des Isooberflächenpixels wenigstens teilweise umgibt. Bei einigen Ausführungsformen beinhaltet das Verfahren ein Erzeugen der ersten Pixelgruppe wenigstens teilweise auf Grundlage einer Farbe mehrerer Pixel eines bestehenden digitalen Kunstwerkes. Eine weitere exemplarische Ausführungsform stellt ein nichttemporäres Computerprogrammerzeugnis bereit, auf dem Anweisungen codiert sind, die bei Ausführung durch einen oder mehrere Computerprozessoren veranlassen, dass der eine oder die mehreren Computerprozessoren einen Prozess so, wie er im vorliegendem Absatz beschrieben ist, durchführen.
  • Die vorstehende Beschreibung und die Zeichnungsfiguren zu den verschiedenen Ausführungsformen sind rein beispielhalber angeführt. Die Beispiele sollen nicht erschöpfend sein oder die Erfindung auf die genau offenbarten Formen beschränken. Abwandlungen, Modifikationen und Änderungen erschließen sich im Lichte der vorliegenden Offenbarung und sollen im Umfang der Erfindung so, wie sie in den Ansprüchen niedergelegt ist, beinhaltet sein.

Claims (20)

  1. Computerimplementiertes Verfahren zum Bereitstellen einer interaktiven Palettenschnittstelle (GUI) in einer digitalen Malanwendung, wobei das Verfahren umfasst: Zuweisen eines ersten Satzes von Attributen an eine erste Pixelgruppe, wobei der erste Satz von Attributen einen ersten Referenzkoordinatenpunkt, einen ersten Farbwert und einen ersten Größenwert beinhaltet und wobei der erste Referenzkoordinatenpunkt einen Ort der ersten Pixelgruppe innerhalb der GUI definiert, der erste Farbwert eine Farbe der ersten Pixelgruppe definiert und der erste Größenwert eine Anzahl von Pixeln, die in der ersten Pixelgruppe beinhaltet sind, definiert; Zuweisen eines zweiten Satzes von Attributen an eine zweite Pixelgruppe, wobei der zweite Satz von Attributen einen zweiten Referenzkoordinatenpunkt, einen zweiten Farbwert und einen zweiten Größenwert beinhaltet und wobei der zweite Referenzkoordinatenpunkt einen Ort der zweiten Pixelgruppe innerhalb des GUI definiert, der zweite Farbwert eine Farbe der zweiten Pixelgruppe definiert und der zweite Größenwert eine Anzahl von Pixeln, die in der zweiten Pixelgruppe beinhaltet sind, definiert; Berechnen eines dritten Farbwertes, der eine Farbe eines Isooberflächenpixels an einem dritten Referenzkoordinatenpunkt definiert, wobei der dritte Farbwert eine parametrische Funktion eines jeden der ersten und zweiten Referenzkoordinatenpunkte, der ersten und zweiten Farbwerte und der ersten und zweiten Größenwerte ist; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels an dem dritten Referenzkoordinatenpunkt unter Verwendung des dritten Farbwertes.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend: in der GUI erfolgendes Rendern bzw. Wiedergeben der ersten Pixelgruppe am Ort der ersten Pixelgruppe unter Verwendung des ersten Farbwertes, und in der GUI erfolgendes Rendern bzw. Wiedergeben der zweiten Pixelgruppe am Ort der zweiten Pixelgruppe unter Verwendung des zweiten Farbwertes.
  3. Verfahren nach Anspruch 1 oder 2, des Weiteren umfassend: Empfangen einer Eingabe, die eine Modifikation des ersten Satzes von Attributen darstellt; in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage der Änderung; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  4. Verfahren nach Anspruch 3, des Weiteren umfassend: Speichern des ersten Satzes von Attributen als ursprünglichen ersten Satz von Attributen auf einem elektronischen Speichermedium vor der Modifikation des ersten Satzes von Attributen.
  5. Verfahren nach Anspruch 4, des Weiteren umfassend: Empfangen einer Eingabe, die eine Aufforderung zur Rückgängigmachung der Änderung des ersten Satzes von Attributen darstellt; von dem elektronischen Speichermedium erfolgendes Abrufen des ursprünglichen ersten Satzes von Attributen; in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage des ursprünglichen ersten Satzes von Attributen; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  6. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: in der GUI erfolgendes Rendern bzw. Wiedergeben wenigstens eines Teilringes von Pixeln, die die erste Farbe beinhalten, die dem ersten Satz von Attributen zugeordnet ist, wobei der Ring von Pixeln wenigstens teilweise den Ort des Isooberflächenpixels umgibt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Erzeugen der ersten Pixelgruppe wenigstens teilweise auf Grundlage einer Farbe mehrerer Pixel eines bestehenden digitalen Kunstwerkes.
  8. Nichttemporäres computerlesbares Medium, auf dem Anweisungen codiert sind, die bei Ausführung durch einen oder mehrere Computerprozessoren veranlassen, dass der eine oder die mehreren Computerprozessoren einen Prozess durchführen, der umfasst: Zuweisen eines ersten Satzes von Attributen an eine erste Pixelgruppe, wobei der erste Satz von Attributen einen ersten Referenzkoordinatenpunkt, einen ersten Farbwert und einen ersten Größenwert beinhaltet und wobei der erste Referenzkoordinatenpunkt einen Ort der ersten Pixelgruppe innerhalb einer interaktiven Palettenschnittstelle. (GUI) definiert, der erste Farbwert eine Farbe der ersten Pixelgruppe definiert und der erste Größenwert eine Anzahl von Pixeln, die in der ersten Pixelgruppe beinhaltet sind, definiert; Zuweisen eines zweiten Satzes von Attributen an eine zweite Pixelgruppe, wobei der zweite Satz von Attributen einen zweiten Referenzkoordinatenpunkt, einen zweiten Farbwert und einen zweiten Größenwert beinhaltet und wobei der zweite Referenzkoordinatenpunkt einen Ort der zweiten Pixelgruppe innerhalb des GUI definiert, der zweite Farbwert eine Farbe der zweiten Pixelgruppe definiert und der zweite Größenwert eine Anzahl von Pixeln, die in der zweiten Pixelgruppe beinhaltet sind, definiert; Berechnen eines dritten Farbwertes, der eine Farbe eines Isooberflächenpixels an einem dritten Referenzkoordinatenpunkt definiert, wobei der dritte Farbwert eine parametrische Funktion eines jeden der ersten und zweiten Referenzkoordinatenpunkte, der ersten und zweiten Farbwerte und der ersten und zweiten Größenwerte ist; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels an dem dritten Referenzkoordinatenpunkt unter Verwendung des dritten Farbwertes.
  9. Nichttemporäres computerlesbares Medium nach Anspruch 8, wobei der Prozess des Weiteren umfasst: in der GUI erfolgendes Rendern bzw. Wiedergeben der ersten Pixelgruppe am Ort der ersten Pixelgruppe unter Verwendung des ersten Farbwertes, und in der GUI erfolgendes Rendern bzw. Wiedergeben der zweiten Pixelgruppe am Ort der zweiten Pixelgruppe unter Verwendung des zweiten Farbwertes.
  10. Nichttemporäres, computerlesbares Medium nach Anspruch 8 oder 9, wobei der Prozess des Weiteren umfasst: Empfangen einer Eingabe, die eine Modifikation des ersten Satzes von Attributen darstellt; in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage der Änderung; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  11. Nichttemporäres computerlesbares Medium nach Anspruch 10, wobei der Prozess des Weiteren umfasst: Speichern des ersten Satzes von Attributen als ursprünglichen ersten Satz von Attributen auf einem elektronischen Speichermedium vor der Modifikation des ersten Satzes von Attributen.
  12. Nichttemporäres computerlesbares Medium nach Anspruch 11, wobei der Prozess des Weiteren umfasst: Empfangen einer Eingabe, die eine Aufforderung zur Rückgängigmachung der Änderung des ersten Satzes von Attributen darstellt; von dem elektronischen Speichermedium erfolgendes Abrufen des ursprünglichen ersten Satzes von Attributen; in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage des ursprünglichen ersten Satzes von Attributen; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  13. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 8 bis 12, wobei der Prozess des Weiteren umfasst: in der GUI erfolgendes Rendern bzw. Wiedergeben wenigstens eines Teilringes von Pixeln, die die erste Farbe beinhalten, die dem ersten Satz von Attributen zugeordnet ist, wobei der Ring von Pixeln wenigstens teilweise den Ort des Isooberflächenpixels umgibt.
  14. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 8 bis 13, wobei der Prozess des Weiteren umfasst: Erzeugen der ersten Pixelgruppe wenigstens teilweise auf Grundlage einer Farbe mehrerer Pixel eines bestehenden digitalen Kunstwerkes.
  15. System zum Umwandeln mechanischer Markierungen an ausgedrucktem Textcontent in digitale Anmerkungen in einer digitalen Dokumentdatei, wobei das System umfasst: einen Speicher; und einen Prozessor, der funktionell mit dem Speicher gekoppelt ist, wobei der Prozessor dafür ausgelegt ist, in dem Speicher gespeicherte Anweisungen auszuführen, die bei Ausführung veranlassen, dass der Prozessor einen Prozess ausführt, der beinhaltet: einen Schritt des Zuweisens eines ersten Satzes von Attributen an eine erste Pixelgruppe, wobei der erste Satz von Attributen einen ersten Referenzkoordinatenpunkt, einen ersten Farbwert und einen ersten Größenwert beinhaltet und wobei der erste Referenzkoordinatenpunkt einen Ort der ersten Pixelgruppe innerhalb einer interaktiven Palettenschnittstelle (GUI) definiert, der erste Farbwert eine Farbe der ersten Pixelgruppe definiert und der erste Größenwert eine Anzahl von Pixeln, die in der ersten Pixelgruppe beinhaltet sind, definiert; einen Schritt des Zuweisens eines zweiten Satzes von Attributen an eine zweite Pixelgruppe, wobei der zweite Satz von Attributen einen zweiten Referenzkoordinatenpunkt, einen zweiten Farbwert und einen zweiten Größenwert beinhaltet und wobei der zweite Referenzkoordinatenpunkt einen Ort der zweiten Pixelgruppe innerhalb des GUI definiert, der zweite Farbwert eine Farbe der zweiten Pixelgruppe definiert und der zweite Größenwert eine Anzahl von Pixeln, die in der zweiten Pixelgruppe beinhaltet sind, definiert; einen Schritt des Berechnens eines dritten Farbwertes, der eine Farbe eines Isooberflächenpixels an einem dritten Referenzkoordinatenpunkt definiert, wobei der dritte Farbwert eine parametrische Funktion eines jeden der ersten und zweiten Referenzkoordinatenpunkte, der ersten und zweiten Farbwerte und der ersten und zweiten Größenwerte ist; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels an dem dritten Referenzkoordinatenpunkt unter Verwendung des dritten Farbwertes.
  16. System nach Anspruch 15, wobei der Prozess des Weiteren umfasst: in der GUI erfolgendes Rendern bzw. Wiedergeben der ersten Pixelgruppe am Ort der ersten Pixelgruppe unter Verwendung des ersten Farbwertes, und in der GUI erfolgendes Rendern bzw. Wiedergeben der zweiten Pixelgruppe am Ort der zweiten Pixelgruppe unter Verwendung des zweiten Farbwertes.
  17. System nach Anspruch 15 oder 16, wobei der Prozess des Weiteren umfasst: Empfangen einer Eingabe, die eine Modifikation des ersten Satzes von Attributen darstellt; einen Schritt des in Reaktion auf die Eingabe erfolgenden Aktualisierens des dritten Farbwertes auf Grundlage der Änderung; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  18. System nach Anspruch 17, wobei der Prozess des Weiteren umfasst: Speichern des ersten Satzes von Attributen als ursprünglichen ersten Satz von Attributen auf einem elektronischen Speichermedium vor der Modifikation des ersten Satzes von Attributen; Empfangen einer Eingabe, die eine Aufforderung zur Rückgängigmachung der Änderung des ersten Satzes von Attributen darstellt; von dem elektronischen Speichermedium erfolgendes Abrufen des ursprünglichen ersten Satzes von Attributen; in Reaktion auf die Eingabe erfolgendes Aktualisieren des dritten Farbwertes auf Grundlage des ursprünglichen ersten Satzes von Attributen; und in der GUI erfolgendes Rendern bzw. Wiedergeben des Isooberflächenpixels unter Verwendung des aktualisierten dritten Farbwertes.
  19. System nach einem der Ansprüche 15 bis 18, wobei der Prozess des Weiteren umfasst: in der GUI erfolgendes Rendern bzw. Wiedergeben wenigstens eines Teilringes von Pixeln, die die erste Farbe beinhalten, die dem ersten Satz von Attributen zugeordnet ist, wobei der Ring von Pixeln wenigstens teilweise den Ort des Isooberflächenpixels umgibt.
  20. System nach einem der Ansprüche 15 bis 19, wobei der Prozess des Weiteren umfasst: einen Schritt des Erzeugens der ersten Pixelgruppe wenigstens teilweise auf Grundlage einer Farbe mehrerer Pixel eines bestehenden digitalen Kunstwerkes unter Verwendung eines Algorithmus zum Sampeln und Clustern der Pixel des bestehenden digitalen Kunstwerkes.
DE102018001136.5A 2017-05-08 2018-02-13 Interaktive Farbpalettenschnittstelle zum digitalen Malen Pending DE102018001136A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/589,223 US10347012B2 (en) 2017-05-08 2017-05-08 Interactive color palette interface for digital painting
US15/589,223 2017-05-08

Publications (1)

Publication Number Publication Date
DE102018001136A1 true DE102018001136A1 (de) 2018-11-08

Family

ID=61903381

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018001136.5A Pending DE102018001136A1 (de) 2017-05-08 2018-02-13 Interaktive Farbpalettenschnittstelle zum digitalen Malen

Country Status (5)

Country Link
US (2) US10347012B2 (de)
CN (1) CN108876867A (de)
AU (2) AU2018201064B2 (de)
DE (1) DE102018001136A1 (de)
GB (1) GB2562342B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10347012B2 (en) * 2017-05-08 2019-07-09 Adobe Inc. Interactive color palette interface for digital painting
EP3529976B1 (de) * 2017-12-20 2022-11-23 Google LLC Erzeugung von klangpaletten
US11068144B2 (en) * 2018-07-20 2021-07-20 Ledvance Llc Diamond shaped digitial color selection interface
US11107257B1 (en) * 2018-08-01 2021-08-31 Adobe Inc. Systems and methods of generating playful palettes from images
CN111161361A (zh) * 2019-12-27 2020-05-15 广东以诺通讯有限公司 一种绘制调色板数据的计算机实现方法及系统
WO2022223354A1 (en) * 2021-04-19 2022-10-27 Signify Holding B.V. Systems and methods for interactive color selection with dynamic color changing leds
CN115457167B (zh) * 2022-09-21 2023-06-09 山东大学 基于色彩排序的调色板设计系统
CN117409127B (zh) * 2023-12-15 2024-04-05 中国美术学院 基于人工智能的实时水墨流体渲染方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432896A (en) * 1991-01-31 1995-07-11 Axa Corporation Watercolor simulation in computer graphics
US5420607A (en) * 1992-09-02 1995-05-30 Miller; Robert F. Electronic paintbrush and color palette
AUPN360195A0 (en) * 1995-06-16 1995-07-13 Canon Information Systems Research Australia Pty Ltd Colour selection tool
GB2371729B (en) * 2000-10-05 2004-12-22 Ferdinand Carabott Computer simulated paint mixing
US20030184557A1 (en) * 2002-03-26 2003-10-02 Senfar Wen Interactive method and apparatus for managing color gamut mapping
US7495670B1 (en) * 2005-04-15 2009-02-24 Johnnie Manzari Shapes comprising repeated graphic elements
US8243325B2 (en) * 2005-07-08 2012-08-14 Xerox Corporation Method for prepress-time color match verification and correction
JP4623301B2 (ja) * 2005-12-17 2011-02-02 富士ゼロックス株式会社 画像処理装置、画像処理プログラム
US8520004B2 (en) * 2007-06-04 2013-08-27 Daedal Doodle, LLC Interactive labyrinth curve generation and applications thereof
US8487963B1 (en) * 2008-05-30 2013-07-16 Adobe Systems Incorporated Preview representation of pixels effected by a brush tip area
US8749572B2 (en) * 2010-05-28 2014-06-10 Adobe Systems Incorporated System and method for simulation of brush-based painting in a color space that includes a fill channel
US8369616B2 (en) * 2010-10-20 2013-02-05 Xerox Corporation Chromatic matching game
US8676552B2 (en) * 2011-02-16 2014-03-18 Adobe Systems Incorporated Methods and apparatus for simulation of fluid motion using procedural shape growth
US8762866B2 (en) * 2011-04-08 2014-06-24 Adobe Systems Incorporated Remote paint mixing controller
US9513771B2 (en) * 2012-08-06 2016-12-06 Wix.Com Ltd. System for supporting flexible color assignment in complex documents
US20130326381A1 (en) * 2012-05-29 2013-12-05 Microsoft Corporation Digital art program interaction and mechanisms
EP2722750A3 (de) * 2012-10-22 2015-10-28 FiftyThree, Inc. Verfahren und Vorrichtung zur Bereitstellung einer Farbpalettenverwaltung in einer graphischen Benutzerschnittstelle
US9235926B2 (en) * 2012-12-24 2016-01-12 Intel Corporation Techniques for improving MSAA rendering efficiency
US9192874B2 (en) * 2013-03-15 2015-11-24 Crayola, Llc Digital coloring tools kit with dynamic digital paint palette
US9147378B2 (en) 2013-04-01 2015-09-29 Adobe Systems Incorporated Color selection interface
US10347012B2 (en) * 2017-05-08 2019-07-09 Adobe Inc. Interactive color palette interface for digital painting

Also Published As

Publication number Publication date
AU2018201064A1 (en) 2018-11-22
AU2018201319A1 (en) 2018-11-22
US10347012B2 (en) 2019-07-09
GB2562342B (en) 2021-05-12
US20190304141A1 (en) 2019-10-03
AU2018201319B2 (en) 2021-09-23
AU2018201064B2 (en) 2021-08-05
CN108876867A (zh) 2018-11-23
GB2562342A (en) 2018-11-14
US20180322661A1 (en) 2018-11-08
US11087503B2 (en) 2021-08-10
GB201802967D0 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
DE102018001136A1 (de) Interaktive Farbpalettenschnittstelle zum digitalen Malen
DE60031664T2 (de) Computerverfahren und vorrichtung zum schaffen von sichtbarer graphik unter verwendung von graph algebra
DE69533711T2 (de) Rechnerunterstützte Farbauswahl und farbgebendes System
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
US7920149B2 (en) Rollback in a browser
JP2023078363A (ja) ウェブサイト構築システムおよびウェブサイト構築システムのための方法
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102019005879A1 (de) Generieren von dreidimensionalem Digitalcontent aus in natürlicher Sprache gegebenen Aufforderungen
DE112012005827T5 (de) Bearbeiten von Medien unter Verwendung von graphischer Darstellung der Medien
US20210241503A1 (en) Method and apparatus for automatic line drawing coloring and graphical user interface thereof
DE102013215438A1 (de) System zum Unterstützen einer flexiblen Farbzuweisung in komplexen Dokumenten
DE102019001695A1 (de) Generieren von verbesserten Digitalbildern durch selektives Transformieren von Rasterbildern in Vektorzeichnungssegmente
DE102017007967A1 (de) Verarbeiten und rendern eines dreidimensionalen Modells
US20140289663A1 (en) Producing Artwork Based on an Imported Image
DE112006003239T5 (de) System zum Drucken einer Druckvorlage bzw. Illustration, die überlappte Druckfarben enthält
DE102018005610A1 (de) Diffusionsfärben unter Verwendung von gewichteten Farbpunkten
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102013203831A1 (de) Verfahren und System für ein Master-Seiten-basiertes integriertes Editieren und eine dynamische Layout-Aktivierung
DE102013203526A1 (de) Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung
DE102022112888A1 (de) Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102018007146A1 (de) Ölgemälde-Strichsimulation mittels eines neuronalen Netzwerks
DE102012215488A1 (de) Adaptive Anwenderschnittstelle für ein kreatives Multimedia-Gestaltungssystem
EP1159689A2 (de) Such- und navigationseinrichtung für hypertext-dokumente
DE102017006557A1 (de) Verwenden von Markierungen zum Verfolgen von hochfrequenten Offsets für Patchabgleichsalgorithmen

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed