DE19958242B4 - Bildverarbeitungsapparat - Google Patents

Bildverarbeitungsapparat Download PDF

Info

Publication number
DE19958242B4
DE19958242B4 DE19958242A DE19958242A DE19958242B4 DE 19958242 B4 DE19958242 B4 DE 19958242B4 DE 19958242 A DE19958242 A DE 19958242A DE 19958242 A DE19958242 A DE 19958242A DE 19958242 B4 DE19958242 B4 DE 19958242B4
Authority
DE
Germany
Prior art keywords
error
image data
data
section
matrix
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
DE19958242A
Other languages
English (en)
Other versions
DE19958242A1 (de
Inventor
Toshimi Yamamura
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE19958242A1 publication Critical patent/DE19958242A1/de
Application granted granted Critical
Publication of DE19958242B4 publication Critical patent/DE19958242B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/40Picture signal circuits
    • H04N1/40087Multi-toning, i.e. converting a continuous-tone signal for reproduction with more than two discrete brightnesses or optical densities, e.g. dots of grey and black inks on white paper

Landscapes

  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Abstract

Bildverarbeitungsapparat mit
• einer Vielzahl von Fehlerdiffusions-Verarbeitungseinrichtungen, die für Bilddaten einer Vielzahl von Unterteilungen einer jeden Zeile jeweilig bereitgestellt werden, wobei jede dieser Vielzahl von Fehlerdiffusions-Verarbeitungseinrichtungen Folgendes umfasst:
– eine Fehleraddiereinrichtung (100F oder 100L), die eingehende Mehrton-Bilddaten einer jeweiligen der Vielzahl von Unterteilungen und periphere Fehlerinformation zusammenaddiert;
– eine Addier-/Subtrahiereinrichtung (106F oder 106L), die zu Mehrton-Bilddaten, die durch die Fehleraddiereinrichtung berechnet wurden, eine Zufallszahl in einer Matrix addiert oder davon subtrahiert, die für jeden Satz von Pixeln der eingehenden Mehrton-Bilddaten der jeweiligen der Vielzahl von Unterteilungen vorbereitet wurde;
– eine Quantisiereinrichtung (101F oder 101L), die Mehrton-Bilddaten, die durch die Addier-/Subtrahiereinrichtung berechnet wurden, in Bilddaten quantisiert, wobei die Anzahl der Bits dieser Bilddaten kleiner ist als die Anzahl der Bits der Mehrton-Bilddaten, die durch die Addier-/Subtrahiereinrichtung berechnet wurden;
– eine Fehlerberechnungseinrichtung (102F oder 102L), die einen Fehler basierend auf den Mehrton-Bilddaten, die durch die Fehleraddiereinrichtung berechnet...

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen einen Bildverarbeitungsapparat, bei dem eine Fehlerausbreitung bzw. Fehlerdiffusion mit Bilddaten mit mehreren Tönen bzw. Mehrfachton-Bilddaten durchgeführt wird und bei dem die Mehrfachton-Bilddaten so quantisiert werden, dass die Anzahl der Bits der Daten reduziert werden.
  • Allgemein gesprochen, wird bei einem derartigen Bilderzeugungsapparat, wenn eingegebene Bilddaten gesteuert werden, die Steuerung basierend auf einem Bereichssignal der Unterabtastung und einem Bereichssignal der Hauptabtastung durchgeführt, die einen Bildbereich in einer Unterabtastrichtung und einen Bildbereich in einer Hauptabtastrichtung jeweilig anzeigen und die weiter auf einem Synchronisationssignal für die Hauptabtastung basiert, das einen Startpunkt anzeigt. Im Folgenden erfolgt eine Beschreibung unter Bezugnahme auf einen digitalen Kopierer, der in 1 und 2 gezeigt ist. Ein Blatt mit einem Originalbild wird auf den Tisch 1 für ein Blatt mit einem Originalbild in einem Zustand festgelegt, in dem eine Seite, die zu lesen ist, nach unten zeigt. Das Blatt mit dem Originalbild wird durch eine Lichtquelle 2 beleuchtet und dadurch wird Licht von dem Blatt mit dem Originalbild reflektiert. Das reflektierte Licht wird von einem CCD-Bildsensor (im Folgenden einfach als eine CCD bezeichnet) 5 über einen Spiegel 3 und eine Gruppe 4 mit einer Linse bzw. einem Objektiv und einem weiterleitenden Spiegel gelesen bzw. erfasst.
  • Nimmt man Bezug auf 3, so wird eine Beziehung zwischen den gelesenen Bilddaten und den Bildsteuersignalen nun beschrieben. Das Bereichssignal FGATE für das Unterabtasten zeigt einen Bereich an, in dem die Lichtquelle 2 und der Spiegel 3 das Blatt mit dem Originalbild in der Unterabtastrichtung abtasten. Das Bereichssignal LGATE für die Hauptabtastung zeigt einen Bereich an, in dem die CCD 5 das Blatt mit dem Originalbild in der Hauptabtastrichtung abtastet. Das Lesen in der Hauptabtastrichtung, das von der CCD 5 durchgeführt wird, wird Zeile für Zeile durchgeführt, das heißt Zeile 1, Zeile 2, Zeile 3, ..., und zwar basierend auf dem Synchronisationssignal LSYNC für die Hauptabtastung, wie in 4 gezeigt ist. 5 zeigt die Zeitsteuerungen der Signale xfgate (FGATE), xlgate (LGATE) und xlsync (LSYNC).
  • Bei dem digitalen Kopierer sendet eine CPU 10, um die gelesenen Bilddaten zu verarbeiten, Befehle über die Verarbeitung und Einstellung zu einem Scanner 11, einem Bildverarbeitungsabschnitt 12, einem Bildspeicherabschnitt 13 und einem Drucker, wie in 6 gezeigt ist. Die Bilddaten, die durch die CCD 5 gelesen werden, werden von einem Analogsignal in ein digitales Signal durch den Scanner 11 gewandelt und eine Korrektur wird in Abhängigkeit von den Charakteristiken des Scanners mit den Bilddaten durchgeführt. Dann führt der Bildverarbeitungsabschnitt 12 eine Bildqualitätsverarbeitung, wie z. B. Dither- bzw. Zittermatrixverarbeitung, Fehlerdiffusion und dergleichen mit den Bilddaten durch. Dann werden die Bilddaten zu dem Bildspeicherabschnitt 13 in Übereinstimmung mit einem Bildformat eines untergeordneten Blocks ausgegeben. Der Bildspeicherabschnitt 13 weist wenigstens einen Bildeditierspeicher bzw. Bildbearbeitungsspeicher für ein Blatt eines Kopierausgabepapiers (Übertragungspapiers) und ein Speichermedium mit großer Kapazität, wie z. B. eine Festplatte HD (Harddisk), auf. Der Drucker 14 druckt das Bild auf das Übertragungspapier, und zwar basierend auf den Bilddaten von dem Bildspeicherabschnitt 13.
  • 7 zeigt einen Fehlerdiffusion-Verarbeitungsabschnitt in dem Bildverarbeitungsabschnitt 12 nach dem Stand der Technik. Ein Fehleraddierabschnitt 100 führt eine Fehlerkorrektur durch, indem eingehende Bilddaten Dij eines zu verarbeitenden Pixels (i, j) und eine periphere Fehlerinformation E von einem Fehleroperationsabschnitt bzw. Fehlerbetriebsabschnitt 104 addiert werden. Bilddaten Sij, die infolge der Durchführung der Fehlerkorrektur mit den Bilddaten Dij erhalten werden, werden basierend auf den Quantisierungsschwellenwerten Tij quantisiert (N Bits für eingehende Bilddaten von M Bits, wobei M > N) und somit werden die Daten einer Tonverarbeitung unterzogen. Die somit erhaltenen quantisierten Daten Gij werden zu einem Phasensteuerabschnitt 105 und einem Fehlerberechnungsabschnitt 102 ausgegeben. Der Phasensteuerabschnitt 105 führt eine Phasensteuerung mit den quantisierten Daten Gij in Übereinstimmung mit einer Phasensteuerungseinstellung durch, die durch die CPU 11 bereitgestellt wird, und gibt die somit erhaltenen Daten zu einer folgenden Stufe aus.
  • Basierend auf den Bilddaten Sij, die durch die Fehlerkorrektur erhalten werden, und den quantisierten Daten Gij berechnet der Fehlerberechnungsabschnitt 102 einen Quantisierungsfehler Eij zu der Zeit, zu der die eingehenden Bilddaten Dij quantisiert worden sind. Der Quantisierungsfehler Eij wird in einem Speicherabschnitt 103 für eine Fehlermatrix gespeichert. Basierend auf diesem Quantisierungsfehler und den Koeffizienten einer Matrix von 5 + 2 Pixeln (Fehlerdiffusionsmatrix), wie z. B. jener, die in 8 gezeigt ist, berechnet der Fehleroperationsabschnitt 104 periphere Fehlerinformation E für eingehende Bilddaten Dij, wie in der folgenden Gleichung (1) gezeigt ist, und stellt die berechnete Information E für den Fehleraddierabschnitt 100 bereit: E = (Ei-2,j-1 + 2 × Ei-1,j-1 + 4 × Ei,j-1 + 2 × Ei+1,j-1 + Ei+2,j-1 + 2 × Ei-2,j + 4 × Ei-1,j)/16 (1)
  • Die zur Berechnung der peripheren Fehlerinformation und zur Verarbeitung von Dij herangezogene Pixel werden als periphere Pixel bezeichnet. Alle Pixel in 8 außer dem Pixel Dij sind periphere Pixel, also insgesamt sieben periphere Pixel. Periphere Pixel sind Pixel außer dem zu verarbeitenden Pixel insbesondere Pixel in der Nähe oder der Umgebung des zu verarbeitenden Pixels die zur Verarbeitung des Pixels herangezogen werden.
  • Wenn jedoch die Fehlerdiffusionsverarbeitung durchgeführt wird, tritt eine Bildverschlechterung auf Grund der Textur bzw. Struktur, die für diese Verarbeitung einzigartig ist, auf. Um dies zu verhindern, wird in der Fachwelt, wie z. B. in der offengelegten japanischen Patentanmeldung Nr. 9-233348 offenbart ist, wenn ein Bild mit mehreren Tönen bzw. ein Mehrfachtonbild in ein Zweitonbild quantisiert wird, indem ein Schwellenwert zur Konversion in Zweiton-Bilddaten in einer N×M-Matrix verwendet wird, blaues Rauschen (”Blue Noise”) infolge davon reduziert, dass eine Zufallszahl zu dem Schwellenwert zur Konversion in Zweiton-Bilddaten addiert wird.
  • Bei dem oben erwähnten Stand der Technik kann, weil eine Zufallszahl zu dem Schwellenwert zur Konversion in Zweiton-Bilddaten addiert wird, dieses Verfahren in einem Fall verwendet werden, wo ein Mehrtonbild in ein Zweitonbild quantisiert wird. Jedoch ist es nicht möglich, dieses Verfahren in einem Fall zu verwenden, wo ein Mehrtonbild in ein Bild mit drei oder mehr Tönen konvertiert wird. Falls dieses Verfahren auf den obigen Fall angewendet wird, tritt bei einem Bild mit drei oder mehr Tönen eine Pseudokontur häufig auf, und zwar auf Grund der Änderung der Textur bzw. Struktur, und zwar auf Grund der Wiederholung von quantisierten Daten, die infolge davon erhalten werden, dass Daten nahe an einem Quantisierungsschwellenwert quantisiert werden, und von quantisierten Daten, die infolge davon erhalten werden, dass Daten in der Mitte zwischen benachbarten Quantisierungswerten quantisiert werden.
  • Weiter werden gemäß einer kürzlichen Verbesserung bei der Verarbeitungsfähigkeit ein Bilddatenformat bei der Bildverarbeitung und eine Beziehung zwischen einem Synchronisationssignal von Bilddaten und den Bilddaten verbessert, die Anzahl der Quantisierungsbits wird reduziert und die Bilddaten für eine Vielzahl von Pixeln werden gepackt und dadurch werden die Bilddaten für die Mehrzahl der Pixel sofort bzw. auf einmal verarbeitet und eine Vielzahl von Zeilen werden parallel verarbeitet, wie in der offengelegten japanischen Patentanmeldung Nr. 10-13626 offenbart ist, oder jede Zeile wird aufgeteilt bzw. unterteilt und Bilddaten der jeweiligen Unterteilungen werden parallel verarbeitet, so dass die Bildverarbeitungsgeschwindigkeit verbessert worden ist.
  • Aufgabe der vorliegenden Erfindung ist es, einen Bildverarbeitungsapparat bereitzustellen, der eine Textur bzw. Struktur in einem Fall verhindern kann, wo eine Fehlerdiffusion mit Mehrton-Bilddaten durchgeführt wird und wo somit die Mehrton-Bilddaten in Daten derartig quantisiert werden, dass die Anzahl der Bits der Mehrton-Bilddaten reduziert ist. Hierzu werden sogenannte Wandelmittel eingesetzt, um aufgenommene Daten umzuordnen.
  • In dem Artikel ”Improved error diffusion on image systems”, IBM Technical Disclosure Bulletin, Volume 33, N. 1A, June 1990, Seiten 65 bis 69, werden verschiedene theoretische Prinzipien, die bei Fehlerdiffusionsprozessen angewendet werden, offenbart. Es wird Fehlerdiffusion im Allgemeinen sowie Fehlerdiffusion mit zufälligem Rauschen diskutiert. Des Weiteren wird auf gemeinsame Konzepte von Fehlerdiffusion und Dithering hingewiesen. In dem Artikel wird auf das Problem hingewiesen, dass bei verschiedenen gängigen Methoden der Fehlerdifussion Artefakte in Form von Mustern entstehen (z. B. Schachbrettmuster). Um dies zu verhindern, wird ein neues Verfahren zum kompletten Ausfüllen einer Fläche vorgeschlagen, unter Verwendung einer sog. Peano-Kurve. Wird eine Fläche gemäß dem vorgeschlagenen Verfahren ausgefüllt und dabei eine Fehlerdiffusion durchgeführt, so kann gemäß Darstellung des Artikels die Bildung von Artefakten vermindert bzw. verhindert werden. In dem Artikel fehlt allerdings jeder Hinweis auf die praktische Ausgestaltung eines Bildverarbeitungsapparates.
  • In dem Artikel von J. C. Stoppel und J. F. Moreland ”A survey of electronic techniques for a pictorial image reproduction”, IEEE Trans on communications, Vol. 29, No. 12, December 1981, Seiten 1898 bis 1925, wird ein Überblick zum Thema Fehlerdiffusion und Dithering bereitgestellt.
  • Das Dokument EP 0 814 426 A1 offenbart einen Bilderzeugungsapparat mit zeilenweise paralleler Fehlerdiffusion. Dabei werden mehrere Zeilen gleichzeitig bearbeitet, die Unterteilung einer einzelnen Zeile in mehrere Bereiche wird für die Verwendung der Fehlerdiffusion als unmöglich ausgeschlossen.
  • Das Dokument JP 63072262 A offenbart eine Bildlesevorrichtung, bei der eine Zeile in mehrere Bereiche aufgeteilt ist und von verschiedenen Sensoren abgetastet wird.
  • Das Dokument US 5,519,791 offenbart eine Bildverarbeitungseinrichtung, die eine Quantisierung mit Fehlerdiffusion in mehreren Bereichen einer Zeile parallel ermöglicht. Da eine Fehlerdiffusion innerhalb einer Zeile über die Bereichsgrenzen hinweg nicht möglich ist, werden über diese Grenzen hinweg zu diffundierende Fehler der nächsten Zeile zugeschlagen.
  • Vorstehende Aufgabe wird durch den Gegenstand des unabhängigen Anspruchs gelöst. Vorteilhafte Weiterbildungen gehen aus den abhängigen Ansprüchen hervor.
  • Weitere Beispiele zum besseren Verständnis sowie Vorteile und Merkmale der vorliegenden Erfindung werden im Zusammenhang mit der Beschreibung der Zeichnungen offenbart. Unterschiedliche bzw. verschiedene Merkmale können miteinander kombiniert werden.
  • 1 zeigt das äußere Erscheinungsbild eines digitalen Kopierers;
  • 5 ist ein Zeitablaufdiagramm, das Synchronisationssignale in dem Fall zeigt, der in 3 und 4 gezeigt ist;
  • 6 ist ein Blockdiagramm, das den digitalen Kopierer zeigt, der in 1 gezeigt ist;
  • 7 ist ein Blockdiagramm, das einen Fehlerdiffusions-Verarbeitungsabschnitt in der Fachwelt zeigt;
  • 8 zeigt eine Fehlerdiffusionsmatrix;
  • 9 ist ein Blockdiagramm, das einen Fehlerdiffusions-Verarbeitungsabschnitt eines Bildverarbeitungsapparats zeigt;
  • 10 zeigt eine Matrix eines Matrixdatenaddier-/-subtrahierabschnitts, der in 9 gezeigt ist;
  • 11 ist ein Blockdiagramm, das eine Anordnung des Matrixdatenaddier-/-subtrahierabschnitts im Detail zeigt;
  • 12 ist ein Blockdiagramm, das einen Fehlerdiffusions-Verarbeitungsabschnitt eines Bilderzeugungsapparats zeigt;
  • 13 und 14 zeigen einen Fall, wo jede Zeile in der Hauptabtastrichtung in zwei Unterteilungen unterteilt wird, die zwei Unterteilungen abgetastet werden und separat parallel gelesen werden und somit ein Originalbild in einer Art und Weise abgetastet und gelesen wird, in der die erste Hälfte (linke Hälfte in den Figuren) und letztere Hälfte (rechte Hälfte) des Originalbildes abgetastet werden und separat parallel gelesen werden;
  • 15 ist ein Zeitablaufdiagramm, das Bilddaten und Synchronisationssignale in dem Fall zeigt, wo jede Zeile in der Hauptabtastrichtung in zwei Unterteilungen unterteilt wird, die zwei Unterteilungen abgetastet und gelesen werden, und zwar separat und parallel, und somit ein Originalbild abgetastet und gelesen wird, und zwar in einer Art und Weise, in der die erste Hälfte und die letztere Hälfte des Originalbildes abgetastet werden und separat parallel gelesen werden;
  • 16 ist ein Blockdiagramm, das einen Fehlerdiffusions-Verarbeitungsabschnitt eines Bilderzeugungsapparats bzw. Bildverarbeitungsapparats zeigt;
  • 17A ist ein Blockdiagramm, das einen Fehlermatrix-F-Speicherabschnitt und einen Fehlermatrix-L-Speicherabschnitt der Fehlerdiffusions-Verarbeitungsabschnitte zeigt, die in 16 im Detail gezeigt sind;
  • 17B ist ein Schaltungsdiagramm, das den Fehlermatrix-F-Speicherabschnitt und den Fehlermatrix-L-Speicherabschnitt zeigt, der in 17A gezeigt ist, und zwar in größerem Detail;
  • 18 zeigt eine Verarbeitung, bei der Fehlerdaten zwischen dem Fehlermatrix-F-Speicherabschnitt und dem Fehlermatrix-L-Speicherabschnitt gesendet bzw. empfangen werden, der in 17A gezeigt ist; und
  • 19 ist eine Blockdiagramm, das einen Fehlerdiffusion-Verarbeitungsabschnitt eines Bildverarbeitungsapparats zeigt.
  • Im Folgenden werden Beispiele unter Bezugnahme auf die Zeichnungen beschrieben.
  • 9 ist ein Blockdiagramm, das einen Fehlerdiffusion-Verarbeitungsabschnitt zeigt, der in einem Bildverarbeitungsapparat enthalten ist. Mit der Ausnahme des Fehlerdiffusion-Verarbeitungsabschnittes ist der Bildverarbeitungsapparat derselbe wie der Bildverarbeitungsapparat im Stand der Technik, der oben unter Bezugnahme auf 1, 2, 3, 4 und 5 beschrieben wurde. 10 ist ein beispielhaftes Diagramm, das eine Matrix eines Matrixdatenaddier-/-subtrahierabschnittes zeigt, der in 9 gezeigt ist. 11 ist ein Blockdiagramm, das eine Anordnung des Matrixdatenaddier-/-subtrahierabschnittes im Detail zeigt.
  • In 9 führt ein Fehleraddierabschnitt 100 eine Fehlerkorrektur durch, indem eingehende Bilddaten Dij eines zu verarbeitenden Pixels (i, j) und eine periphere Fehlerinformation E von einem Fehleroperationsabschnitt 104 addiert werden. Die Bilddaten Sij, die infolge der Fehlerkorrektur erhalten werden, die mit den Bilddaten Dij durch den Fehleraddierabschnitt 100 durchgeführt wurden, werden zu dem Matrixdatenaddier-/-subtrahierabschnitt 106 und einem Fehlerberechnungsabschnitt 102 ausgegeben. Ein Addier-/Subtrahierblock 107 (in 11 gezeigt) des Matrixdatenaddier-/-subtrahierabschnitts 106 führt mit diesen Bilddaten Sij, die infolge der Fehlerkorrektur erhalten wurden, die mit den Bilddaten Dij durchgeführt wurde, eine Operation durch, wobei auf einen Addier-/Subtrahierwert Bezug genommen wird, der durch eine Zufallszahl in einer Matrix von 8×8 Pixeln spezifiziert wurde, wie z. B. jene, die in 10 gezeigt ist, die z. B. im RAM 108 (in 11 gezeigt) des Matrixdatenaddier-/-subtrahierabschnitts 106 gespeichert ist. Der Addier-/Subtrahierblock 107 des Matrixdatenaddier-/-subtrahierabschnitts 106 gibt das sich somit ergebende Operationsergebnis zu einem Quantisierungsabschnitt 101 aus.
  • Zum Beispiel ist jedes der 64 Elemente ”aa”, ”ab”, ”ac”, ..., ”hf”, ”hg” und ”hh” der Matrix mit 8×8 Pixeln, die in 10 gezeigt ist, eine Zufallszahl, die ein zufällig bestimmtes Plus- oder Minuszeichen aufweist. In einem Fall, wo jedes Datum der eingehenden Bilddaten Dij ein 8-Bit-Datum ist und den maximalen Wert 256 aufweisen kann, ist z. B. der maximale absolute Wert eines jeden Elements der Matrix 15 bis 20. Dann, wenn das eingehende Bilddatum D00 (i = 0, j = 0) verarbeitet wird, wird der Wert des Elements ”aa” der Matrix zu dem Bilddatum S00 addiert, das infolge der Fehlerkorrektur erhalten wird, die mit dem Bilddatum D00 durch den Fehleraddierabschnitt 100 durchgeführt wird, und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. In ähnlicher Weise wird, wenn das eingehende Bilddatum D10 (i = 1, j = 0) verarbeitet werden, der Wert des Elements ”ab” der Matrix zu dem Bilddatum S10 addiert, das infolge der Fehlerkorrektur erhalten wird, die mit dem Bilddatum D10 durch den Fehleraddierabschnitt 100 durchgeführt wird, und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. Schließlich wird das eingehende Bilddatum D70 (i = 7, j = 0) verarbeitet, der Wert des Elements ”ah” der Matrix wird zu dem Bilddatum S70 addiert, das infolge der Fehlerkorrektur erhalten wird, die mit dem Bilddatum D70 durch den Fehleraddierabschnitt 100 durchgeführt wird, und das somit erhaltenen Datum wird zu dem Quantisierabschnitt 101 zugeführt. Dann, wenn das eingehenden Bilddatum D01 (i = 0, j = 1) verarbeitet wird, wird der Wert des Elements ”ba” der Matrix zu dem Bilddatum S01 addiert, das infolge der Fehlerkorrektur erhalten wird, die mit dem Bilddatum durch den Fehleraddierabschnitt 100 durchgeführt wurde, und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. Schließlich wird, wenn das eingehenden Bilddatum D71 (i = 7, j = 1) verarbeitet werden, der Wert des Elements ”bh” der Matrix zu dem Bilddatum S71 addiert, das infolge der Fehlerkorrektur erhalten wurde, die mit dem Bilddatum D71 durch den Fehleraddierabschnitt 100 durchgeführt wurde und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. Wenn schließlich das eingehende Bilddatum D77 (i = 7, j = 7) verarbeitet wird, wird der Wert des Elements ”hh” der Matrix zu dem Bilddatum S77 addiert, das infolge davon erhalten wird, dass mit dem Bilddatum D77 mittels des Fehleraddierabschnitts 100 eine Fehlerkorrektur durchgeführt wurde, das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt.
  • In ähnlicher Weise wird, wenn das eingehende Bilddatum D80 (i = 8, j = 0) verarbeitet wird, der Wert des Elements ”aa” derselben Matrix zu dem Bilddatum S80 addiert, das infolge der mit den Bilddaten D80 durch den Fehleraddierabschnitt 100 durchgeführten Fehlerkorrektur erhalten wurde, und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. Wenn schließlich das eingehende Bilddatum D15,7 (i = 15, j = 7) verarbeitet wird, wird der Wert des Elements ”hh” derselben Matrix zu dem Bilddatum S15,7 addiert, das infolge der mit dem Bilddatum D15,7 durch den Fehleraddierabschnitt 100 durchgeführten Fehlerkorrektur erhalten wurde, und das somit erhaltene Bilddatum wird zu dem Quantisierabschnitt 101 zugeführt.
  • Wenn in ähnlicher Weise das eingehende Bilddatum D08 (i = 0, j = 8) verarbeitet wird, wird der Wert des Elements ”ha” derselben Matrix zu dem Bilddatum S80 addiert, das infolge davon erhalten wird, dass eine Fehlerkorrektur mit dem Bilddatum D08 durch den Fehleraddierabschnitt 100 durchgeführt wird und das somit erhaltene Bilddatum wird zu dem Quantisierabschnitt 101 zugeführt. Wenn schließlich das eingehende Bilddatum D7,15 (i = 7, j = 15) verarbeitet wird, wird der Wert des Elements ”hh” derselben Matrix zu dem Bilddatum S7,15 addiert, das infolge davon erhalten wird, dass die Fehlerkorrektur mit dem Bilddatum D7,15 durch den Fehleraddierabschnitt 100 durchgeführt wird und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt.
  • Somit ist die Zufallszahl-Addier-/-Subtrahiermatrix, wie z. B. jene, die in 10 gezeigt ist, jedem Bereich zugeordnet, der aus 8×8 Pixeln von Bilddaten besteht, und zwar sequenziell. Dadurch wird eine vorbestimmte (Zufallszahl mit einem zufällig vorbestimmten positiven oder negativen Vorzeichen) der 64 Elemente der Zufallszahl-Addier-/Subtrahiermatrix, die im RAM 108 gespeichert ist, jedem Pixel der Bilddaten zugewiesen und somit wird der Wert davon durch den Addier-/Subtrahierblock 107 addiert.
  • Es ist vorzuziehen, dass, wenn die Größe des Musters der Fehlerdiffusionsmatrix (wie z. B. jene, die in 8 gezeigt ist, zunimmt, die Größe der Zufallszahl-Addier-/-Subtraktionsmatrix (wie z. B. jene, die in 10 gezeigt ist) erhöht wird.
  • Der Quantisierungsabschnitt 101 quantisiert basierend auf den Quantisierungsschwellenwerten Tij (N-Bits, für eingehende Bilddaten = M (Bits), wo M > N) von der CPU 11 und führt somit eine Tonverarbeitung mit dem Operationsergebnis des Matrixdatenaddier-/-subtrahierabschnitts 106 durch. (Wenn z. B. M = 8 (Bits) und N = 4 (Bits), sind die eingehenden Bilddaten 8-Bit-Daten und können einen von 256 Tonwerten anzeigen und die quantisierten Bilddaten sind 4-Bit-Daten und können einen von 16 Tonwerten anzeigen. Deshalb ist die Anzahl der Schwellenwerte Tij 15.) Der Quantisierungsabschnitt 101 gibt die Summe der erhaltenen Quantisierungsdaten Gij zu der folgenden Stufe und zu dem Fehlerberechnungsabschnitt 102 aus. Basierend auf dem Operationsergebnis des Fehleraddierabschnitts 100 und der quantisierten Daten Gij berechnet der Fehlerberechnungsabschnitt 102 einen Quantisierungsfehler Eij zu der Zeit, zu der die eingehenden Bilddaten Dij quantisiert worden sind. Dieser Quantisierungsfehler wird in dem Fehlermatrix-Speicherabschnitt 103 gespeichert. Basierend auf diesen Quantisierungsfehlern Eij und den entsprechenden Koeffizienten der Fehlerdiffusionsmatrix von 5 + 2 Pixeln, wie z. B. jene, die in 8 gezeigt ist, berechnet der Fehleroperationsabschnitt 104 periphere Fehlerinformation E für eingehende Bilddaten Dij, wie in der oben erwähnten Gleichung (1) gezeigt ist, und stellt die berechnete Information E dem Fehleraddierabschnitt 100 bereit.
  • Daten festgelegter Werte können vorab in dem RAM 108 des Matrixdatenaddier-/-subtrahierabschnitts 106 festgelegt werden. Jedoch ist es stattdessen ebenso möglich, dass geeignete Zufallszahldaten in den RAM 108 geschrieben werden, wenn er verwendet wird, und der Addier- und Subtrahierabschnitt 107 verwendet diese Zufallsdaten, um eine Addition/Subtraktion mit den Sij durchzuführen, die infolge davon erhalten werden, dass die Fehlerkorrektur mit den Bilddaten Dij durchgeführt wird.
  • Somit wird eine Zufallszahl zu den Bilddaten Sij addiert bzw. davon abgezogen, die infolge davon erhalten werden, dass die Fehlerkorrektur mit den Bilddaten Dij durch den Fehleraddierabschnitt 100 durchgeführt wird, und zwar als Daten blauen Rauschens (”Blue-Noise”-Daten). Wenn der Quantisierabschnitt 101 Operationsergebnisse des Matrixdatenaddier-/-subtrahierabschnittes 106 quantisiert, indem feste Schwellenwerte verwendet werden, ist es dadurch möglich, Pseudokonturen zu reduzieren, die auftreten, weil sich die Textur bzw. Struktur ändert, und zwar auf Grund der Wiederholung von quantisierten Daten, die infolge davon erhalten werden, dass Daten in der Nähe eines Quantisierungsschwellenwertes quantisiert werden und von quantisierten Daten, die infolge davon erhalten werden, dass Daten in der Mitte zwischen benachbarten Quantisierungsschwellenwerten quantisiert werden.
  • 12 ist ein Blockdiagramm, das einen Fehlerdiffusion-Verarbeitungsabschnitt zeigt, der in einem Bildverarbeitungsapparat enthalten ist. Mit Ausnahme des Fehlerdiffusion-Verarbeitungsabschnittes ist der Bildverarbeitungsapparat derselbe wie der Bildverarbeitungsapparat bei dem in Bezug stehenden Stand der Technik, der oben unter Bezugnahme auf 1, 2, 3, 4 und 5 beschrieben wurde. Bei einem RAM 108 des Matrixdatenaddier-/-subtrahierabschnittes 106 werden 1-Bit-Daten gespeichert, die entweder eine Addition oder eine Subtraktion anzeigen. Ein Fehleraddierabschnitt 100 führt eine Fehlerkorrektur durch, indem eingehende Bilddaten Dij eines zu verarbeitenden Pixels (i, j) und periphere Fehlerinformation E von einem Fehleroperationabschnitt 104 addiert werden. Der Fehleraddierabschnitt 100 gibt Bilddaten Sij aus, die somit infolge davon erhalten werden, dass die Fehlerkorrektur mit den Bilddaten Dij durchgeführt wurde, und zwar zu dem Matrixdatenaddier-/-subtrahierabschnitt 106 und einem Fehlerberechnungsabschnitt 102. Der Matrixdatenaddier-/-subtrahierabschnitt 106 addiert entsprechend den 1-Bit-Daten von dem RAM 108 zu den Bilddaten Sij, die infolge der Durchführung der Fehlerkorrektur mit den Bilddaten Dij erhalten wurden, einen Addier-/Subtrahiereinstellungswert, der von der CPU 11 geliefert wird, oder zieht ihn davon ab. Der Matrixdatenaddier-/-subtrahierabschnitt 106 gibt das somit erhaltene Operationsergebnis zu dem Quantisierabschnitt 101 aus. Der Quantisierabschnitt 101 quantisiert das Betriebsergebnis bzw. Operationsergebnis des Matrixdatenaddier-/-subtrahierabschnittes 106 basierend auf Quantisierungsschwellenwerten Tij, die von der CPU 11 bereitgestellt werden. Der Quantisierabschnitt 101 gibt die Summe der erhaltenen quantisierten Daten Gij zu einer folgenden Stufe und dem Fehlerberechnungsabschnitt 101 aus. Basierend auf den Bilddaten Sij, die infolge der Durchführung der Fehlerkorrektur mit den Bilddaten Dij durch den Fehlerabschnitt 100 erhalten wurden, und basierend auf den quantisierten Daten Gij, berechnet der Fehlerberechnungsabschnitt 102 einen Quantisierungsfehler Eij zu der Zeit, zu der die Bilddaten Dij quantisiert worden sind. Der somit erhaltene Quantisierungsfehler Eij wird in einem Fehlermatrix-Speicherabschnitt 103 gespeichert. Basierend auf diesen Quantisierungsfehlern Eij und den entsprechenden Koeffizienten der Fehlerdiffusionsmatrix von 5 + 2 Pixeln, wie z. B. jener, die in 8 gezeigt ist, berechnet der Fehleroperationsabschnitt 104 eine periphere Fehlerinformation E für eingehende Bilddaten Dij und liefert die berechnete Information E zu dem Fehleraddierabschnitt 100.
  • Insbesondere sind die 1-Bit-Daten, die in dem RAM 108 des Matrixdatenaddier-/-subtrahierabschnittes 106 gespeichert sind, Matrixdaten, wie z. B. jene, die in 10 gezeigt sind. Jedoch wird bei der zweiten Ausführungsform jedes der 64 Elemente der Matrix durch Zufall als ”1” oder ”0” z. B. bestimmt. ”1” zeigt ”Addition” an und ”0” zeigt ”Subtraktion” z. B. an. Der Addier-/Subtrahiereinstellwert, der von der CPU 11 zu dem Matrixdatenaddier-/-subtrahierabschnitt 106 geliefert wird, ist z. B. ein fester Wert von 15 bis 20, in einem Fall, wo die eingehenden Bilddaten Dij 8-Bit-Daten sind und den maximalen Wert von 256 haben können. Wenn dann das eingehende Bilddatum D34 (i = 3, j = 4) verarbeitet wird, wird das Element ”ed” der oben erwähnten Matrix auf das entsprechende Bilddatum S34 angewendet. Man nehme an, dass der Wert des Elements ”ed” der Matrix ”1” ist, dann wird der Addition-/Subtraktionseinstellwert, z. B. 15, zu dem Bilddatum S34 ”addiert”, das infolge einer Fehlerkorrektur erhalten wurde, die mit dem Bilddatum D34 durch einen Fehleraddierabschnitt 100 durchgeführt wurde und das somit erhaltene Datum wird zu einem Quantisierabschnitt 101 zugeführt. Wenn das eingehende Bilddatum D26 (i = 2, j = 6) verarbeitet wird, wird das Element ”gc” der oben erwähnten Matrix auf das entsprechende Bilddatum S26 angewendet. Man nehme an, dass das Element ”gc” der Matrix ”0” ist, dann wird der Addier-/Subtrahiereinstellwert 15 von dem Bilddatum S26 ”subtrahiert”, das infolge davon erhalten wurde, dass eine Fehlerkorrektur mit dem Bilddatum D26 durch den Fehleraddierabschnitt 100 durchgeführt wurde und das somit erhaltene Datum wird zu dem Quantisierabschnitt 101 zugeführt. Die Art und Weise der Anwendung eines vorbestimmten Elements der oben erwähnten Matrix, von der jedes Element eine durch Zufall bestimmte ”1” oder ”0” ist, auf jedes Bilddatum Sij ist dieselbe, wie in dem Fall der ersten Ausführungsform, bei der ein vorbestimmtes Element der Zufallszahl-Addier-/-Subtrahiermatrix auf jedes Bilddatum Sij angewendet wird.
  • Bei dieser Anordnung ist es möglich, weil nur 1-Bit-Daten, die entweder eine Addition oder eine Subtraktion anzeigen, in dem RAM 108 gespeichert werden, die Matrixgröße auf den Umfang der Tiefe des Datenbusses einer jeden Adresse auszuweiten, indem eine Parallel-zu-Seriell-Konversion mit den Daten des Datenbusses durchführt wird und somit ein 1-Bit-Kode zu einer Zeit erhalten wird oder die Kapazität des RAM 108 zu reduzieren.
  • Nimmt man Bezug auf die 13 bis 18, so wird nun eine Ausführungsform der vorliegenden Erfindung beschrieben. Bei dem optischen Lesesystem, das in 2 gezeigt ist, ist es möglich, eine Vielzahl von CCDs 5 in der Unterabtastrichtung anzuordnen, um die Lesegeschwindigkeit zu erhöhen. Dadurch ist es möglich, eine Vielzahl von Zeilen gleichzeitig zu lesen. Weiter ist es möglich, eine Zeile in eine Vielzahl von Unterteilungen zu unterteilen und eine Vielzahl von CCDs 5 in der Hauptabtastrichtung anzuordnen. Dadurch ist es möglich, eine Zeile mit einer Geschwindigkeit zu lesen, die die Anzahl der CCDs 5 mal der Originalgeschwindigkeit ist. 13 zeigt ein Beispiel, bei dem jede Zeile in eine erste Hälfte (F) und eine letzte Hälfte (L) unterteilt ist. Die erste Hälfte und die letzte Hälfte werden separat und parallel gelesen und somit wird ein Originalbild in einer Art und Weise gelesen, in der die entsprechende erste Hälfte und letzte Hälfte des Originalbildes separat und parallel gelesen werden. In diesem Fall, wie in 14 gezeigt ist, werden die F-Seite (erste Seite) A der ersten Zeile, die F-Seite C der zweiten Zeile, die F-Seite E der dritten Zeile, ... sequenziell durch eine F-seitige CCD gelesen und ebenso werden die L-Seite (letzte Seite) B der ersten Zeile, die L-Seite D der zweiten Zeile, die L-Seite F der dritten Zeile, ... sequenziell durch eine L-seitige CCD gelesen.
  • 15 zeigt Bilddaten A, B, C, D und F und Zeitabläufe der folgenden Synchronisationssignale in diesem Fall:
    xflsync: F-seitiges Hauptabtast-Synchronisationssignal;
    xflgate: F-seitiges Hauptabtast-Bereichssignal;
    xffgate: F-seitiges Unterabtast-Bereichssignal;
    xllsync: L-seitiges Hauptabtast-Synchronisationssignal
    xllgate: L-seitiges Hauptabtast-Bereichssignal; und
    xlfgate: L-seitiges Unterabtast-Bereichssignal.
  • In 15 sind die Zeitabläufe der Synchronisationssignale der Bilddaten der F-Seite und der L-Seite dieselben. Dies liegt daran, dass die Ladungsspeicherzeitsteuerung der F-seitigen CCD und die Ladungsspeicherzeitsteuerung der L-seitigen CCD die gleichen sind. Indem diese Zeitsteuerungen voneinander unterschiedlich gemacht werden, ist es möglich, die Zeitsteuerungen der Synchronisationssignale der Bilddaten der F-Seite und der L-Seite voneinander unterschiedlich zu machen. Indem ein Zeilenspeicher zwischen dem Scanner 11 und dem Bildverarbeitungsabschnitt 12 bereitgestellt wird, ist es alternativ möglich, die Zeitsteuerungen der Synchronisationssignale der Bilddaten der F-Seite und der L-Seite unterschiedlich zu machen.
  • 16 ist ein Blockdiagramm, das einen Fehlerdiffusion-Verarbeitungsabschnitt zeigt, der in einem Bildverarbeitungsapparat bei der beschriebenen Ausführungsform der vorliegenden Erfindung enthalten ist. Mit der Ausnahme des Fehlerdiffusions-Verarbeitungsabschnittes ist der Bildverarbeitungsapparat bei dieser Ausführungsform derselbe wie der Bildverarbeitungsapparat im Stand der Technik, wie oben unter Bezugnahme auf die 1, 2, 3, 4 und 5 beschrieben ist. Bei der Ausführungsform, wie in den 13, 14 und 15 gezeigt ist, wird jede Zeile in die erste Hälfte (F) und die letzte Hälfte (L) geteilt, die erste Hälfte und die letzte Hälfte werden abgetastet und separat gelesen und somit wird ein Originalbild abgetastet und gelesen, und zwar in einer Art und Weise, in der die entsprechende ersten Hälfte (linke Hälfte in den Figuren) und letzte Hälfte (rechte Hälfte) des Originalbildes abgetastet werden und separat und parallel gelesen werden. 17A zeigt einen Fehlermatrix-F-Speicherabschnitt und einen Fehlermatrix-L-Speicherabschnitt, die in 16 im Detail gezeigt sind. Der Fehlerdiffusion-Verarbeitungsabschnitt bei der beschriebenen Ausführungsform beinhaltet einen F-seitigen Fehlerdiffusionsabschnitt und einen L-seitigen Fehlerdiffusionsabschnitt. Sowohl die F-seitigen als auch die L-seitigen Fehlerdiffusionsabschnitte weisen dieselbe Anordnung auf wie jene, die in 12 gezeigt sind. Ein F-seitiger Fehleraddierabschnitt 100F führt eine Fehlerkorrektur durch, indem eingehende F-seitige Bilddaten DFij und periphere Fehlerinformation EF von einem F-seitigen Fehleroperationsabschnitt 104F addiert werden. Ein L-seitiger Fehleraddierabschnitt 100L führt eine Fehlerkorrektur durch, indem eingehende L-seitige Bilddaten DLij und periphere Fehlerinformation EL von einem L-seitigen Fehleroperationsabschnitt 104L addiert werden. Der F-seitige Fehleraddierabschnitt 100F gibt Bilddaten SFij aus, die somit infolge davon erhalten wurden, dass die Fehlerkorrektur mit den Bilddaten DFij durchgeführt werden, und zwar zu einem F-seitigen Matrixdatenaddier-/-subtrahierabschnitt 106F und einem F-seitigen Fehlerberechnungsabschnitt 102F. Der L-seitige Fehleraddierabschnitt 100L gibt Bilddaten SLij aus, die somit infolge der Durchführung der Fehlerkorrektur mit den Bilddaten DLij erhalten wurden, zu einem L-seitigen Matrixdatenaddier-/-subtrahierabschnitt 106L und einem L-seitigen Fehlerberechnungsabschnitt 102L aus.
  • Der F-seitige Matrixdatenaddier-/-subtrahierabschnitt 106F addiert entsprechend den 1-Bit-Daten von einem F-seitigen RAM 108F des F-seitigen Matrixdatenaddier-/-subtrahierabschnittes 106F zu den Bilddaten SFij, die infolge der Durchführung der Fehlerkorrektur mit den Bilddaten DFij erhalten wurden, einen Addier-/Subtrahiereinstellwert, der von der CPU 11 bereitgestellt wird, oder zieht ihn davon ab. Der F-seitige Matrixdatenaddier-/-subtrahierabschnitt 106F gibt das somit erhaltene Betriebsergebnis zu einem F-seitigen Quantisierabschnitt 101F aus. Der L-seitige Matrixdatenaddier-/-subtrahierabschnitt 106L addiert entsprechend den 1-Bit-Daten eines L-seitigen RAM 108L des L-seitigen Matrixdatenaddier-/-subtrahierabschnitts 106L zu den Bilddaten SLij, die infolge der Durchführung der Fehlerkorrektur mit den Bilddaten DLij erhalten wurden, einen Addier-/Subtrahiereinstellwert, der von der CPU 11 bereitgestellt wird oder zieht ihn davon ab. Der L-seitige Matrixdatenaddier-/-subtrahierabschnitt 106L gibt das somit erhaltene Betriebsergebnis zu einem L-seitigen Quantisierabschnitt 101L aus. Der F-seitige Quantisierabschnitt 101F quantisiert das Operationsergebnis des F-seitigen Matrixdatenaddier-/-subtrahierabschnittes 106F basierend auf den Quantisierungsschwellenwerten TF, die von der CPU 11 bereitgestellt werden. Der F-seitige Quantisierabschnitt 101F gibt die somit erhaltenen quantisierten Daten GFij zu einer folgenden Stufe und zu dem F-seitigen Fehlerberechnungsabschnitt 102F aus. Der L-seitige Quantisierabschnitt 101L quantisiert das Operationsergebnis des L-seitigen Matrixdatenaddier-/-subtrahierabschnitts 106L basierend auf den Quantisierungsschwellenwerten TL, die von der CPU 11 geliefert werden. Der L-seitige Quantisierabschnitt 101L gibt somit erhaltene quantisierte Daten GLij zu einer folgenden Stufe und zu dem L-seitigen Fehlerberechnungsabschnitt 102L aus.
  • Basierend auf den Bilddaten SFij, die infolge davon, dass die Fehlerkorrektur mit den Bilddaten DFij durch den Fehleraddierabschnitt 100F durchgeführt wurde, und basierend auf den quantisierten Daten GFij berechnet der F-seitige Fehlerberechnungsabschnitt 102F einen Quantisierungsfehler EFij zu der Zeit, zu der die eingehenden Bilddaten DFij quantisiert worden sind. Basierend auf den Bilddaten SLij, die infolge davon, dass die Fehlerkorrektur mit den Bilddaten DLij durch den L-seitigen Fehleraddierabschnitt 100L durchgeführt wurden, und basierend auf den quantisierten Daten GLij berechnet der L-seitige Fehlerberechnungsabschnitt 102L einen Quantisierungsfehler ELij zur Zeit, zu der die eingehenden Bilddaten DLij quantisiert worden sind. Der somit berechnete Quantisierungsfehler EFij und der Quantisierungsfehler ELij werden in einem Speicherabschnitt 103F für die Fehlermatrix F und einem Speicherabschnitt 103L für die Fehlermatrix L jeweilig gespeichert, wie in 17A im Detail gezeigt ist. Basierend auf den Quantisierungsfehlern EFij und den Koeffizienten der Fehlerdiffusionsmatrix von 5 + 2 Pixeln, wie z. B. jene, die in 8 gezeigt ist, berechnet der Fehleroperationsabschnitt 104F periphere Fehlerinformation EF für eingehende Bilddaten DFij und liefert die berechnete Information EF zu dem Fehleraddierabschnitt 100F. Basierend auf den Quantisierungsfehlern ELij und den Koeffizienten der Fehlerdiffusionsmatrix von 5 + 2 Pixeln, wie z. B. jener, die in 8 gezeigt ist, berechnet der Fehleroperationsabschnitt 104L periphere Fehlerinformation EL für eingehende Bilddaten DLij und liefert die berechnete Information EL zu dem Fehleraddierabschnitt 100L.
  • Wie in 17A gezeigt ist, weisen der Speicherabschnitt 103F der Fehlermatrix F und der Speicherabschnitt 103L der Fehlermatrix L Fehlermatrix-Erzeugungsabschnitte 121F und 121L und FIFO-Speicher 122F (F-FIFO) und 122L (L-FIFO) zum Speichern der Quantisierungsfehler EFij, ELij darin jeweilig auf. Jeder der Fehleroperationsabschnitte 104F, 104L berechnet die periphere Fehlerinformation EF oder EL, und zwar basierend auf den Koeffizienten der Fehlerdiffusionsmatrix von 5 + 2 Pixeln, wie z. B. jene, die in 8 gezeigt sind, und basierend auf den Fehlerdaten der zwei Pixel auf der n-ten Zeile und den Fehlerdaten der fünf Pixel auf der (n – 1)-ten Zeile. Deshalb ist es an der Grenze zwischen der F-Seite und der L-Seite, wie in 18 gezeigt ist, notwendig, Quantisierungsfehler EFij, ELij der benachbarten Hälften zu senden/empfangen, die zur Berechnung der peripheren Fehlerinformation notwendig sind, und zwar zwischen der F-Seite und der L-Seite.
  • 17B zeigt den Speicherabschnitt für die Fehlermatrix F und den Speicherabschnitt für die Fehlermatrix L detaillierter. Nimmt man Bezug auf die F-Seite, so werden die eingehenden Fehlerdaten EFij in dem FIFO-Speicher 122F als Schreibdaten gespeichert und werden ebenso zu den zwei FFs (Flip-Flops) 136F und 137F als Fehlerdaten für die aktuell verarbeiteten Pixeldaten gesendet. Ein F-seitiger Zeitablauf-Erzeugungsabschnitt 123F empfängt eine Steuersignalgruppe, erzeugt Signale für den FIFO-Speicher 122F betreffend das Leserücksetzen xrrst, Lesefreigeben xren, Schreibrücksetzen xwrst und Schreibfreigeben xwen, erzeugt die Fehlerdaten dtin der aktuellen Zeile, die zu schreiben ist bzw. einzuschreiben ist, und die Fehlerdaten dout der vorhergehenden Zeile, die von dem FIFO-Speicher 122F auszugeben ist. Wenn weiter Fehlerdaten an der Grenze zwischen der F-Seite und L-Seite gesendet bzw. empfangen werden, sendet der F-seitige Zeitsteuerungs-Erzeugungsabschnitt 123F ein Zeitsteuersignal, um die Fehlerdaten dlerr1 zu verwenden, die von der L-Seite zu einem F-seitigen Datenauswahlabschnitt 124F geliefert werden. Der F-seitige Datenauswahlabschnitt 124F empfängt die Fehlerdaten dtout der vorhergehenden Zeile, die Fehlerdaten dlerrl von der L-Seite und das Zeitsteuersignal, um die Fehlerdaten dlerr1 von der L-Seite zu verwenden, von dem F-seitigen Zeiterzeugungsabschnitt 123F und gibt die Fehlerdaten der vorhergehenden Zeile zu fünf FFs (Flip-Flops) 131F bis 135F aus. Eine Anordnung von sieben FFs 131F bis 137F wird für das Beispiel der Fehlerdiffusionsmatrix gewählt, die in 8 gezeigt ist. In diesem Fall wird die Information der fünf Pixel der vorhergehenden Zeile, das heißt des Pixels gerade oberhalb des Objektpixels und der vorhergehenden und darauf folgenden Pixel als Fehlerdaten der vorhergehenden Zeile benötigt und die Information der zwei vorhergehenden Pixel der aktuellen Zeile wird als Fehlerdaten der aktuellen Zeile benötigt. Deshalb werden sieben FFs benötigt. Die Fehlerdaten werden zu einem Fehleroperationsabschnitt 104F von den FFs gemäß einer vorbestimmten Zeitsteuerung gesendet.
  • Bezüglich der L-Seite werden eingehende Fehlerdaten ELij in dem FIFO-Speicher 122L als Schreibdaten gespeichert und werden ebenso zu einem L-seitigen Datenauswahlabschnitt 124L als Fehlerdaten für die aktuell verarbeiteten Pixeldaten gesendet. Ein L-seitiger Zeitsteuerungs-Erzeugungsabschnitt 123L empfängt eine Steuersignalgruppe, erzeugt Signale für den FIFO-Speicher 122L, und zwar Leserücksetzen xrrst, Lesefreigeben xren, Schreibrücksetzen xwrst und Schreibfreigeben xwen, verursacht, dass die Fehlerdaten dtin der aktuellen Zeile in den FIFO-Speicher 122L eingeschrieben werden und dass die Fehlerdaten dout der vorhergehenden Zeile von dem FIFO-Speicher 122L ausgegeben werden. Als Fehlerdatensenden/-empfangen bei der Grenze zwischen der F-Seite und der L-Seite sendet der L-seitige Zeitsteuerungs-Erzeugungsabschnitt 123L ein Zeitsteuersignal, um die Fehlerdaten dferr1 der aktuellen Zeile von der F-Seite und die Fehlerdaten dferr0 der vorhergehenden Zeile von der F-Seite zu verwenden, zu dem L-seitigen Datenauswahlabschnitt 124L. Der L-seitige Datenauswahlabschnitt 124L empfängt die L-seitigen Fehlerdaten ELij, die Fehlerdaten dferr1 der aktuellen Zeile von der F-Seite, die Fehlerdaten dferr0 von der vorhergehenden Zeile von der F-Seite und das Zeitsteuerungssignal, um die Fehlerdaten dferr1 der aktuellen Zeile von der F-Seite und die Fehlerdaten dferr0 der vorhergehenden Zeile von der F-Seite zu verwenden, von dem F-seitigen Zeitsteuerungs-Erzeugungsabschnitt 123F, wählt entweder ELij oder dferr1 aus und gibt das ausgewählte zu zwei FFs 136L und 137L als Fehlerdaten der aktuellen Zeile und wählt entweder dtout oder dferr0 aus und gibt das ausgewählte zu fünf FFs 131L bis 135L als Fehlerdaten der vorhergehenden Zeile. In ähnlicher Weise wie bei dem Fall der F-Seite wird die Anordnung der sieben FFs 131L bis 137L für das Beispiel der Fehlerdiffusionsmatrix, die in 8 gezeigt ist, gewählt. In diesem Fall wird die Information über die fünf Pixel der vorhergehenden Zeile, das heißt das Pixel gerade oberhalb des Objektpixels und vorhergehende und darauffolgende Pixel als Fehlerdaten der vorhergehenden Zeile benötigt und die zwei vorhergehenden Pixel auf der aktuellen Zeile werden als Fehlerdaten der aktuellen Zeile benötigt. Deshalb werden die sieben FFs benötigt. Die Fehlerdaten werden zu einem Fehleroperationsabschnitt 104L von den FFs gemäß einer vorbestimmten Zeitsteuerung gesendet.
  • 18 zeigt eine Verarbeitungszeitsteuerung bzw. Verarbeitungszeitablauf bei einem Trennpunkt der Teilung einer Zeile in zwei Unterteilungen bei dem Speicherabschnitt 103F für die Fehlermatrix F und Speicherabschnitt 103L für die Fehlermatrix L. Es wird nun die Ausbildung der Fehlerdiffusionsmatrix für das letzte Pixel auf der F-Seite und die Fehlerdiffusionsmatrix für das oberste Pixel auf der L-Seite bei der Grenze zwischen der F-Seite und der L-Seite auf der in Unterabtastrichtung n-ten Zeile beschrieben, wenn die Zeile in zwei Unterteilungen unterteilt ist (F/L-Unterteilung), wie in 18 beschrieben ist.
  • In diesem Fall werden, wenn eine Fehlerdiffusion durchgeführt wird, wobei die Fehlerdiffusionsmatrix von 5 + 2 Pixeln verwendet wird, die in 8 gezeigt ist, und in der Hauptabtastrichtung und Unterabtastrichtung angeordnet ist, die Fehlerdaten der Pixel gerade oberhalb des Objektpixels und die vorhergehenden zwei Pixel und die nachfolgenden zwei Pixel der vorhergehenden Zeile und die Fehlerdaten der zwei vorhergehenden Pixel der aktuellen Zeile zur Zeit der Fehlerdiffusion verwendet. In diesem Fall werden, wie in 18 gezeigt ist, die notwendigen Fehlerdaten zwischen der F-Seite und der L-Seite gesendet/empfangen.
  • In diesem Fall werden nun das letzte Pixel ”L” auf der F-Seite bei der Grenze auf der n-ten Zeile und das erste Pixel ”M” auf der L-Seite bei der Grenze auf der n-ten Zeile betrachtet bzw. berücksichtigt.
    • Figure 00220001
      Zur Zeit der Verarbeitung des letzten Pixels ”L” auf der F-Seite auf der n-ten Zeile ist es nötig, die Quantisierungsfehler ELij (dlerr1) des ersten Pixels ”E” und des darauf folgenden Pixels ”F” auf der L-Seite auf der (n – 1)-ten Zeile, die der n-ten Zeile vorhergeht, zu verwenden.
    • Figure 00220002
      Zur Zeit der Verarbeitung des ersten Pixels ”M” auf der L-Seite der n-ten Zeile ist es notwendig, die Quantisierungsfehler EFij (dferr0) des letzten Pixels ”D” und des vorhergehenden Pixels ”C” auf der L-Seite auf der (n – 1)-ten Zeile, die der n-ten Zeile vorhergeht, und die Quantisierungsfehler EFij (dferr1) des letzten Pixels ”L” und des vorhergehenden Pixels ”K” auf der F-Seite auf der n-ten Zeile zu verwenden. Somit werden zwei Datenende-/-empfangsoperationen benötigt.
  • In diesem Fall, wie in 18 gezeigt ist (der Verarbeitungszeitablauf bzw. die Verarbeitungszeitsteuerung bei dem Trennpunkt der F/L-Unterteilung), kann der Beginn der Verarbeitung des L-seitigen obersten Pixels durchgeführt werden, nachdem die Verarbeitung des F-seitigen letzten Pixels beendet worden ist. Dies liegt daran, dass die Fehlerdiffusion für den L-seitigen obersten Pixel die Fehlerdaten (dferr1) des F-seitigen letzten Pixels benötigt, wobei diese Fehlerdaten infolge davon erhalten werden, dass die F-seitigen letzten Pixel verarbeitet werden. Dementsprechend sollte die Verarbeitung des L-seitigen obersten Pixels nach der Verarbeitung des F-seitigen letzten Pixels durchgeführt werden. Weiter benötigt die Fehlerdiffusion für das F-seitige letzte Pixel die Fehlerdaten (dlerr1) der L-seitigen obersten Pixel der vorhergehenden Zeile, wobei diese Fehlerdaten infolge davon erhalten werden, dass die L-seitigen obersten Pixel der vorhergehenden Zeile verarbeitet werden. Deshalb sollte der Anfang der L-seitigen Zeile vor der letzten Verarbeitung der F-seitigen folgenden Zeile durchgeführt werden. Nimmt man an, dass die L-seitige Zeile, die aktuell zu verarbeiten ist, die L-seitige (n – 1)-te Zeile ist, dann heißt dies, dass die Zeitsteuerung bzw. der Zeitpunkt für den Beginn der Verarbeitung der L-seitigen (n – 1)-ten Zeile vor der Vollendung der Verarbeitung der F-seitigen n-ten Zeile liegen sollte.)
  • Durch diese Verarbeitung ist es möglich, eine Hochgeschwindigkeitsverarbeitung bzw. eine Verarbeitung mit hoher Geschwindigkeit zu erzielen, weil jede Zeile in zwei Hälften unterteilt wird und die zwei Hälften parallel verarbeitet werden. Weil weiter die notwendige Kapazität der FIFO-Speicher 122F und 122L die Kapazität für eine Zeile darstellen (= (Kapazität für eine Zeile) × (Anzahl der Parallelverarbeitungsoperationen)/(Anzahl der Divisionen)), ist es möglich, die Speicherkapazität im Vergleich zu der Kapazität in dem Fall zu reduzieren, wo eine Vielzahl von Zeilen parallel verarbeitet werden (= (Anzahl der parallel verarbeiteten Operationen) × (Kapazität für eine Zeile)).
  • In 18 handelt es sich z. B. Bei den Pixeln „B”, „C”, „D”, „E”, „F”, „J” und „K” um periphere Pixel (Umgebungspixel), wenn der Pixel „L” (gerade) durch den F-seitigen Fehlerdiffussionsabschnitt verarbeitet wird. Die Pixel „C”, „D”, „E”, „F”, „G”, „K” und „L” sind die peripheren Pixel, wenn das Pixel „M” (gerade) durch den L-seitigen Fehlerdiffussionsabschnitt verarbeitet wird.
  • Wie in 19 gezeigt ist, ist es möglich, dass die Matrixdatenaddier-/-subtrahierabschnitte 106F und 106L von der Anordnung, die in 16 gezeigt ist, weggelassen werden. Bei der Anordnung, die in 19 gezeigt ist, werden die Bilddaten SFij, die von dem Fehleraddierabschnitt 100F ausgegeben werden, direkt zu dem Quantisierabschnitt 101F eingegeben und die Bilddaten SLij, die von dem Fehleraddierabschnitt 100L ausgegeben werden, werden direkt zu dem Quantisierabschnitt 101L eingegeben, wie dies in dem Stand der Technik gezeigt ist, wie in 7 gezeigt ist.
  • Die vorliegende Erfindung basiert auf der japanischen, die Priorität begründenden Anmeldung Nr. 10-345865 , die am 4. Dezember 1998 eingereicht wurde.

Claims (3)

  1. Bildverarbeitungsapparat mit • einer Vielzahl von Fehlerdiffusions-Verarbeitungseinrichtungen, die für Bilddaten einer Vielzahl von Unterteilungen einer jeden Zeile jeweilig bereitgestellt werden, wobei jede dieser Vielzahl von Fehlerdiffusions-Verarbeitungseinrichtungen Folgendes umfasst: – eine Fehleraddiereinrichtung (100F oder 100L), die eingehende Mehrton-Bilddaten einer jeweiligen der Vielzahl von Unterteilungen und periphere Fehlerinformation zusammenaddiert; – eine Addier-/Subtrahiereinrichtung (106F oder 106L), die zu Mehrton-Bilddaten, die durch die Fehleraddiereinrichtung berechnet wurden, eine Zufallszahl in einer Matrix addiert oder davon subtrahiert, die für jeden Satz von Pixeln der eingehenden Mehrton-Bilddaten der jeweiligen der Vielzahl von Unterteilungen vorbereitet wurde; – eine Quantisiereinrichtung (101F oder 101L), die Mehrton-Bilddaten, die durch die Addier-/Subtrahiereinrichtung berechnet wurden, in Bilddaten quantisiert, wobei die Anzahl der Bits dieser Bilddaten kleiner ist als die Anzahl der Bits der Mehrton-Bilddaten, die durch die Addier-/Subtrahiereinrichtung berechnet wurden; – eine Fehlerberechnungseinrichtung (102F oder 102L), die einen Fehler basierend auf den Mehrton-Bilddaten, die durch die Fehleraddiereinrichtung berechnet wurden und den Bilddaten, die durch die Quantisiereinrichtung quantisiert wurden, berechnet; – eine Fehlerspeichereinrichtung (103F oder 103L), die den Fehler, der durch die Fehlerberechnungseinrichtung berechnet wurde, für jedes periphere Pixel speichert; und – eine Fehlerbetriebseinrichtung (104F oder 104L), die die periphere Fehlerinformation basierend auf den Fehlern, die in der Fehlerspeichereinrichtung für jeweilige periphere Pixel gespeichert wurden, berechnet und die die periphere Fehlerinformation der Fehleraddiereinrichtung zur Verfügung stellt, wobei, um die Fehlerbetriebseinrichtung einer jeden der Vielzahl von Fehlerdiffusions-Verarbeitungseinrichtungen in die Lage zu versetzen, die periphere Fehlerinformation basierend auf den Fehlern von jeweiligen peripheren Pixeln an einer Grenze zwischen benachbarten Unterteilungen zu berechnen, der Fehler wenigstens eines peripheren Pixels, das innerhalb derselben Zeile wie das zu quantisierende Pixel liegt, bei der Grenze zwischen wenigstens zwei Fehlerspeichereinrichtungen gesendet/empfangen wird.
  2. Bildverarbeitungsapparat gemäß Anspruch 1, wobei zwei Mittel zum Lesen des Bildes in Hauptabtastrichtung vorgesehen sind, die jeweils eine Hälfte des zu lesenden Bildes lesen.
  3. Bildverarbeitungsapparat gemäß einem der vorangehenden Ansprüche, wobei eine Vielzahl von Mitteln zum Lesen des Bildes in Unterabtastrichtung vorgesehen ist, um die Lesegeschwindigkeit weiter zu erhöhen.
DE19958242A 1998-12-04 1999-12-03 Bildverarbeitungsapparat Expired - Fee Related DE19958242B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10345865A JP2000175034A (ja) 1998-12-04 1998-12-04 画像処理装置
JP10-345865 1998-12-04

Publications (2)

Publication Number Publication Date
DE19958242A1 DE19958242A1 (de) 2000-06-15
DE19958242B4 true DE19958242B4 (de) 2012-04-26

Family

ID=18379528

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19958242A Expired - Fee Related DE19958242B4 (de) 1998-12-04 1999-12-03 Bildverarbeitungsapparat

Country Status (3)

Country Link
US (2) US6775027B1 (de)
JP (1) JP2000175034A (de)
DE (1) DE19958242B4 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175034A (ja) * 1998-12-04 2000-06-23 Ricoh Co Ltd 画像処理装置
US7355747B2 (en) * 2002-01-18 2008-04-08 Hewlett-Packard Development Company, L.P. System for improving the speed of data processing
US7450270B2 (en) * 2004-01-16 2008-11-11 Hewlett-Packard Development Company, L.P. Image data processing methods, hard imaging devices, and articles of manufacture
US8018479B2 (en) * 2008-08-27 2011-09-13 Lexmark International, Inc. Method and system for correcting the linearity error in electrophotographic devices
JP4755532B2 (ja) * 2006-05-26 2011-08-24 株式会社リコー 画像形成装置
KR100873063B1 (ko) 2007-08-31 2008-12-11 인하대학교 산학협력단 플라즈마 디스플레이에서의 저계조 영상 평가방법
JP4535112B2 (ja) * 2007-10-04 2010-09-01 富士ゼロックス株式会社 画像形成システム、画像処理装置およびプログラム
US8320694B2 (en) * 2009-03-27 2012-11-27 Sharp Laboratories Of America, Inc. Surround error diffusion
US8274705B2 (en) * 2009-03-27 2012-09-25 Sharp Laboratories Of America, Inc. Multi-level surround error diffusion
JP2012138822A (ja) * 2010-12-27 2012-07-19 Ricoh Co Ltd 誤差拡散処理回路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2848566B2 (ja) 1989-09-25 1999-01-20 キヤノン株式会社 画像処理装置
JP2848569B2 (ja) 1989-10-23 1999-01-20 キヤノン株式会社 画像データの2値化方法及び画像処理装置
US5519791A (en) 1993-01-11 1996-05-21 Canon, Inc. Block parallel error diffusion method and apparatus
JP3360391B2 (ja) 1993-06-24 2002-12-24 セイコーエプソン株式会社 画像処理装置および画像処理方法
JPH08191389A (ja) 1995-01-12 1996-07-23 Mita Ind Co Ltd 画像処理装置
JPH0998290A (ja) 1995-09-29 1997-04-08 Canon Inc 画像記録装置及び画像記録方法
JPH09307758A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd 階調処理方式,誤差拡散階調処理方式,画像符号化方式およびそれらを用いた画像処理装置
JP3105168B2 (ja) 1996-06-19 2000-10-30 株式会社東芝 画像形成装置および画像処理方法
JP3774523B2 (ja) 1996-12-25 2006-05-17 キヤノン株式会社 画像処理装置及びその制御方法
US6307978B1 (en) * 1998-06-03 2001-10-23 Wellesley College System and method for parallel error diffusion dithering
JP2000175034A (ja) * 1998-12-04 2000-06-23 Ricoh Co Ltd 画像処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FOLEY,J.D.: et al: Computer Graphics-Principles and Practice. Addison-Wesely, 1996, S.887-888 *
Improved error on Imaging Systems. IBM Technical B Disclosure Bulletin, Vol.33, N. 1A, June 1990, Seite 65-69 *
STOFFEL,J.C., MORELAND,J.F.: A Survey of Electronic Techniques for Pictorial Image Reproduction. IEEE Trans on Communications, Vol.29, No.12, December 1981, Seite 1898-1925 *

Also Published As

Publication number Publication date
US6775027B1 (en) 2004-08-10
US7502140B2 (en) 2009-03-10
DE19958242A1 (de) 2000-06-15
US20040218219A1 (en) 2004-11-04
JP2000175034A (ja) 2000-06-23

Similar Documents

Publication Publication Date Title
DE69634040T2 (de) Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern
DE3441063C2 (de) Verfahren und Vorrichtung für die Glättung gezackter Grenzlinien zwischen Bildbestandteilen eines Reproduktionsbildes
DE112009005418B4 (de) Bildverarbeitungsgerät
DE3339002A1 (de) Verfahren und einrichtung zum verarbeiten eines bildsignals
US5041920A (en) Image halftone generation by static RAM look-up table
DE2636093A1 (de) Vorrichtung zum umsetzen von eingangsdaten in daten mit ausgeglichener haeufigkeitsverteilung ihrer intensitaet
DE3804938A1 (de) Bildverarbeitungseinrichtung
DE3419693A1 (de) Bildverarbeitungseinrichtung
DE3224319A1 (de) Verfahren und einrichtung zum bestimmen einer bildflaeche
DE3508994A1 (de) Bildverarbeitungsgeraet
DE19958242B4 (de) Bildverarbeitungsapparat
DE69631948T2 (de) Bildverarbeitungsgerät und -verfahren
DE4206277A1 (de) Aufloesungs-wandel-verfahren fuer ein bildverarbeitungssystem
DE69631812T2 (de) System und Verfahren für ein hochadressierbares Drucksystem
DE3638852A1 (de) Bildverarbeitungsgeraet und -verfahren
DE68904356T2 (de) Bildverarbeitung.
DE69738149T2 (de) Punktzuwachskompensation
DE3816780A1 (de) Verfahren und einrichtung zur bildverarbeitung
DE4132548C2 (de) Bildlesevorrichtung mit verbesserter Abschattungskorrektur
DE69125792T2 (de) Bildschnittstellenanordnung
DE3505796C2 (de)
US5926582A (en) Method and system for converting multi-gradated image data into binary image data
DE3517761A1 (de) Verfahren und vorrichtung zur dichtewandlung bei der bildreproduktion
DE69628519T2 (de) Skalierungssteuervorrichtung in einem Bildverarbeitungsgerät
DE602005002494T2 (de) Verfahren zum Erzeugen einer Dithermatrix

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R020 Patent grant now final

Effective date: 20120726

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130702