Textursynthese nennt man die automatische Erzeugung von Texturen, also zweidimensionalen digitalen Bildern, die Oberflächenstrukturen oder vergleichbare Inhalte zeigen. Es gibt zwei grundlegend verschiedene Arten der Textursynthese: Prozedurale Textursyntheseverfahren erzeugen aus dem Nichts eine neue Textur, vorlagenbasierte Verfahren ahmen eine gegebene Bildvorlage nach. Ziel beider Verfahren ist es, Bilder zu erzeugen, die von realen Vorbildern nicht zu unterscheiden sind.

Die Textursynthese bildet zusammen mit der Texturanalyse den gemeinsamen Forschungsbereich der Richtungen Bildverarbeitung, Computergrafik und Maschinelles Sehen, der sich den besonderen Eigenschaften von Texturen widmet. Neben der Textursynthese werden in diesem Fachbereich drei weitere Problemkreise untersucht: Texturklassifikation, die Unterscheidung verschiedener Texturarten anhand messbarer Eigenschaften, Textursegmentation, das Zerlegen eines Bildes in einheitlich texturierte Flächen und die Shape from Texture genannte Instanz der allgemeineren Fragestellung Shape from X, bei der aus einem zweidimensionalen Bild auf die dreidimensionale Form des abgebildeten Objekts geschlossen werden soll.M. Tuceryan, A. K. Jain: Texture Analysis. In: C. H. Chen, L. F. Pau, P. S. P. Wang (Editoren): The Handbook of Pattern Recognition and Computer Vision (2nd Edition). World Scientific Publishing Co., 1998, Kapitel 2.1, S. 207–248.

Anwendung findet die Textursynthese in der Bildbearbeitung, z. B. wenn unerwünschte Details in einem digitalen Foto unauffällig retuschiert werden sollen oder die Materialbeschaffenheit eines abgebildeten Objekts verändert werden soll. In der 3D-Computergrafik dient sie dazu, dreidimensionale Modelle mit möglichst realistisch wirkenden Oberflächen zu überziehen und gleichzeitig den Speicherbedarf für Texturen zu reduzieren.

Texturen

mini|100px|Kettenhemd: Aus der Ferne Textur, aus der Nähe einzelne Kettenglieder

Menschen erfassen den Begriff der Textur intuitiv, eine präzise und damit maschinell nachvollziehbare Ausformulierung gestaltet sich jedoch schwierig und ist eines der noch unerreichten Ziele der Texturanalyse. Eine brauchbare Definition von Textur ist: Textur ist die Schwankung von Daten in einer Größenordnung, die kleiner ist als die Größenordnung, für die sich der Betrachter interessiertM. Petrou, P. G. Sevilla: Image Processing: Dealing With Texture. Wiley, 2006. ISBN 0-470-02628-6. Ob eine Abbildung Textur ist oder nicht, ist danach eine Frage der Skalierung und des Standpunkts des Betrachters.

In der Textursynthese unterscheidet man zwei Texturartenextreme, die fließend ineinander übergehen: Regelmäßige oder deterministische Texturen zeigen ausgeprägte Strukturen, die sich mit geometrischer Regelmäßigkeit wiederholen, stochastische Texturen zeigen überhaupt keine Struktur, sondern erinnern an Bildrauschen. Für die Anwendungspraxis sind vor allem die in der Natur häufig anzutreffenden fast regelmäßigen und fast stochastischen Texturen von Interesse. Die Texturklassifikation kennt weitere Texturarten und unterteilt beispielsweise die regelmäßigen Texturen noch in geometrisch und farblich regelmäßige Texturen.Y. Liu, W.-C. Lin, J. Hays: Near-Regular Texture Analysis and Manipulation. 2004

zentriert|mini|hochkant=4.0|Texturenspektrum: Regelmäßige (regular), fast regelmäßige (near-regular), unregelmäßige (irregular), fast stochastische (near-stochastic), stochastische (stochastic) Texturen.

Prozedurale Verfahren

Prozedurale Textursyntheseverfahren erzeugen Texturen aus dem Nichts. Der Benutzer wählt lediglich eine Reihe von numerischen Parametern – man spricht daher auch von parametrischer Textursynthese –, die an eine mathematische Funktion oder einen Algorithmus übergeben werden und die Ausgabe des Verfahrens beeinflussen.

Der Ursprung der parametrischen Textursynthese ist Perlin-Noise, eine 1982 von Ken Perlin für den Film Tron entwickelte mathematische Funktion, die Texturbilder durch zufällige Verzerrung abwechslungsreicher gestaltet. Eine systematische Forschung auf diesem Gebiet findet nicht statt, prozedurale Verfahren werden durch Versuch und Irrtum oder durch Zufall entdeckt.

Statt der eigentlichen Textur muss bei der prozeduralen Textursynthese nur das Verfahren gespeichert werden, mit dem die Textur erzeugt wird. Dies spart in der Regel extrem viel Speicherplatz und ist damit besonders für solche Szenarien von Interesse, in denen nur wenig Speicher zur Verfügung steht, z. B. in der Demoszene, wo aus nur 64 KB Speicher möglichst vielseitige Grafiken erzeugt werden sollen. Ein zweiter Pluspunkt ist, dass die prozedurale Textursynthese mitunter sehr schnell große Texturen erzeugt und sich damit zur Texturerzeugung on the fly für 3D-Computerspiele und ähnliche Anwendungen eignet, wo schnelle Reaktionszeiten garantiert werden müssen.

Stationarität Für die Textursynthese sind hauptsächlich stationäre Texturen von Interesse: Wo immer der Blick gerade in einem solchen Bild umherwandert, man hat immer das Gefühl, das Gleiche zu sehen – gerade so als bewegte sich der Blick überhaupt nicht von der Stelle. In der Fachsprache sagt man, die Bildinformation sei gleichmäßig über das gesamte Bild verteilt.

Markow-Ketten Eine der wichtigsten mathematischen Grundlagen der Textursynthese ist die Erkenntnis, dass Texturen als Produkt einer Markow-Kette begriffen werden können. Die Aussage dieses Modells der Wahrscheinlichkeitstheorie lautet im Zusammenhang der Textursynthese: Jeder Bildpunkt einer Textur hängt nur von den Bildpunkten in seiner unmittelbaren Umgebung ab, jedoch nicht von den Bildpunkten außerhalb dieses fest eingrenzbaren Bereichs. Diese sogenannte Markow-Eigenschaft übersetzt die Eigenschaft der Stationarität in ein handfestes Berechnungsmodell und ist der mathematische Unterbau nahezu aller Textursyntheseverfahren.

Torusgeometrie In der Anfangszeit setzte die Textursynthese auf das folgende geometrische Prinzip: Ein Bild, dessen rechter und linker sowie oberer und unterer Rand sauber zueinander passen, kann ohne sichtbare Nahtstellen beliebig oft aneinander angefügt werden. Weil sich dies besonders deutlich zeigt, wenn man das flache Bild zu einem Torus verformt, spricht man hier auch von Torusgeometrie. Der Geometrie der ebenen kristallographischen Gruppen pm und pmm zufolge lässt sich auch ein Bild mit beliebigen Rändern durch geeignetes Spiegeln nahtlos aneinanderreihen. Heute sind diese geometrischen Ideen von untergeordneter Bedeutung.

Algorithmen Alle bislang entwickelten Algorithmen zur Textursynthese verfolgen entweder den Mosaikansatz oder den Pixelansatz. Beim Mosaikansatz wird das Ergebnisbild aus größeren Stücken der Vorlage zusammengesetzt, während es beim Pixelansatz Bildpunkt für Bildpunkt aufgebaut wird.

Ein Textursynthesealgorithmus erhält als Eingaben ein digitales Bild, die gewünschte Größe des Ausgabebildes sowie eventuell einige algorithmusspezifische Parameter, mit denen seine Funktionsweise näher bestimmt werden kann. Die Ausgabe des Algorithmus besteht aus dem synthetisierten Bild.

Stochastische Synthese Bei der stochastischen Synthese wird das Ausgabebild Bildpunkt für Bildpunkt zusammengesetzt. Der Farbwert des gerade betrachteten Bildpunkts wird festgelegt, indem der Farbwert eines zufällig ausgewählten Pixels im Vorlagenbild übernommen wird. Diese Methode ist sehr schnell, funktioniert aber nur bei hochgradig stochastischen Texturen, d. h. wenn die Einzelteile der Textur höchstens einen Bildpunkt groß sind.

Kacheln Von Kacheln (englisch tiling) spricht man, wenn die Vorlage wiederholt dupliziert und aneinandergefügt wird. Diese Methode ist schnell, erzeugt aber höchstens bei strukturierten Texturen befriedigende Ergebnisse; und nicht einmal dort immer. Erfüllt die Vorlage nicht spezielle Symmetriebedingungen, so ist im Endresultat deutlich erkennbar, wo die Duplikate aneinandergrenzen. Da sich der Bildinhalt in regelmäßigen Abständen wiederholt, ist das Ergebnis immer eine strukturierte Textur. Kacheln ist also für andere Texturklassen gänzlich ungeeignet. Spiegelt man die Duplikate wiederholt, so verschwinden zwar die Grenzen zwischen den Kacheln, der Wiederholungseffekt bleibt aber bestehen. Kacheln wird häufig zur Erstellung einfacher Hintergrundbilder für Websites und grafische Benutzeroberflächen angewandt.

Synthese nach Efros und Leung

Diese Technik wurde 1999 von Alexei A. Efros und Thomas K. Leung vorgestelltA. A. Efros, T. K. Leung: Texture Synthesis by Non-parametric Sampling. In: Proceedings of IEEE International Conference on Computer Vision, Corfu, Greece, September 1999. PDF 1 MB und wird gemeinhin „Synthese nach Efros und Leung“, gelegentlich aber auch Image Growing genannt.

Hier wird zunächst ein leeres Bild mit den gewünschten Maßen erzeugt. In dieses Bild hinein wird die sogenannte Saat kopiert, ein kleines, zufällig ausgewähltes Stückchen der Vorlage. Dann wird das Bild, ausgehend von der Saat, in mehreren Durchgängen Pixel für Pixel befüllt. In jedem Durchgang werden zunächst alle an den bereits ausgefüllten Bildbereich angrenzenden Pixel bestimmt. Dann wird für jeden dieser Pixel eine Reihe von Bildpunkten in der Vorlage ermittelt, deren Umgebungen der Umgebung des neuen Bildpunkts möglichst ähnlich sind. Aus diesen wird ein Bildpunkt zufällig ausgewählt und dessen Farbe dem neuen Bildpunkt zugewiesen.

Qualität der Ergebnisse und Geschwindigkeit des Verfahrens sind von der Größe der betrachteten Umgebung, der sogenannten Randbreite, abhängig. Je strukturierter eine Textur ist, desto weiträumiger müssen die Umgebungen der Bildpunkte verglichen werden, bei stochastischen Texturen hingegen ist eine möglichst kleine Umgebungsgröße angezeigt, um keine unerwünschten Strukturen zu erhalten. Je größer die betrachtete Umgebung ist, desto langsamer ist der Algorithmus. Wird die Umgebungsgröße auf null gesetzt, so entspricht das Verfahren der stochastischen Synthese (s. o.).

Zahlreiche Nachfolgearbeiten (z. B.M. Ashikhmin: (PDF; 2 MB) In: The proceedings of 2001 ACM Symposium on Interactive 3D Graphics, Research Triangle Park, NorthCarolina March 19-21. S. 217–226) haben das Verfahren seitdem verfeinert, indem sie die vorhandenen Such- und Vergleichsaktionen algorithmisch optimierten.

Quilten rechts|gerahmt|Image QuiltingImage Quilting for Texture Synthesis and Transfer, Alexei A. Efros en Willian T. Freeman (englisch) Beim Quilten wird das Ergebnisbild Flicken für Flicken aus der Vorlage zusammengesetzt. Für jede Flickenposition des Ausgabebildes werden in der Vorlage Bildteile gesucht, deren Umgebung der Umgebung des neuen Flickens möglichst ähnlich ist. Aus den ermittelten Teilen wird dann zufällig einer ausgewählt. Um die Übergänge zwischen den Flicken zu verstecken, wird der neue Flicken vor dem Einfügen zurechtgeschnitten, das heißt sein Rand wird so beschnitten, dass er sich möglichst gut in das bislang erzeugte Bild einfügt.

Quilten ist die qualitativ hochwertigste aber auch zeitaufwändigste Mosaiktechnik. Sie eignet sich für teilstrukturierte und teilstochastische Texturen sowie teilweise für strukturierte und stochastische Texturen. Liegt eine unstrukturierte Mustertextur vor, also eine mit nicht rein geometrisch begründeter Struktur, so wird das Ergebnis nur bedingt zufriedenstellend: Da strukturierte Objekte willkürlich zerschnitten und neu zusammengesetzt werden, können befremdliche Effekte entstehen; so mögen beispielsweise aus Tomaten der Güteklasse A zerstückelte oder verwachsene Tomaten werden. Hochgradig strukturierte Vorlagen liefern nur bei genügend großer Flickengröße befriedigende Ergebnisse, während hochgradig stochastische Vorlagen nach einer möglichst kleinen Flickengröße verlangen. Wird die Flickengröße auf einen Bildpunkt festgelegt, so entspricht Quilten der Technik des Image Growing (s. u.).

Chaosmosaik