-
Die vorliegende Beschreibung betrifft digitale Bildbearbeitungswerkzeuge.
-
Hintergrund
-
Manche Fotografen bearbeiten Bilder unter Verwendung eines digitalen Bildbearbeitungswerkzeuges, das auf einem Computer läuft. Manche Bearbeitungen, die an einem Bild unter Verwendung eines derartigen digitalen Bildbearbeitungswerkzeuges vorgenommen werden können, beinhalten unter anderem Anpassungen, so beispielsweise an der Belichtung, dem Kontrast und der Farbe. Derartige Anpassungen können unter Verwendung lokaler Anpassungswerkzeuge, so beispielsweise unter Verwendung eines Pinsels, eines Lineargradienten und/oder eines Radialgradienten, vorgenommen werden.
-
Man stelle sich beispielsweise vor, dass ein Nutzer ein Bild eines Baumes mit roten Blättern im Laubwerk und eines roten Gebäudes am Boden gegen blauen Himmel im Hintergrund bearbeiten möchte. Der Nutzer möchte die roten Blätter gegebenenfalls aufhellen, jedoch andere rote Farben in dem Bild dunkler lassen. Bei herkömmlicher Vorgehensweise zur Bearbeitung von Bildern unter Verwendung eines digitalen Bildbearbeitungswerkzeuges definiert der Nutzer gegebenenfalls eine Maske, die einen Bereich definiert, in dem bestimmte Farb- und Tonanpassungen vorgenommen werden können. Beim vorbeschriebenen Beispiel gewichtet eine derartige Maske die Rotsättigung in den Blättern hoch und niedrig, indem Bereiche ausgewählt werden, die die roten Blätter beinhalten, und ein Pinsel in jenen Bereichen zum Einsatz kommt.
-
Zusammenfassung
-
Beinhalten kann ein Verfahren bei einem allgemeinen Aspekt ein durch für die Bildbearbeitung konfigurierte Verarbeitungsschaltkreise eines Computers erfolgendes Beziehen eines Bildes, das mehrere Pixel beinhaltet, wobei jedes der mehreren Pixel Werte mehrerer Parameter aufweist, die eine Farbe und einen Ton definieren. Beinhalten kann das Verfahren zudem ein durch die Verarbeitungsschaltkreise erfolgendes Erzeugen einer Raummaske, die einen Bereich des Bildes definiert, wobei die Raummaske für jedes Pixel der mehreren Pixel einen jeweiligen Wert beinhaltet, der angibt, ob jenes Pixel in dem Bereich beinhaltet ist. Beinhalten kann das Verfahren des Weiteren ein durch die Verarbeitungsschaltkreise erfolgendes Erzeugen einer Bereichsmaske, die einen Bereich von Werten eines spezifizierten Parameters der mehreren Parameter beinhaltet, wobei die Bereichsmaske für jedes Pixel der mehreren Pixel einen jeweiligen Wert beinhaltet, der angibt, ob der Wert der spezifizierten Parameter jenes Pixels innerhalb des Bereiches von Werten des spezifizierten Parameters ist. Beinhalten kann das Verfahren des Weiteren ein durch die Verarbeitungsschaltkreise erfolgendes Empfangen einer Aufforderung dahingehend, einen Wert eines Parameters der mehreren Parameter anzupassen. Beinhalten kann das Verfahren des Weiteren ein in Reaktion auf das Empfangen der Aufforderung durch die Verarbeitungsschaltkreise erfolgendes Durchführen eines Parameterwertanpassungsvorganges an dem Bild zur Erzeugung eines bearbeiteten Bildes, wobei der Parameterwertanpassungsvorgang dafür konfiguriert ist, den Wert des Parameters eines jeden der mehreren Pixel auf Grundlage des Wertes der Raummaske und des Wertes der Bereichsmaske anzupassen.
-
Details zu einer oder mehreren Implementierungen sind in der begleitenden Zeichnung und in der nachfolgenden Beschreibung niedergelegt. Weitere Merkmale erschließen sich aus der Beschreibung, der Zeichnung und den Ansprüchen.
-
Figurenliste
-
- 1 ist ein Diagramm, das eine exemplarische elektronische Umgebung darstellt, in der hier beschriebene verbesserte Techniken implementiert sein können.
- 2 ist ein Flussdiagramm, das ein exemplarisches Verfahren des Implementierens der in 1 gezeigten verbesserten Techniken darstellt.
- 3 ist ein Flussdiagramm, das einen exemplarischen Prozess des Normierens eines Bildes entsprechend den in 1 gezeigten verbesserten Techniken darstellt.
- 4A ist ein Flussdiagramm, das einen exemplarischen Prozess des Erzeugens einer Luminanzbereichsmaske entsprechend den in 1 gezeigten verbesserten Techniken darstellt.
- 4B ist ein Diagramm, das eine exemplarische GUI darstellt, in der eine Luminanzbereichsmaske gewählt ist, entsprechend den in 1 gezeigten verbesserten Techniken.
- 5A ist ein Flussdiagramm, das einen exemplarischen Prozess des Erzeugens eines Punkttypmodells für eine Farbbereichsmaske darstellt, entsprechend den in 1 gezeigten verbesserten Techniken.
- 5B ist ein Flussdiagramm, das einen exemplarischen Prozess des Erzeugens eines Flächentypmodells für eine Farbbereichsmaske darstellt, entsprechend den in 1 gezeigten verbesserten Techniken.
- 5C ist ein Diagramm, das eine exemplarische GUI darstellt, in der eine Farbbereichsmaske gewählt ist, entsprechend den in 1 gezeigten verbesserten Techniken.
- 6 ist ein Diagramm, das ein exemplarisches röhrenförmiges Volumen in einem Lab-Farbraum darstellt, das einen Bereich für ein Farbtypmodell für eine Farbbereichsmaske darstellt, entsprechend den in 1 gezeigten verbesserten Techniken.
-
Detailbeschreibung
-
Die vorbeschriebene herkömmliche Vorgehensweise bei der Bearbeitung von Bildern unter Verwendung eines digitalen Bildbearbeitungswerkzeuges führt zu einem komplizierten, mehrere Schritte umfassenden Arbeitsablauf, der zeitintensiv und genauigkeitsbeschränkt ist. Gegebenenfalls ist bei dem vorbeschriebenen Baum mit roten Blättern im Laubwerk das Definieren genauer Masken schwierig, da die Raumgrenzen sehr unregelmäßig sind. In vielen Fällen bestehen die unregelmäßigen Grenzen aus geraden Elementen, die jeweils kleiner als ein Pixel sind. Ein Nutzer, der die Vornahme lokaler Anpassungen an den roten Blättern wünscht, müsste dann unter anderem einen Bereich definieren, der nicht alle Pixel mit roter Farbe oder Pixel ohne rote Farbe abdeckt. Entsprechend werden lokale Anpassungen gegebenenfalls in Bereichen, in denen der Nutzer es wollte, nicht vorgenommen, oder sie werden in Bereichen, in denen der Nutzer es nicht wollte, vorgenommen.
-
Auf Grund der Kompliziertheit des durch das Definieren implizierten Arbeitsablaufes führen derartige Raummasken des Weiteren zu destruktiven Bearbeitungen an einem Bild, das heißt zu Bearbeitungen, die nicht ohne Weiteres rückgängig gemacht werden können. Sind Bearbeitungen indes einfach, so können diese Bearbeitungen in einer Form, so beispielsweise in einem XML-Skript, das separat von dem ursprünglichen Bild gespeichert werden kann, ausgedrückt werden. Auf diese Weise bleibt das ursprüngliche Bild als Standard erhalten. Derartige Bearbeitungen sind jedoch in Situationen, in denen die Bearbeitungen hinreichend kompliziert werden, also beispielsweise bei dem Beispiel mit den roten Blättern, gegebenenfalls nur als direkte Änderungen an dem Bild selbst nutzbar.
-
Entsprechend den hier beschriebenen Implementierungen implizieren verbesserte Techniken des Bearbeitens von Bildern unter Verwendung eines digitalen Bildbearbeitungswerkzeuges im Gegensatz zur vorbeschriebenen Vorgehensweise bei der Bearbeitung von Bildern unter Verwendung eines digitalen Bildbearbeitungswerkzeuges das Definieren einer lokalen Anpassung, die eine Raummaske und eine Bereichsmaske als separate Masken beinhaltet. Die Raummaske spezifiziert einen Bereich des Bildes zur Anpassung, während die Bereichsmaske Bereiche von Farben und Tönen zur Anpassung unabhängig von dem durch die Raummaske spezifizierten Bereich spezifiziert. Beim Anwenden dieser Masken gewichtet das digitale Bildbearbeitungswerkzeug, wenn ein Nutzer eine Einstellung an dem digitalen Bildbearbeitungswerkzeug ändert, die Wirkung der Einstellung entsprechend den Werten der Raummaske und der Bereichsmaske für jedes Pixel des Bildes.
-
Bei einigen Implementierungen kann der Nutzer als Bereichsmaske eine Luminanzbereichsmaske auswählen, die einen von Wert „1“ für Pixel, die einen Luminanzwert mit einem ausgewählten Bereich aufweisen, und von „0“ für Pixel, die einen Luminanzwert außerhalb jenes Bereiches aufweisen, spezifiziert. Auf ähnliche Weise spezifiziert das digitale Bildbearbeitungswerkzeug, wenn ein Nutzer einen Bereich des Bildes zur Bearbeitung auswählt, einen Raummaskenwert von „1“ für jedes Pixel innerhalb jenes Bereiches und von „0“ für jedes Pixel außerhalb des Bereiches. Entsprechend gewichtet das digitale Bildbearbeitungswerkzeug, wenn der Nutzer eine Anpassung eines Wertes eines Parameters (beispielsweise ein Ändern des Kontrastes oder der Helligkeit) vornimmt, die Änderung des Wertes jenes Parameters mit dem Raummaskenwert und dem Luminanzbereichsmaskenwert. Das Gewichten erfolgt bei allen Pixeln des Bildes, obwohl viele dieser Gewichtungen gleich 0 sind, was mit keiner Änderung an jenem Parameter für jene Pixel einhergeht. Bei einigen Implementierungen bildet das digitale Bildbearbeitungswerkzeug als Gesamtmaskengewichtung das Produkt des Raummaskenwertes und des Luminanzbereichsmaskenwertes. Bei einigen Implementierungen kann die Gesamtmaskengewichtung eine andere Kombination des Raummaskenwertes und des Bereichsmaskenwertes sein, so beispielsweise eine Faltung des Raummaskenwertes und des Bereichsmaskenwertes.
-
Bei einigen Implementierungen kann der Nutzer als Bereichsmaske eine Farbbereichsmaske auswählen, die einen Wert von „1“ für Pixel, die einen Farbwert mit einem ausgewählten Bereich aufweisen, und von „0“ für Pixel, die einen Luminanzwert außerhalb jenes Bereiches aufweisen, spezifiziert. Bei einigen Anordnungen beinhaltet die Farbbereichsmaske ein Punktmodell, bei dem ein Einzelpunkt eines Lab-Farbraumes als der Bereich gewählt wird. Bei einigen Anordnungen beinhaltet die Farbbereichsmaske ein Flächenmodell, bei dem ein Bereich des Lab-Farbraumes als der Bereich gewählt wird, wobei dieser Bereich ein röhrenförmiges Volumen im Lab-Raum ergibt.
-
Bei einigen Implementierungen weist die Bereichsmaske eine derartige Glättungsfunktion auf, dass der Übergang von innerhalb des Bereiches nach außerhalb glatt bzw. stetig und nicht binär bzw. sprunghaft ist. Bei einem Beispiel kann die Luminanzbereichsmaske eine Gauß'sche Glättungsfunktion an den Rändern des Luminanzbereiches aufweisen. Bei einem anderen Beispiel kann das Punktmodell der Farbbereichsmaske als Werte der Bereichsmaske eine dreidimensionale Gauß'sche Funktion im Lab-Raum, die an dem Einzelpunkt zentriert ist, aufweisen. Bei einem weiteren Beispiel kann das Flächenmodell der Farbbereichsmaske eine Gauß'sche Glättungsfunktion an der Oberfläche des röhrenförmigen Volumens im Lab-Raum aufweisen.
-
Bei einigen Implementierungen normiert das digitale Bildbearbeitungswerkzeug beim Beziehen des Bildes das Bild zunächst derart, dass ein beliebiges Anfangsbild derselben Szene als dasselbe normierte Bild dargestellt wird. Die Bereiche von Werten der verschiedenen Parameter, die der Nutzer bei dem digitalen Bildbearbeitungswerkzeug ändern kann, werden sodann im Kontext des normierten Bildes geändert. Bei einigen Implementierungen impliziert das Normieren des Bildes ein Umwandeln eines RBG-Rohfarbraumes des Bildes in einen Lab-Farbraum des Bildes, ein Bilden eines Histogramms der Luminanz über die Pixel des Bildes hinweg und ein sodann erfolgendes Neuverteilen der Luminanzen, um die Höhen der Histogrammklassen (histogram bins) auszugleichen.
-
Bei einigen Implementierungen sind die Raummaske und die Bereichsmaske getrennt vom ursprünglichen Rohbild gespeichert, sodass die von dem Nutzer vorgenommenen Bearbeitungen im Grunde nichtdestruktiv sind, weshalb das ursprüngliche Bild bei Bedarf wiederhergestellt werden kann.
-
Die vorstehend definierte lokale Anpassung vereinfacht das Vornehmen genauerer Anpassungen an einem Bild bei geringerem Aufwand. Im Gegensatz zur herkömmlichen Vorgehensweise kann das Spezifizieren des Bereiches der Raummaske grob vorgenommen werden, solange es die tatsächlichen Bereiche zur Anpassung beinhaltet. Das Feinabstimmen von Merkmalen in dem Bild wird durch die Bereichsmaske vorgenommen, die vom Nutzer vergleichsweise einfach spezifiziert werden kann. Schließlich sind die in der Raummaske und der Bereichsmaske spezifizierten Änderungen vergleichsweise einfach und können in separaten Dateien, so beispielsweise XML-Dateien, gespeichert werden, weshalb der Bearbeitungsprozess nichtdestruktiv sein kann.
-
1 ist ein Diagramm, das eine exemplarische elektronische Umgebung 100 darstellt, in der die vorbeschriebenen verbesserten Techniken implementiert sein können. Wie gezeigt ist, beinhaltet die elektronische Umgebung 100 in 1 einen Bearbeitungscomputer 120, ein Netzwerk 170, eine fotografische Ausrüstung 172, eine Anzeige 180 und einen nichtflüchtigen Speicher 190.
-
Der Bearbeitungscomputer 120 ist dafür konfiguriert, Bilder zu bearbeiten. Der Bearbeitungscomputer 120 beinhaltet eine Netzwerkschnittstelle 122, eine oder mehrere Verarbeitungseinheiten 124 und einen Speicher 126. Die Netzwerkschnittstelle 122 beinhaltet beispielsweise Ethernet-Adapter, Token-Ring-Adapter und dergleichen zum Umwandeln elektronischer und/oder optischer Signale, die von einem Netzwerk empfangen werden, in elektronische Form zur Verwendung durch den Bearbeitungscomputer 120. Der Satz von Verarbeitungseinheiten 124 beinhaltet einen oder mehrere Verarbeitungschips und/oder Einheiten. Der Speicher 126 beinhaltet sowohl einen flüchtigen Speicher (beispielsweise einen RAM) wie auch einen nichtflüchtigen Speicher, so beispielsweise einen oder mehrere ROMs, Plattenlaufwerke, Solid-State-Laufwerke und dergleichen mehr. Der Satz von Verarbeitungseinheiten 124 und der Speicher 126 bilden zusammen Steuer- bzw. Regelschaltkreise, die dafür konfiguriert und angeordnet sind, verschiedene hier beschriebene Verfahren und Funktionen auszuführen.
-
Bei einigen Ausführungsformen können eine oder mehrere der Komponenten des Bearbeitungscomputers 120 Prozessoren (beispielsweise die Verarbeitungseinheiten 124), die zur Verarbeitung von in dem Speicher 126 gespeicherten Anweisungen konfiguriert sind, sein oder diese beinhalten. Beispiele für derartige Anweisungen beinhalten entsprechend 1 einen Bilderwerbsverwalter 130, einen Raummaskenverwalter 140, einen Bereichsmaskenverwalter und einen Bildbearbeitungsverwalter 160. Des Weiteren ist der Speicher 126, wie in 1 dargestellt ist, dafür konfiguriert, verschiedene Daten zu speichern, was anhand der jeweiligen Verwalter, die diese Daten nutzen, noch beschrieben wird.
-
Der Bilderwerbsverwalter 130 ist dafür konfiguriert, Bilddaten 132 von einer Bildquelle zu beziehen. Wie in 1 gezeigt ist, bezieht der Bilderwerbsverwalter 130 die Bilddaten 132 von der fotografischen Ausrüstung 172 über das Netzwerk 170. Bei einigen Implementierungen bezieht der Bilderwerbsverwalter 130 die Bilddaten 132 von einer Rohbilddatei 192, die in einem externen, nichtflüchtigen Speicher 190 gespeichert ist.
-
Die Bilddaten 132 stellen ein Bild einer Szene und/oder eines Objektes dar. Bei einigen Implementierungen sind die Bilddaten 132 ein Farbbild, das in RGB-Koordinaten ausgedrückt wird, so beispielsweise als ganzzahlige 8-Bit-Intensitäten (von 0 bis 255) roter, grüner und blauer Farbkanäle. Die Bilddaten 132 beinhalten eine Anzahl von Pixeln (beispielsweise 2048 mal 1536 bei einem HD-Bild), wobei jedes Pixel einen einzigen Wert eines jeden der Farbkanäle aufweist.
-
Der Raummaskenverwalter 140 ist dafür konfiguriert, Raummaskendaten 142 zu erzeugen. Bei einigen Anordnungen empfängt der Raummaskenverwalter 140 von einer grafische Nutzerschnittstelle (GUI) des Bildbearbeitungsverwalters 160 Daten, die einen Bereich des Bildes angeben, der von den Bilddaten 132 dargestellt wird und auf der Anzeige 180 gezeigt wird. Der Nutzer kann einen Bereich des Bildes beispielsweise dadurch definieren, dass er gleichzeitig eine Maus bewegt und eine Maustaste über dem Bild, das auf der Anzeige 180 angezeigt wird, hält.
-
Wie in 1 gezeigt ist, beinhalten die Raummaskendaten 142 Pixelidentifikationsdaten 144 und Maskenwertdaten 146. Bei einigen Implementierungen beinhalten die Pixelidentifikationsdaten 144 ein Paar von ganzen Zahlen (beispielsweise zwischen 0 und 2047 und zwischen 0 und 1535), die die Position eines Pixels innerhalb des Bildes angeben. Bei einigen Implementierungen beinhalten die Pixelidentifikationsdaten 144 eine einzelne ganze Zahl, die eine Adresse eines Pixels innerhalb des Bildes darstellt. Die Maskenwertdaten 146 sind eine Zahl, die angibt, ob ein Pixel innerhalb oder außerhalb des vom Nutzer angegebenen Bereiches ist. Die Maskenwertdaten 146 können beispielsweise den Wert 1, wenn das Pixel innerhalb des Bereiches ist, und den Wert 0, wenn das Pixel außerhalb des Bereiches ist, annehmen. Bei einigen Implementierungen können die Maskenwertdaten 146, wenn das Pixel hinreichend nahe an einer Grenze des Bereiches ist, auch andere Werte, so beispielsweise eine Zahl zwischen 0 und 1, annehmen.
-
Der Bereichsmaskenverwalter 150 ist dafür konfiguriert, die Bereichsmaskendaten 152 zu erzeugen. Bei einigen Anordnungen empfängt der Bereichsmaskenverwalter 150 beispielsweise von einer GUI des Bildbereichsverwalters 160 die Bereichsmaskendaten 152, die einen Bereichstyp 152, so beispielsweise die Luminanz oder die Farbe, angeben. In Abhängigkeit von den Bereichstypdaten 152 empfängt der Bereichsmaskenverwalter 150 die Bereichsmaskendaten 152 von einem Schieberegler in der GUI oder von einem Nutzer, der gleichzeitig eine Maus bewegt und eine Maustaste über einem Bereich des Bildes, der auf der Anzeige 180 angezeigt wird, hält.
-
Die Bereichsmaskendaten 152 beinhalten Bereichstypdaten 154, Parameteridentifikationsdaten 154, Bereichsdaten 156 und Maskenwertdaten 158. Bei einigen Implementierungen geben die Bereichstypdaten 154 Luminanzbereichsdaten oder Farbbereichsdaten an. Bei einigen Implementierungen geben die Farbbereichsdaten des Weiteren einen Punkttyp oder einen Flächentyp an. Die Bereichsdaten 154 beinhalten einen Satz von Zahlen, die einen Bereich im Kontext des Bereichstyps, der in den Bereichstypdaten 154 angegeben ist, definieren. Geben die Bereichstypdaten 154 beispielsweise Luminanzbereichsdaten an, so können die Bereichsdaten 156 die Form eines Bereiches von Luminanzwerten annehmen. In diesem Fall können die Maskendaten 158 die Form einer eindimensionalen Abbildung zwischen einem Luminanzwert und einer Zahl annehmen. Bei einigen Implementierungen können die Maskendaten 158 unter anderem einen Luminanzwert auf 1, wenn der Luminanzwert innerhalb des nutzerseitig spezifizierten Bereiches ist, und auf 0, wenn er außerhalb jenes Bereiches ist, abbilden. Bei einigen Implementierungen kann der Wert, auf den ein Luminanzwert abgebildet wird, eine Zahl zwischen 0 und 1 sein, wenn der Luminanzwert ausreichend nahe am Rand des Bereiches ist. Die Bereichsmaskendaten 152 werden detaillierter anhand 3 bis 7 beschrieben.
-
Der Maskennormierungsverwalter 151 ist dafür konfiguriert, einen Normierungsvorgang an den Bilddaten 132 vorzunehmen. Bei einigen Implementierungen ist der Maskennormierungsverwalter 151 dafür konfiguriert, Bilddaten im RGB-Farbraum in den Lab-Farbraum umzuwandeln, indem jeder Kanal auf sein volles Ausmaß ausgeweitet wird. Bei einigen Implementierungen ist der Maskennormierungsverwalter 151 dafür konfiguriert, ein Histogramm von Luminanzwerten über den Pixeln der Bilddaten 132 zu bilden und die Luminanzwerte eines jeden Pixels anzupassen, um ein Histogramm mit konstanten Klassenhöhen (bin heights) zu erzeugen. Bei einigen Implementierungen ist der Maskennormierungsverwalter 151 dafür konfiguriert, Unzulänglichkeiten in den Bilddaten 132, die beispielsweise von Linsenverzerrungen bei der fotografischen Ausrüstung 172 herrühren, zu beseitigen.
-
Der Bildbearbeitungsverwalter 160 ist dafür konfiguriert, Bearbeitungsvorgänge an den Bilddaten 132 in Reaktion auf nutzerseitige Befehle durchzuführen. Bei einigen Implementierungen werden die Befehle von dem Nutzer über eine GUI, die in der Anzeige 100 gezeigt ist, empfangen. Bei einigen Implementierungen nehmen die von der GUI empfangenen Befehle die Form von Einstellwerten von Parametern beispielsweise entsprechend der Position einer Taste an einem Schieberegler wie auch von Raummaskenwertdaten 146 und Bereichsmaskenwertdaten 158 an. Der Bildbearbeitungsverwalter 160 ist zudem dafür konfiguriert, lokale Anpassungswerkzeuge, so beispielsweise einen Pinsel, eine Lineargradienten und einen Radialgradienten, bereitzustellen.
-
Das Netzwerk 170 ist dafür konfiguriert und angeordnet, Netzwerkverbindungen zwischen dem Bearbeitungscomputer 120 und der fotografischen Ausrüstung 172 bereitzustellen. Das Netzwerk 170 kann eine Vielzahl von Protokollen und Topologien, die bei der Kommunikation über das Internet oder über andere Netzwerke gängig sind, implementieren. Des Weiteren kann das Netzwerk 170 verschiedene Komponenten (beispielsweise Kabel, Switches/Router, Gateways/Bridges und dergleichen), die bei derartiger Kommunikation verwendet werden, beinhalten.
-
Die Anzeige 180 ist dafür konfiguriert, die Bilddaten 132 innerhalb einer GUI, die von dem Bildbearbeitungsverwalter 160 bereitgestellt wird, anzuzeigen.
-
Der nichtflüchtige Speicher 190 ist dafür konfiguriert, eine Rohbilddatei 192, die Bilddaten vor der Normierung oder Bearbeitung enthält, eine Raummaskendatei 194, die Raummaskendaten 142 enthält, und eine Bereichsmaskendatei, die Bereichsmaskendaten 152 enthält, zu speichern. Bei einigen Implementierungen weisen die Raummaskendatei 194 und die Bereichsmaskendatei 196 jeweils das XML-Format auf.
-
Die Komponenten (beispielsweise Module, Verarbeitungseinheiten 124) des Bearbeitungscomputers 120 können dafür konfiguriert sein, auf Grundlage einer oder mehrerer Plattformen (beispielsweise einer oder mehrerer ähnlicher oder verschiedener Plattformen), die einen oder mehrere Typen von Hardware, Software, Firmware, Betriebssystemen, Laufzeitbibliotheken (Runtime Libraries) und/oder anderes mehr beinhalten können, zu laufen. Bei einigen Implementierungen können die Komponenten des Bearbeitungscomputers 120 dafür konfiguriert sein, innerhalb eines Clusters von Vorrichtungen (beispielsweise innerhalb einer Serverfarm) zu laufen. Bei einer derartigen Implementierung können die Funktionalität und die Verarbeitung der Komponenten des Bearbeitungscomputers 120 auf mehrere Vorrichtungen des Clusters von Vorrichtungen verteilt sein.
-
Die Komponenten des Bearbeitungscomputers 120 können ein beliebiger Typ von Hardware und/oder Software, die zur Verarbeitung von Attributen konfiguriert sind, sein oder diesen beinhalten. Bei einigen Implementierungen können ein oder mehrere Teile der Komponenten, die als Komponenten des Bearbeitungscomputers 120 in 1 gezeigt sind, ein hardwarebasiertes Modul (beispielsweise ein digitaler Signalprozessor (DSP), ein feldprogrammierbares Gate Array (FPGA), ein Speicher), ein Firmwaremodul und/oder ein softwarebasiertes Modul (beispielsweise ein Modul aus Computercode, ein Satz von computerlesbaren Anweisungen, die auf einem Computer ausgeführt werden können), sein oder diese beinhalten. Bei einigen Implementierungen können ein oder mehrere Teile der Komponenten des Bearbeitungscomputers 120 beispielsweise ein Softwaremodul, das für die Ausführung durch wenigstens einen Prozessor (nicht gezeigt) konfiguriert ist, sein oder dieses beinhalten. Bei einigen Implementierungen kann die Funktionalität der Komponenten in verschiedenen Modulen und/oder in anderen Komponenten als in 1 beinhaltet sein.
-
Bei einigen Ausführungsformen können eine oder mehrere der Komponenten des Bearbeitungscomputers 120 Prozessoren, die zur Verarbeitung von in einem Speicher gespeicherten Anweisungen konfiguriert sind, sein oder diese beinhalten. Ein Bilderwerbsverwalter 130 (und/oder ein Teil hiervon), ein Raummaskenverwalter 140 (und/oder ein Teil hiervon), ein Bereichsmaskenverwalter 150 (und/oder ein Teil hiervon) und ein Bildbearbeitungsverwalter 160 (und/oder ein Teil hiervon) können beispielsweise eine Kombination aus einem Prozessor und einem Speicher sein, die dafür konfiguriert sind, Anweisungen im Zusammenhang mit einem Prozess auszuführen, um eine oder mehrere Funktionen zu implementieren.
-
Bei einigen Implementierungen kann der Speicher 126 ein beliebiger Typ von Speicher sein, so beispielsweise ein Speicher mit wahlfreiem Zugriff, ein Plattenlaufwerkspeicher, ein Flash-Speicher und/oder dergleichen mehr. Bei einigen Implementierungen kann der Speicher 126 als mehr als eine Speicherkomponente (beispielsweise als mehr als eine RAM-Komponente oder als mehr als ein Plattenlaufwerkspeicher), die den Komponenten des Bearbeitungscomputers 120 zugeordnet ist, implementiert sein. Bei einigen Implementierungen kann der Speicher 126 ein Datenbankspeicher sein. Bei einigen Implementierungen kann der Speicher 126 ein nichtlokaler Speicher sein oder diesen beinhalten. Der Speicher 126 kann beispielsweise ein Speicher, der von mehreren Vorrichtungen (nicht gezeigt) gemeinsam genutzt (shared) wird, sein oder diesen beinhalten. Bei einigen Implementierungen kann der Speicher 126 einer Servervorrichtung (nicht gezeigt) innerhalb eines Netzwerkes zugeordnet und dafür konfiguriert sein, für die Komponenten des Bearbeitungscomputers 120 als Server zu fungieren. Wie in 1 dargestellt ist, ist der Speicher 126 dafür konfiguriert, verschiedene Daten, darunter die Bilddaten 132, die Raummaskendaten 142 und die Bereichsmaskendaten 152, zu speichern.
-
2 ist ein Flussdiagramm, das ein exemplarisches Verfahren 200 des Bearbeitens von Bildern unter Verwendung eines digitalen Bildbearbeitungswerkzeuges darstellt. Das Verfahren 200 kann von Softwareobjekten durchgeführt werden, die in Verbindung mit 1 beschrieben worden sind, die in dem Speicher 126 des Bearbeitungscomputers 120 abgelegt sind und die von dem Satz von Verarbeitungseinheiten 124 betrieben werden.
-
Bei 202 bezieht der Bearbeitungscomputer 120 (1) die Bilddaten 132, die mehrere Pixel beinhalten, wobei jedes der mehreren Pixel Werte mehrerer Parameter aufweist, die eine Farbe und einen Ton definieren. Die Bilddaten 132 können über ein Netzwerk, so beispielsweise das Netzwerk 170, über eine fotografische Ausrüstung 172 oder über einen nichtflüchtigen Speicher 190 eintreffen.
-
Bei 204 erzeugt der Bearbeitungscomputer 120 eine Raummaske, die einen Bereich des Bildes definiert. Die Raummaske beinhaltet für jedes Pixel der mehreren Pixel einen jeweiligen Wert, der angibt, ob jenes Pixel in dem Bereich beinhaltet ist.
-
Bei 206 erzeugt der Bearbeitungscomputer 120 eine Bereichsmaske, die einen Bereich von Werten eines spezifizierten Parameters definiert. Die Bereichsmaske beinhaltet für jedes Pixel der mehreren Pixel einen jeweiligen Wert, der angibt, ob der Wert der spezifizierten Parameter jenes Pixels innerhalb des Bereiches von Werten des spezifizierten Parameters ist.
-
Bei 208 empfängt der Bearbeitungscomputer 120 eine Aufforderung dahingehend, einen Wert eines Parameters der mehreren Parameter anzupassen.
-
Bei 210 führt der Bearbeitungscomputer 120 in Reaktion auf das Empfangen der Aufforderung einen Parameterwertanpassungsvorgang an dem Bild zur Erzeugung eines bearbeiteten Bildes durch. Der Parameterwertanpassungsvorgang ist dafür konfiguriert, den Wert des Parameters eines jeden der mehreren Pixel auf Grundlage des Wertes der Raummaske und des Wertes der Bereichsmaske anzupassen.
-
3 ist ein Flussdiagramm, das einen exemplarischen Prozess 300 des Normierens von Bilddaten darstellt. Der Prozess 300 kann von Softwareobjekten durchgeführt werden, die in Verbindung mit 1 beschrieben worden sind, die in dem Speicher 126 des Bearbeitungscomputers 120 abgelegt sind und die von dem Satz von Verarbeitungseinheiten 124 betrieben werden.
-
Bei 302 bezieht der Bearbeitungscomputer 120 aus den Bilddaten beispielsweise Bilddaten 132, Bereiche von Intensitäten roter, grüner und blauer Farbkanäle in dem RGB-Farbraum. Bei einigen Implementierungen können auch andere Farbräume, so beispielsweise der YUV-Farbraum, mit anderen Farbkanälen zum Einsatz kommen.
-
Bei 304 nimmt der Bearbeitungscomputer 120 eine Umwandlung an jedem der RGB-Farbkanäle vor, um die Bereiche eines jeden Farbtunnels auf Verteilungen von Intensitäten über einen Vollfarbbereich auszuweiten. Man gehe beispielsweise davon aus, dass der rote Farbkanal über alle Pixel in den Bilddaten die Werte von 50 bis 200 annimmt. Dann reskaliert der Bearbeitungscomputer 120 den Bereich roter Farbintensitäten auf 0 bis 255, wobei Werte, die ursprünglich bei 50 waren, auf 0 abgebildet werden und Werte bei 200 auf 255 abgebildet werden und wobei bei der Abbildung von Zwischenwerten interpoliert wird. Diese Ausweitung des roten Farbbereiches wird für die grünen und blauen Farbbereiche wiederholt.
-
Bei 306 wandelt der Bearbeitungscomputer 120 die Vollbereichskanäle im RGB-Farbraum in Bereiche von Kanälen im Lab-Farbraum um. Da der RGB-Farbraum vorrichtungsabhängig ist, muss der RBG- bzw. RGB-Farbraum vor der Umwandlung in LAB zunächst in eine vorrichtungsunabhängige Darstellung, so beispielsweise sRGB, umgewandelt werden.
-
Bei 308 nimmt der Bearbeitungscomputer 120 eine Umwandlung eines jeden der Lab-Kanäle vor, um die Bereiche eines jeden Lab-Kanals auf Verteilungen über die Vollbereiche der Kanäle auszuweiten. Bei einigen Implementierungen ist der Vollbereich des L-Kanals (Luminanz) zwischen 0 und 100, während der Vollbereich eines jeden a-Farbkanals (grün-rot) und b-Farbkanals (blau-gelb) zwischen -128 und +127 liegt. Bei einigen Implementierungen entspricht der L-Kanal der „Helligkeit“ (lightness), die die Kubikwurzel der Luminanz ist. Gleichwohl bezieht sich der L-Kanal aufgrund der einfachen und direkten Beziehung zwischen Helligkeit und Luminanz auf die Luminanz.
-
Bei 310 bildet der Bearbeitungscomputer 120 ein Histogramm der Luminanz aus Luminanzwerten eines jeden der Pixel der Bilddaten. Das Histogramm weist Klassen (bins) von Luminanzteilbereichen auf, wobei bis zu 101 derartige Klassen (für jeden Wert von 0 bis 100) vorhanden sein können.
-
Bei 312 passt der Bearbeitungscomputer 120 die Luminanzwerte der Pixel der Bilddaten derart an, dass die Klassen des Histogramms dieselbe Höhe aufweisen, die Luminanzwerte also gleichmäßig über die Bilddaten verteilt sind. Die sich ergebenden Bilddaten stellen ein normiertes Bild dar.
-
4A ist ein Flussdiagramm, das einen Prozess 400 des Erzeugens einer Luminanzbereichsmaske darstellt. Der Prozess 400 kann von Softwareobjekten durchgeführt werden, die in Verbindung mit 1 beschrieben worden sind, die in dem Speicher 126 des Bearbeitungscomputers 120 abgelegt sind und die von dem Satz von Verarbeitungseinheiten 124 betrieben werden.
-
Bei 402 empfängt der Bearbeitungscomputer 120 einen Bereich von Luminanzwerten und eine Gauß'sche Breite. Empfangen wird der Bereich von Luminanzwerten bei einigen Implementierungen als Ergebnis eines Zwei-Daumen-Schiebereglers (two-thumb glider) in einer GUI des Bildbearbeitungsverwalters 160, die auf der Anzeige 180 angezeigt wird. Die Gauß'sche Breite stellt die Breite einer eindimensionalen Gauß'schen Funktion als Funktion einer Luminanz, die an jedem der Bereichsränder zentriert ist, dar. Die eindimensionale Gauß'sche Funktion stellt damit einen Randglättungsvorgang für die Luminanzmaske bereit. Bei einigen Implementierungen wird die Gauß'sche Breite mittels eines Schiebereglers in der GUI empfangen.
-
Bei 404 definiert der Bearbeitungscomputer 120 aus dem Bereich und der Gauß'schen Breite eine eindimensionale Bereichsrandglättungsfunktion, wie vorstehend beschrieben worden ist. Für Pixel, die Luminanzwerte außerhalb des Bereiches aufweisen, jedoch hinreichend nahe an einem Rand des Bereiches sind, berechnet der Berechnungscomputer als Luminanzbereichsmaskenwert beispielsweise den Wert des Gauß'schen Terms, der am Bereichsrand zentriert ist und die Gauß'sche Breite aufweist.
-
Bei 406 erzeugt der Bearbeitungscomputer 120 die Luminanzbereichsmaske aus dem Bereich und der eindimensionalen Bereichsrandglättungsfunktion, wie vorstehend beschrieben worden ist. Der Bearbeitungscomputer 120 verwendet die Luminanzbereichsmaske als Bereichsmaske, wenn der Nutzer eine Anpassung an einem Bildbearbeitungsparameter, so beispielsweise dem Kontrast, der Helligkeit, der Sättigung und dergleichen mehr, vornimmt.
-
4B ist ein Diagramm, das eine exemplarische GUI 420 darstellt, die dafür verwendet wird, die Luminanzbereichsmaske, die auf der Anzeige 180 angezeigt wird, wie vorstehend beschrieben worden ist, zu erzeugen. Die GUI 420 weist die Form eines Fensters auf, das eine Anzeige des Bildes 430, das durch die Bilddaten 132 dargestellt wird, und einen Satz von Bearbeitungssteuerungen bzw. Regelungen 440 beinhaltet.
-
In dem Bildfenster 430 stellt der Bearbeitungscomputer 120 ein Bereichsauswahlwerkzeug, beispielsweise einen Pinsel, bereit, mit dem der Nutzer einen Bereich für die Raummaske zu lokalen Anpassung auswählen kann. Im Gegensatz zu den vorbeschriebenen herkömmlichen Vorgehensweisen muss der Nutzer nicht auf die Genauigkeit achten und kann einen grob definierten Bereich in dem Zeichenfenster zeichnen. Die einzige Aufforderung ist diejenige, dass der von dem Nutzer gezeichnete Bereich den eigentlichen Bereich, in dem die Anpassungen vorgenommen werden sollen, umschließt. Man gehe beispielsweise davon aus, dass die Szene in dem Bild einen Baum mit roten Blättern gegen einen blauen felsigen Hintergrund beinhaltet. Möchte der Nutzer den Kontrast des blauen Hintergrundes gegen die roten Blätter anpassen, so muss der Nutzer lediglich einen Bereich, der den blauen Hintergrund beinhaltet, unter Verwendung des Pinselns, des Lineargradienten oder des Radialgradienten, entsprechend den beabsichtigten Anpassungen (beispielsweise mit oder ohne Schattierungseffekte) zeichnen.
-
In dem Bearbeitungssteuer- bzw. Regelfenster sind Schieberegler vorhanden, die mögliche Werte verschiedener Parameter, so beispielsweise der Helligkeit und des Kontrastes, darstellen. Vorhanden ist zudem ein Bereichsmaskenauswähler, der ein Drop-Down-Menü zum Auswählen einer Bereichsmaske, einer Luminanzbereichsmaske oder einer Farbbereichsmaske beinhaltet. Bei dem in 4B gezeigten Beispiel ist die Luminanzbereichsmaske ausgewählt. In Reaktion auf diese Auswahl erscheinen ein Zwei-Daumen-Auswähler für den Luminanzbereich und ein Schieberegler für die Glattheit bzw. Stetigkeit (beispielsweise die Gauß'sche Breite). Der Bearbeitungscomputer 120 empfängt die Werte dieser Parameter und erzeugt die Luminanzbereichsmaske entsprechend den in diesen Steuerungen bzw. Regelungen ausgewählten Werten.
-
5 A ist ein Flussdiagramm, das einen exemplarischen Prozess 500 des Erzeugens einer Farbbereichsmaske eines Punktmodells darstellt. Der Prozess 500 kann von Softwareobjekten durchgeführt werden, die in Verbindung mit 1 beschrieben worden sind, die in dem Speicher 126 des Bearbeitungscomputers 120 abgelegt sind und die von dem Satz von Verarbeitungseinheiten 124 betrieben werden.
-
Bei 502 empfängt der Bearbeitungscomputer 120 einen Einzelpunkt im Lab-Farbraum und eine Gauß'sche Breite. Der Einzelpunkt wird in Reaktion auf einen nutzerseitigen Mausklick in dem den RGB-Farbraum darstellenden Fenster empfangen. Der Punkt im RGB-Farbraum kann sodann in einen Punkt im Lab-Farbraum umgewandelt werden. Die Gauß'sche Breite stellt die Breite einer dreidimensionalen Gauß'schen Glättungsfunktion, die an dem Einzelpunkt zentriert ist, dar. Bei einigen Implementierungen wird die Gauß'sche Breite mittels eines Schiebereglers in der GUI empfangen.
-
Bei 504 definiert der Bearbeitungscomputer 120 aus dem Einzelpunkt und der Gauß'schen Breite eine dreidimensionale Gauß'sche Glättungsfunktion, wie vorstehend beschrieben worden ist. Für Pixel mit Lab-Farbkanalkoordinaten außerhalb des EinzelPunktes, jedoch hinreichend nahe an diesem berechnet der Berechnungscomputer 120 beispielsweise als Farbbereichsmaskenwert den Wert des dreidimensionalen Gauß'schen Terms, der an dem Einzelpunkt zentriert ist und die Gauß'sche Breite aufweist.
-
Bei 506 erzeugt der Bearbeitungscomputer 120 die Farbbereichsmaske aus dem Einzelpunkt und der dreidimensionalen Gauß'schen Glättungsfunktion, wie vorstehend beschrieben worden ist. Der Bearbeitungscomputer 120 verwendet die Farbbereichsmaske als Bereichsmaske, wenn der Nutzer eine Anpassung an einem Bildbearbeitungsparameter, beispielsweise am Kontrast, der Helligkeit, der Sättigung und dergleichen mehr, vornimmt.
-
5B ist ein Flussdiagramm, das einen exemplarischen Prozess 550 des Erzeugens einer Farbbereichsmaske eines Flächenmodells darstellt. Der Prozess 550 kann von Softwareobjekten durchgeführt werden, die in Verbindung mit 1 beschrieben worden sind, die in dem Speicher 126 des Bearbeitungscomputers 120 abgelegt sind und die von dem Satz von Verarbeitungseinheiten 124 betrieben werden.
-
Bei 552 empfängt der Bearbeitungscomputer 120 einen Bereich in einem Farbraum und eine Gauß'sche Breite. Der Bereich wird in Reaktion auf eine nutzerseitige Klick- und Drag-Bewegung in einem Fenster empfangen, das eine Farbpalette darstellt, die zur Auswahl von Farben in dem Bearbeitungsverwalter 160 verwendet wird. Ein derartiger Bereich ist rechteckig, kann jedoch bei einigen Implementierungen auch eine nichtrechteckige Form aufweisen. Die Gauß'sche Breite stellt die Breite einer dreidimensionalen Gauß'schen Glättungsfunktion dar. Bei einigen Implementierungen wird die Gauß'sche Breite mittels eines Schiebereglers in der GUI empfangen.
-
Bei 554 erzeugt der Bearbeitungscomputer 120 auf Grundlage des ausgewählten Bereiches in der Farbpalette ein dreidimensionales röhrenförmiges Volumen im Lab-Farbraum. Der röhrenförmige Bereich stellt einen Teilraum des Lab-Farbraumes dar, für den Anpassungen an dem Bild vorgenommen werden. Weitere Details zum Farbraum werden anhand 6 erläutert.
-
Bei 556 definiert der Bearbeitungscomputer 120 aus dem dreidimensionalen röhrenförmigen Volumen und der Gauß'schen Breite eine dreidimensionale Gauß'sche Glättungsfunktion, wie vorstehend beschrieben worden ist. Für Pixel mit Lab-Farbkanalkoordinaten außerhalb des dreidimensionalen röhrenförmigen Volumens, jedoch hinreichend nahe an diesem berechnet der Bearbeitungscomputer 120 als Farbbereichsmaskenwert beispielsweise den Wert des dreidimensionalen Gauß'schen Terms, der mit dem Abstand von der Oberfläche des dreidimensionalen röhrenförmigen Volumens abfällt und die Gauß'sche Breite aufweist.
-
Bei 558 erzeugt der Bearbeitungscomputer 120 die Farbbereichsmaske aus dem dreidimensionalen röhrenförmigen Volumen und der dreidimensionalen Gauß'schen Glättungsfunktion, wie vorstehend beschrieben worden ist. Der Bearbeitungscomputer 120 verwendet die Farbbereichsmaske als Bereichsmaske, wenn der Nutzer eine Anpassung an einem Bildbearbeitungsparameter, beispielsweise dem Kontrast, der Helligkeit, der Sättigung und dergleichen mehr, vornimmt.
-
5C ist ein Diagramm, das eine exemplarische GUI 420, wie sie in 3B gezeigt ist, darstellt, jedoch dafür verwendet wird, die Farbbereichsmaske, die auf der Anzeige 180 angezeigt wird, wie vorstehend beschrieben worden ist, zu erzeugen. Die GUI 420 weist die Form eines Fensters auf, das eine Anzeige des Bildes 430, das von den Bilddaten 132 dargestellt wird, und einen Satz von Bearbeitungssteuerungen bzw. Regelungen 440 beinhaltet. In diesem Fall ist das Drop-Down-Menü in dem Bearbeitungssteuer- bzw. Regelfenster 440 auf die Farbbereichsmaskenoption eingestellt.
-
In diesem Fall führt der Nutzer für eine Farbmaske vom Flächentyp eine Klick- und- Drag-Bewegung mit der Maus aus, um einen Farbbereich 570 aus einer Farbpalette auszuwählen (Für eine Farbbereichsmaske vom Punkttyp klickt der Nutzer auf einen einzigen Punkt). Der Bearbeitungscomputer 570 wandelt diesen Bereich der Farbpalette sodann in ein Volumen innerhalb des Lab-Farbraumes um.
-
Bei einigen Implementierungen können andere Farbbereichsmasken gegeben sein, die eine Kombination aus den Farbbereichsmasken des Punktmodells und des Flächenmodells sind. Eine derartige Kombination kann beispielsweise dadurch gewichtet werden, dass eine Kombination verwendet wird, die einen Minimalwert an einem gegebenen Punkt im Lab-Farbraum ergibt. Andere Randbedingungen können andere Kombinationen aus dem Punktmodell und dem Flächenmodell erzeugen.
-
Bei einigen Implementierungen stellt der Bearbeitungscomputer 120 eine Inversionsfunktion bereit, die den Wert der Farbbereichsmaske durch „1 minus diesen Wert“ ersetzt. Auf diese Weise spezifiziert ein Nutzer effektiv eine Farbe, und zwar beispielsweise durch Klicken auf eine Inversionssteuerung bzw. Regelung (beispielsweise ein Prüfkästchen), wodurch eine Maske erzeugt wird, die alles innerhalb des Farbbereichsmodellraumes mit Ausnahme des spezifizierten Farbbereiches / der spezifizierten Farbbereiche umfasst.
-
6 ist ein Diagramm, das innerhalb des Lab-Farbraumes 600 ein exemplarisches röhrenförmiges Volumen 610 darstellt, das ein Ergebnis der Umwandlung des Bereiches 570 in den Lab-Farbraum ist. In diesem Fall sind die Querschnitte der Röhre kreisförmig, und die seitliche Oberfläche ist linear. Bei einigen Implementierungen kann die seitliche Oberfläche auch gekrümmt sein.
-
Pixel des Bildes mit Lab-Werten, die innerhalb der Röhre 610 liegen, können einen Farbbereichsmaskenwert von 1 aufweisen, wohingegen diejenigen, die außerhalb liegen, einen Farbbereichsmaskenwert von 0 aufweisen können. Für Punkte nahe an der Röhre kann der Bearbeitungscomputer als Farbbereichsmaskenwert eine dreidimensionale Gauß'sche Funktion, die an der Oberfläche der Röhre 610 zentriert ist, berechnen. Bei einigen Implementierungen kann die dreidimensionale Gauß'sche Funktion zur schnelleren Berechnung durch ein Polynom genähert werden. Man hat herausgefunden, dass ein kubisches Polynom die bei einer derartigen Näherung benötigte Geschwindigkeit und Genauigkeit bereitstellt.
-
Unter Verwendung der verschiedenen Bereichsmasken in Verbindung mit der Raummaske, die vorstehend beschrieben worden sind, können sogar Bilder mit äußerst unregelmäßigen Grenzen genau, leicht und nichtdestruktiv unter Verwendung des Bearbeitungscomputers 120 bearbeitet werden.
-
Es ist eine Anzahl von Ausführungsformen beschrieben worden. Es sollte jedoch einsichtig sein, dass verschiedene Abwandlungen vorgenommen werden können, ohne vom Wesen und Umfang der Beschreibung abzugehen.
-
Es sollte einsichtig sein, dass dann, wenn von einem Element gesagt wird, dass es auf einem anderen Element ist, mit diesem verbunden ist, elektrisch mit diesem verbunden ist, mit diesem gekoppelt ist oder elektrisch mit diesem gekoppelt ist, selbiges Element auch direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder auch ein oder mehrere zwischenliegende Elemente vorhanden sein können. Wird von einem Element hingegen gesagt, dass es direkt auf einem anderen Element ist, direkt mit diesem verbunden ist oder direkt mit diesem gekoppelt ist, so sind keine zwischenliegenden Elemente vorhanden. Auch wenn die Wendungen „direkt auf“, „direkt verbunden mit“ oder „direkt gekoppelt“ in der Detailbeschreibung unter Umständen überhaupt nicht verwendet werden, können Elemente, die derart dargestellt sind, dass sie auf etwas sind, mit etwas direkt verbunden sind oder mit etwas direkt gekoppelt sind, so bezeichnet sein. Die Ansprüche der Anmeldung können geändert werden, um exemplarische Beziehungen, die vorliegend beschrieben oder in den Figuren gezeigt sind, zu berücksichtigen.
-
Obwohl bestimmte Merkmale der beschriebenen Implementierungen in der vorliegenden Beschreibung dargestellt worden sind, erschließen sich einem Fachmann auf dem einschlägigen Gebiet zahlreiche Abwandlungen, Ersetzungen, Änderungen und Äquivalente. Es sollte einsichtig sein, dass die beigefügten Ansprüche all diese Abwandlungen und Änderungen, so sie in den Umfang der Implementierungen fallen, abdecken. Es sollte zudem einsichtig sein, dass diese rein beispiels- und nicht beschränkungshalber aufgeführt sind und dass vielerlei Änderungen an Form und Details vorgenommen werden können. Ein beliebiger Teil der hier beschriebenen Einrichtungen und/oder Verfahren kann in einer beliebigen Kombination kombiniert werden, außer es ergeben sich Kombinationen, die sich wechselseitig ausschließen. Die hier beschriebenen Implementierungen können verschiedene Kombinationen und/oder Teilkombinationen der Funktionen, Komponenten und/oder Merkmale der verschiedenen beschriebenen Implementierungen beinhalten.
-
Zusätzlich bedingen die logischen Abläufe, die in den Figuren dargestellt sind, nicht die spezielle dargestellte Reihenfolge oder eine sequenzielle Reihenfolge, um die gewünschten Ergebnisse zu erzielen. Zusätzlich können weitere Schritte vorhanden sein, oder es können Schritte aus den beschriebenen Abläufen gestrichen werden, und es können weitere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus diesen entfernt werden. Entsprechend sind auch andere Ausführungsformen innerhalb des Umfanges der nachfolgenden Ansprüche.