-
Bilderfassungstechnologien
verwenden eine Vielzahl von Lösungsansätzen zum
Erfassen von Informationen und Aufbereiten dieser Informationen
in einer digitalen Form. Die Informationen, wie zum Beispiel digitale
Fotografien oder abgetastete Dokumente, werden für Geschäfts- oder persönliche Zwecke verwendet.
Eine Bilderfassungsvorrichtung, wie zum Beispiel eine Kamera oder
ein Scanner, erfassen die gewünschten
Bildinformationen. Die erfassten Bildinformationen werden durch
eine Bilddatei dargestellt, die in verschiedenen hardwarespezifischen
und/oder anwendungsspezifischen Formaten gespeichert werden kann.
-
Unabhängig von
der Quelle der Bildinformationen können Bilddateien aus einer
Vielzahl von Gründen
verarbeitet werden. Beispielsweise können die Bilddateien verarbeitet
werden, um die Bilddateien zu modifizieren, die Bilddateien zu drucken
oder die Bilddateien zu präsentieren.
Um die Bilddateien zu verarbeiten, können ein oder mehrere unterschiedliche
Anwendungen und Softwareprogramme verwendet werden. Jede der Anwendungen
kann unterschiedliche Module umfassen, um mit den Bilddateien spezifische
Aufgaben durchzuführen.
Das heißt,
verschiedene Module können
verwendet werden um auf die Bilder, die durch die Bilddateien dargestellt
werden, zuzugreifen, dieselben zu modifizieren und zu präsentieren.
Folglich können
die unterschiedlichen Module ein oder mehrere Anwendungen umfassen,
die verwendet werden, um die Bilddateien zu verarbeiten.
-
Leider
kann es schwierig und mühsam
sein, während
dem Verarbeiten der Bilddateien zwischen den unterschiedlichen Anwendungen
hin- und her zu schalten. Beispielsweise kann es sein, dass ein
Benutzer ein Modul in einer ersten Anwendung manuell starten muss
und ein weiteres Modul in einer zwei ten Anwendung. An sich muss
der Benutzer die einzelnen Module und/oder Anwendungen manuell starten und
die unterschiedlichen Module manuell verwalten, um die Bilddateien
zu verarbeiten. Wenn mehr Module verwendet werden, ist die manuelle
Verwaltung der großen
Anzahl von unterschiedlichen Modulen folglich eine schwierige und
herausfordernde Aufgabe.
-
Ferner
kann die Inkompatibilität
zwischen den Modulen zusätzliche
Probleme darstellen. Beispielsweise können die Module, die bei unterschiedlichen
Anwendungen zugeordnet sind, unterschiedliche Protokolle, Schnittstellen
und Dateiformate verwenden, die im Allgemeinen nicht miteinander
kompatibel sind. Genauer gesagt, die unterschiedlichen Anwendungen
haben unterschiedliche Anwendungsprogrammschnittstellen (APIs),
die allgemein einen Satz von Routinen, Protokollen und Tools umfassen, auf
denen die unterschiedliche Anwendungen aufgebaut sind. Folglich
können
diese unterschiedlichen Anwendungen Eingänge und Ausgänge nicht
einheitlich miteinander kommunizieren, ohne eine anwendungsspezifische Übersetzung,
Umwandlung oder Manipulation dieser Eingänge und Ausgänge. Als spezifisches
Beispiel, falls eine erste Anwendung ein erstes Dateiformat aufweist,
kann es sein, dass eine zweite Anwendung das erste Bilddateiformat
in ein anderes Format umwandeln oder manipulieren muss, bevor die
Bilddateien verarbeitet werden. Folglich kann der Zugriff zwischen
den Modulen der unterschiedlichen Anwendungen aufgrund von Inkompatibilitätsproblemen
behindert werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm, das das Bildverarbeitungssystem gemäß einem
beispielhaften Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
2 ein
Blockdiagramm, das eine beispielhafte Schnittstellenvorrichtung
in einem Bildverarbeitungssystem von 1 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
3 ein
Blockdiagramm, das eine beispielhafte Schnittstellenvorrichtung
des Bildverarbeitungssystems in 2 gemäß Ausführungsbeispielen
der vorliegenden Erfindung darstellt;
-
4 bis 10 beispielhafte
Ausführungsbeispiele
der grafischen Benutzeroberfläche,
die von der Schnittstellenvorrichtung durch die Anzeige von 3 gemäß Ausführungsbeispielen
der vorliegenden Erfindung präsentiert
wird;
-
11 ein
Flussdiagramm, das den Betrieb des beispielhaften Bildverarbeitungssystems
von 3 gemäß Ausführungsbeispielen
der vorliegenden Erfindung darstellt; und
-
12 ein
beispielhaftes Ausführungsbeispiel
des Betriebs der Schnittstellenvorrichtung während der Ausführung des
Prozessflusses von 9 gemäß Ausführungsbeispielen der vorliegenden
Erfindung.
-
Ausführungsbeispiele
gemäß der vorliegenden
Erfindung liefern eine Schnittstellenvorrichtung in einem Bildverarbeitungssystem,
das eine Standardschnittstelle zwischen Bildverarbeitungsmodulen
liefert, die einer oder mehreren Anwendungen zugeordnet sein können. Die
Schnittstellenvorrichtung liefert ein Standardbildformat und eine
Standarddateireferenz, die es unabhängigen Anwendungen oder Softwaremodulen
erlaubt, Bilddateien ohne Dateiumwandlungen miteinander auszutauschen.
Bei einem Ausführungsbeispiel
kann das Bildverarbeitungssystem die Schnittstellenvorrichtung verwenden,
die einen benutzerdefinierten Prozessfluss ausführt, der Aufgaben mehrerer
Bildverarbeitungsmodule in einer automatischen Sequenz miteinander
kombinieren kann, um Bilddateien zu modifizieren oder auf dieselben
zuzugreifen. Der Prozessfluss kann Aufgaben von Modulen von einer
oder mehreren Anwendungen umfassen, die unabhängige Softwaremodule oder -anwendungen
sein können,
die unabhängig
voneinander arbeiten. Die Schnittstellenvorrichtung wirkt als eine
Zwischenschnittstelle zum automatischen Durchführen mehrerer Funktionen unter
Verwendung mehrerer Produkte ohne Benutzerinteraktion. Anders ausgedrückt, die
Bildverarbeitungsmodule in dem Prozessfluss können die Bilddateien ohne Umwandlungen, Übersetzungen
und andere Manipulationen zwischen unterschiedlichen anwendungsspezifischen
Protokollen, Dateiformaten und Anwendungsprogrammschnittstellen
(APIs) verwenden.
-
1 ist
ein Blockdiagramm, das ein Bildverarbeitungssystem 12 gemäß einem
beispielhaften Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Bei diesem Diagramm kann das
Bildverarbeitungssystem 12 über eine Verbindung 24 mit
einem Drucker 14, einem Scanner 16, einem Speichermedium 18,
einer Bilderfassungsvorrichtung 20 und einem Mail-Server 22 verbunden
sein. Das Bildverarbeitungssystem 12 kann mit diesen Vorrichtungen 14, 16, 18, 20 und 22 über die
Verbindung 24 interagieren, um eine oder mehrere Bilddateien
zu verarbeiten, was nachfolgend näher erörtert wird. Es sollte klar
sein, dass die Vorrichtungen 14, 16, 18, 20 und 22 beispielhaft
sind und dass auch andere Vorrichtungen mit dem Bildverarbeitungssystem 123 verwendet
werden können.
-
Die
Verbindung 24 kann unterschiedliche Medien umfassen, um
eine Verbindbarkeit zwischen dem Bildverarbeitungssystem 12 und
den Vorrichtungen 14, 16, 18, 20 und 22 zu
liefern. Beispielsweise kann die Verbindung 24 direkte
Verbindungen, indirekte Verbindungen (einschließlich drahtlosen Verbindungen),
Internetverbindungen und/oder Intranetverbindungen liefern. Beispielsweise
kann als ein Netzwerk die Verbindung 24 eine Kombination
von Netzknoten beziehungsweise Hubs, Schaltern, Routern oder dergleichen
umfassen. Die Verbindung 24 kann ein lokales Netz („LAN"), ein weites Netz („WAN") oder ein Stadtnetz
(„MAN") sein, das auch andere
Formen annehmen oder sogar Netzverbindbarkeit durch das Internet
liefern kann. Folglich können
die Vorrichtungen 14, 16, 18, 20 und 22 bezüglich zueinander
geografisch verteilt sein. Bei anderen Beispielen kann die Verbindung 24 als
eine Direktverbindung physikalische Kabel umfassen, wie zum Beispiel
Faserverbinder oder Kabel und/oder drahtlose Technologie zum Liefern
eines Kommunikationswegs zwischen dem Bildverarbeitungssystem 12 und
den Vorrichtungen 14, 16, 18, 20 und 22.
-
Die
Verbindung 24 kann mit dem Drucker 14, dem Scanner 16,
dem Speichermedium 18, der Bilderfassungsvorrichtung 20 und/oder
dem Mail-Server 22 verbinden. Das Bildverarbeitungssystem 12 kann
jede dieser Vorrichtungen 14, 16, 18, 20 und 22 verwenden,
um Bilddateien zu erzeugen, zuspeichern und/oder zu übertragen.
Der Drucker 14 kann beispielsweise eine Vorrichtung sein,
die Bilder auf einem physikalischen Medium erzeugt, wie zum Beispiel
ein Laserdrucker, ein Tintenstrahldrucker oder ein Punktmatrixdrucker.
Der Scanner 16 kann eine Vorrichtung sein, die eine Bilddatei
oder Text erfasst und in ein digitales Format umwandelt, wie zum
Beispiel ein Bittabellenbild. Das Speichermedium 18 kann
eine Vorrichtung sein, die Speicher umfasst, um Daten zu speichern,
wie zum Beispiel ein Server, ein Desktopcomputer, ein Laptopcomputer,
ein Tischcomputer, ein Personaldigitalassistent (PDA) oder eine
andere elektronische Vorrichtung. Die Bilderfassungsvorrichtung 20 kann
eine Vorrichtung sein, die ein Bild aufnimmt und in ein digitales
Format umwandelt, wie zum Beispiel eine digitale Stehbildkamera, ein
digitaler Videorekorder oder eine andere ähnliche Vorrichtung. Der Mail-Server 22 kann
eine Vorrichtung sein, die verwendet wird, um Daten, wie zum Beispiel
E-Mails, zwischen anderen Vorrichtungen 14, 16, 18 und 20 oder
Systemen über
die Verbindung 24 zu übertragen.
Folglich kann das Bildverarbeitungssystem 12 durch die
Ver wendung der Verbindung 24 jede dieser Vorrichtungen 14, 16, 18, 20 und 22 zum
Verarbeiten der Bilddateien verwenden, was nachfolgend in 2 näher erörtert wird.
-
2 stellt
eine beispielhafte Schnittstellenvorrichtung 26 in einem
Bildverarbeitungssystem 12 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar. In dem Bildverarbeitungssystem 12 können verschiedene
Anwendungen 28, 30 und 32 die Schnittstellenvorrichtung 26 verwenden,
um auf eine oder mehrere Bilddateien 34 zuzugreifen. Die Anwendungen 28, 30 und 32 können unterschiedliche
Module umfassen, wie zum Beispiel ein oder mehrere Herstellermodule 36 zum
Erzeugen der Bilddateien 34, ein oder mehrere Transformationsmodule 38 zum
Modifizieren der Bilddateien 34 und/oder ein oder mehrere
Herstellermodule 40 zum Erzeugen eines Ausgangssignals,
das keine Modifikation der Bilddateien 34 ist. Alle diese
Module 36, 38 und 40 können zusammenfassend
als Bildverarbeitungsmodul bezeichnet werden. Es sollte angemerkt werden,
dass das Bildverarbeitungssystem 12 einen Server, einen
Desktopcomputer, einen Laptopcomputer, einen Tischcomputer, einen
Personaldigitalassistent (PDA), eine Videokarte, eine Bilderfassungsschaltungsanordnung,
eine grafische Benutzeroberfläche,
eine tragbare Vorrichtung oder eine andere elektronische Vorrichtung
umfassen kann. Ferner sind die Anwendungen 28, 30 und 32 zu
Beispielszwecken mit einem Bildverarbeitungsmodultyp gezeigt, aber
jede der Anwendungen 28, 30 und 32 kann
einen oder mehrere der unterschiedlichen Modultypen umfassen. Wie
es nachfolgend beschrieben ist, liefert die Schnittstellenvorrichtung 26 eine
einheitliche oder Standardschnittstelle für die Bilddateien 34,
die durch die Module 36, 38 und 40 verwendet werden.
-
Die
Schnittstellenvorrichtung 26 kann verwendet werden, um
eine Standardgrenze zu definieren, über die die Anwendungen 28, 30 und 32 oder Module 36, 38 und 40 mit
den Bilddateien 34 kommunizieren. Die Schnittstellenvorrichtung 26 liefert
einen Standardmechanismus, der plattformunabhängig und/oder nicht anwendungsspezifisch
ist, um eine Standardinteraktion für die unterschiedlichen Module 36, 38 und 40 zu
liefern. Wie er hierin verwendet wird, bedeutet der Begriff „plattformunabhängig" nicht abhängig von
spezifischen Softwareanwendungen oder Einstellungen und/oder spezifischen
Hardwarekomponententypen. Die Schnittstellenvorrichtung 26 ermöglicht es,
dass Aufgaben von unterschiedlichen Modulen in einem automatischen
Prozessfluss miteinander verbunden oder aneinander gekettet werden,
um die Bilddateien 34 ohne manuelle Verwaltung der Anwendung 28, 30 und 32,
Module 36, 38 und 40 oder Bilddateien 34 durch
einen Benutzer zu modifizieren. Somit ermöglicht es die Schnittstellenvorrichtung 26,
dass die Module 36, 38 und 40 zusammen
verwendet werden, ohne Überlegungen
bezüglich
Umwandlungen, Übersetzungen
und anderen Manipulationen zwischen unterschiedlichen anwendungsspezifischen
Protokollen, Dateiformaten und/oder APIs.
-
Die
Bilddateien 34 können
digitale Fotografien, abgetastete Dokumente, Bilder oder andere
Daten sein, die in einem Speicher gespeichert sind. Die Bilddateien 34 können dann
im Dateiformat gespeichert sein, wie zum Beispiel Joint Photographic
Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged
Image File Format (TIFF), Data Exchange File (DXF), Audio Video
Interleave (AVI) oder anderen Bittabellen-, Vektor-, Bild- und Videografikdateiformaten.
Auf diese Bilddateien 34 kann auch über eine Standarddateireferenz
zugegriffen werden, wie zum Beispiel Uniform Resource Identifier
(URI) oder Uniform Resource Locator (URL), was nachfolgend erörtert wird.
-
Die
Anwendungen 28, 30 und 32 können Softwareanwendungen
oder Softwareprogramme sein, die verwendet werden, um die Bilddateien 34 zu verarbeiten.
Die Anwendungen 28, 30 und 32 können unabhängig erzeugte
Softwareprogramme sein, wie zum Beispiel Microsoft Paint, Visio
2000, MGI PhotoSuite, Adobe Illustrator, oder Corel Draw oder andere ähnliche
Anwendungen. Jede dieser Anwendungen 28, 30 und 32 kann
ein oder mehrere Module, wie zum Beispiel die Herstellermodule 36,
Transformationsmodule 38 und Verbrauchermodule 40 umfassen. Beispielsweise
kann die erste Anwendung 28 ein Herstellermodul 36 umfassen;
die zweite Anwendung 30 kann ein Transformationsmodul 38 umfassen;
und die dritte Anwendung 32 kann ein Verbrauchermodul 40 umfassen.
-
Die
Module 36, 38 und 40 können Softwareprogrammen,
Firmwareprogramme, Hardwarekomponenten oder eine Kombination dieser
Typen sein. Jedes der Module 36, 38 und 40,
die einen Code umfassen können,
der in einem Speicher des Bildverarbeitungssystems 10 oder
einem Speichermedium 18 gespeichert ist, wird verwendet,
um die Bilddateien 34 auf eine spezifische Weise zu verarbeiten.
Beispielsweise kann das Herstellermodul 36 die Bilddateien 34 generieren
oder erzeugen, die als Eingangssignale für andere Bildverarbeitungsmodule
verwendet werden. Genauer gesagt, das Herstellermodul 36 kann
die Bilddateien 34 erfassen und die Bilddateien 34 an
einer spezifischen Dateiposition speichern. Diese Eingabeaufgaben
oder -funktionen können das
Erzeugen eines Arrays oder einer Liste von Bilddateien 34 oder
das Hinzufügen
von Bilddateien 34 zu einer bestehenden Liste von Bilddateien 34 umfassen.
Das Herstellermodul 36 kann unterschiedliche Module umfassen,
die Funktionen durchführen, wie
zum Beispiel Öffnen
von Bildern, Übertragen
von Bildern, Wiedergewinnen von Befehlszeilen, Öffnen von Dateilisten, Entladen
einer Kamera/Speicherkarte, Lesen von einer Platte, Herunterladen
vom Web, Abtasten, Aufnehmen von Bildern von einer Kamera und/oder
andere Operationen.
-
Das
Transformationsmodul 38 kann die Bilddateien 34 ändern oder
modifizieren. Das Transformationsmodul 38 kann Aufgaben
durchführen,
wie zum Beispiel einen Thumbnail-Selektor, Entfernung roter Augen,
Bild weichzeichnen, Bild schärfen,
Abschneiden, Farbfiltern, Verdunkeln, Schwarz-Weißumwandlung,
JPEG-Komprimierung, Aufhellen, Neuformatieren, Löschen einer Fotobildliste,
Entfernen eines nicht existierenden Bildes, Auswählen von Bildern, einen Suchlauf,
Mi schen von Bildern, einen Zufallsbildselektor, Durchlaufen eines
Prozessflusses, einen Prozessflusslaufzeitwähler, Neuabtasten, einen einfachen
Selektor, Bildkomprimierung, Abwärtsabtastungs-,
Autokorrektur-, Bearbeitungs- und/oder andere Modifikationsoperationen.
Diese Modifikationen an den Bilddateien 34 können die
bestehenden Bilddateien 34 ersetzen oder können an
einer anderen Stelle gespeichert werden, um die ursprünglichen Bilddateien 34 zu
bewahren.
-
Ferner
empfängt
das Verbrauchermodul 40 die Bilddateien 34 zum
Erzeugen einer Ausgabe, die keine Modifikation der Bilddateien 34 ist.
Das heißt, das
Verbrauchermodul 40 ändert
die Bilddateien 34 nicht, aber liefert eine nicht umgewandelte
Bildausgabe oder eine Nicht-Bild-Ausgabe. Beispielsweise kann das
Verbrauchermodul 40 Aufgaben durchführen, wie zum Beispiel Album
drucken, Ändern
des Formats, Auflisten von Fotos, Speichern von Dateilisten, Speichern
von Dateien in ein Verzeichnis, FtpGed, Bildzone, E-Mailen, Panoramazusammensetzen,
eine Panoramaansicht, Drucken von Bildern, eine Diashow, eine Fotoalbumwebseite,
das Hochladen in ein Verzeichnis oder eine Webseite, das Hochladen
zu einem e-Dienst, das Anzeigen von Bildern auf einem Bildschirm,
das Senden der Bilder an eine Website und/oder andere Funktionen.
Das Verbrauchermodul 40 kann andere Vorrichtungen verwenden,
wie zum Beispiel den Drucker 102 und/oder den Mail-Server 110 von 1.
-
Die
Schnittstellenvorrichtung 26 tauscht Bilddateien 34 auf
flexible und effiziente Weise aus. Weil die Bilddateien 34 das
gleiche Format haben, liefert die Schnittstellenvorrichtung 26 einen
Standardmechanismus für
jedes der Module 36, 38 und 40 zum Interagieren
mit den Bilddateien 34. Somit ermöglicht es die Schnittstellenvorrichtung 26 den
Bildverarbeitungsmodulen, Bilddateien 34 ohne Dateiumwandlungen,
-übersetzungen
und -manipulationen zwischen unterschiedlichen Anwendungsprotokollen, APIs
und anderen anwendungsspezifischen Kriterien auszutauschen. Anders
ausgedrückt,
zwei oder mehr unterschiedliche Module können auf eine Bilddatei einheitlich
zugreifen und dieselbe austauschen, ohne die Verzögerungen
oder Komplikationen herkömmlicher
Umwandlungen oder Übersetzungen
der Bilddatei. Beispielsweise kann ein Herstellermodul 36, wie
zum Beispiel ein „Dateiliste öffnen"-Modul eine Liste
von Bilddateien 34 erhalten, die durch ein Transformationsmodul 38,
wie zum Beispiel ein „Schwarzweiß"-Modul, weiter verarbeitet
werden können,
um die Bilddateien 34 in Schwarzweißbilder umzuwandeln. Jedes
der Module kann die Schnittstellenvorrichtung 26 verwenden,
um die Bilddateien 34 auszutauschen. Ferner ermöglicht es
das Entkoppeln der Schnittstellenvorrichtung 26 von modulspezifischen
Eingabe/Ausgabekriterien Einzelpersonen oder Dritten, unterschiedliche
Bildverarbeitungsmodule zu entwickeln, wie zum Beispiel die Herstellermodule 36,
Transformationsmodule 38 und Verbrauchermodule 40,
die ohne weiteres für
das Bildverarbeitungssystem 12 erkennbar und ausführbar sind. Als
solches ermöglicht
es die Schnittstellenvorrichtung 26 dem Bildverarbeitungssystem 12 die
Bildverarbeitungsmodule 36, 38 und 40,
die durch einen oder mehrere unterschiedliche Benutzer oder dritte Anwendungsentwickler
erzeugt werden, zu verwenden, zuzuordnen, zu sequenzieren und gemeinsam auszuführen. Die
Schnittstellenvorrichtung 26 liefert einen hohen Grad an
Flexibilität
und Benutzerinteraktivität
mit dem Bildverarbeitungssystem 12, weil die einzelnen
Module durch eine Standardschnittstelle, wie zum Beispiel die Schnittstellenvorrichtung 26, interagieren.
-
3 ist
ein Blockdiagramm, das eine beispielhafte Schnittstellenvorrichtung 26 des
Bildverarbeitungssystems 12 in 2 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Bei dem dargestellten Ausführungsbeispiel
umfasst die Schnittstellenvorrichtung 26 in dem Bildverarbeitungssystem 12 verschiedene
Komponenten zum Erzeugen und Ausführen von einem oder mehreren Prozessflüssen 48.
Ein Benutzer kann die Schnittstellenvorrichtung 26 verwenden,
um einen der Prozessflüsse 48 auszuwählen, um
die Bilddateien 34 zu verarbeiten. Um mit dem Benutzer
zu in teragieren, kann die Schnittstellenvorrichtung 26 mit
einem Prozessor 56, einer oder mehreren Benutzerschnittstellen 58 und/oder
einer Anzeige 60 kommunizieren, was es dem Benutzer ermöglicht,
den Prozessfluss zu definieren und automatisch auszuführen. Wie
es nachfolgend erörtert
wird, verwendet das Bildverarbeitungssystem 12 die Schnittstellenvorrichtung 26 folglich
zum Liefern einer Standardschnittstelle zwischen den Modulen 36, 38 und 40 und
den Bilddateien 34, unabhängig von den verwendeten Modulen 36, 38 und 40.
-
In
dem Bildverarbeitungssystem 12 führt der Prozessor 56 verschiedene
Befehle und Anweisungen für
die Schnittstellenvorrichtung 26 und/oder die Module 36, 38 und 40 aus.
Folglich kommuniziert der Prozessor 56, der ein einzelner
Prozessor oder eine Gruppe von Prozessoren sein kann, mit den verschiedenen
Komponenten, um den Betrieb der Herstellermodule 36, Transformationsmodule 38,
Verbrauchermodule 40, des Erzeugungsmoduls 42,
der Prozessflüsse 48 und
des Schnittstellenverwalters 50 zu ermöglichen. Wie es nachfolgend
näher erörtert wird,
lädt der
Prozessor 56 Code, der dem Modul 36, 38 und 40 zugeordnet
ist, und kommuniziert mit der Schnittstellenvorrichtung 26,
um auf die Bilddateien 34 zuzugreifen. Somit greift der
Benutzer auf den Code, der verschiedenen Modulen in dem Bildverarbeitungssystem 12 zugeordnet
ist, zu, lädt
denselben und führt
denselben aus.
-
Um
mit einem Benutzer zu interagieren, kann die Schnittstellenvorrichtung 26 eine
oder mehrere Benutzerschnittstellen 58 und die Anzeige 60 verwenden.
Die Benutzerschnittstellen 58 können eine Tastatur, ein Nummerntastenfeld,
einen Lichtstift, eine Maus, einen Joystick, eine Digitalisiertafel,
einen biometrischen Leser, ein Mikrofon, eine Videokamera und/oder
andere Benutzerinteraktionsvorrichtungen umfassen. Die Anzeige 60 kann
eine Flüssigkristallanzeige
(LCD), eine Kathodenstrahlröhre (CRT),
Licht emittierende Dioden (LEDs) und/oder andere Überwachungs- oder Anzeigevorrichtungen umfassen.
Die Anzeige 60 kann auch eine grafische Benutzeroberfläche (GUI) 62 präsentieren,
die vorgesehen ist, um die Interaktion mit dem Benutzer zu unterstützen. Die
GUI 26 kann virtuelle Knöpfe und Textfelder umfassen,
die nachfolgend näher
beschrieben sind.
-
Der
Benutzer interagiert mit der GUI 62, die dem Erzeugungsmodul 42 zugeordnet
ist, um einen Prozessfluss zu erzeugen und/oder auszuwählen durch
Verwenden der Benutzerschnittstellen 58 und der Anzeige 60.
Das Erzeugungsmodul 42 kann ein Softwareprogramm sein,
das durch den Prozessor 56 ausgewählt wird, um es dem Benutzer
zu ermöglichen,
die Module 36, 38 und 40 zu erzeugen,
auszuwählen,
zu bearbeiten und allgemein in einen oder mehrere Prozessflüsse 48 zu
organisieren. Der Prozessor 56 kann die GUI 62 an
die Anzeige 60 liefern, um Informationen über die
Module 36, 38 und 40 und/oder die Bilddateien 34 an
den Benutzer zu präsentieren.
Folglich kann der Benutzer mit dem Erzeugungsmodul 42 durch
die GUI 62 interagieren, durch Verwenden der Benutzerschnittstellen 58,
die beispielsweise eine Tastatur und/oder eine Maus sein können. Als
Folge kann der Benutzer Module 36, 38 und 40 miteinander
verbinden oder aneinander ketten, um die Bilddateien 34 in
einem benutzerdefinierten Prozessfluss oder einer Sequenz zu verarbeiten, wie
es nachfolgend erörtert
ist.
-
Um
die Prozessflüsse 48 zu
erzeugen, kann das Erzeugungsmodul 42 Eingangssignale von
Modulauflistungen 44 und/oder Konfigurationsparametern 46 empfangen.
Die Modulauflistungen 44 sind ein oder mehrere Listen von
Aufgaben, die in den Bildverarbeitungsmodulen verfügbar sind,
wie zum Beispiel die Herstellermodule 36, Umwandlermodule 38 und
Verbrauchermodule 40. Die Modulauflistungen 44 können in
einer Vielzahl von Formaten gespeichert werden, wie zum Beispiel
einer Textdatei, einer Erweiterbare-Markup-Sprachen-(XML-) Datei, einer Hypertext-Markupsprache-(HTML)
Datei, einer Tabelle, einer Datenbank oder einer Textverarbeitungsdatei,
die über
das Erzeugungsmodul 42 zugreifbar ist. Die Modulauflistungen 44 können auch einen
lokalen oder entfernten Weg umfassen, wie zum Beispiel einen Einheitsressourcenlokator
(URL), einen Netzwerkweg oder einen Verzeichnisweg zu den verschiedenen
Modulen 36, 38 und 40. Gleichartig dazu
können
die Konfigurationsparameter 46 Vorgabeeinstellungen oder
-optionen sein, die durch den Benutzer für jedes der Module 36, 38 und 40 konfigurierbar
sind. Beispielsweise können
die Konfigurationsparameter die Grauskalierungseinstellungen eines
Moduls einstellen, das ein Farbbild in ein Schwarz-Weiß-Bild umwandelt.
Jeder dieser Eingänge
kann verwendet werden, um einen spezifischen Prozessfluss zu modifizieren
oder zu erzeugen.
-
Die
Prozessflüsse 48 können eine
Liste von Funktionen oder Aufgaben sein, die durch eines oder mehrere
der Bildverarbeitungsmodule durchgeführt werden müssen, um
die Bilddateien 34 zu verarbeiten. Die Prozessflüsse 48 können eine
oder mehrere benutzerdefinierte Aufgabenlisten umfassen, die die unterschiedlichen
Funktionen verschiedener Module anzeigen, die zum Verarbeiten der
Bilddateien 34 zu verwenden sind, und eine spezifische
Reihenfolge zum Ausführen
der Module und spezifischen Aufgaben oder Aktionen in jedem Modul.
Diese Reihenfolge kann spezifizieren, dass Funktionen unterschiedlicher
Module 36, 38 und 40 in spezifischen
Sequenzen ausgeführt
werden sollen, wie zum Beispiel seriell, parallel oder eine Kombination
von beiden. Die Prozessflüsse 48 können als
vordefinierte Prozessflüsse
in einem Speicher gespeichert werden, oder können durch den Benutzer über das
Erzeugungsmodul 42 erzeugt werden. Beispielsweise kann
ein Prozessfluss im Voraus erzeugt werden, um das Bilddatei-Öffnen-Modul,
das Rote-Augen-Entfernungs-Modul
und das Bilddatei-Drucken-Modul zu umfassen, die als ein spezifischer
Prozessfluss gespeichert sein können.
Dieser Prozessfluss, der Module von unterschiedlichen Anwendungen
umfassen kann, kann für
einen Zugriff durch den Benutzer erzeugt und gespeichert werden.
-
Sobald
der Benutzer einen der Prozessflüsse 48 ausgewählt oder
erzeugt hat, wird derselbe für die
Ausführung
an den Prozessor 56 geliefert. Um einen spezifischen der
Prozessflüsse 48 auszuführen, kann
der Prozessor 56 den Schnittstellenverwalter 50 verwenden,
um auf die Bilddateien 34 zuzugreifen und dieselben auf
eine Standardweise für
jedes der Module 36, 38 und 40 zu liefern.
Folglich ermöglicht der
Schnittstellenverwalter 50 die Modifikation der Bilddateien 34 durch
Liefern eines Standardbildformats 52 und einer Standarddateireferenz 54 an
den Prozessor 56. Die Standarddateireferenz 54 identifiziert
Speicher- und/oder Zugriffspositionen für jede der Bilddateien 34 oder
einen Teilsatz der Bilddateien 34. Die Standarddateireferenz 54 kann
eine Positionsanzeige oder einen Identifizierer umfassen, wie zum
Beispiel eine Position oder eine Adresse auf einem Computer, einem
Server, einem Netzwerk, einem Scanner, einer Stehbildkamera, einer
Videokamera, einem Drucker, einem Plotter, einer Roboterzeichenvorrichtung
und/oder einem Bildschirm. Die Standarddateireferenz 54 kann
einen Einheitsressourcenidentifizierer (URI), wie zum Beispiel einen Einheitsressourcenlokator
(URL) umfassen. Ferner verwendet der Schnittstellenverwalter 50 das
Standardbildformat 52 zum Ermöglichen der Modifikation der
Bilddateien 34 durch die Module 36, 38 und 40, die
durch den Prozessor 56 ausgeführt werden. Das Standardbildformat 52 kann
verschiedene Felder umfassen, die Informationen über die Bilddatei 34 und
die Bildverarbeitungsmodule umfassen, was nachfolgend näher erörtert wird.
Folglich liefert der Schnittstellenverwalter 50 durch die
Verwendung der Standarddateireferenz 54 und des Standardbildformats 52 Zugriff
zu den Bilddateien 34 auf eine Standardweise für jedes
der Module 36, 38 und 40.
-
Das
Standardbildformat 52 kann verschiedene Informationsfelder
für die
Bildverarbeitungsmodule oder die Bilddateien 34 umfassen.
Diese Informationsfelder liefern eine Standard- oder Einheitsschnittstelle
(z. B. nicht anwendungsspezifisch und nicht hardwarespezifisch)
zwischen den Modu len 36, 38 und 40 von
jedem der Prozessflüsse 60,
die durch den Prozessor 56 ausgeführt werden. Beispielsweise kann
das Standardbildformat 52 ein Ausführungsfeld 64, ein
Konfigurationsfeld 66, ein Typfeld 68, ein Namenfeld 70,
ein Iconfeld 72 und/oder ein Serialisierungsfeld 74 umfassen.
Das Ausführungsfeld 64 kann
die Standarddateireferenzen 54 umfassen, die den Bilddateien 34 zugeordnet
sind. Das Konfiguriationsfeld 66 kann verschiedene Optionseinstellungen und
Betriebsparameter umfassen, die für die Module 36, 38 und 40 definiert
sind. Das Typfeld 68 kann den spezifischen Typ des Moduls
anzeigen, das eines der Herstellermodule 36, Transformationsmodule 38 oder
Verbrauchermodule 40 sein kann. Ein Namensfeld 70 kann
sich auf den spezifischen Namen der Module 36, 38 und 40 beziehen,
die verwendet werden. Das Iconfeld 72 und das Serialisierungsfeld 74 können auch
verwendet werden, um verschiedene Informationen zu speichern, die
durch den Prozessor 56 verwendet werden, um die Module 36, 38 und 40 auszuführen.
-
Vorteilhafterweise
kann durch Verwenden der Schnittstellenvorrichtung 26 mit
dem Standardbildformat 52 und der Standarddateireferenz 54 die Interaktion
der Module 36, 38 und 40 in den Prozessflüssen 48 ohne
die Komplexitäten
und Inkompatibilitäten
im Zusammenhang mit mehreren unterschiedlichen hardwarespezifischen
und softwarespezifischen Kriterien ausgeführt werden. Somit können die Prozessflüsse 58 automatisch
durchgeführt
werden, ohne die manuelle Auswahl durch einen Benutzer von unterschiedlichen
Anwendungen. Dies reduziert die Probleme im Zusammenhang mit Eingabe/Ausgabeformaten
und Kommunikationsprotokollinkompatibilitäten. Folglich ermöglicht es
die Schnittstellenvorrichtung 26 dem Benutzer, Prozessflüsse 48 zu definieren,
die es unterschiedlichen Modulen 36, 38 und 40 ermöglichen,
die Bilddatei zu verarbeiten und auszutauschen, ohne die Bilddatei
in ein Format umzuwandeln, das spezifisch für das Modul ist, das die Bilddatei
verarbeitet. Ferner ermöglicht
es diese Standardisierung oder Vereinheitlichung Entwicklern, wie
zum Beispiel dritten Hardware- und Softwareher stellen, zusätzliche
Funktionalität
für das
Bildverarbeitungssystem 12 zu liefern. Dies liefert eine
stärkere
Flexibilität
und Modularität
zwischen unterschiedlichen Plattformen und Quellen dieser Funktionsmodule.
Auf diese Weise ist das Bildverarbeitungssystem 12 ein
modulares System von Plug-and-Play-Modulen, die selektiv miteinander
gepaart werden können,
um eine integrierte Bildverarbeitungssequenz oder einen Prozessfluss
zu bilden.
-
Für eine Interaktion
mit einem Benutzer kann das Erzeugungsmodul 42 dem Benutzer über die
Anzeige 60, die ein Teil einer GUI 62 ist, unterschiedliche
virtuelle Seiten liefern. Diese virtuellen Seiten können eine
Interaktion zwischen dem Benutzer und dem Erzeugungsmodul 42 ermöglichen,
das durch den Prozessor 56 ausgeführt wird, um einen der Prozessflüsse 48 zu
erzeugen und auszuführen.
Die Erzeugung und Ausführung
eines beispielhaften Prozessflusses, der einer der Prozessflüsse 48 sein kann,
ist nachfolgend in 4-10 näher beschrieben.
In diesen 4-10 können die
virtuellen Seiten eine „Hilfe"-Seite (nicht gezeigt)
umfassen, die dem Benutzer Unterstützung liefert, eine „Aufgabe
ausführen"-Seite 76,
die die Prozessflüsse 48 ausführt, und
eine „Aufgaben
einrichten"-Seite 86 zum
Konfigurieren der Prozessflüsse 48 oder
Liefern von Informationen über
die Prozessflüsse.
Die Schnittstellenvorrichtung 12 kann jede dieser Seiten 76 und 86 verwenden,
um dem Benutzer virtuellen Zugriff zu dem Erzeugungsmodul 42,
Modulauflistungen 44, Konfigurationsparametern 46,
Prozessflüssen 48,
dem Schnittstellenverwalter 50, dem Standardbildformat 52 und
Standarddateireferenzen 54 zu liefern. Ein beispielhaftes
Ausführungsbeispiel
der GUI 62, das mit dem Benutzer interagiert, wird nachfolgend
in 4-10 näher beschrieben. Es sollte klar
sein, dass diese 4-10 jedoch
lediglich zu beispielhaften Zwecken verwendet werden und jedes der
verschiedenen Module 36, 38 und 40 umfassen
können,
die oben erörtert
werden, oder sogar eine Vielfalt von Kombinationen der Module 36, 38 und 40.
-
4 ist
ein beispielhaftes Ausführungsbeispiel
der „Aufgabe
ausführen"-Seite 76,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es in 4 gezeigt ist, kann die „Aufgabe
ausführen"-Seite 76 einen „Hilfe"-Knopf 78 umfassen,
um auf die „Hilfe"-Seite zuzugreifen,
einen „Aufgabe
ausführen"-Knopf 80,
um auf die „Aufgabe ausführen"-Seite 76 zuzugreifen,
und einen „Aufgaben
einrichten"-Knopf 82,
um auf die „Aufgaben
einrichten"-Seite 86 zuzugreifen.
Die „Aufgaben
ausführen"-Seite 76 liefert
dem Benutzer eine Auswahl unterschiedlicher Prozessflüsse 48,
die in der Schnittstellenvorrichtung 26 oder in dem Bildverarbeitungssystem 12 gespeichert
werden können.
-
In
der „Aufgabe
ausführen"-Seite 76 kann
ein Textfeld 77 verwendet werden, um die Prozessflüsse 48 für den Benutzer
zu präsentieren.
Das Textfeld 77 kann beispielsweise Einträge 84 und 85 umfassen, die
unterschiedliche Prozessflüsse 48 darstellen.
Der „Alte
Turboanwendung"-Eintrag 84 und
der Eintrag „Bildzonealbum" 85 können jeweils
einen der Prozessflüsse 48 darstellen.
Wie es oben angemerkt wurde, können
diese Prozessflüsse 48 ein
oder mehrere der Bildverarbeitungsmodule, wie zum Beispiel Herstellermodule 36,
Transformationsmodule 38, Verbrauchermodule 40 umfassen.
Um einen der Prozessflüsse 48 auszuführen, kann
der Benutzer einen der Einträge 84 und 85 auswählen oder
kann einen neuen Prozessfluss erzeugen. Durch Auswählen von einem
der Einträge 84 und 85 kann
der zugeordnete Prozessfluss durchgeführt werden. Um einen neuen Prozessfluss
zu erzeugen, kann der Benutzer den „Aufgaben einrichten"-Knopf 82 auswählen, der
in 5 erörtert
wird.
-
5 ist
ein beispielhaftes Ausführungsbeispiel
der „Aufgaben
einrichten"-Seite 86,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es in 5 gezeigt ist, kann die „Aufgaben
einrichten"-Seite 86 der GUI 62 Textfelder 88 und 90 und
virtuelle Knöpfe 92, 94, 96, 98, 100, 102 und 104 zum
Definieren von Prozessflüssen 48 umfassen,
unter Verwendung von Aufgaben in einem oder mehreren der Module 36, 38 und 40.
Folglich liefert die „Aufgaben
einrichten"-Seite 86 aus
der Sicht eines Benutzers dem Benutzer die Fähigkeit, einen Prozessfluss
von den Modulen 36, 38 und 40 zu erzeugen,
die für
die Verwendung durch die Schnittstellenvorrichtung 26 verfügbar sind.
-
In
der „Aufgaben
einrichten"-Seite 86 werden die
Textfelder 88 und 90 und die virtuellen Knöpfe 92, 94, 96, 98, 100, 102 und 104 verwendet,
um einen Prozessfluss zu definieren, wie zum Beispiel den „Neue Turboanwendung"-Prozessfluss, der
einer der Prozessflüsse 48 von 3 sein
kann. Der Name des Prozessflusses, der bei diesem Beispiel „Neue Turboanwendung" ist, befindet sich
in dem „Aufgabenname"-Feld 88.
Der Benutzer kann die Benutzerschnittstellen 58 von 3 verwenden,
um diese Textinformationen in dem „Aufgabenname"-Feld 88 zu ändern oder
einzugeben. In dem „Schritte
in der Aufgabe"-Feld 90 können die
Module 36, 38 und 40, die in diesem Prozessfluss
verwendet werden, dargestellt werden.
-
Um
einen Prozessfluss zu erzeugen, können die Knöpfe 92, 94, 96, 98, 100, 102 und 104 verwendet
werden, um die Aufgaben, die in dem Prozessfluss verwendet werden,
hinzuzufügen,
zu löschen und
zu modifizieren. Beispielsweise können die virtuellen Knöpfe einen „Neuen
Schritt hinzufügen"-Knopf 92, einen „Schritt
modifizieren"-Knopf 94,
einen „Schritt
löschen"-Knopf 96,
einen „Nach
oben bewegen"-Knopf 98,
einen „Nach
unten bewegen"-Knopf 100,
einen „OK"-Knopf 102 und
einen „Abbrechen"-Knopf 104 umfassen.
Genauer gesagt, der Benutzer kann mit dem „Neuen Schritt hinzufügen"-Knopf 92 eines der Module 36, 38 und 40 aufnehmen,
die Einstellungen eines Moduls 36, 38 und 40 mit
dem „Schritt
modifizieren"-Knopf 94 modifizieren
und mit dem „Schritt
löschen"-Knopf 96 eines
der Module 36, 38 und 40 entfernen. Gleichartig
dazu kann der Benutzer die Module 36, 38 und 40 mit
dem „Nach
oben bewegen"-Knopf 98 beziehungsweise dem „Nach unten
bewegen"-Knopf 100 neu
anordnen. Sobald der Benutzer die Aufgaben in der richtigen Reihenfolge
definiert hat, kann der Benutzer den Prozessfluss mit dem „OK"-Knopf 102 annehmen oder
den Prozessfluss mit dem „Abbrechen"-Knopf 104 abbrechen. Zum Hinzufügen, Löschen und
Modifizieren der Aufgaben, die in dem Prozessfluss verwendet werden,
kann der Benutzer die Knöpfe
auswählen,
die dem Benutzer zusätzliche
Seiten präsentieren,
wie es in 6-9 erörtert wird.
-
6 ist
ein beispielhaftes Ausführungsbeispiel
der „Schritte
zum Hinzufügen
eingeben"-Seite 106,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Um den Prozessfluss eine Aufgabe hinzuzufügen, kann der Benutzer den „neuen
Schritt hinzufügen"-Knopf 92 von 5 hinzufügen, was
dazu führt,
dass dem Benutzer die „Schritte
zum Hinzufügen
eingeben"-Seite 106 präsentiert
wird. Wie es in 6 gezeigt ist, kann die „Schritte
zum Hinzufügen
eingeben"-Seite 106 ein Textfeld 114 und
virtuelle Knöpfe 108, 110, 112 und 116 umfassen,
zum Zugreifen auf unterschiedliche Aufgaben in dem Prozessfluss.
Folglich liefert die „Schritte
zum Hinzufügen
eingeben"-Seite 106 aus der
Sicht eines Benutzers dem Benutzer die Fähigkeit, eine Aufgabe von den
unterschiedlichen Aufgaben, die die Module 36, 38 und 40 darstellen,
auszuwählen
oder hinzuzufügen.
-
Bei
der „Schritte
zum Hinzufügen
eingeben"-Seite 106 werden
das Textfeld 114 und die virtuellen Knöpfe 108, 110, 112 und 116 verwendet,
um dem Prozessfluss, der erzeugt wird, eine Aufgabe hinzuzufügen. Die
Knöpfe 108, 110 und 112 können Zugriff
zu Listen von Aufgaben liefern, die den unterschiedlichen Modulen 36, 38 und 40 zugeordnet
sind. Beispielsweise kann der „Eingabe"-Knopf 108 eine Liste
von Aufgaben liefern, die den Herstellermodulen 36 zugeordnet
sind, der „Filter"-Knopf 110 kann eine
Liste von Aufgaben liefern, die den Transformationsmodulen 38 zugeordnet
sind und der „Ausgabe"-Knopf 112 kann
eine Liste von Aufgaben liefern, die den Verbrauchermodulen 40 zugeordnet
sind. Jede Liste der Aufgaben kann in dem Textfeld 114 als einzelne
Einträge 118, 120, 122,
und 124 präsentiert werden.
Beispielsweise kann der „Bilder übertragen"-Eintrag 118 von
einer Position auf die Bilddateien 34 zugreifen und die
Bilddateien 34 zu einer zweiten Position bewegen. Der „Hole Befehlszeile"-Eintrag 120 kann
eine Befehlszeile für
eine Zeichenfolge zugreifen, die eine Position anzeigt und die Bilddateien 34 an
dieser Position halten. Ferner kann der Eintrag „Bilder öffnen" 122 auf die Bilddateien 34 zugreifen
und die Bilddateien 34 öffnen,
während
der „Dateiliste öffnen"-Eintrag 124 auf
eine Liste von Bilddateien 34 zugreifen kann und die Bilddateien 34 in
der zugeordneten Liste öffnen
kann. Folglich kann der Benutzer einen der Einträge 118, 120, 122 und 124 auswählen, um
eine spezifische Aufgabe auszuwählen.
Dann kann der Benutzer die ausgewählte Aufgabe mit dem „Fertig"-Knopf 114 annehmen
oder kann durch Drücken
von einem der Knöpfe 108, 110 und 112 eine
weitere Aufgabe auswählen
oder einen weiteren Eintrag 118, 120, 122 oder 124 auswählen. Die Auswahl
von einer der Aufgaben von dem „Schritte zum Hinzufügen eingeben"-Seite 106 wird
nachfolgend in 7 erörtert.
-
7 ist
ein zweites beispielhaftes Ausführungsbeispiel
der „Aufgaben
einrichten"-Seite 86,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es oben in 5 erörtert wird, kann die „Aufgaben
einrichten"-Seite 86 Textfelder 88 und 90 und
virtuelle Knöpfe 92, 94, 96, 98, 100, 102 und 104 umfassen.
Wie es in 7 gezeigt ist, kann das „Schritte
in Aufgabe"-Feld 90 einen „Dateiliste öffnen"-Eintrag 126 umfassen,
der auf eine Liste von Bilddateien 34 zugreifen kann und
die Bilddateien 34 in der zugeordneten Liste öffnen kann. Somit
wurde der „Dateiliste-Öffnen"-Eintrag 126 dem „Neue Turboanwendung"-Prozessfluss hinzugefügt. Folglich
können
andere Aufgaben von der „Schritte zum
Hinzufügen
eingeben"-Seite 106 auf ähnliche Weise
ausgewählt
werden wie die Erörterung
von 6. Die Hinzufügung
einer zweiten Aufgabe wird nachfolgend in 8 erörtert.
-
8 ist
ein drittes beispielhaftes Ausführungsbeispiel
der „Aufgaben
einrichten"-Seite 86,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es oben in 7 erörtert wird, kann die „Aufgaben
einrichten"-Seite 86 der GUI 62 Textfelder 88 und 90 und
virtuelle Knöpfe 92, 94, 96, 98, 100, 102 und 104 umfassen.
In 8 kann das „Schritte
in Aufgabe"-Feld 90 eine
zweite Aufgabe umfassen, die durch den „Dunklermachen"-Eintrag 128 dargestellt
ist, der den Kontrast der Bilddateien 34 einstellen kann.
Der „Dunklermachen"-Eintrag 128 kann
dem Prozessfluss hinzugefügt
werden, durch Verwenden des „Neuen
Schritt hinzufügen"-Knopfes 92,
wie es oben in 6 erörtert wird. Als solches wurde
der „Dunklermachen"-Eintrag 128 dem „Neue Turboanwendung"-Prozessfluss hinzugefügt.
-
Ferner
können
die Aufgaben in dem „Neue Turboanwendung"-Prozessfluss von dem Prozessfluss gelöscht werden.
Als ein Beispiel kann der Benutzer den „Dunklermachen"-Eintrag 128 auswählen. Dann
kann der Benutzer den „Schritt
löschen"-Knopf 96 verwenden, um die
Aufgabe zu entfernen, die durch den „Dunklermachen"-Eintrag 128 von
dem Prozessfluss dargestellt ist. Das Löschen einer Aufgabe von dem
Prozessfluss führt
zu dem oben in 7 beschriebenen Prozessfluss.
Folglich können andere
Aufgaben hinzugefügt,
gelöscht
und modifiziert werden, um einen Prozessfluss auf ähnliche Weise
zu bilden, wie es in 9 beschrieben ist.
-
9 ist
ein viertes beispielhaftes Ausführungsbeispiel
der „Aufgaben
einrichten"-Seite 86,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es oben erörtert
wurde, kann die „Aufgaben
einrichten"-Seite 86 der
GUI 62 Textfelder 88 und 90 und virtuelle
Knöpfe 92, 94, 96, 98, 100, 102 und 104 umfassen.
Wie es in 9 gezeigt ist, kann das „Schritte
in Aufgabe"-Feld 90 eine Liste
von Aufgaben umfassen, die dem „Neue Turboanwendung"-Prozessfluss zugeordnet sind.
-
Innerhalb
des Prozessflusses können
unterschiedliche Aufgaben, die den unterschiedlichen Modulen 36, 38 und 40 zugeordnet
sind, miteinander verwendet werden. Jede dieser Aufgaben kann durch
die Einträge 126, 130, 132 und 134 dargestellt werden.
Beispielsweise stellt der „Dateiliste-Öffnen"-Eintrag 126 eine Aufgabe in
einem der Herstellermodule 36 dar, die auf eine Liste von
Bilddateien 34 zugreifen kann und die Bilddateien 34 in
der zugeordneten Liste öffnen
kann. Der „Schwarzweiß"-Eintrag 130 stellt
eine Aufgabe in einem der Transformationsmodule 38 dar,
das Farbbilder in Schwarz-Weiß-Bilder
umwandeln kann. Ferner stellt der „Bilderdrucken"-Eintrag 132 eine
Aufgabe in einem der Verbrauchermodule 40 dar, die das
Bild auf einem Drucker drucken können,
wie zum Beispiel dem Drucker 14 (1). Außerdem stellt
der „E-Mail"-Eintrag 134 eine
Aufgabe in einem der Verbrauchermodule 40 dar, die die
Bilddateien 34 an einen Server senden kann, wie zum Beispiel
den Mail-Server 22 (1).
Sobald der Benutzer die Aufgaben in der richtigen Reihenfolge definiert
hat, kann der Benutzer den Prozessfluss mit dem „OK"-Knopf 102 annehmen, um den
Prozessfluss auszuführen, wie
es in 10 beschrieben ist.
-
10 ist
ein zweites beispielhaftes Ausführungsbeispiel
der „Aufgabe
ausführen"-Seite 76,
die Teil der GUI 62 ist, die von der Schnittstellenvorrichtung 26 dem
Benutzer durch die Anzeige 60 von 3 präsentiert
wird. Wie es oben erörtert
wird, kann die „Aufgabe
ausführen"-Seite 76 der
GUI 62 Knöpfe 78, 80 und 82 umfassen,
zusammen mit dem Textfeld 77, das dem Benutzer die Prozessflüsse 48 präsentiert.
Zusätzlich
zu den Einträgen 84 und 85 kann
das Textfeld 77 einen „Neue Turboanwendung"-Eintrag 136 umfassen,
der der „Neue
Turboanwendung"-Prozessfluss
ist, der in 9 beschrieben ist. Der Benutzer
kann einen der unterschiedli chen Einträge 84, 85 und 136 auswählen, wie
es oben erörtert
wird, um den Prozessfluss auszuführen.
Der Betrieb eines beispielhaften Prozessflusses in dem Bildverarbeitungssystem 12 ist
in 11 nachfolgend beschrieben.
-
Der
Betrieb eines Prozessflusses in dem Bildverarbeitungssystem 12 von 3 ist
in 11 gezeigt. Bei dem dargestellten Diagramm 140 kann die
Schnittstellenvorrichtung 26 durch den Prozessor verwendet
werden, der einen der Prozessflüsse 58 von 3 ausführt. Folglich
ist das Diagramm 140 am besten verständlich durch gleichzeitige
Bezugnahme auf 3. Der Prozessfluss kann Herstellermodule 36,
Transformationsmodule 38 und Verbrauchermodule 40 umfassen,
die gemeinsam als die Bildverarbeitungsmodule bezeichnet werden
können.
Folglich können
die Bildverarbeitungsmodule eines Prozessflusses durch Verwenden
der Schnittstellenvorrichtung 26 automatisch auf eine nicht-anwendungsspezifische
und nicht-hardwarespezifische Weise ausgeführt werden.
-
Die
Ausführung
des Prozessflusses beginnt bei Block 142. Ein Prozessfluss,
der einer der Prozessflüsse 48 ist,
wird durch einen Benutzer erzeugt und in den Blöcken 144-148 an den
Prozessor 56 geliefert. Bei Block 144 wählt der
Benutzer Bildverarbeitungsmodule aus, die in den Prozessfluss aufgenommen
werden sollen. Der Benutzer kann auch einen benutzerdefinierten
Prozessfluss oder einen vorher erzeugten Prozessfluss verwenden.
Der Prozessfluss kann eine Sequenz für die Bildverarbeitungsmodule
in dem Prozessfluss definieren. Bei Block 146 wird der
Prozessfluss an den Prozessor 56 gesendet, um die Bilddateien 34 gemäß der Sequenz
in dem Prozessfluss zu verarbeiten. Der Prozessor 56 verifiziert
bei Block 148, dass die Bildverarbeitungsmodule in dem
Prozessfluss gültig
sind. Die Validierung der Bildverarbeitungsmodule kann durchgeführt werden,
wenn das Bildverarbeitungssystem 12 eingeschaltet wird
oder wenn die Schnittstellenvorrichtung 26 initialisiert
wird. Falls die Schnittstellenvorrichtung beispielsweise eine Autoentde ckungsroutine
verwendet, kann dieselbe die verfügbaren Bildverarbeitungsmodule
der Schnittstellenvorrichtung 26 verifizieren. Falls eines
oder mehrere der Bildverarbeitungsmodule ungültig sind, führt der
Prozessor 56 den Prozessfluss nicht durch und erzeugt eine
Fehlermitteilung, die dem Benutzer präsentiert wird, wie es in Block 158 gezeigt
ist. Falls die Bildverarbeitungsmodule jedoch gültig sind, führt der
Prozessor 56 jedes der Bildverarbeitungsmodule in dem Prozessfluss
aus, wie es in den Blöcken 150-156 gezeigt ist.
-
In
den Blöcken 150-156 führt der
Prozessor 56 jedes der Bildverarbeitungsmodule gemäß der Sequenz
aus, die in dem Prozessfluss definiert ist. Am Anfang lädt der Prozessor
das erste Bildverarbeitungsmodul, das in dem Prozessfluss aufgelistet
ist, wie es in Block 150 gezeigt ist. Dann greift der Prozessor 56 durch
die Schnittstellenvorrichtung 26 auf die Bilddateien 34 zu,
wie es in Block 152 gezeigt ist. Der Zugriffsblock 152 kann
dem Prozessor 56 ein Standardbildformat 52 liefern,
für die
Ausführung
des zugeordneten Bildverarbeitungsmoduls und der Bilddateien 34.
Abhängig
von dem bestimmten Ausführungsbeispiel
kann das Bildverarbeitungsmodul seine Operationen an der Standarddateireferenz 54 oder
den Bilddateien 34 durchführen. Dann führt der Prozessor
das Bildverarbeitungsmodul aus, wie es in Block 153 gezeigt
ist. Auf den Abschluss der Moduloperationen hin kann das Bildverarbeitungsmodul
bei Block 154 einen Ausgabe- oder Abschlussindikator liefern,
der einen Abfrageblock 156 auslöst. Die Ausgabe kann das Liefern
der Liste von Bilddateien 34 an ein weiteres Modul oder
das Speichern der Bilddatei 34 im Speicher umfassen. Ferner
kann das Bildverarbeitungsmodul Bilddateien 34 oder Standarddateireferenzen 54,
die modifiziert sind, an die Schnittstellenvorrichtung 26 zurücksenden.
Bei dem Abfrageblock 156 bestimmt der Prozessor 56,
ob ein weiteres Bildverarbeitungsmodul von dem Prozessfluss verwendet
werden soll. Falls mehr Bildverarbeitungsmodule verwendet werden
sollen, kann der Prozessor 56 das nächste Bildverarbei tungsmodul
ausführen,
wie es in Block 150 gezeigt ist. Falls jedoch keine anderen
Bildverarbeitungsmodule verwendet werden sollen, kann der Prozess
bei Block 160 enden. Als ein spezifisches Beispiel ist
der Betrieb des „Neue
Turboanwendung"-Prozessflusses
in 12 nachfolgend beschrieben.
-
12 ist
ein beispielhaftes Ausführungsbeispiel
des Betriebs der Schnittstellenvorrichtung 26 während der
Ausführung
des Prozessflusses, der in 9 und 10 gemäß Ausführungsbeispielen
der vorliegenden Erfindung beschrieben ist. Bei diesem Flussdiagramm 162,
das am besten verständlich
ist durch gleichzeitige Bezugnahme auf 3, kann
der Prozessor 56 den Prozessfluss ausführen, um die Bilddateien 34 auf
die spezifische Weise auszuführen,
die in dem definierten Prozessfluss aufgelistet ist. Die Schnittstellenvorrichtung 26 kann
ein Standardbildformat 52 und eine Standarddateireferenz 54 für die Bilddateien 34 liefern,
auf die durch den Prozessor 56 zugegriffen wird, der die
Module 36, 38 und 40 ausführt.
-
Der
Prozess beginnt bei Block 164. Bei Block 166 kann
der „Neue
Turboanwendung"-Prozessfluss an
den Prozessor 56 gesendet werden. Der „Neue Turboanwendung"-Prozessfluss kann
durch den Benutzer gesendet werden, der den Prozessfluss von einer
Liste von verfügbaren
Prozessflüssen 48 auswählt, die
auf der „Aufgabe
ausführen"-Seite 76 präsentiert
sind. Bei diesem Beispiel wird der „Neue Turboanwendung"-Prozessfluss für die Ausführung an den Prozessor 56 geliefert.
Der „Neue
Turboanwendung"-Prozessfluss
ist eine XML-Liste,
die die Einträge
umfasst, die die Aufgaben darstellen, die durch das „Dateiliste-Öffnen"-Modul, „Schwarz-Weiß"-Modul, „Bilder
drucken"-Modul beziehungsweise
das „E-Mail"-Modul durchgeführt werden.
-
Dann
verifiziert der Prozessor 56 den „Neue Turboanwendung"-Prozessfluss in
Block 168. Bei Block 168 kann der Prozessor 56 verifizieren,
dass die Bildverarbeitungsmodule gültig sind. Die Validierung
kann das Verifizieren umfassen, dass der Code, der den Bildverarbeitungsmodulen
zugeordnet ist, die in dem Prozessfluss angezeigt sind, auf dem
System vorliegt, was bei der Initialisierung des Bildverarbeitungssystems 12 oder
vor der Ausführung
des Prozessflusses abgeschlossen werden kann. Falls der Prozessfluss
nicht gültig
ist kann der Prozess bei Block 194 enden. Falls der Prozessfluss
jedoch gültig ist,
kann der Prozessor 56 jedoch auf den Schnittstellenverwalter 50 zugreifen,
um den Prozessfluss zu beginnen.
-
Um
den Prozessfluss durchzuführen,
führt der
Prozessor 56 das „Dateiliste-Öffnen"-Modul aus, das dem „Dateiliste-Öffnen"-Eintrag 126 des „Neue Turboanwendung"-Prozessflusses zugeordnet ist, wie es
in den Blöcken 170-174 gezeigt
ist. Bei Block 170 lädt
der Prozessor 56 den Code, der dem „Dateiliste-Öffnen"-Modul zugeordnet
ist. Dann greift der Prozessor 56 auf den Schnittstellenverwalter 50 zu, für das Standardbildformat 52 und
die Standarddateireferenz 54, die den Bilddateien 34 zugeordnet
sind, wie es in Block 172 gezeigt ist. Der Schnittstellenverwalter 50 kann
die Standarddateireferenz 54 verwenden, um die Position
der Bilddateien 34 zu bestimmen und auf die Bilddateien 34 zuzugreifen,
um das Standardbildformat 52 zu erzeugen. Sobald das Standardbildformat 52 und
die Standarddateireferenz 54 empfangen sind, führt der
Prozessor 56 dann das „Dateiliste-Öffnen"-Modul aus, wie es
in Block 174 gezeigt ist.
-
Nachdem
das „Dateiliste-Öffnen"-Modul ausgeführt wurde,
führt der
Prozessor 56 das „Schwarz-Weiß"-Modul aus, das dem „Schwarz-Weiß"-Eintrag 130 des „Neue Turboanwendung"-Prozessflusses zugeordnet ist, wie es
in den Blöcken 176-180 gezeigt
ist. Bei Block 176 lädt der
Prozessor 56 den Code, der dem „Schwarz-Weiß"-Modul zugeordnet
ist. Dann greift der Prozessor 56 auf den Schnittstellenverwalter 50 zu,
für das
Standardbildformat 52 und die Standarddateireferenz 54,
die den Bilddateien 34 zugeordnet sind, wie es in Block 178 gezeigt
ist. Erneut kann der Schnittstellenverwalter 50 die Standarddateireferenz 54 verwenden,
um die Position der Bilddateien 34 zu bestimmen und auf
die Bilddateien 34 zugreifen, um das Standardbildformat 52 zu
erzeugen. Die Bilddateien 34 können in dem Speicher in Kommunikation mit
oder gekoppelt mit dem Prozessor 56, der Schnittstellenvorrichtung 26 oder
jeder anderen Position gespeichert sein, die durch die Standarddateireferenz 54 spezifiziert
wird. Bei Block 180 führt
der Prozessor 56 das „Schwarz-Weiß"-Modul aus.
-
Dann
führt der
Prozessor 56 das „Bilder
drucken"-Modul aus,
das dem „Bilder
drucken"-Eintrag 132 des „Neue Turboanwendung"-Prozessflusses zugeordnet
ist, wie es in den Blöcken 182-186 gezeigt
ist. Der Prozessor 56 lädt
den Code, der dem „Bilder
drucken"-Modul zugeordnet
ist, wie es in Block 182 gezeigt ist. Bei Block 184 greift
der Prozessor 56 auf den Schnittstellenverwalter 50 zu,
für das Standardbildformat 52 und
die Standarddateireferenz 54, die den Bilddateien 34 zugeordnet
sind. Erneut kann der Schnittstellenverwalter 50 die Standarddateireferenz 54 verwenden,
um die Position der Bilddateien 34 zu bestimmen und auf
die Bilddateien 34 zuzugreifen, um das Standardbildformat 52 zu
erzeugen. Der Prozessor 56 führt dann das „Bilder
drucken"-Modul aus, wie es
in Block 186 gezeigt ist.
-
Sobald
das „Bilder
drucken"-Modul ausgeführt wurde,
führt der
Prozessor 56 schließlich
das „E-Mail"-Modul aus, das dem „E-Mail"-Eintrag 80 des „Neue Turboanwendung"-Prozessflusses zugeordnet ist, wie es
in den Blöcken 188-192 gezeigt
ist. Der Prozessor 56 lädt
den Code, der dem „E-Mail"-Modul zugeordnet
ist, wie es in Block 188 gezeigt ist. Dann greift der Prozessor 56 auf
den Schnittstellenverwalter 50 zu, für das Standardbildformat 52 und
die Standarddateireferenz 54, die den Bilddateien 34 zugeordnet
sind, wie es in Block 190 gezeigt ist. Erneut kann der
Schnittstellenverwalter 50 die Standarddateireferenz 54 verwenden,
um die Position der Bilddateien 34 zu bestimmen und auf
die Bilddateien 34 zuzugreifen, um das Standardbildformat 52 zu
erzeugen. Bei Block 192 führt der Prozessor 56 das „E-Mail"-Modul aus. Die Ausführung des „E-Mail"-Moduls kann das Speichern der Bilddateien 34 in
der Position umfassen, auf die durch die Standarddateireferenz 54 verwiesen
wird. Folglich endet der Prozess bei Block 194.
-
Alternativ
sollte klar sein, dass der Prozessfluss die parallele Ausführung der
verschiedenen Aufgaben der Module 36, 38 und 40 umfassen
kann. Die parallele Ausführung
von Aufgaben kann in dem Prozessfluss durchgeführt werden, der an zwei oder mehr
Prozessoren geliefert wird. Falls beispielsweise das Bildverarbeitungssystem 10 zwei
oder mehr Prozessoren 56 umfasst, können die Aufgaben, die dem „Bilder
drucken"-Modul und
dem „E-Mail"-Modul zugeordnet
sind, im Wesentlichen gleichzeitig ausgeführt werden. Diese parallele
Ausführung
des „Bilder drucken"-Moduls und des „E-Mail"-Moduls kann durchgeführt werden
falls ein erster Prozessor den Code für das „Bilder drucken"-Modul lädt, wie
es in Block 182 gezeigt ist, und ein zweiter Prozessor
den Code für
das „E-Mail"-Modul lädt, wie
es in Block 188 gezeigt ist. Dann kann jeder der Prozessoren
auf die Schnittstellenvorrichtung 26 für das jeweilige Modul zugreifen
und die jeweiligen Module ausführen,
wie es in den Blöcken 184, 186, 190 und 192 gezeigt
ist. Sobald die Module die spezifische Aufgabe abgeschlossen haben,
können
die Prozesse bei Block 194 enden. Somit kann der Prozessfluss
parallele, serielle oder eine Kombination unterschiedlicher Sequenzen
umfassen.