DE10311714B4 - Bildherstellungsvorrichtung und Bildverarbeitungsverfahren - Google Patents

Bildherstellungsvorrichtung und Bildverarbeitungsverfahren Download PDF

Info

Publication number
DE10311714B4
DE10311714B4 DE10311714A DE10311714A DE10311714B4 DE 10311714 B4 DE10311714 B4 DE 10311714B4 DE 10311714 A DE10311714 A DE 10311714A DE 10311714 A DE10311714 A DE 10311714A DE 10311714 B4 DE10311714 B4 DE 10311714B4
Authority
DE
Germany
Prior art keywords
image
image processing
section
image data
processing
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.)
Expired - Fee Related
Application number
DE10311714A
Other languages
English (en)
Other versions
DE10311714A1 (de
Inventor
Yumi Ebina Sekiguchi
Yukio Ebina Kumazawa
Masanori Ebina Onda
Youichi Ebina Isaka
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of DE10311714A1 publication Critical patent/DE10311714A1/de
Application granted granted Critical
Publication of DE10311714B4 publication Critical patent/DE10311714B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

Bildverarbeitungsvorrichtung, mit einer Mehrzahl von Bildverarbeitungsabschnitten (21, 22, 23), die in einer Pipeline-Art verbunden sind und die jeweilige, vorgegebene Prozesse zur Verarbeitung von Bilddaten für die Ausgabe auf einem Drucksystem durchführen, dadurch gekennzeichnet, dass jeder der Bildverarbeitungsabschnitte (21, 22, 23) einen Controllerabschnitt (223, 233) zur Übermittlung einer Reinitialisierungsinstruktion an einen vorhergehenden Bildverarbeitungsabschnitt (21, 22, 23) enthält, wobei eine Reinitialisierungsinstruktion den vorhergehenden Bildverarbeitungsabschnitt (21, 22, 23) veranlasst, die vorgegebene Verarbeitung der jeweiligen Bilddaten erneut zu beginnen.

Description

  • Die vorliegende Erfindung betrifft eine Bildherstellungsvorrichtung und ein Bildverarbeitungsverfahren, die digitalisierte Bilddaten verarbeiten, und genauer eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren, in denen mehrere komponentenfunktionale Bildverarbeitungsmodule bereitgestellt werden und verschiedene Bildverarbeitungsfunktionen durch Kombination der Module realisiert werden.
  • Eine Technik, bei der vielfache komponentenfunktionelle Bildverarbeitungsmodule bereitgestellt werden und verschiedene Bildverarbeitungsfunktionen durch Kombination der Module realisiert werden, wird in vielen Systemen verwendet, die ein digitales Bild bearbeiten, z. B. in einem Dokumenteneditor, einem Zeichenwerkzeug, einer Bildsendevorrichtung und einem Drucker.
  • In einem DTP (Desk Top Publishing) System, in das ein Bild eingegeben werden kann, z. B. in einem Drucksystem, das ein Bild ausgeben kann oder ähnliches, werden verschiedene Bildverarbeitungen wie z. B. eine Vergrößerung/eine Verkleinerung, eine Drehung, eine affine Transformation, eine Farbwandlung, ein Filter und Kombinationen davon mit dem zu verarbeitenden Bild durchgeführt. Wenn ein solcher Prozess durchgeführt werden soll, wird der Prozess manchmal unter Verwendung einer speziellen Hardware in dem Fall durchführt, in dem das Attribut eines Eingabebildes, die Prozessinhalte, die Prozedurparameter und ähnliches festgelegt werden. In dem Fall, in dem verschiedene Bilder oder unterschiedliche Farbräume oder Bitanzahlen pro Pixel eingegeben werden oder in dem die Prozessinhalte, die Prozedur, die Parameter oder ähnliches mehrmals geändert werden, müssen jedoch diese Bilder oder Änderungen durch einen flexibleren Aufbau bearbeitet werden.
  • Als eine Einrichtung, die dieses Erfordernis erfüllen kann, wurde herkömmlich eine Technik, in der programmierbare Module in einer Pipeline-Art oder einer DAG-Art (DAG = Directed Acyclic Graph = Gelenkter Azyklischer Graph) verbunden sind, derart vorgeschlagen, dass ein gewünschter Prozess flexibel durchgeführt wird (z. B. vergleiche die ungeprüfte japanischen Patentanmeldungen mit den Veröffentlichungsnummer Hei5-260373 und Hei 7-105020 ).
  • Die ungeprüfte, japanischen Patentanmeldung mit der Veröffentlichungsnummer Hei5-260373 offenbart eine digitale Videosignalverarbeitungsvorrichtung, die derart aufgebaut ist, dass Inhalte der Berechnungsvorgänge von vielzähligen programmierbaren Berechnungsverarbeitungsabschnitten und die Verbindungsart der programmierbaren Berechnungsverarbeitungsabschnitte durch einen Netzwerkabschnitt frei von der Außenseite durch einen Hoststeuerabschnitt gesetzt werden können, wodurch ein komplizierter Hochgeschwindigkeitsberechnungsprozess freigegeben wird und der Freiheitsgrad der Änderung einer Funktion oder eines Systems wird erhöht. Die ungeprüfte, japanischen Patentanmeldung mit der Veröffentlichungsnummer Hei7-105020 offenbart ein Pipeline-Bildverarbeitungssystem, in dem notwendige, funktionelle Module in Pipelineart in einer gewünschten Sequenz verbunden/initialisiert sind, um einen Prozess bzw. ein Verfahren durchzuführen, wodurch die Bildverarbeitung flexibel durchgeführt werden kann.
  • In der Technik, die in der ungeprüften, japanischen Patentanmeldung mit der Veröffentlichungsnummer Hei7-105020 offenbart ist, wird ein Simulationssystem einer Multiprozess-Pipeline durch einen einzelnen Prozessor, der in einem Betriebssystem, z. B. Unix (registriertes Warenzeichen), verwendet wird, auf ein Bildverarbeitungsfeld oder ähnliches angewendet. Bei der Bildverarbeitung können, insbesondere, wenn eine Prozesseinheit auf einen Teil eines Bildes, z. B. auf eine Linie bzw. Zeile eines Bildes, beschränkt ist, Speicherbereiche, die jeweils für die Verarbeitung durch Verarbeitungsmodule gehalten werden können, bemerkenswert reduziert werden.
  • Im Ergebnis kann eine Bildverarbeitungsvorrichtung, die einen komplexen Prozess mit einer reduzierten Speicherkapazität realisieren kann und die niedrige Herstellungskosten hat, bereitgestellt werden. Wenn eine solche Vorrichtung in einem Betriebssystem, das einen virtuellen Speicher unterstützt, arbeitet, kann ein Auslagern aufgrund einer unzureichenden Speicherkapazität auf einen Minimalwert unterdrückt werden und deshalb kann die Vorrichtung einen Prozess mit einer hohen Geschwindigkeit ausführen.
  • In dem Fall, in dem eine Bildverarbeitungsvorrichtung, die einen gewünschten, komplexen Prozess, wie zuvor beschrieben wurde, durchführen kann, durch frei kombinierbare Komponenten-Funktionsmodule aufgebaut ist, ist eine sehr wichtige Funktion die Neuinitialisierung bzw. Wiederinitialisierung, bei der der Zustand in den Anfangszustand derart zurückkehrt, dass ein vorgegebener Prozess wieder mit dem Start von dem Beginn der zu verarbeitenden Bilddaten aus durchgeführt wird. Viele Pipeline-Verarbeitungen können vom Anfang bis zum Ende ohne die Aktivierung der Neuinitialisierung durchgeführt werden. Die Neuinitialisierung muss jedoch in einem Pipeline-Prozess, wie er unten stehend beschrieben wird, aktiviert werden.
  • Wie in 8 gezeigt ist, enthält z. B. eine Pipeline-Verarbeitung einen Bildeingabeabschnitt 102, einen Histogramm-Erzeugungsabschnitt 103 und einen Binarisierungsabschnitt 104. Digitale Bilddaten, die von einem Bildspeicherabschnitt 101 zugeführt werden, werden binarisiert bzw. in eine Binärzahl umgesetzt und die binarisierten Daten werden einem Bildausgabeabschnitt zugeführt. Bei der Pipeline-Verarbeitung wird angenommen, dass Histogrammdaten eines zu verarbeitenden Bildes durch den Histogramm-Erzeugungsabschnitt 103 erzeugt werden, dass eine Binarisierungsschwelle unter Verwendung dieser Histogramm-Daten bestimmt wird und dass der Binarisierungsabschnitt 104 einen Binarisierungsprozess auf der Basis der binarisierten Schwelle durchführt.
  • Da alle Pixelwerte des zu verarbeitenden Bildes notwendig sind, um ein Histogramm in dem Histogramm-Erzeugungsabschnitt 103 erzeugen zu können, ist es erforderlich, Bild daten aller Zeilen zu lesen und Informationen aller Pixel zu erhalten. Bei der zuvor beschriebenen Pipeline-Verarbeitung der herkömmlichen Art kann eines der nachfolgenden beiden Systeme verwendet werden, um eine Verarbeitung für das Lesen von Bilddaten aller Linien bzw. Zeilen und zum Erhalten von Informationen aller Pixel ausführen zu können.
  • In dem ersten der Systeme, wie in 9 gezeigt ist, gibt es separate Pipelines oder eine Pipeline 200A, die Histogrammdaten erzeugt, und eine Pipeline 200B, die einen Binarisierungsprozess auf der Basis der erzeugten Histogrammdaten durchführt. Unter der Annahme eines Falles, bei dem dieses System als Prozessverarbeitungsprogramm-Modul auf einem Computer realisiert ist, wird der Bildeingabeabschnitt 102 zweifach erzeugt und der Initialisierungsprozess in dem Bildeingabeabschnitt 102 wird zweimal durchgeführt. Deshalb wird die Quelle und die Verarbeitungsgeschwindigkeit verschwendet.
  • In dem zweiten System ist der Histogramm-Erzeugungsabschnitt 103 in der einzelnen Pipeline, die in 8 gezeigt ist, aufgebaut, wie in 10 gezeigt ist. Genauer ist der Histgramm-Erzeugungsabschnitt 103 derart aufgebaut, dass er einen Eingangspuffer 301, der alle Zeilen der Bilddaten, die von dem vorhergehenden Modul aus zugeführt werden, festhält, einen Ausgabepuffer 302, der ein Verarbeitungsergebnis zu einem Modul in einer nachfolgenden Stufe ausgibt und einen Histogramm-Erzeugungscontroller 303 hat, der den Histogramm-Erzeugungsvorgang steuert.
  • Unter Annahme eines Falls, bei dem dieses System als ein Verarbeitungsprogramm-Modul auf einem Computer realisiert ist, werden in dem Histogramm-Erzeugungsabschnitt 103 alle Bilddaten, die von dem vorhergehenden Modul aus bei der Initialisierung zugeführt werden, zuerst in dem Eingabepuffer 301 gespeichert. Als nächstes erzeugt der Histogramm-Erzeugungscontroller 303 Histogrammdaten unter Verwendung aller Bilddaten, die in dem Eingabepuffer 301 gespeichert sind, und initialisiert (= 1) einen Zeilenzähler, der intern gespeichert bzw. festgehalten ist. Wenn der Ausgabepuffer 302 von dem nachfolgenden Modul übertragen wird und eine Ausgabeanforderung empfangen wird, kopiert der Histogramm-Erzeugungscontroller 303 die Bilddaten, die in dem Eingabepuffer 301 gehalten sind, in den Ausgabepuffer 302 Zeile für Zeile, gibt den Ausgabepuffer 302 an die nachfolgende Stufe zurück und inkrementiert dann den Zeilenzähler um 1.
  • In dem zweiten System ist es erforderlich, obwohl die Wandlung von Bilddaten überhaupt nicht in dem Histogramm-Erzeugungsvorgang des Histogramm-Erzeugungsabschnitts 103 durchgeführt wird, dass alle Eingangsbilddaten gehalten werden. Ein Puffer mit einer Speicherkapazität, durch die alle Bilddaten gespeichert werden können, ist deshalb als der Eingabepuffer 301 notwendig. Im Ergebnis werden Mittel weitgehend verschwendet.
  • US-B-6 252 610 beschreibt die Verarbeitung von Grafikobjekten durch eine Folge von sequentiell miteinander verbundenen Verarbeitungsabschnitten. Alle Verarbeitungsabschnitte werden von einem zentralen Prozessor initialisiert und mit Befehlsblöcken für eine entsprechende Verarbeitung versorgt. Jeder Verarbeitungsabschnitt bearbeitet jeweils ein vollständiges Grafikobjekt und gibt das Ergebnis der Verarbeitung an den nachfolgenden Abschnitt weiter.
  • US-B-6 334 181 zeigt einen digitalen Signalprozessor. Mehrere Befehle können dabei in einer Pipelinestruktur abgearbeitet werden. Um eine Neuinitialisierung der Pipeline aufgrund einer bedingten Verzweigung in dem Programmablauf zu vermeiden, können einzelne Befehle in der Pipeline durch Leerbefehle (no operation) ersetzt werden.
  • Die Erfindung wurde in Hinblick auf die zuvor erwähnten Probleme ausgeführt. Es ist eine Aufgabe der Erfindung, eine Bildverarbeitungsvorrichtung und ein Bildverarbei tungsverfahren bereitzustellen, bei denen, wenn verschiedene Bildverarbeitungsfunktionen durch eine beliebige Kombination von vielfachen komponenten-funktionellen Bildverarbeitungsmodulen realisiert werden, zu verarbeitende Bilddaten wieder gelesen werden können.
  • In einem Pipeline-Prozess können, da jeder der Bildverarbeitungsabschnitte (Bildverarbeitungsmodule) mit einer Neuinitialisierungsfunktion versehen ist, Bilddaten, die verarbeitet werden sollen, neu gelesen werden. In dem Fall, bei dem ein Vorgang wie z. B. jener, bei dem ein Ergebnis der Analyse von Bilddaten in einem Prozess in einer nachfolgenden Stufe verwendet wird, in der Form eines Programms auf einem Computer realisiert ist, kann deshalb der Prozess, der in der herkömmlichen Realisierung durch mehrmalige Durchgänge durchgeführt worden ist, durch einen Durchgang durchgeführt werden. Im Ergebnis wird die Programmeffizienz erhöht und ein Initialisierungs-Overhead tritt nicht auf, so dass der Prozess vereinfacht werden kann.
  • 1 ist ein Blockdiagramm, das ein Beispiel des Aufbaus einer Bildverarbeitungsvorrichtung zeigt, die eine Ausführungsform der Erfindung ist;
  • 2 ist ein Diagramm, das schematisch den Aufbau von Bilddaten zeigt, die durch die Bildverarbeitungsvorrichtung der Ausführungsform verarbeitet werden können;
  • 3 ist ein Blockdiagramm, das ein Beispiel des Aufbaus einer Bildeingabeeinheit zeigt;
  • 4 ist ein Blockdiagramm, das ein Beispiel für den Aufbau einer Histogramm-Erzeugungsverarbeitungseinheit zeigt;
  • 5 ist ein Blockdiagramm, das ein Beispiel des Aufbaus eines Binarisierungsabschnitts zeigt;
  • 6 ist Flussdiagramm, das den Betrieb der Intitialisierung der Bildverarbeitung zeigt;
  • 7 ist ein Flussdiagramm, das den Betrieb einer Ausführung der Bildverarbeitung zeigt;
  • 8 ist ein Blockdiagramm, das ein Beispiel der Kombination von Bildverarbeitungsmodulen zeigt;
  • 9 ist ein Blockdiagramm, das ein Beispiel des Falles zeigt, bei dem der gleiche Vorgang wie der von 8 ohne Verwendung einer Reinitialisierungsfunktion realisiert ist;
  • 10 ist ein Blockdiagramm, das ein Beispiel der Konfiguration eines Histogramm-Erzeugungsabschnitts in dem Fall zeigt, bei dem der gleiche Prozess wie der von 8 ohne Verwendung einer Initialisierungsfunktion ausgeführt wird.
  • Nachfolgend wird eine Ausführungsform der Erfindung im Detail mit Bezug auf die beiliegenden Zeichnungen beschrieben.
  • 1 ist ein Blockdiagramm, das ein Beispiel des Aufbaus einer Bildverarbeitungsvorrichtung (Systems) zeigt, die eine Ausführungsform der Erfindung ist. Wie aus 1 ersichtlich ist, hat die Bildverarbeitungsvorrichtung der Ausführungsform der Erfindung einen Bildspeicherabschnitt 11, einen Speicherabschnitt 12, einen Verarbeitungspeicherabschnitt 13, einen Bildausgabeabschnitt 14 und einen Steuerabschnitt 15. Diese Komponenten sind miteinander über eine Busleitung 16 verbunden. 2 zeigt schematisch den Aufbau bzw. die Struktur von Bilddaten, die durch die Bildverarbeitungsvorrichtung verarbeitet werden sollen.
  • Gemäß 1 hält der Bildspeicherabschnitt 11 digitalisierte Bilddaten fest, die verarbeitet werden sollen. Der Speicherabschnitt 12 hält einen Verarbeitungsbereich, der für die Bilddaten erforderlich ist, die in dem Bildspeicherabschnitt 11 gespeichert sind, und verschiedene Verarbeitungen, Zwischenergebnisse von verschiedenen Berechnungen, Prozessparameter usw. Der Bildspeicherabschnitt 11 kann auch als Speicherabschnitt 12 dienen.
  • Der Prozessspeicherabschnitt 13 hat verschiedene Bildverarbeitungsabschnitte, die vorgegebene Verarbeitungen der zu verarbeitenden Bilddaten durchführen, die in dem Bildspeicherabschnitt 11 gehalten sind, wie z. B. einen Bildeingabeabschnitt 131, einen Histogramm-Erzeugungsverarbeitungsabschnitt 132 und einen Binarisierungsabschnitt 133. Die verschiedenen Bildverarbeitungsabschnitte in dem Prozessspeicherabschnitt 13 können derart arbeiten, dass sie als Programmmodule in dem Speicherabschnitt 12 aufgestellt sind, oder können teilweise oder insgesamt durch spezielle Hardware aufgebaut sein. Die verschiedenen Bildverarbeitungsabschnitte in dem Prozessspeicherabschnitt 13 werden später im Detail beschrieben.
  • Der Bildausgabeabschnitt 14 gibt die Verarbeitungsergebnisse aus, die durch die Verarbeitung von Bilddaten erhalten werden, die in dem Bildspeicherabschnitt 11 durch die verschiedenen Bildverarbeitungsabschnitte in dem Prozessspeicherabschnitt 13 gehalten sind, über die Busleitung 16 zu der Außenseite des gezeigten Systems aus. Der Steuerabschnitt 15 ist durch eine CPU und ähnliches aufgebaut und steuert die Prozesse in dem Bildspeicherabschnitt 11, dem Speicherabschnitt 12, dem Prozessspeicherabschnitt 13 und dem Bildausgabeabschnitt 14.
  • Als nächstes werden die verschiedenen Bildverarbeitungsabschnitte, die den Bildspeicherabschnitt 13 bilden, durch Beispielgebung verschiedener Verarbeitungen erläutert.
  • Wie vorstehend beschrieben wurde, können die verschiedenen Bildverarbeitungsabschnitte als Prozessprogramm-Module auf einem Computer ausgeführt sein oder können teilweise oder insgesamt durch spezielle Hardware aufgebaut sein. Nachfolgend wird, um die Beschreibung vereinfachen zu können, der Fall als Beispiel beschrieben, bei dem die Abschnitte als Prozessprogramm-Module auf einem Computer realisiert sind.
  • 3 ist ein Blockdiagramm, das ein Beispiel des Aufbaus einer Bildeingabeeinheit 21 zeigt, in die Bilddaten, die verarbeitet werden sollen, eingegeben werden. Die Bildeingabeeinheit 21 entspricht dem Bildeingabeabschnitt 131 in 1.
  • Die Bildeingabeeinheit 21 hat: einen Ausgabepuffer 211, der zum Lesen von Bilddaten verwendet wird und der die Bilddaten an einen nachfolgenden Modul ausgibt; einen Bildeingabecontroller 212, der einen Prozess des Eingebens der Bilddaten steuert; einen Zeilenzähler 213, der die Anzahl der Zeilen zählt. In diesem Beispiel hat die Bildeingabeeinheit 121 den Zeilenzähler 213. Wenn ein solcher Zähler nicht notwendig ist, kann der Zeilenzähler 213 weggelassen werden.
  • Gemäß 1 bestimmt der Steuerabschnitt 15 in einem Prozess zum Erzeugen eines Moduls Bilddaten, die in dem Bildspeicherabschnitt 11 gehalten sind, wobei notwendige In formationen und ähnliches aus dem Prozessspeicherabschnitt 13 geholt werden und die Bildeingabeeinheit 21 wird als Programmmodul in dem Speicherabschnitt 12 erzeugt. Bei der Erzeugung werden Bildattributinformationen wie z. B. die Größe der Bilddaten, die Bitanzahl, und der Farbraum erhalten, wird die erhaltene Bildattributinformation in dem Speicherabschnitt 12 gespeichert und schreitet, wie in 2 gezeigt ist, ein Lesestartpositionszeiger zu der Bilddatenstartposition fort, wo Pixeldaten gespeichert sind, und der Zeilenzähler 213 wird initialisiert.
  • Wenn der Ausgangspuffer 211 von dem nachfolgenden Modul übertragen wird und eine Ausgabeanforderung empfangen wird, liest der Bildeingabecontroller 202 sequentiell Pixeldaten entsprechend der Größe des Ausgabepuffers aus, wobei bei der Adresse gestartet wird, die durch den Lesestartpositionszeiger angegeben wird, speichert er die Pixeldaten in dem Ausgabepuffer 211 und inkrementierter er dann den Zeilenzähler 213 um 1.
  • Der Bildeingabecontroller 212 führt eine Steuerung auch in dem Fall aus, in dem der Controller von einem nachfolgenden bzw. aufeinanderfolgenden Modul Instruktionen zum Reinitialisieren für die Rückkehr in den Zustand des Prozesses der Bildeingabeeinheit 21 in den Anfangszustand derart empfängt, dass der Prozess wieder mit dem Start von dem Beginn der Bilddaten, die verarbeitet werden sollen, durchgeführt wird. Wenn der Bildeingabecontroller 212 Reinitialisierungsbefehle von dem nachfolgenden Modul empfängt, bewegt nämlich der Controller den Lesestartpositionszeiger zu der Bilddatenstartposition und initialisiert den Zeilenzähler 213.
  • 4 ist ein Blockdiagramm, das ein Beispiel des Aufbaus einer Histogramm-Erzeugungsverarbeitungseinheit 22 zeigt, die einen Prozess des Erzeugens eines Histogramms der Bilddaten durchführt. Die Histogramm-Erzeugungsverarbeitungseinheit 22 entspricht dem Histogramm-Erzeugungsverarbeitungsabschnitt 132 in 1.
  • Die Histogramm-Erzeugungsverarbeitungseinheit 22 hat: einen Eingangspuffer 221, der temporär Bilddaten speichert, die von einem vorhergehenden Modul aus zugeführt werden; einen Ausgangspuffer 222, der die Bilddaten zu einem nachfolgenden Modul ausgibt; einen Histogramm-Erzeugungscontroller 223, der einen Histogramm-Erzeugungsprozess steuert; und einen Zeilenzähler 224, der die Anzahl der Zeilen zählt.
  • Gemäß 1 bestimmt der Steuerabschnitt 15 in dem Erzeugungsvorgang eines Moduls eine Adresse, wo Histogrammdaten in dem Speicherabschnitt gespeichert werden sollen, wobei notwendige Informationen und ähnliches aus dem Prozessspeicherabschnitt 13 geholt werden und die Histogramm-Erzeugungsverarbeitungseinheit 22 als Programm-Modul in dem Speicherabschnitt 12 erzeugt wird. Bei der Erzeugung wird der Histogramm-Erzeugungscontroller 223 mit Informationen über die Verbindung zu dem vorhergehenden Modul von dem Steuerabschnitt 15 versehen, gibt er eine Anforderung zum Erhalten von Attributinformationen von den Eingangsbilddaten zu dem vorhergehenden Modul auf der Basis der Informationen aus und erhält er Bildattributinformationen wie z. B. die Größe der Bilddaten und die Bitanzahl. Der Eingangspuffer 221, der für einen Prozess notwendig ist, wird in dem Speicherabschnitt 12 ausgebildet und der Zeilenzähler 224 wird initialisiert.
  • Die Histogramm-Erzeugungsverarbeitungseinheit 22 wiederholt weiterhin den nachfolgenden Vorgang, bis der Wert des Zeilenzählers 224 gleich der Höhe bzw. dem Wert (Gesamtzeilenanzahl) der eingegebenen Bilddaten ist, wodurch ein Histogramm erzeugt wird. Bei dem Prozess wird der Eingangspuffer 221 zu dem vorhergehenden Modul übertragen, um die Ausgabe anzufordern, wobei Histogrammdaten auf der Basis der Werte der Bilddaten, die in dem Eingangspuffer 221 gespeichert sind, der von der vorhergehenden Stufe zurück gegeben wird, gezählt werden und der Zeilenzähler 224 wird um 1 inkrementiert.
  • Wenn die Erzeugung der Histogrammdaten beendet ist, gibt der Histogramm-Erzeugungscontroller 223 den Eingangspuffer 221 frei und initialisiert den Zeilenzähler 224.
  • Wenn der Ausgangspuffer 222 von dem nachfolgenden Modul übertragen wird und eine Ausgabeanforderung zum erstenmal Empfangen wird, gibt der Histogramm-Erzeugungscontroller 223 die Instruktionen für die Reinitialisierung des vorhergehenden Moduls aus, transferiert er dann den Ausgangspuffer 222 zu dem vorhergehenden Modul, um eine Ausgangsanforderung auszugeben, und gibt er dann das Ergebnis der Anforderung, wie es ist, zu dem nachfolgenden Modul zurück. Wenn die Ausgabeanforderung von dem nachfolgenden Modul für ein zweites Mal und die nachfolgenden Male empfangen wird, transferiert der Histogramm-Erzeugungscon troller den Ausgangspuffer 222 zu dem vorhergehenden Modul und gibt eine Ausgabeanforderung aus und gibt ein Ergebnis der Anforderung, wie es ist, zu dem nachfolgenden Modul zurück.
  • In der so aufgebauten Histogramm-Erzeugungsverarbeitungseinheit 22 gibt, wenn eine Ausgabeanforderung zum erstenmal von dem nachfolgenden Modul empfangen wird, der Histogramm-Erzeugungscontroller 223 Reinitialisierungsinstruktionen zu dem vorhergehenden Modul aus. In Alternative können unabhängig davon, ob eine Ausgabeanforderung von dem nachfolgenden Modul empfangen wird oder nicht, Reinitialisierungsinstruktionen zu dem vorhergehenden Modul gegeben werden, nachdem die Histogrammdaten in dem Modulerzeugungsprozess erzeugt worden sind.
  • Wenn der Histogramm-Erzeugungscontroller 223 Reinitialisierungsinstruktionen von dem nachfolgenden Modul empfängt, steuert der Controller auch den Prozess des Sendens von Reinitialisierungsinstruktionen zu dem vorhergehenden Modul. Genauer gibt der Histogramm-Erzeugungscontroller 223, wenn Reinitialisierungsinstruktionen zu der Histogramm-Erzeugungsverarbeitungseinheit 22 von dem nachfolgenden Modul gegeben werden, Reinitialisierungsinstruktionen zu dem vorhergehenden Modul aus.
  • 5 ist ein Blockdiagramm, das ein Beispiel des Aufbaus eines Binarisierungsabschnitts 23 zeigt, der eine Binarisierungsschwelle unter Verwendung der Histogrammdaten, die durch die Histogramm-Erzeugungsverarbeitungseinheit 22, die in 4 gezeigt ist, erzeugt worden sind, bestimmt und der einen Binarisierungsprozess durchführt. Der Bina risierungsabschnitt 23 entspricht dem Binarisierungsabschnitt 133 in 1.
  • Der Binarisierungsabschnitts 23 hat: einen Eingangspuffer 231, der Bilddaten, die von dem vorhergehenden Modul zugeführt worden sind, speichert; einen Ausgangspuffer 232, der für das Ausgeben eines Prozessergebnisses zu dem nachfolgenden Modul verwendet wird; und einen Binarisierungscontroller 233, der einen Binarisierungsprozess steuert.
  • Gemäß 1 empfängt der Binarisierungsabschnitt 23 in einem Prozess zum Erzeugen eines Moduls, um eine Binarisierungsschwelle erzeugen zu können, von dem Steuerabschnitt 15 die Histogrammdaten, die durch den Histogramm-Erzeugungsprozessabschnitt 132 (die Histogramm-Erzeugungsprozesseinheit 22) erzeugt worden sind, wobei Informationen und ähnliches zum Verarbeiten der Daten aus dem Prozessspeicherabschnitt 13 ausgelesen werden und der Binarisierungsabschnitts 23 als ein Programmmodul in dem Speicherabschnitt 12 erzeugt wird.
  • Bei der Erzeugung wird der Binarisierungscontroller 233 mit Informationen der Verbindung zu dem vorhergehenden Modul von dem Steuerabschnitt 15 versorgt, gibt er eine Anforderung zum Erhalten von Attributinformationen der eingegebenen Bilddaten zu dem vorhergehenden Modul auf der Basis der gelieferten Informationen aus, erhält er Bildattributinformationen wie z. B. die Größe der Bilddaten und die Bitanzahl und erzeugt er einen notwendigen Eingangspuffer 702 in dem Speicherabschnitt 112. Die Binarisierungsschwelle wird auf der Basis der Histogrammdaten durch ein vorgegebenes Verfahren bestimmt. Irgendein Ver fahren kann als das Verfahren zum Bestimmen der Binarisierungsschwelle auf der Basis der Histogramm-Daten ausgewählt werden.
  • Wenn der Ausgangspuffer 232 von dem nachfolgenden Modul übertragen wird und eine Ausgabeanforderung empfangen wird, überträgt der Binarisierungscontroller 233 den Eingangspuffer 231 zu dem vorhergehenden Modul und gibt eine Ausgabeanforderung aus, führt einen Binarisierungsprozess der Bilddaten, die in dem Eingangspuffer 231 gespeichert sind, unter Verwendung der Binarisierungsschwelle durch, speichert ein Ergebnis des Prozesses in den Ausgangspuffer 232 und gibt den Ausgangspuffer zu dem nachfolgenden Modul zurück.
  • Der Binarisierungscontroller 233 führt eine Steuerung auch in dem Fall aus, in dem der Controller Initialisierungsinstruktionen von dem nachfolgenden Modul empfängt, und in dem Fall, in dem die Initialisierungsinstruktionen zu dem vorhergehenden Modul gesendet werden sollen. Wenn er Reinitialisierungsinstruktionen von dem nachfolgenden Modul empfangen hat, gibt der Binarisierungscontroller 233 nämlich Reinitialisierungsinstruktionen zu dem vorhergehenden Modul aus.
  • In dem Vorherstehenden wird jeder der verschiedenen Bildverarbeitunsabschnitte (Bildverarbeitungsmodule), d. h., die Bildeingabeeinheit 21, die Histogramm-Erzeugungsverarbeitungseinheit 22 und der Binarisierungsabschnitt 23 erläutert.
  • Nachfolgend wird der Betrieb in dem Fall im Detail mit Bezug auf die Flussdiagramme der 6 und 7 beschrieben, in dem der Prozess des Blockdiagramms von 8 oder der Pipeline-Prozess, in dem die Bildverarbeitungsmodule der Bildeingabe der Histogramm-Erzeugungsprozess und der Binarisierungsprozess nach Art einer Pipeline verbunden sind, in der Bildverarbeitungsvorrichtung, die in 1 gezeigt ist, implementiert sind. 6 ist ein Flussdiagramm der Initialisierung der Bildverarbeitung und 7 ist ein Flussdiagramm der Implementation der Bildverarbeitung nach der Bildverarbeitungsinitialisierung.
  • Zuerst wird der Betrieb der Initialisierung mit Bezug auf das Flussdiagramm von 6 beschrieben. Die Bildeingabeeinheit 21 wird zuerst initialisiert (Schritt S11). Genauer werden Attributinformationen (die Bildgröße, die Farbrauminformationen und ähnliches) der Eingabebilddaten, die verarbeitet werden sollen, erhalten, wird der Lesestartpositionszeiger (vergleiche 2) zu der Bilddatenstartposition bewegt und wird der Zeilenzähler 213 initialisiert. Wenn die Initialisierung der Bildeingabeeinheit 21 beendet ist, wird der Betrieb der Histogramm-Erzeugungsverarbeitungseinheit 22 gestartet.
  • In der Histogramm-Erzeugungsverarbeitungseinheit 22 werden zuerst Attributinformationen der eingegeben Bilddaten aus den Informationen über die Verbindung zu dem vorhergehenden Modul (der Bildeingabeeinheit 21) (Schritt S12) erhalten bzw. gewonnen und der Eingangspuffer 221 wird reserviert (Schritt S13). Zu diesem Zeitpunkt wird der Eingangspuffer 221 nur derart angefordert, dass er reserviert wird, so dass eine Zeile der eingegebenen Bilddaten gespeichert werden kann.
  • Als nächstes wird der Zeilenzähler 224 initialisiert (Schritt S14). Der Eingangspuffer 221 wird zu dem vorhergehenden Modul (der Bildeingabeeinheit 21) übertragen und die Ausgabeanforderung wird ausgegeben (Schritt S15). In der Bildeingabeeinheit 21 werden dann Bilddaten in den Ausgangspuffer 211 (= der Eingabepuffer 221) eingelesen, der von dem nachfolgenden Modul übertragen wird (der Histogramm-Erzeugungsverarbeitungseinheit 22), der Zeilenzähler 213 wird um 1 inkrementiert und der Puffer wird an den nachfolgenden Modul (Schritt S16) zurückgegeben.
  • In der Histogramm-Erzeugungsverarbeitungseinheit 22 wird danach auf die Bilddaten, die in dem Eingabepuffer 221 gespeichert sind, Bezug genommen, werden die Histogramm-Daten gezählt (Schritt S17) und es wird beurteilt, ob der Zählwert des Zeilenzählers 224 die Höhe bzw. den Wert (Gesamtzeilenanzahl) der Bilddaten (Schritt S18) erreicht oder nicht. Wenn der Wert des Zeilenzählers 224 nicht die Höhe der eingegebenen Bilddaten erreicht, wird der Zeilenzähler 224 um 1 inkrementiert (Schritt S19) und die Steuerung kehrt dann zum Schritt S15 zurück, um die Verarbeitungen der Schritte S15 bis S18 zu wiederholen. Wenn der Wert des Zeilenzählers 224 gleich der Höhe der eingegebenen Bilddaten ist, wird der Eingangspuffer 221 freigegeben und der Zeilenzähler 224 wird initialisiert (Schritt S20).
  • Als nächstes wird der Betrieb des Binarisierungsabschnitts 23 gestartet. In dem Binarisierungsabschnitts 23 wird zuerst die Binarisierungsschwelle auf der Basis der erzeug ten Histogrammdaten (Schritt S21) erhalten. Irgendein Verfahren kann als das Verfahren zum Bestimmen dieser Binarisierungsschwelle auf der Basis der Histogrammdaten ausgewählt werden. In dem Binarisierungsabschnitt 23 werden danach Attributinformationen der eingegebenen Bilddaten aus Informationen der Verbindungen zu dem vorhergehenden Modul (der Histogramm-Erzeugungsverarbeitungseinheit 22) (Schritt S22) erhalten und der Eingangspuffer 231 wird reserviert (Schritt S23). Als Ergebnis der vorstehenden Serien von Verarbeitungen wird die Initialisierung beendet.
  • In dem Flussdiagramm, das in 6 gezeigt ist, werden die Verarbeitungen in dem Binarisierungsabschnitts 23 in der Sequenz der Schritt S21 → Schritt S22 durchgeführt. Wenn Bildattributinformationen zur Bestimmung der Binarisierungsschwelle nicht notwendig sind, kann die Sequenz derart geändert werden, dass die Prozesse in der Sequenz von z. B. Schritt S22 → Schritt S23 → Schritt S21 durchgeführt werden.
  • Als nächstes wird der Betrieb der Implementierung der Bildverarbeitung nach der Bildverarbeitungsinitialisierung mit Bezug auf das Flussdiagramm von 7 beschrieben. Nachdem die Bildverarbeitungsinitialisierung beendet worden ist, ist der Zeilenzähler 213 der Bildeingabeeinheit 21 in dem Zustand, in dem der Wert gleich dem Wert bzw. der Höhe der Bilddaten ist.
  • Zuerst erhält der Bildeingabeabschnitt 14 zuvor Attributinformationen des Bildes, das ausgegeben werden soll, und reserviert einen Ausgangspuffer, der eine Zeile des auszugebenden Bildes speichern kann (zum Zwecke der Vereinfa chung wird der Puffer als Ausgangspuffer X bezeichnet) (Schritt S31). Danach überträgt der Bildausgabeabschnitt 14 den Ausgangspuffer X zu dem vorhergehenden Modul (dem Binarisierungsabschnitts 23) und gibt eine Ausgabeanforderung (Schritt S32) aus. In Antwort auf die Ausgabeanforderung überträgt der Binarisierungsabschnitts 23 den Eingabepuffer 231 zu dem vorhergehenden Modul (der Histogramm-Erzeugungsverarbeitungseinheit 22) und gibt eine Ausgabeanforderung (Schritt S33) aus.
  • Danach wird beurteilt, ob die Histogramm-Erzeugungsverarbeitungseinheit 22 die Ausgabeanforderung von dem nachfolgenden Modul zum erstenmal empfängt oder nicht (Schritt S34). Wenn die Einheit die Ausgabeanforderung zum erstenmal empfängt, gibt die Histogramm-Erzeugungsverarbeitungseinheit 22 die Reinitialisierungsinstruktionen zu dem vorhergehenden Modul aus (der Bildeingabeeinheit 21) (Schritt S35). Wenn die Bildeingabeeinheit 21 die Reinitialisierungsinstruktionen von dem nachfolgenden Modul (der Histogramm-Erzeugungsverarbeitungseinheit 22) empfängt, bewegt die Einheit den Lesestart-Positionierzeiger, der in 2 gezeigt ist, zu der Bilddatenstartposition und initialisiert den Zeilenzähler 213 (Schritt S36).
  • Der Reinitialisierungsprozess in den Schritten S35 und S36 ist ein charakteristischer Abschnitt der Erfindung. In der Ausführungsform der Erfindung wird der Reinitialisierungsprozess in der Mitte der Ausführung der Bildverarbeitung nach der Initialisierung durchgeführt. In Alternative kann der Reinitialisierungsprozess zu dem Zeitpunkt bzw. zu der Zeit ausgeführt werden, wenn der Initialisierungsprozess des Flussdiagramms von 6 beendet ist.
  • Nach dem Reinitialisierungsprozess oder, wenn der Empfang der Ausgabeanforderung von dem nachfolgenden Modul durch die Histogramm-Erzeugungsverarbeitungseinheit 22 nicht das erstemal vorliegt, überträgt die Histogramm-Erzeugungsverarbeitungseinheit 22 den Ausgabepuffer 222, der von dem nachfolgenden Modul (dem Binarisierungsabschnitts 23) übertragen wird, zu dem vorhergehenden Modul (der Bildeingabeeinheit 21) und gibt eine Ausgabeanforderung (Schritt S37) aus. In der Bildeingabeeinheit 21 werden Bilddaten in den Ausgangspuffer 211 (= der Ausgangspuffer 222) eingelesen, der von dem nachfolgenden Modul (der Histogramm-Erzeugungsverarbeitungseinheit 22) übertragen wird, wird der Zeilenzähler 213 um 1 inkrementiert und wird dann der Puffer zu der nachfolgenden Stufe (Schritt S38) zurückgegeben. Die Histogramm-Erzeugungsverarbeitungseinheit 22 gibt den Ausgangspuffer 222, der von dem vorhergehenden Modul zurückgegeben wird (der Bildeingabeeinheit 21), zu der nachfolgenden Stufe (Schritt S39) zurück.
  • Der Binarisierungsabschnitt 23 binarisiert Bilddaten, die in dem Eingangspuffer 231 gespeichert sind (= dem Ausgangspuffer 222), der von dem vorhergehenden Modul (der Histogramm-Erzeugungsverarbeitungseinheit 22) zurückgegeben wird, speichert ein Ergebnis des Prozesses in dem Ausgangspuffer 232 (= dem Ausgangspuffer X) und gibt den Puffer zu dem nachfolgenden Modul zurück (dem Bildausgabeabschnitt 14) (Schritt S40).
  • Als nächstes wird beurteilt, ob der Zählwert des Zeilenzählers 213 gleich der Höhe der eingegebenen Bilddaten ist oder nicht (Schritt S41). Wenn der Wert nicht die Höhe der Bilddaten erreicht, wird der Zeilenzähler 213 um 1 inkrementiert (Schritt S41) und die Steuerung kehrt dann zum Schritt S32 zurück, um die Prozesse der Schritte S32 bis S41 wiederholen zu können. Wenn der Wert des Zeilenzählers 213 gleich der Höhe der eingegebenen Bilddaten ist, ist die zuvor beschriebene Serie von Prozessen beendet.
  • Wie zuvor beschrieben wurde, ist in einem Pipeline-Prozess, in dem mehrere Bildverarbeitungsabschnitte (Bildverarbeitungsmodule), die jeweilige, vorgegebene Verarbeitungen durchführen, auf Pipeline-Art verbunden sind, jeder der Bildverarbeitungsabschnitte mit der Reinitialisierungsfunktion versehen. Auch in dem Fall, in dem ein Bildattribut, z. B. Histogrammdaten, unter Verwendung aller Pixelwerte der Bilddaten erhalten wird und danach eine nachfolgende Stufe einen Prozess unter Verwendung der erhaltenen Histogrammdaten durchführt, können deshalb gewünschte Bildverarbeitungen durchgeführt werden, ohne dass die gesamten Bilddaten in einem Puffer gehalten werden müssen oder dass ein Initialisierungsprozess mehrmals ausgeführt werden muss.
  • In der vorstehend beschriebenen Ausführungsform wird die Erfindung auf eine Pipeline-Verarbeitung angewendet, in der die Bildeingabeeinheit 21, die Histogramm-Erzeugungsverarbeitungseinheit 22 und der Binarisierungsabschnitt 23 als Bildverarbeitungsabschnitte in Pipeline-Art verbunden sind. Die Erfindung ist jedoch nicht auf dieses Anwendungsbeispiel beschränkt und kann auf alle Pipeline-Verarbeitungen einschließlich Bildverarbeitungsabschnitte (Bildverarbeitungsmodule) angewendet werden, die einen Prozess zum Erhalten eines Bildattributs wie z. B. einer projizierten Verteilung unter Verwendung aller Pixelwerte zu verarbeitender Bilddaten durchführt.
  • Wie vorstehend beschrieben wurde, wird gemäß der Erfindung jeder der Bildverarbeitungsabschnitte, wenn mehrere Komponenten funktionelle Bildverarbeitungsmodule frei kombiniert werden, um verschiedene Bildverarbeitungsfunktionen ausführen zu können, mit einer Reinitialisierungsfunktion versehen, wodurch Bitdaten, die verarbeitet werden sollen, neu bzw. wieder gelesen werden können. In dem Fall, in dem ein Prozess, z. B. ein Prozess, in dem ein Ergebnis der Analyse der Bilddaten in einen Prozess einer nachfolgenden Stufe verwendet wird, in der Form eines Programms auf einem Computer ausgeführt wird, kann deshalb der Prozess, der mit mehreren Durchgängen herkömmlich durchgeführt worden ist, nun durch einen Durchgang durchgeführt werden. Im Ergebnis wird die Programmiereffizienz erhöht und der Initialisierungsoverhead tritt auf, so dass der Prozess vereinfacht werden kann.
  • [1]
  • 11
    Bildspeicherabschnitt
    12
    Speicherabschnitt
    13
    Prozessspeicherabschnitt
    14
    Bildausgabeabschnitt
    15
    Steuerabschnitt
    131
    Bildeingabeabschnitt
    132
    Histogramm-Erzeugungsverarbeitungsabschnitt
    133
    Binarisierungsabschnitt
  • [2]
  • a
    Initialisierungsposition für Lesestartpositionszeiger
    b
    Bilddatenstartposition
    c
    Bildattributinformation
    d
    Pixeldaten
    e
    Breite bzw. Weite der Bilddaten
    f
    Höhe der Bilddaten
  • [3]
  • 21
    Bildeingabeeinheit
    211
    Ausgabepuffer
    212
    Bildeingabecontroller
    213
    Zeilenzähler
    a
    Bildspeicherabschnitt
    b
    Reinitialisierungssteuerung
    c
    Eingabepuffer für nachfolgende Stufe
  • [4]
  • 22
    Histogramm-Erzeugungsverarbeitungseinheit
    221
    Eingangspuffer
    222
    Ausgangspufffer
    223
    Histogramm-Erzeugungscontroller
    224
    Zeilenzähler
    a
    Ausgangspuffer der vorhergehenden Stufe
    b
    Controller der vorhergehenden Stufe
    c
    Ausgangspuffer der vorhergehenden Stufe
    d
    Reinitialisierungsteuerung
    e
    Controller der nachfolgenden Stufe
    f
    Eingangspuffer der nachfolgenden Stufe
  • [5]
  • 23
    Binarisierungsabschnitt
    231
    Eingangspuffer
    232
    Ausgangspuffer
    233
    Binarisierungscontroller
    a
    Ausgangspuffer der vorhergehenden Stufe
    b
    Controller der vorhergehenden Stufe
    c
    Controller der nachfolgenden Stufe
    d
    Eingangspuffer der nachfolgenden Stufe
    e
    Reinitialisierungssteuerung
  • [6]
  • S11
    Initialisiere Bildeingabeeinheit (Zeilenzähler 213 =1)
    S12
    Erhalte Attributinformationen von Modul des vorhergehenden Moduls
    S13
    Reserviere Eingangspuffer S21
    S14
    Zeilenzähler 224 = 1
    S15
    Übertrage Eingangspuffer 221 zu vorhergehenden Modul und gebe Ausgabeanforderung aus
    S16
    Bildeingabeeinheit liest Bilddaten in den Ausgangspuffer 211, inkrementiert den Zeilenzähler 213 um 1 und gibt Puffer zu nachfolgender Stufe zurück
    S17
    Beziehe auf Eingangspuffer 221 und zähle Histogrammdaten
    S18
    Zeilenzähler 224 = Höhe der Bilddaten?
    S19
    Zeilenzähler 224 + 1
    S20
    Freigeben Eingangspuffer 221, Zeilenzähler 224 = 1
    S21
    Bestimme Binarisierungsschwelle unter Verwendung von Histogrammdaten
    S22
    Erhalte Attributinformationen von vorhergehendem Modul
    S23
    Reserviere Eingangspuffer 231
    a
    Initialisiere Histogramm-Erzeugungsverarbeitungsabschnitt
    b
    Start der Initialisierung
    c
    Ende der Initialisierung
  • [7]
  • S31
    Reserviere Ausgangspuffer X
    S32
    Bildausgabeabschnitt überträgt Ausgangspuffer X zu dem Binarisierungsabschnitt und gibt Ausgabeanforderung aus
    S33
    Binarisierungsabschnitt überträgt Eingangspuffer 231 zu Histogramm-Erzeugungsverarbeitungseinheit und gibt Ausgabeanfoderung aus
    S34
    Histogramm-Erzeugungsverarbeitungseinheit empfängt Ausgabeanforderung zum ersten Mal?
    S35
    Histogramm-Erzeugungsverarbeitungseinheit gibt Reinitialisierungsinstruktionen zu Bildeingabeeinheit
    S36
    In Bildeingabeeinheit, Lesestartpositionierungszeiger = Bilddatenstartposition, Zeilenzähler 213 = 1
    S37
    Histogramm-Erzeugungsverarbeitungseinheit überträgt Ausgangspuffer 222, der von der nachfolgenden Stufe übertragen wird, zu der Bildeingabeeinheit und gibt Ausgabeanforderung aus
    S38
    Bildeingangseinheit liest Bilddaten in Ausgangspuffer 211, inkrementiert Zeilenzähler 213 um 1 und gibt Puffer an nachfolgende Stufe zurück
    S39
    Histogramm-Erzeugungsverarbeitungseinheit gibt Ausgangspuffer 222, der von der vorhergehenden Stufe zurückgegeben wird, zu der nachfolgenden Stufe zurück
    S40
    Binarisierungsabschnitt binarisierte Bilddaten des Eingangspuffers 231, der von der vorhergehenden Stufe zurückgegeben wird, speichert Ergebnis in Ausgangspuffer 232 und gibt Puffer zum Bildausgabeabschnitt zurück
    S41
    Zeilenzähler 213 = Höhe der Bilddaten?
    S42
    Zeilenzähler 213 + 1
    a
    Starten des Prozesses
    b
    Ende des Prozesses
    c
    Zeilenzähler 213 = Höhe der Bilddaten
  • [8]
  • 101
    Bildspeicherabschnitt
    102
    Bildeingabeabschnitt
    103
    Histogramm-Erzeugungsabschnitt
    104
    Binarisierungsabschnitt
    105
    Bildausgabeabschnitt
  • [9]
  • 101
    Bildspeicherabschnitt
    102
    Bildeingabeabschnitt
    103
    Histogramm-Erzeugungsabschnitt
    104
    Binarisierungsabschnitt
    105
    Bildausgabeabschnitt
    200A
    Pipeline für Erzeugung der Histogrammdaten
    200B
    Pipeline zum Durchführen des Binarisierungsprozesses auf der Basis der Histogrammdaten
    a
    Ende
  • [10]
  • 103
    Histogramm-Erzeugungsabschnitt
    301
    Eingangspuffer (alle Zeilen des Bildes)
    302
    Ausgangspuffer (eine Zeile des Bildes)
    303
    Histogramm-Erzeugungscontroller
    a
    Ausgangspuffer der vorhergehenden Stufe
    b
    Controller der vorhergehenden Stufe
    c
    Controller der nachfolgenden Stufe
    d
    Eingangspuffer der nachfolgenden Stufe

Claims (5)

  1. Bildverarbeitungsvorrichtung, mit einer Mehrzahl von Bildverarbeitungsabschnitten (21, 22, 23), die in einer Pipeline-Art verbunden sind und die jeweilige, vorgegebene Prozesse zur Verarbeitung von Bilddaten für die Ausgabe auf einem Drucksystem durchführen, dadurch gekennzeichnet, dass jeder der Bildverarbeitungsabschnitte (21, 22, 23) einen Controllerabschnitt (223, 233) zur Übermittlung einer Reinitialisierungsinstruktion an einen vorhergehenden Bildverarbeitungsabschnitt (21, 22, 23) enthält, wobei eine Reinitialisierungsinstruktion den vorhergehenden Bildverarbeitungsabschnitt (21, 22, 23) veranlasst, die vorgegebene Verarbeitung der jeweiligen Bilddaten erneut zu beginnen.
  2. Die Bildverarbeitungsvorrichtung nach Anspruch 1, worin mindestens einer der Bildverarbeitungsabschnitte (21, 22, 23) einen vorgegebenen Prozess unter Verwendung aller Pixelwerte der zu verarbeitenden Bilddaten durchführt.
  3. Die Bildverarbeitungsvorrichtung nach Anspruch 2, worin der vorgegebene Prozess ein Prozess zum Erhalten eines Bildattributs ist.
  4. Die Bildverarbeitungsvorrichtung nach Anspruch 3, worin das Bildattribut ein Histogramm des zu verarbeitenden Bildes ist.
  5. Ein Bildverarbeitungsverfahren in einem Pipelineprozess zur Durchführung jeweiliger, vorgegebener Prozesse zur Verarbeitung von Bilddaten für die Ausgabe auf einem Drucksystem durch eine Vielzahl von Bildverarbeitungsmodule, die in einer Pipeline-Art verbunden sind, gekennzeichnet durch den Schritt Übermitteln einer Reinitialisierungsinstruktion an ein vorhergehendes Bildverarbeitungsmodul, wobei eine Reinitialisierungsinstruktion das vorhergehende Bildverarbeitungsmodul veranlasst, die vorgegebene Verarbeitung der jeweiligen Bilddaten erneut zu beginnen.
DE10311714A 2002-03-19 2003-03-17 Bildherstellungsvorrichtung und Bildverarbeitungsverfahren Expired - Fee Related DE10311714B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-076924 2002-03-19
JP2002076924A JP4082051B2 (ja) 2002-03-19 2002-03-19 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
DE10311714A1 DE10311714A1 (de) 2003-11-13
DE10311714B4 true DE10311714B4 (de) 2008-06-26

Family

ID=19193284

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10311714A Expired - Fee Related DE10311714B4 (de) 2002-03-19 2003-03-17 Bildherstellungsvorrichtung und Bildverarbeitungsverfahren

Country Status (5)

Country Link
US (1) US7180519B2 (de)
JP (1) JP4082051B2 (de)
CN (1) CN1223940C (de)
DE (1) DE10311714B4 (de)
GB (1) GB2387521B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338507A (ja) 2005-06-03 2006-12-14 Fujifilm Holdings Corp 処理装置及び処理方法
JP2006338506A (ja) * 2005-06-03 2006-12-14 Fujifilm Holdings Corp コネクタ
JP2008009696A (ja) * 2006-06-29 2008-01-17 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP4964219B2 (ja) * 2008-12-16 2012-06-27 富士フイルム株式会社 画像処理装置、方法及びプログラム
JP5593975B2 (ja) 2010-08-30 2014-09-24 富士通セミコンダクター株式会社 画像処理装置、画像処理方法、及びスケジューリング装置
US20130132962A1 (en) * 2011-11-22 2013-05-23 Microsoft Corporation Scheduler combinators
JP2018026702A (ja) * 2016-08-10 2018-02-15 富士ゼロックス株式会社 画像処理装置及び画像形成装置
KR102176723B1 (ko) * 2016-09-23 2020-11-10 삼성전자주식회사 영상처리 장치, 디스플레이 장치, 및 그 제어방법
US20180342092A1 (en) * 2017-05-26 2018-11-29 International Business Machines Corporation Cognitive integrated image classification and annotation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6252610B1 (en) * 1998-05-29 2001-06-26 Silicon Graphics, Inc. Method and apparatus for efficiently switching state in a graphics pipeline
US6334181B1 (en) * 1989-05-04 2001-12-25 Texas Instruments Incorporated DSP with wait state registers having at least two portions

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4749990A (en) * 1985-11-22 1988-06-07 Computer Design And Applications, Inc. Image display system and method
US4833625A (en) * 1986-07-09 1989-05-23 University Of Arizona Image viewing station for picture archiving and communications systems (PACS)
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
JP3181351B2 (ja) 1992-03-13 2001-07-03 株式会社東芝 デジタル映像信号処理装置
US5479526A (en) * 1993-03-23 1995-12-26 Martin Marietta Pixel designator for small objects
US5396616A (en) 1993-06-15 1995-03-07 Xerox Corporation System for emulating multi-tasking pipelines in a single tasking environment
US5557795A (en) 1993-06-15 1996-09-17 Xerox Corporation Pipelined image processing system for a single application environment
US6055579A (en) * 1997-11-17 2000-04-25 Silicon Graphics, Inc. Distributed control and synchronization of multiple data processors using flexible command queues

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334181B1 (en) * 1989-05-04 2001-12-25 Texas Instruments Incorporated DSP with wait state registers having at least two portions
US6252610B1 (en) * 1998-05-29 2001-06-26 Silicon Graphics, Inc. Method and apparatus for efficiently switching state in a graphics pipeline

Also Published As

Publication number Publication date
CN1223940C (zh) 2005-10-19
JP4082051B2 (ja) 2008-04-30
GB2387521A (en) 2003-10-15
US7180519B2 (en) 2007-02-20
DE10311714A1 (de) 2003-11-13
GB2387521B (en) 2005-10-05
GB0305982D0 (en) 2003-04-23
CN1448843A (zh) 2003-10-15
US20030179904A1 (en) 2003-09-25
JP2003281517A (ja) 2003-10-03

Similar Documents

Publication Publication Date Title
DE69428396T2 (de) Bildverarbeitungssystem mit Fliessbandarbeitsprinzip für Einzelanwendungsumgebung
DE69408601T2 (de) System und Verfahren zur Emulierung von Vielfachprozess-Pipelines in einer Einprozessumgebung
DE69704624T2 (de) System und verfahren für dynamische datenreferenz in einer generischen datenaustauschumgebung
DE60312499T2 (de) Stream-datenverarbeitungseinrichtung, stream-datenverarbeitungsverfahren, programm und medium
DE69231497T2 (de) Massivparalleles rechnersystem mit eingangs-ausgangsanordnung
DE69616178T2 (de) Verfahren und Vorrichtung für eine Navigationsschnittstelle und eine Netzwerkarchitektur, um Operationen auf verteilten Dateien in einem Computernetzwerk auszuführen
DE69029956T2 (de) Vorrichtung zur Parallelisierung von Programmen
DE69520535T2 (de) Verfahren zur Bearbeitung eines Auftrags in einem Druckersystem mit einem zusammengesetzten Auftragsetikett
DE1900141C3 (de) HilfsSteuerwerk für eine Datenverarbeitungsanlage
DE3882772T2 (de) Vektorprozessor angepasst zum Sortieren von Vektordaten.
DE10311714B4 (de) Bildherstellungsvorrichtung und Bildverarbeitungsverfahren
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE60211452T2 (de) DMA-Übertragung von Daten und Prüfinformation zu und von einem Datenspeicherungsgerät
DE69925123T2 (de) Datenberechnungvorrichtung
DE3432524A1 (de) Mehrfach genutzter datenschreiberregler und verfahren
DE69034246T2 (de) Gerät zur Verarbeitung von Grafikdaten
DE3209046C2 (de) Terminal-Verarbeitungssystem
DE3811145C2 (de)
DE2912073A1 (de) Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem
DE19528760A1 (de) Bildverarbeitende Schaltung eines hohen Integrationsgrads
DE2726679A1 (de) Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb
DE68925771T2 (de) Emulatorsystem für eine Anzeige
DE2024304C3 (de) Adressenwandler zur Bestimmung eines Speicherplatzes in einem von mehreren Umlaufspeichern
DE69221373T2 (de) Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung

Legal Events

Date Code Title Description
ON Later submitted papers
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141001