DE102005035188A1 - Schnittstellenvorrichtung zum Koppeln von Bildverarbeitungsmodulen - Google Patents

Schnittstellenvorrichtung zum Koppeln von Bildverarbeitungsmodulen Download PDF

Info

Publication number
DE102005035188A1
DE102005035188A1 DE102005035188A DE102005035188A DE102005035188A1 DE 102005035188 A1 DE102005035188 A1 DE 102005035188A1 DE 102005035188 A DE102005035188 A DE 102005035188A DE 102005035188 A DE102005035188 A DE 102005035188A DE 102005035188 A1 DE102005035188 A1 DE 102005035188A1
Authority
DE
Germany
Prior art keywords
image processing
image
processing modules
process flow
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102005035188A
Other languages
English (en)
Inventor
Mark D. Greeley Seaman
Larry Fort Collins Chapman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102005035188A1 publication Critical patent/DE102005035188A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00957Compiling jobs, e.g. for batch processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32507Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices
    • H04N1/32512Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices of different type, e.g. internal and external devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • H04N1/32529Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices of different type, e.g. internal and external devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein Bildverarbeitungssystem, das einen Prozessor und Bildverarbeitungsmodule aufweist, ist konfiguriert, um zumindest eine Bilddatei zu verarbeiten, wobei die Bildverarbeitungsmodule unabhängig voneinander sind. Ferner ist eine Schnittstellenvorrichtung wirksam mit dem Prozessor gekoppelt und konfiguriert, um einen Prozessfluss zu erzeugen, um zumindest eine Sequenz von zumindest zwei der Mehrzahl von Bildverarbeitungsmodulen zu automatisieren, um die zumindest eine Bilddatei zu modifizieren, dem Prozessor ein Standardformat zum einheitlichen Verwenden der zumindest eine Bilddatei für jedes der Bildverarbeitungsmodule bereitzustellen und dem Prozessor eine Standarddateireferenz zum einheitlichen Zugreifen auf die zumindest eine Bilddatei für jedes der Bildverarbeitungsmodule bereitzustellen.

Description

  • 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.

Claims (20)

  1. Bildverarbeitungssystem (12), das folgende Merkmale umfasst: einen Prozessor (56); eine Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40), die mit dem Prozessor (56) gekoppelt sind und konfiguriert sind, um durch den Prozessor (56) verwendet zu werden, um zumindest eine Bilddatei (34) zu verarbeiten, wobei die Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) unabhängig voneinander sind; und eine Schnittstellenvorrichtung (26), die mit dem Prozessor (56) gekoppelt ist und konfiguriert ist zum: Erzeugen eines Prozessflusses (48) um zumindest eine Sequenz von zumindest zwei der Mehrzahl von Bilderzeugungsmodulen (36, 38, 40) zu automatisieren, um die zumindest eine Bilddatei (34) zu modifizieren; Liefern eines Standardbildformats (52) an den Prozessor (56) zum einheitlichen Erhalten der zumindest einen Bilddatei (34) für jedes der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40); und Liefern einer Standardbildreferenz (54) an den Prozessor (56) zum einheitlichen Zugreifen auf die zumindest eine Bilddatei (34) für jedes der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40).
  2. Bildverarbeitungssystem (12) gemäß Anspruch 1, bei dem ein erstes der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) einer ersten Anwendung (28, 30, 32) zugeordnet ist und ein zweites der Mehrzahl von Bildverar beitungsmodulen (36, 38, 40) einer zweiten Anwendung (28, 30, 32) zugeordnet ist, wobei die erste und die zweite Anwendung (28, 30, 32) unabhängig voneinander arbeiten und unterschiedliche Funktionen haben.
  3. Bildverarbeitungssystem (12) gemäß Anspruch 1, das ein Erzeugungsmodul (42) umfasst, das angepasst ist, um mit einem Benutzer zu interagieren, um zumindest zwei der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) auszuwählen und zu ordnen, um den Prozessfluss (48) zu erzeugen, der durch den Prozessor (56) automatisch ausgeführt wird.
  4. Bildverarbeitungssystem (12) gemäß Anspruch 1, bei dem zumindest eine Sequenz einen parallelen Betrieb von zumindest zwei der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) umfasst, die gleichzeitig ausgeführt werden.
  5. Bildverarbeitungssystem (12) gemäß Anspruch 1, bei dem die Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) ein Herstellermodul (36) umfasst, das auf die zumindest eine Bilddatei (34) zugreift, um eine Liste von zumindest einer Bilddatei (34) zu erzeugen.
  6. Bildverarbeitungssystem gemäß Anspruch 1, bei dem das Standardbildformat zumindest ein Bildfeld umfasst, das der zumindest einen Bilddatei zugeordnet ist, und zumindest ein Modulfeld, das dem Typ von jedem der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) zugeordnet ist.
  7. Bildverarbeitungssystem gemäß Anspruch 1, bei dem der Prozessfluss (48) eine Erweiterbare-Markupsprachen-Datei (XML-Datei) umfasst, die die zumindest eine Sequenz der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in dem Prozessfluss (48) auflistet.
  8. Verfahren zum Verarbeiten der zumindest einen Datei (34), das folgende Schritte umfasst: Bereitstellen eines Prozessflusses (48), der eine Sequenz einer Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) umfasst, die ein erstes Bildverarbeitungsmodul (36, 38, 40) und ein zweites Bildverarbeitungsmodul (36, 38, 40) aufweisen, die unabhängig voneinander sind; Zugreifen auf das zumindest eine Bild (34) durch das erste Bildverarbeitungsmodul (36, 38, 40) über eine Schnittstellenvorrichtung (26), die ein Standardbildformat (56) und eine Standarddateireferenz (54) umfasst; und Modifizieren des zumindest einen Bildes (34) durch das zweite Bildverarbeitungsmodul (36, 38, 40), wobei die Schnittstellenvorrichtung (26) kommunikativ eine Schnittstelle bildet mit dem ersten und dem zweiten Bildverarbeitungsmodul (36, 38, 40) in der Sequenz des Prozessflusses (48), um die zumindest eine Bilddatei (34) auszutauschen, ohne dass die Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) eine anwendungsspezifische Übersetzung oder Umwandlung der zumindest einen Bilddatei (34) durchführen muss.
  9. Verfahren gemäß Anspruch 8, das das Ausführen von jedem der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in der Sequenz des Prozessflusses (48) auf einem Prozessor (56) umfasst, um die zumindest eine Bilddatei (34) zu verarbeiten.
  10. Verfahren gemäß Anspruch 8, bei dem eines der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) einer ersten Anwendung (28, 30, 32) zugeordnet ist, und ein anderes der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) einer zweiten Anwendung zugeordnet ist, wobei die ers te und die zweite Anwendung (28, 30, 32) unabhängig voneinander sind und unterschiedliche Funktionen an der zumindest einen Bilddatei (34) durchführen.
  11. Verfahren gemäß Anspruch 8, bei dem das Standardbildformat eine Mehrzahl von Feldern (64, 66, 68, 70, 72, 74) umfasst, die zumindest einem der Mehrzahl der Bildverarbeitungsmodule (36, 38, 40) und zumindest einer Bilddatei (34) zugeordnet sind.
  12. Verfahren gemäß Anspruch 8, bei dem das Bereistellen des Prozessflusses (48) das interaktive Auswählen von zumindest einem der Mehrzahl von Bildverarbeitungsmodule (36, 38, 40) von zumindest einer Modulauflistung (44) umfasst, und das interaktive Ordnen der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in der Sequenz.
  13. Verfahren gemäß Anspruch 8, das das Ausführen von jedem der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) parallel auf einer Mehrzahl von Prozessoren umfasst, um zumindest eine Bilddatei (34) zu verarbeiten.
  14. System für Bildverarbeitung, das folgende Merkmale umfasst: eine Einrichtung zum Bereitstellen eines Prozessflusses (48), der zumindest eine Sequenz einer Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) umfasst, wobei die Bildverarbeitungsmodule (36, 38, 40) unabhängig voneinander sind; eine Einrichtung zum kommunikativen schnittstellenmäßigen Verbinden der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in dem Prozessfluss (48) über ein Standardbildformat (52) und eine Standarddateireferenz (54); und eine Einrichtung zum automatischen Ausführen der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in der zumindest einen Sequenz des Prozessflusses (48) zum Verarbeiten einer Bilddatei (34), wobei eines der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) einer ersten Anwendung zugeordnet ist und ein anderes der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) einer zweiten Anwendung zugeordnet ist, wobei die erste und die zweite Anwendung unabhängig voneinander sind und unterschiedliche Funktionen an der Bilddatei (34) durchführen.
  15. System, das folgende Merkmale umfasst: zumindest einen Prozessor (56); ein erstes Bildverarbeitungsmodul (36, 38, 40) in einer ersten Anwendung, das konfiguriert ist, um mit dem zumindest einem Prozessor (56) zu interagieren und eine Mehrzahl von Bilddateien (34) zu verarbeiten; ein zweites Bildverarbeitungsmodul (36, 38, 40) in einer zweiten Anwendung, das konfiguriert ist, um mit dem zumindest einem Prozessor (56) zu interagieren und die Mehrzahl von Bilddateien (34) zu verarbeiten; und eine Schnittstellenvorrichtung (26), die wirksam mit dem zumindest einem Prozessor (56) gekoppelt ist und konfiguriert ist zum: Erzeugen eines Prozessflusses (48), um zumindest eine Sequenz des ersten und des zweiten Bildverarbeitungsmoduls (36, 38, 40) zu automatisieren, um die Mehrzahl von Bilddateien (34) zu modifizieren; Bereitstellen eines Standardbildformats (52) zum einheitlichen Erhalten der zumindest einen Bilddatei (34) für jedes der ersten und zweiten Bildverarbeitungsmodule (36, 38, 40); und Bereitstellen einer Standarddateireferenz (54) zum einheitlichen Zugreifen auf die Mehrzahl von Bilddateien (34) für jedes der ersten und zweiten Bildverarbeitungsmodule (36, 38, 40).
  16. System gemäß Anspruch 15, bei dem der Prozessfluss (48) eine Erweiterbare-Markup-Sprache-(XML-)Datei umfasst, die die ersten und zweiten Bildverarbeitungsmodule (36, 38, 40) in der Reihenfolge auflistet, die durch die zumindest eine Sequenz in dem Prozessfluss (48) definiert ist.
  17. System gemäß Anspruch 15, bei dem zumindest ein Prozessor (56) das erste Bildverarbeitungsmodul und das zweite Bildverarbeitungsmodul in einer seriellen Reihenfolge ausführt.
  18. System gemäß Anspruch 15, bei dem zumindest ein Prozessor (56) einen ersten Prozessor und einen zweiten Prozessor umfasst, wobei der erste Prozessor das erste Bildverarbeitungsmodul ausführt und der zweite Prozessor das zweite Bildverarbeitungsmodul parallel ausführt.
  19. System gemäß Anspruch 15, bei dem das Standardbildformat eine Mehrzahl von Feldern umfasst, die der zumindest einen Bilddatei (34) und einem der Mehrzahl der Bildverarbeitungsmodule (36, 38, 40) zugeordnet sind.
  20. Computerlesbares Medium; das folgende Merkmale umfasst: einen Schnittstellenvorrichtungscode, der angepasst ist, um eine Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) von zumindest zwei unterschiedlichen An wendungen über ein Standardbildformat (52) und eine Standarddateireferenz (54) schnittstellenmäßig zu verbinden, wobei die Bildverarbeitungsmodule (36, 38, 40) unabhängig voneinander sind; und einen Prozessflusscode, der angepasst ist, um die Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in einer Sequenz zu organisieren, wobei der Prozessfluss angezeigt ist, um die Sequenz von zumindest zwei der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) zu automatisieren, wobei der Prozessflusscode die Sequenz automatisch ausführt und den Schnittstellenvorrichtungscode verwendet, um zwischen der Mehrzahl der Bildverarbeitungsmodule (36, 38, 40) in der Sequenz zu interagieren, und wobei zumindest zwei der Mehrzahl von Bildverarbeitungsmodulen (36, 38, 40) in der Sequenz parallel ausgeführt werden.
DE102005035188A 2004-08-27 2005-07-27 Schnittstellenvorrichtung zum Koppeln von Bildverarbeitungsmodulen Ceased DE102005035188A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/928,044 US20060044582A1 (en) 2004-08-27 2004-08-27 Interface device for coupling image-processing modules
US10/928,044 2004-08-27

Publications (1)

Publication Number Publication Date
DE102005035188A1 true DE102005035188A1 (de) 2006-03-09

Family

ID=34976728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005035188A Ceased DE102005035188A1 (de) 2004-08-27 2005-07-27 Schnittstellenvorrichtung zum Koppeln von Bildverarbeitungsmodulen

Country Status (3)

Country Link
US (1) US20060044582A1 (de)
DE (1) DE102005035188A1 (de)
GB (1) GB2417658A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11232768B2 (en) 2005-04-12 2022-01-25 Douglas G. Richardson Embedding animation in electronic mail, text messages and websites
US8121534B2 (en) * 2006-09-27 2012-02-21 Sirius Xm Radio Inc. System and method for sending and receiving images via wireless audio channels
JP7167450B2 (ja) * 2018-03-02 2022-11-09 株式会社リコー 情報処理装置、情報処理方法、プログラム
CN113127164B (zh) * 2020-01-15 2024-03-26 伊姆西Ip控股有限责任公司 管理应用节点中的任务的方法、设备和计算机程序产品

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2247597B (en) * 1990-08-31 1995-03-08 Canon Res Ct Europe Ltd Image processing
US5237627A (en) * 1991-06-27 1993-08-17 Hewlett-Packard Company Noise tolerant optical character recognition system
US5907835A (en) * 1994-11-18 1999-05-25 Canon Kabushiki Kaisha Electronic filing system using different application program for processing drawing commands for printing
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5675773A (en) * 1995-12-21 1997-10-07 Cirrus Logic, Inc. Graphics display system with a low level hardware dependent graphics library
JP3682381B2 (ja) * 1998-12-01 2005-08-10 株式会社リコー 画像処理装置
US6415306B2 (en) * 1999-01-27 2002-07-02 Hewlett-Packard Company Method for selecting next feature for placement on a page
US6620206B1 (en) * 1999-01-27 2003-09-16 Hewlett-Packard Development Company, L.P. White space equalization around features placed on a page
US6373591B1 (en) * 2000-01-26 2002-04-16 Hewlett-Packard Company System for producing photo layouts to match existing mattes
US6678070B1 (en) * 2000-01-26 2004-01-13 Hewlett-Packard Development Company, L.P. System for producing photo layouts to match existing mattes using distance information in only one axis
US6741271B1 (en) * 2000-07-31 2004-05-25 Hewlett-Packard Development Company, L.P. Thumbnail address book for linked family of imaging appliances
US6914624B1 (en) * 2000-11-13 2005-07-05 Hewlett-Packard Development Company, L.P. Adaptive and learning setting selection process for imaging device
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US20030030733A1 (en) * 2001-08-08 2003-02-13 Seaman Mark D. System and method for synchronization of media data
US7929808B2 (en) * 2001-10-30 2011-04-19 Hewlett-Packard Development Company, L.P. Systems and methods for generating digital images having image meta-data combined with the image data
US20030090574A1 (en) * 2001-10-30 2003-05-15 Seaman Mark D. Systems and methods for providing automated delivery of digital images
US20040205479A1 (en) * 2001-10-30 2004-10-14 Seaman Mark D. System and method for creating a multimedia presentation
US20030084193A1 (en) * 2001-10-31 2003-05-01 Brake Gregory A. Systems and methods for preparing a record of an event based on images from multiple image capture devices
US6999112B2 (en) * 2001-10-31 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for communicating content information to an image capture device
US20030149939A1 (en) * 2002-02-05 2003-08-07 Hubel Paul M. System for organizing and navigating through files
US20030182409A1 (en) * 2002-03-22 2003-09-25 Seaman Mark D. Method and system for indicating the progress of device services
US7843495B2 (en) * 2002-07-10 2010-11-30 Hewlett-Packard Development Company, L.P. Face recognition in a digital imaging system accessing a database of people
US20040015524A1 (en) * 2002-07-19 2004-01-22 Chalstrom Robert Eugene Method and apparatus for managing digitally-stored media files
US7146063B2 (en) * 2003-01-29 2006-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting and fixing incorrect date tags on digital images
US7114146B2 (en) * 2003-05-02 2006-09-26 International Business Machines Corporation System and method of dynamic service composition for business process outsourcing
US7835596B2 (en) * 2003-12-16 2010-11-16 International Business Machines Corporation Componentized application sharing
US7265759B2 (en) * 2004-04-09 2007-09-04 Nvidia Corporation Field changeable rendering system for a computing device

Also Published As

Publication number Publication date
US20060044582A1 (en) 2006-03-02
GB0515467D0 (en) 2005-08-31
GB2417658A (en) 2006-03-01

Similar Documents

Publication Publication Date Title
DE60123327T2 (de) Bilddruckvorrichtung und -Verfahren, computerlesbares Speichermedium, das ein Programm zum Ausdrucken von Bildern speichert, Bildverwaltungssystem, und Datenverwaltungsgerät
DE60016032T2 (de) Videoschnittarbeitsflussverfahren und -system
DE69838964T2 (de) Bildinformations- Eingabe/Ausgabeeinheit, Bildinformations- Eingabe/Ausgabeeinheit Steuerverfahren, und Bildinformations- Verarbeitungsystem
JP3836527B2 (ja) 構造的イメージの画像編集装置および方法
US6429947B1 (en) Automated, hosted prepress application
DE69936749T2 (de) Gerät und Verfahren zur Navigation durch mehrere aufgenommene Bilder und funktionelle Menüs
DE10246689B4 (de) Verfahren und System zum Web-basierten Drucken
DE69927321T2 (de) Gerätesteuerungseinrichtung und Verfahren zur Bestimmung des Gerätes
US20070097421A1 (en) Method for Digital Photo Management and Distribution
DE10236188A1 (de) Web-basierter Bilderzeugungsdienst, der Webseiten im Auftrag einer anderen Website in Inhalt umwandelt
DE10236189B4 (de) Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist
DE10338699A1 (de) System und Verfahren zum Priorisieren von Menüinformationen
DE102011076459A1 (de) Automatisches System und Verfahren zur Übermittlung einer Bild erzeugenden Aufgabe mittels eines mobilen Kommunikationsgeräts
EP1814305B1 (de) Datenspeicherungs-/Datenwiedergabeverfahren
US20080178199A1 (en) Information processing device, image processing apparatus, information processing method, and storage medium
US8612440B2 (en) Computer based method and system for generating custom dynamic templates
US20050256874A1 (en) Document file read system using network
DE60033164T2 (de) Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System
DE10331839A1 (de) System und Verfahren zum Lokalisieren von Bildern
DE102013201816A1 (de) Informationsverarbeitungsvorrichtung, Steuerverfahren und Programm
DE102016205009A1 (de) Intelligente interaktive Bildschirmaufnahme
DE102020002356A1 (de) Verbesserte gestalterische gemeinsame Bearbeitung unter Nutzung einer gestaltungsbasierten Rückmeldung
US20020029242A1 (en) Image editing method and system
DE102005035188A1 (de) Schnittstellenvorrichtung zum Koppeln von Bildverarbeitungsmodulen
DE10236182B4 (de) Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments gemäß einer vorbestimmten Druckspezifikation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection