DE69015235T2 - Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle. - Google Patents

Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.

Info

Publication number
DE69015235T2
DE69015235T2 DE69015235T DE69015235T DE69015235T2 DE 69015235 T2 DE69015235 T2 DE 69015235T2 DE 69015235 T DE69015235 T DE 69015235T DE 69015235 T DE69015235 T DE 69015235T DE 69015235 T2 DE69015235 T2 DE 69015235T2
Authority
DE
Germany
Prior art keywords
pels
block
output
pattern
column
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
DE69015235T
Other languages
English (en)
Other versions
DE69015235D1 (de
Inventor
Jack Chunsheng Lee
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69015235D1 publication Critical patent/DE69015235D1/de
Publication of DE69015235T2 publication Critical patent/DE69015235T2/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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • 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/40075Descreening, i.e. converting a halftone signal into a corresponding continuous-tone signal; Rescreening, i.e. combined descreening and halftoning

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Color, Gradation (AREA)

Description

  • Die Erfindung bezieht sich auf eine Vorrichtung und ein darin zu verwendendes Verfahren zur Umsetzung eines einfarbigen Halbtondokuments im Bitmap-Format mit relativ hoher Auflösung, wie beispielsweise eine Halbtontrennung in einer CDPF-Druckdatei, in ein Dokument mit abgestuften Grauwerten und relativ niedriger Auflösung, das als lesbare Seite, d. h. als "Entwurf", angezeigt wird, wenn es auf dem Bildschirm eines Videomonitors ausgegeben wird, der Grauwerte unterstützt. Der Entwurf stellt ungefähr dar, wie die Halbtontrennung gedruckt aussehen würde.
  • Obwohl die elektronische Kommunikation in immer mehr Bereiche vordringt, ist die gedruckte Seite z. Zt. noch die vorherrschende Kommunikationsform. Eine gedruckte Seite enthält Text, Grafiken und/oder Bilder.
  • In der Grafikindustrie wird eine Seite, die in hoher Auflage reproduziert wird, allgemein als Druckvorlage bezeichnet. Traditionell wurden Druckvorlagen mit manuellen Verfahren der Dokumenterstellung und Satzherstellung erzeugt. Diese manuellen Verfahren erwiesen sich als mühsam und aufwendig. Daher werden vermehrt elektronische Systeme eingesetzt, die Bilder, Grafiken und Text erstellen und Funktionen zur elektronischen Satzherstellung zur Verfügung stellen. Bei diesen elektronischen Systemen wird eine Druckvorlage aufgrund der enthaltenen Graf iken und Abbildungen zur Reproduktion auf einer rasterbasierten Ausgabeeinheit häufig im Bitmap-Format gespeichert. Bei schwarzweißen Druckvorlagen enthält jede Position im Bitmap einen binären Wert, der angibt, ob das Bildelement (Pel) (Einzelbitwert) auf der entsprechenden Position in der Druckvorlage schwarz oder weiß ist. Bei Grauwertdruckvorlagen oder farbigen Druckvorlagen enthält jede Position im Bitmap einen Mehrbit-Pixel-Wert, der jeweils der bestimmten Farbe oder einfarbigen Schattierung auf dieser Position in der Druckvorlage entspricht. Obwohl eine Druckvorlage elektronisch verarbeitet und gespeichert werden kann, ist es letztendlich erforderlich, eine Papierreproduktion der Druckvorlage als gedruckte Seite zu erstellen, besonders wenn die Seite Teil einer Veröffentlichung, z. B. einer Zeitschrift ist.
  • Gegenwärtig werden mit Druckerpressen gleich welcher Art genaue Reproduktionen einer farbigen Druckvorlage in Massenauflage hergestellt. Um die Notwendigkeit zu vermeiden, für den Druck jeder einzelnen Farbe der Druckvorlage eine anders farbige Tinte zu verwenden, machen sich moderne Druckverfahren die Tatsache zunutze, daß jede Farbe aus einer linearen Kombination der vier primären Subtraktionsfarben zyanblau, gelb, magenta und schwarz hergestellt werden kann. Um eine mehrfarbige Druckvorlage zu drucken, werden vier gedruckte, einfarbige Bilder, die jeweils mit der Tinte der entsprechenden primären Farbe hergestellt wurden, nacheinander in separaten Druckdurchgängen auf ein gemeinsames Blatt gedruckt und auf diesem Blatt paßgenau übereinandergelegt, so daß eine einzige mehrfarbige Seite entsteht, die die Farbtöne der Druckvorlage für den Betrachter genau wiedergibt.
  • Eine farbige Druckvorlage, die gedruckt werden soll, wird normalerweise durch optisches Filtern und durch photografische Verfahren zunächst in abgestufte Trennungen der vier primären Farben aufgetrennt. Jede Trennung ist eine einfarbige zweidimensionale Abbildung der Farbinformationen für eine der primären Farben in der Druckvorlage auf einem transparenten Medium. Es liegt also jeweils eine Trennung für zyanblau, gelb, magenta und schwarz vor. Für einfarbige Grauwertdruckvorlagen wird nur eine Trennung durchgeführt (normalerweise schwarz). Druckerpressen können keine differenzierten Mengen einer farbigen Tinte auf die verschiedenen Positionen einer Seite aufbringen. Daher kann eine Druckerpresse eine abgestufte Trennung nicht direkt drucken. Um dieses Hindernis zu überwinden, wird die Halbtontrennung angewendet. Eine Halbtontrennung wird gebildet, indem eine abgestufte Trennung rasterisiert wird. Liegen keine Tonvariationen vor, enthält jede Halbtontrennung ein gleichrnäßgig aufgeteiltes zweidimensionales Muster relativ kleiner einfarbiger Punkte mit einer Auflösung von mindestens 85 Dots per Inch (ca. 34 Dots per Centimeter) bei den meisten Grafikanwendungen. Ein solches regelmäßiges Punktemuster hat eine relativ hohe Ortsfrequenz. Ergebnis der Rasterisierung einer abgestuften Trennung mit Tonvariationen ist, daß diese Tonvariationen an jeder Position der Trennung der Druckvorlage den Abstand zwischen angrenzenden Punkten verändern, die sich auf den entsprechenden Positionen in einer Halbtontrennung befinden. Hierdurch wird das zugrundeliegende regelmäßige Halbtonpunktemuster für diese Farbe räumlich moduliert. Beim Betrachten der Halbtontrennung durch das menschliche Auge wird das modulierte Muster vom Auge integriert, und es entstehen die entsprechenden Tonvariationen. Sobald die vier Halbtontrennungen vorliegen, werden diese auf separate Druckplatten übertragen, die dann zum aufeinanderfolgenden, paßgenauen Drucken der vier Halbtontrennungsmuster auf gemeinsamen Blättern verwendet werden. Bei der Betrachtung des sich ergebenden gedruckten Blatts entsteht eine genaue Abbildung der gewünschten farbigen Druckvorlage durch die räumliche Interaktion der vier übereinandergelegten Halbtontrennungsmuster der primären Farben.
  • Beim Übereinanderlegen der einzelnen Halbtontrennungsmuster wirken die Punkte in jedem Muster möglicherweise so zusammen, daß haufig eine nicht erwünschte niedrige Frequenz entsteht bzw. Interferenzmuster entstehen, die in einigen Bereichen der gedruckten Seite als sich wiederholendes Rosettenmuster erscheint bzw. erscheinen. Dieses Muster wird allgemein als Moiré-Muster bezeichnet. Ist im betreffenden Bereich die Frequenz sehr niedrig, wird ein entsprechendes Moiré-Muster deutlich sichtbar und sehr unangenehm für den Betrachter.
  • Für Fachleute ist verstandlich, daß zur Reduzierung des Moiré- Musters jede Trennung in einem anderen Winkel im Bezug auf eine gemeinsame Achse rasterisiert werden muß. Zur Erzeugung der entsprechenden Halbtontrennungen einer Druckvorlage werden häufig verschiedene voreingestellte Rasterisierungswinkel von jeweils 45, 75, 90 und 105 Grad für schwarz, magenta, gelb und zyanblau verwendet. Es gibt Fälle, in denen diese Winkel in geeigneter Weise auf einen anderen Wert eingestellt werden müssen, damit die Frequenz auf einen höheren Wert verschoben werden kann, bei dem das sich ergebende Moiré-Muster für den Betrachter weniger sichtbar ist.
  • Die tatsächlich vorhandene Menge an Moiré auf einer farbig gedruckten Seite tritt häufig erst dann zutage, wenn die Halbtontrennungsmuster für die betreffende Seite zur Erstellung der sogenannten Fahne übereinandergelegt werden. Manchmal tritt das Moiré-Muster erst später im Druckprozeß auf, wenn aus den Halbtontrennungsmustern die Druckplatten hergestellt werden und mit diesen Druckplatten ein Testblatt gedruckt wird. Außerdem sind verschiedene andere unerwünschte Effekte in einer Halbtontrennung häufig erst auf dem Testblatt sichtbar, wie beispielsweise Punkte oder Streifen und/oder Punktverstärkungen, die möglicherweise korrigiert werden müssen.
  • Aufgrund dieser unerwünschten Effekte muß ein Farbtechniker in einem iterativen Prozeß immer wieder versuchen, eine Fahne mit nachfolgendem Testblatt zu erstellen, in dem diese möglicherweise vorhandenen Effekte erkannt und im Druckprozeß entsprechend beseitigt werden, beispielsweise durch Drehung des Rasterisierungswinkels und/oder Änderung der Trennungen zum Eliminieren eines Elements und/oder Ändern der Punktgröße, um schließlich ein akzeptables Testblatt zu erstellen, das die Farbgebung einer gegebenen Druckvorlage exakt reproduziert. Aufgrund der vielen Variationsmöglichkeiten bei der Erstellung einer akzeptablen Gruppe von Halbtontrennungen kann dieser Prozeß mühsam und zeitaufwendig und damit teuer sein.
  • Im Bemühen, die für manuelle Farbreproduktionsverfahren erforderliche Zeit und den damit verbundenen Aufwand zu reduzieren, orientieren sich Fachleute von diesen manuellen Verfahren bei Grafikanwendungen für hohe Auflagen weg in Richtung auf elektronische Seitenerstellungs- und Satzherstellungssysteme, wie oben beschrieben. Diese Systeme setzen abgestufte Trennungen in elektronische (häufig digitale) Form um, ändern Rasterisierungswinkel elektronisch, gleichen Punktgrößen bei erwarteter Punktverstärkung aus und produzieren die entsprechenden Halbtontrennungen elektronisch. Hierdurch wird die Notwendigkeit umgangen, die Trennungstransparente und die Fahne zu erstellen. Diese Systeme zielen auf die Produktion exakter Halbtonfarbtrennungen bei höherem Durchsatz und niedrigeren Kosten verglichen mit den bisher möglichen traditionellen manuellen Farbreproduktionsverfahren.
  • Eine Komponente des elektronischen Bilderstellungs- und Satzherstellungssystems ist ein Bitmap-Drucker mit hoher Auflösung, der eine Halbtontrennung direkt drucken kann. Ein für das Drucken von Halbtontrennungen besonders geeigneter Drucker ist der IBM Elektroerosionsdrucker Modell 4250 (IBM ist ein eingetragenes Warenzeichen der International Business Machines Corporation in Armonk, New York). Dieser Drucker verwendet ein spezielles Druckmedium aus einem dünnen Aluminiuinblatt, das entweder eine dunkle Kontrastschicht oder eine transparente Unterschicht überlagert. Beim Drucken erzeugt der Drucker jedes dunkle Pel auf einer gedruckten Seite auf diesem Druckmedium durch selektives Eindampfen (Elektroerosion) des Aluminiumfilms an dieser Pel- Position auf dem Druckmedium. Wird das Druckmedium mit einer dunklen Kontrastschicht verwendet, kann dieses Medium nach der Erosion als reproduktionsfahige Vorlage für eine Halbtontrennung verwendet werden. Eine andere Möglichkeit ist die Verwendung des Druckmediums mit einer transparenten Unterschicht. Dabei wird das Medium nach der Erosion entweder als reproduktionsfähiges Negativ oder als Druckerplatte für Kleinauflagen verwendet. Durch dieses Druckverfahren kann der Drucker an allen Punkten eine adressierbare Auflösung von 600 Dots per Inch (Pel) (ca. 236 Dots per Centimeter) erreichen, was eine gedruckte Halbtontrennung ergibt, die kleine Details deutlich abbilden kann. Eine solche Druckdichte ist ca. vier- bis sechsmal höher als die Dichte von 60.000 bis 90.000 Dots per Square Inch (ca. 9.300 bis 13.950 Dots per Square Centimeter), die mit den derzeitigen xerografischen Verfahren und Laserdruckverfahren erreicht werden kann. Detailliertere Abbildungen als mit den traditionellen Verfahren sind möglich.
  • Aufgrund der enormen Anzahl der separaten Pel (5100 mal 6600 bzw. 33,66 Millionen), die in einer Elektroerosionsdruckdatei für eine Seite von beispielsweise 8,5 mal 11 Zoll (ca. 22 mal 28 Zentimeter) enthalten sein können, würde der Drucker eine extrem lange Zeit zum Drucken einer Seite benötigen, besonders wenn die Abbildung aus vielen dunklen Bereichen besteht. Das Erzeugen einer akzeptablen Gruppe von Halbtontrennungen erfordert häufig das Erzeugen einer großen Anzahl von Trennungen, das Identifizieren von Ungenauigkeiten und das Variieren der Trennungsparameter sowie das iterative Wiederholen dieses Prozesses, bis akzeptable Trennungen vorliegen. Das Drucken jeder in diesem iterativen Prozeß erzeugten Trennung mit dem Elektroerosionsdrucker würde einen hohen Zeitaufwand bedeuten.
  • Um die erforderliche Durchlaufzeit für das Erstellen einer akzeptablen Gruppe von Halbtontrennungen mit einem Elektroerosionsdrucker als Teil des elektronischen Seitenerstellungs- und Satzherstellungssystems signifikant zu verringern, wäre es besonders hilfreich, ein lesbares Muster in Form eines Entwurfs auf einem Videomonitor anzuzeigen, das ungefähr abbildet, wie ein Halbtontrennungsmuster gedruckt aussehen würde, anstatt die Trennung tatsächlich zu drucken. Voraussetzung ist, daß die Zeit, die zur Erzeugung einer solchen Anzeige erforderlich ist, signifikant kürzer als die Zeit ist, die der Drucker für den tatsächlichen Druck benötigen würde. Bei der Verwendung eines solchen Entwurfs könnte der Farbtechniker auf interaktiver Basis einen Entwurf eines Halbtontrennungsmusters anzeigen, Ungenauigkeiten im Entwurf identifizieren, die erforderlichen Korrekturen an den Trennungsparametern vornehmen, beispielsweise Rasterisierungswinkel und/oder Punktgröße variieren, elektronisch eine neue Trennung erzeugen und vom entsprechenden Halbtonmuster einen Entwurf anzeigen, um die Genauigkeit der neuen Trennung zu überprüf en. Alle Maßnahmen könnten in relativ kurzen Zeitintervallen stattfinden. Durch die Verwendung eines solchen Entwurfs würde der Elektroerosionsdrucker nur dann zum Erzeugen einer Halbtontrennung verwendet, wenn der Entwurf darauf hinweist, daß das Halbtonmuster wahrscheinlich zufriedenstellend sein wird. Das wurde wahrscheinlich eine signifikante Anzahl von Druckoperationen einsparen und somit Zeit und Kosten reduzieren, die mit der Erzeugung einer akzeptablen Gruppe von Farbtrennungen durch elektronische Seitenerstellungs- und Satzherstellungssysteme auf dem heutigen Stand der Technik verbunden sind.
  • Die Erzeugung eines geeigneten Entwurfs für die Anzeige auf einem Videomonitor hat sich jedoch als schwierig erwiesen. Die Auflösung eines für einen Elektroerosionsdrucker erzeugten Bitmap (33,66 Millionen Einzelbit-Pel) ist wesentlich größer als die Auflösung eines hochauflösenden Bildschirms. Ein geeigneter hochauflösender Bildschirm mit der Fähigkeit, eine einzelne Farbe mit mindestens 37 verschiedenen Schattierungen anzuzeigen, ist der IBM Videobildschirm Modell PS/2 8514. Ein solcher Bildschirm hat eine Auflösung von 1024 horizontalen Pixel mal 768 Zeilen, was insgesamt 804.864 getrennte Mehrbit-Pixel (acht Bit) ergibt, wobei jedes Pixel eine der 64 verschiedenen Schattierungen einer ausgewählten Farbe darstellen kann. Während ein Videomonitor getrennte Punkte produziert und die Zwischenräume zwischen angrenzenden Punkten unveränderlich sind (Schreibabstand), sind die Zwischenräume bei einer Halbtontrennung jedoch variabel. Der Monitor kann einen Punkt mit festgelegter Größe anzeigen oder nicht und die Intensität, d. h. Schattierung verändern.
  • Es muß also nicht nur die Geschwindigkeit, in der der Entwurf erzeugt werden kann, zufriedenstellend sein und die Auflösung des Bitmap des Halbtontrennungsmusters in eine Auflösung umgesetzt werden, die sich für die Anzeige auf einem Videomonitor eignet, es müssen auch die variablen Zwischenräume eines Halbtontrennungmusters korrekt in Schattierungsvariationen umgesetzt werden. Die sich ergebende angezeigte Seite muß so gut lesbar sein, daß die verschiedenen, möglicherweise im Halbtontrennungsmuster auftretenden Ungenauigkeiten für den Betrachter abgebildet sind.
  • Im Bezug auf diese Anforderungen hat sich gezeigt, daß keine der Methoden auf dem heutigen Stand der Technik, auch "Anti-Aliasing" genannt, die eine mit einer relativ niedrigen Auflösung angezeigte abgestufte Abbildung aus dem Bitmap eines Halbtontrennungsmusters mit einer viel höheren Auflösung erzeugen können, für die Erstellung eines solchen Entwurfs zufriedenstellend genutzt werden können. In der US-Patentschrift 4,630,125 (erteilt an P. Roetling am 16. Dezember 1986) wird ein Verfahren beschrieben, mit dem ein gespeichertes digitales Halbtonbild entrasterisiert wird. Dieses Verfahren beruht auf der Verarbeitung sowohl jedes Pel in der rasterisierten Abbildung als auch der umgebenden Pel und ist daher bei der Ausführung enorm zeitaufwendig. Außerdem wird bei diesem Verfahren nicht berücksichtigt, wie die Auflösung des Bitmap des Halbtontrennungsmusters in eine Abbildung mit niedrigerer Auflösung umgesetzt werden kann, die für die Anzeige auf einem Videomonitor geeignet ist. In der US-Patentschrift 4,533,942 (erteilt an W. Gall et al. am 6. August 1985) wird ein Verfahren zur Reproduktion einer abgestuften Abbildung beschrieben, bei der die Auflösung für die Anzeige auf einem Videomonitor niedriger als die Auflösung ist, mit der die Abbildung eingescannt wurde. Dieses Patent beruht auf der Bildung einer gewichteten Summe eines Felds von Pixel-Werten mit hoher Auflösung. Aus der Summe wird ein entsprechender einzelner Pixel-Wert mit niedriger Auflösung für die Anzeige gebildet. Hier wird jedoch nicht berücksichtigt, wie ein Bitmap von Einzelbit-Pel-Werten in entsprechende Mehrbitgrauwert-Pixel umgesetzt werden kann.
  • Daher bedarf es auf dem heutigen Stand der Technik einer Vorrichtung und eines darin implementierten Verfahrens, das einen Entwurf mit ausreichender Geschwindigkeit erstellen kann. Der Entwurf soll eine relativ niedrige Auflösung haben, die sich für die Anzeige auf einem Videomonitor eignet, und die geeigneten Schattierungsvariationen aufweisen, die ungefähr abbilden, wie ein Bitmap eines einfarbigen Musters mit hoher Auflösung gedruckt aussehen würde. Durch die Integration eines solchen Verfahrens in ein elektronisches Seitenerstellungs- und Satzherstellungssystem kann die für die Erzeugung einer akzeptablen Gruppe von Halbtonfarbtrennungen erforderliche Zeit signifikant reduziert werden. Diese Integration kann gleichzeitig eine Steigerung des Durchsatzes von Halbtontrennungen von hoher Qualität ergeben, verglichen mit den Ergebnissen von elektronischen Systemen auf dem heutigen Stand der Technik. Außerdem würde ein solches Verfahren die Verwendung eines Elektroerosionsdruckers in dem System zum direkten Drucken von Halbtontrennungen erlauben. Dieser ermöglicht detailliertere Abbildungen als andere Druckverfahren bisher, ohne die Durchlaufzeit des Systems merklich, wenn überhaupt, negativ zu beeinflussen.
  • So ist es Ziel der vorliegenden Erfindung, eine Vorrichtung und ein entsprechendes Verfahren zur Verfügung zu stellen, mit dem ein Entwurf von einem Bitmap eines hochauflösenden einfarbigen Musters, wie beispielsweise ein Halbtonpunktemuster, mit entsprechend verringert er Auflösung, die sich für die Anzeige auf einem Videomonitor eignet, erzeugt wird.
  • Ein spezielles Ziel ist es, ein Verfahren zur Verfügung zu stellen, das die variablen Zwischenräume in einem Bitmap eines einfarbigen Halbtonpunktemusters in entsprechende Schattierungsvariationen für die Anzeige auf dem Monitor umsetzt.
  • Ein weiteres spezielles Ziel ist es, ein Verfahren zur Verfügung zu stellen, das zur Ausführung eines vollständigen Bitmap-Musters, besonders im Zusammenhang mit einem Elektroerosionsdrukker, wesentlich weniger Zeit benötigt als der Drucker zum tatsächlichen Drucken benötigen würde.
  • Ein weiteres spezielles Ziel ist es, einen Entwurf zur Verfügung zu stellen, der für den menschlichen Betrachter ausreichend lesbar ist und ungefähr abbildet, wie das Bitmap-Muster gedruckt aussehen würde, und die verschiedenen Ungenauigkeiten zeigt, die im Muster vorkommen können.
  • Diese und andere Ziele werden in der vorliegenden Erfindung erreicht, indem zuerst aufeinanderfolgende Gruppen einer vordefinierten Anzahl von vertikal angrenzenden Pel-Blöcken aus einem Bitmap-Muster gebildet werden, so daß die Gruppen horizontal über das Muster angeordnet sind und einen aus einer Vielzahl von angrenzenden horizontalen Streifen des Bitmap-Musters bilden, wobei jeder Block eine vordefinierte Anzahl von Pel enthält, die im Bitmap-Muster enthalten sind. Danach wird für jeden Block im Streifen ein entsprechender Mehrbitgrauwert bestimmt, wobei der Grauwert die Anzahl der Pel darstellt, die einen gemeinsamen binären Wert haben, normalerweise "1". Die Grauwerte treten im 1:1-Verhältnis mit den Blöcken im Streifen auf und werden in einem Ausgabepuffer in der Reihenfolge des Auftretens der Blöcke gespeichert. Das Ergebnis ist die Erzeugung einer Anzahl einzelner horizontaler Zeilen aufeinanderfolgender Grauwerte für den Entwurf, wobei die Anzahl der Zeilen der Anzahl der Blöcke in jeder Gruppe entspricht bzw. möglichst mit ihr identisch ist. Im einzelnen erfolgt die Erzeugung des Grauwerts für jeden Block wie folgt: aufeinanderfolgendes Anwenden jedes vordefinierten Clusters von vertikal angrenzenden Pel, der sich innerhalb jeder Spalte von vertikal angrenzenden Pel befindet, die sich innerhalb des Blocks befinden, als Eingabe in eine entsprechende vordefinierte Referenztabelle, um eine Ausgabezahl für die Spalte zu bestimmen, wobei die Ausgabezahl die Anzahl der Pel in der Spalte mit dem gemeinsamen binaren Wert, normalerweise "1", repräsentiert; anschließendes Akkumulieren der Ausgabezahl für jede aufeinander folgende Spalte in diesem Block, um den dem Block entsprechenden Grauwert zu ermitteln. Diese bildenden und bestimmenden Schritte werden für alle übrigen horizontalen Streifen im Bitmap-Muster wiederholt, um das Muster sequentiell zu sortieren und entsprechende Zeilen mit Ausgabegrauwerten für jeden dieser Streifen zu erzeugen, wodurch der vollstandige Entwurf entsteht.
  • Gemäß eines bestimmten Ausführungsbeispiels der Erfindung werden zur Illustration drei Bereiche mit Scandaten, die acht Bit hoch sind und einen Streifen im Bitmap-Muster bilden, normalerweise das Bitmap eines Halbtontrennungsmusters, gleichzeitig aus einer CDPF-codierten Druckdatei eingelesen. Jeder Bereich wird in einem entsprechenden separaten Eingabepuffer gespeichert. Jede Gruppe von drei vertikal angrenzenden Scans, d. h. 24 Bit, wird für einen Rasterisierungswinkel von 45 Grad vorzugsweise in sechs Pel-Cluster aufgeteilt, die so neu kombiniert werden, daß sie vier Blöcke von sechs mal sechs Pel bilden. Eine Zahl für die Anzahl der Pel in jedem Cluster, die dunkel sind, d. h. "1", ergibt sich, indem der vollständige Achtbitscan, der den Cluster enthält, über eine Referenztabelle geleitet wird, die "256" Werte enthält. Abhängig davon, welcher bzw. welche Cluster eine Spalte in jedem Block bildet bzw. bilden, werden die Ergebnisse aus den einzelnen sechs entsprechenden Referenztabellen selektiv summiert. Es ergeben sich vier Ausgabewerte, ein Wert für jeden Block. Der Ausgabewert für jeden Block wird über die sechs im Block vorkommenden Spalten summiert, um den entsprechenden Grauwert für diesen Block zu bilden. Vier Grauwerte werden gleichzeitig erzeugt, und vier Zeilen von Grauwerten werden für jeden Streifen erzeugt. Sobald ein Streifen komplett verarbeitet ist und sich vier solche Zeilen von Grauwerten ergeben haben, wird der darauffolgende Streifen im Bitmap-Muster auf die gleiche Weise verarbeitet, um die nächsten vier Zeilen von Grauwerten zu bilden. Dieser Vorgang wird fortgesetzt, bis ein vollständiger Entwurf aus dem Bitmap-Trennungsmuster erzeugt worden ist.
  • Gemäß einer Funktion der Erfindung können Grauwertentwürfe verschiedener Trennungen einer gemeinsamen Druckvorlage übereinandergelegt und auf einem Monitor als zusammengesetztes Bild angezeigt werden. In diesem Fall würde jedem Entwurf eine andere Basisfarbe zugeordnet, wobei für die Tonvariationen dieser Farbe Grauwerte codiert werden. Obwohl die Farbgebung der zusammengesetzten Abbildung nicht mit der gedruckten Version der Druckvorlage übereinstimmen würde (insofern als ein Farbmonitor mit linearen Kombinationen der additiven primären Farben rot, grün und blau arbeitet und die Farbdruckverfahren mit der Bildung von linearen Kombinationen der subtraktiven primären Farben zyanblau, gelb, magenta und schwarz), könnten jedoch die Variationen in der Farbgebung des zusammengesetzten Bilds verschiedene Moiré-Muster und bestimmte unerwünschte Effekte aufdecken, die sich aus der räumlichen Interaktion von zwei oder mehreren Halbtontrennungsmustern ergeben. Aufgrund der begrenzten Auflösung des Bildschirms kann ein solches zusammengesetztes Bild wahrscheinlich nicht alle Moiré-Muster und alle anderen unerwünschten Effekte aufdecken, die in einer gedruckten Reproduktion der Druckvorlage auftreten können. Gründe hierfür sind die Interaktion der Halbtontrennungsmuster und die fehlende Möglichkeit, Punktverstärkungseffekte aufzudecken. Alle im zusammengesetzten Entwurf vorhandenen Moire-Muster oder alle anderen unerwünschten Effekte werden jedoch aller Wahrscheinlichkeit nach in der gedruckten Reproduktion auftreten. Es könnte versucht werden, die in einem zusammengesetzten Entwurf aufgedeckten Effekte zu korrigieren.
  • Die Grundätze der vorliegenden Erfindung sind verständlich, wenn man die folgende detaillierte Beschreibung in Zusammenhang mit den beigefügten Abbildungen betrachtet:
  • FIG. 1 enthält ein Blockdiagrainm eines Systems, das das Verfahren der Erfindung implementiert;
  • FIG. 2 enthält ein Bitmap-Dokument, das vom Drucker 30 in FIG. 1 gedruckt werden soll;
  • FIG. 3 enthält die gesamte Dateistruktur einer CDPF-Druckdatei, z. B. die Datei 300, die vom Drucker 30 in FIG. 1 verwendet wird;
  • FIG. 4 enthält die Struktur jedes Datenabschnitts, der Teil der in FIG. 3 dargestellten CDPF-Datei 300 ist, und die konstituierenden Felder eines bestimmten Abschnitts, in dem die Bitmap- Daten gespeichert sind. Der Dokumentteil 210 aus FIG. 2 ist als Beispiel ebenfalls enthalten;
  • FIG. 5 enthält die Pel, die einen Teil des Bitmap-Dokuments in FIG. 2 bilden, und die entsprechenden Grauwerte, die durch das Verfahren der Erfindung für die Anzeige auf einem Videomonitor erzeugt werden;
  • FIG. 6 enthält die Organisation von verschiedenen Eingabe- und Ausgabepuffern und die entsprechenden Zeiger, wie sie im Verfahren der Erfindung verwendet werden;
  • FIG. 7 enthält ein vereinfachtes Blockdiagramm auf höherer Ebene des Verfahrens der Erfindung, das auf entsprechende Scans in drei Abschnitten des Bitmap der Halbtontrennungsdaten angewendet wird;
  • FIG. 8 enthält ein Flußdiagramm des Hauptprogramms 800, das das Verfahren der Erfindung implementiert, wenn es im Prozessor 20 in FIG. 1 ausgeführt wird;
  • FIG. 9 zeigt die korrekte Anordnung der Blätter von FIG. 9A bis 9H;
  • FIG 9A - 9H zeigen zusammen ein Flußdiagramm der Routine 3_ Bereiche_verarbeiten 900, die als Teil des Hauptprogramms 800 in FIG. 8 ausgeführt wird.
  • Um das Lesen zu vereinfachen, wurden, wo möglich, identische Referenznummern verwendet, die identische, in allen Figuren vorkommende Elemente bezeichnen.
  • Nach dem Lesen der folgenden Beschreibung wird für den Fachmann ersichtlich, daß das Verfahren der Erfindung auf eine große Anzahl von verschiedenen Situationen angewendet werden kann, um einen visuellen Entwurf von einer relativ hoch auf lösenden Bitmap-Druckdatei auf einem Bildschirm mit niedriger Auflösung zu erzeugen. Zur Illustration wird das Verfahren der Erfindung in folgendem Kontext beschrieben: Das Bitmap einer CDPF-Halbtondruckdatei, die für den IBM Elektroerosionsdrucker Modell 4250 mit einer Auflösung von 600 Dots per Inch (ca. 236 Dots per Centimeter) erzeugt wurde, wird in eine Datei umgesetzt, die für die Anzeige auf einem Videomonitor geeignet ist, wie beispielsweise der IBM Bildschirm Modell 8514 mit 64 Graustufen und einer Auflösung von 1024 horizontalen Pixel mal 768 Zeilen. Das Verfahren der Erfindung stellt eine Entwurfsfunktion zur Verfügung, die in einem elektronischen Seitenerstellungs- und Satzherstellungssystem verwendet werden kann, das eine Gruppe von akzeptablen Farbtrennungen erzeugt. Ziel ist eine lesbare, einfarbige, auf dem Bildschirm angezeigte Version jeder Halbtontrennung, die eine Annäherung an eine gedruckte Version dieses Trennungsmusters darstellt. Das Verfahren dieser Erfindung kann außerdem in ein Computerprogramm integriert werden, wie beispielsweise ein Tabellenkalkulations- oder Textverarbeitungsprogramm, das eine Bitmap-Druckdatei erzeugt, um auf dem Bildschirm anzuzeigen, wie eine formatierte Seite anschließend gedruckt, beispielsweise von einem Matrix-, einem Laserdrucker o. ä., aussehen würde. Diese Entwurfsfunktion wird allgemein WYSIWYG (What You See Is What You Get) bezeichnet.
  • FIG. 1 enthält ein Blockdiagramm von System 5, das das Verfahren der Erfindung implementiert. Dieses System besteht aus dem Prozessor 20, dem Drucker 30, beispielsweise dem IBM Elektroerosionsdrucker Modell 4250 mit einer Auflösung von 600 Dots per Inch, und dem Videomonitor 40, beispielsweise dem IBM Bildschirm Modell 8514, der 64 Graustufen bei einer Auflösung von 1024 horizontalen Pixel mal 768 Zeilen darstellen kann. Bei diesem System werden mit einem bekannten Scanner, wie beispielsweise dem CCD-Scanner (Charge Coupled Device - ladungsgekoppelter Baustein) oder einem anderen, hier nicht gezeigten Scanner, Dokumentdaten für eine beliebige Trennung in abgestufter Form über die Linie 10 eingelesen. Diese Daten werden an den Prozessor 20 weitergeleitet, der ein beliebiger bekannter digitaler Prozessor, z. B. ein Mikroprozessor, sein kann. Softwaregesteuert rasterisiert dieser Prozessor die abgestuften, eingescannten Daten und bildet ein rasterisiertes Halbtontrennungsmuster, erzeugt das Bitmap einer Halbtondruckdatei mit relativ hoher Auflösung, vorzugsweise im CDPF-Format (Composed Document Printing Facility) für den Drucker 30, und setzt die CDPF-Druckdatei für dieses Halbtontrennungsmuster auf Anforderung durch einen hier nicht gezeigten Systemoperator in Grauwertdaten mit einer niedrigen Auflösung um, die sich für die Anzeige auf einem Videomonitor 40 als Entwurf eignet. Obwohl eine Vielzahl von Rasterisierungsverfahren angewendet werden kann, eignet sich für das Verfahren der Erfindung besonders das Rasterisierungsverfahren VORPRESSE (PRE- PRESS), das im Artikel "Digital Halftoning on the IBM 4250 Printer" (Digitale Halbtontrennung auf dem IBM Drucker Modell 4250) von G. Goertzel et al. im IBM Journal of Research and Development, Bd. 31, Nr. 1, Januar 1987, S. 2-15, im folgenden Goertzel-Veröffentlichung genannt, beschrieben wird. Der Entwurf repräsentiert eine Annäherung an die gedruckte Version, die sich nach dem Drucken auf Drucker 30 ergeben würde. Um eine Trennung zu drucken, leitet der Prozessor 20 die entsprechende CDPF- Druckdatei mit den entsprechenden Steuerbefehlen über 25 an den Drucker 30 weiter. Um den Entwurf einer Trennung anzuzeigen, leitet der Prozessor die zugehörigen Grauwertdaten über 35 an den Monitor 40 weiter. Um die folgende Beschreibung zu vereinfachen, bezieht sich der Terminus "Pel" im folgenden auf jeden Halbtonwert eines einzelnen Bit, das Teil des Bitmap eines Trennungsmusters ist, das in einer CDPF-Druckdatei gespeichert ist (siehe hierzu auch den Anhang auf den Seiten 13 und 14 der Goertzel-Veröffentlichung). Der Terminus "Pixel" hingegen bezieht sich im folgenden auf einen Mehrbitgrauwert für die Anzeige auf dem Monitor.
  • Wie im folgenden detailliert beschrieben wird, wird in dem Verfahren der Erfindung das Bitmap der Halbtontrennung mit relativ hoher Auflösung von 600 Dots per Inch in ein Bild mit niedriger Auflösung für die Anzeige auf dem Monitor 40 umgesetzt. Diese Umsetzung erfordert die Abstimmung der Halbtondruckdichte von 360.000 Dots per Square Inch (ca. 55.800 Dots per Square Centimeter) des Druckers 30, die bei einem Dokument von 8,5 mal 11 Zoll 33.66 Millionen Punkte ergibt, auf das Bitmap eines Grauwertbilds mit einer Auflösung von 1024 horizontalen Pixel mal 768 Zeilen. Das Verfahren der Erfindung beruht im wesentlichen auf der Bestimmung eines Grauwerts, der der Anzahl der Pel entspricht, die "an", d. h. schwarz, sind und sich innerhalb eines entsprechenden Bereichs des Bitmap des Trennungsmusters befinden. Für jeden einzelnen Bereich des Bitmap des Trennungsmusters wird ein separater Grauwert bestimmt. Es wird beispielsweise ein Bereich gewählt, der einem Block im Bitmap von sechs mal sechs Halbton-Pel-Werten entspricht, so daß diese Größe der Größe von zwei angrenzenden Halbtonzellen entspricht, die durch den VORPRESSE-Rasterisierungsprozeß erzeugt werden (jede Zelle beinhaltet drei mal sechs Pel). Eine Auflösung von ca. 100 Pixel per Inch (ca 39 Pixel per Centimeter) wird auf dem Monitor 40 angezeigt. Es können innerhalb eines Blocks von sechs mal sechs Pel nur zwischen null und 36 verschiedene Pel an sein, und das Verfahren der Erfindung erfordert nur 37 verschiedene Grauschattierungen für diese Blockgröße. Bei dieser Blockgröße wurde festgestellt, daß der sich ergebende Entwurf gut in die Anzeige des Monitors 40 paßt und keine merklichen störenden Moiré-Muster erzeugt. Das Verfahren der Erfindung kann jedoch auf jede Blockgröße angewendet werden, wie beispielsweise auf Blöcke der Größe acht mal acht und vier mal vier sowie auf rechtwinklige Blöcke oder andere Blockformen. Blockgröße und -form hängen von der Geometrie der Halbtonzelle ab, die durch den Rasterisierungsprozeß erzeugt wird, und der Stärke der Komprimierung, die erforderlich ist, um die Auflösung des rasterisierten Halbtontrennungsmusters auf die des gewünschten angezeigten Bilds abzustimmen. Es ist möglich, die Blockgröße für eine gegebene Anzeige dynamisch und lokal zu verändern, beispielsweise zu verkleinern, um mit einer Zoom-Funktion die angezeigte Größe eines ausgewählten Bereichs des Entwurfs zu vergrößern.
  • Um das umfassende Verständnis des Verfahrens der Erfindung und des Prinzips sicherzustellen, durch das das Bitmap eines Halbtontrennungsmusters mit relativ hoher Auflösung, das im CDPF- Format vorliegt, in eine Anzeige mit einer relativ niedrigen Auflösung umgesetzt wird, wird zunächst das CDPF-Format kurz beschrieben und im Anschluß das Verfahren im einzelnen.
  • In Fig. 2 wird das Bitmap eines Halbtontrennungsmusters 200 dargestellt, das vom Drucker 30 in Fig. 1 gedruckt werden soll. Das Muster ist von der oberen linken Ecke ausgehend in horizontale Abschnitte aufgeteilt, die acht Pel hoch sind. Jede Gruppe von acht Pel wird im folgenden mit "Scan" bezeichnet. Jeder Abschnitt verläuft horizontal von der linken zur rechten Ecke der Trennung in der durch den Pfeil 240 angezeigten Richtung und enthält Pel-Daten für den darin enthaltenen Teil der Trennung 200. Aufeinanderfolgende Abschnitte verlaufen im Bild vertikal in der durch den Pfeil 230 angezeigten Richtung. Eine vertikal angrenzende Anzahl von Abschnitten, beispielsweise drei Abschnitte, bildet einen horizontalen Streifen entlang des Bilds. Ein Teil eines Abschnitts, beispielsweise der erste Teil, wird als Teil 210 gezeigt. Teil 210 enthält die Scans 2101, 2102, 2108. Bei dieser Anordnung von Sans im Bitmap des Halbtonmusters speichert die CDPF-Datei jeden Abschnitt als eine Abfolge von Byte, wobei jedes Byte einen Achtbitwert enthält, der mit den Bitmap-Pel-Daten im entsprechenden Scan übereinstimmt. Ohne Komprimierung besteht, wie unten beschrieben, ein 1:1-Verhältnis zwischen jedem Scan eines Abschnitts und dem zugehörigen Datenbyte.
  • Aufbauend darauf enthält Fig. 3 die gesamte Dateistruktur einer CDPF-Druckdatei, beispielsweise Datei 300, die vom Drucker 30 in Fig. 1 verwendet wird. Wie hier gezeigt, werden die Daten für jeden Abschnitt separat aufgenommen. Die Abschnitte folgen in der CDPF-Datei aufeinander und beginnen oben in der Trennung, beispielsweise Abschnitt 1, Abschnitt 2 usw. Um nicht erforderliche Daten aus einem Abschnitt zu eliminieren, wird jeder weiße Bereich, der unmittelbar vor dem Ende eines Abschnitts auftritt, d. h. Bereiche, in denen die Pel "0" bzw. "aus" sind, nicht codiert. Jeder Abschnitt wird mit zwei Feldern gespeichert: ein Feld für den Abschnittskopf und ein Feld für die Bilddaten des Abschnitts (ABD). Abschnittsdaten (Abschnittskopf und zugehörige Abschnittsbilddaten - ABD) werden in einem entsprechenden Feld für Bildrasterdaten (BRD) gespeichert, das Teil eines BRD-Satzes innerhalb der CDPF-Datei ist. In jedem BRD-Satz geht dem BRD- Feld ein BRD-Begrenzungsfeld voraus, wie beispielsweise BRD- Begrenzungsfeld 320. Die Länge des BRD-Felds ist auf 2 KB begrenzt. Die Bilddaten eines Abschnitts können auf aufeinanderfolgende BRD-Felder aufgeteilt werden, wie beispielsweise die Abschnitte 350 und 360. Abschnittsköpfe können nicht über aufeinanderfolgende BRD-Feldgrenzen hinaus aufgeteilt werden. Ein Abschnittskopf, beispielsweise Kopf 330, enthält verschiedene Felder, wie im Zusammenhang mit Fig. 4 im einzelnen erklärt wird, die zahlreiche Attribute der zugehörigen Abschnittsbilddaten angeben. Der Begrenzer für das Dateiende 370 folgt nach dem Ende des letzten Abschnitts, um das Ende der CDPF-Datei zu markieren. Der Dateikopfbegrenzer 310 befindet sich am Dateianfang und kennzeichnet den Anfang der Datei. Dieser Begrenzer wird von den Feldern X-DIM und Y-DIM gefolgt, die dem Drucker die x- und y-Dimensionen des codierten Bilds angeben. Diese Dimensionen werden danach auch vom Prozessor 20 (siehe Fig. 1) verwendet, um ausreichend Speicherplatz zuzuordnen, damit das gesamte Bitmap des Halbtontrennungsmusters, das in der Datei 300 gespeichert ist, in die entsprechenden Grauwerte umgesetzt wird.
  • Bei dieser Gesamtstruktur der Datei enthält Fig. 4 die Struktur jedes Datenabschnitts, der Teil der CDPF-Datei in Fig. 3 ist, insbesondere die konstituierenden Felder eines bestimmten Abschnitts, i. e. Abschnitt 1, der Bitmap-Daten speichert, die beispielsweise den Teil des Bitmap-Dokuments 210 in Fig. 2 beinhaltet. Wie in Fig. 4 gezeigt, beinhaltet Abschnitt 1 den Abschnittskopf 330 und die Abschnittsbilddaten 340. Der Abschnittskopf enthält acht Byte. Byte 1 und 2 bilden zusammen ein Feld von 16 Bit, i. e. Feld 431, in dem die ersten zwei Bit, i. e. Bit < 1 > und < 2 > , jeweils die Markierung für vertikale Plazierung und die Markierung für keine Komprimierung speichern und die übrigen Bit, i. e. Bit < 16:3 > unbenutzt (reserviert) bleiben und vom Drucker ignoriert werden. Die Markierung für vertikale Plazierung gibt an, wo der Abschnitt in einem Fenster des zusammengesetzten Bilds im Bezug auf eine vertikale Richtung plaziert werden soll. Ist diese Markierung null, wird der Abschnitt an der nächstliegenden vordefinierten Acht-Pel-Grenze des Fensters plaziert. In diesem Fall ist der größtmögliche vertikale Pel- Fehler vier Pel (nach unten oder oben), was bei einer Auflösung von 600 Dots per Inch einem Wert von 0,00666 Zoll (0,0169 Zentimeter) entspricht. Ist diese Markierung jedoch eins, folgt ein Abschnitt unmittelbar auf den nächsten, unabhängig davon, ob dieser Abschnitt an einer vordefinierten Ach-Pel-Grenze beginnt oder nicht. Um eine gleichmäßige Plazierung der Abschnitte im gesamten gedruckten Trennungsmuster sicherzustellen, sollte diese Markierung für jeden Abschnitt im gesamten Trennungsmuster auf eins gesetzt sein. Die Markierung für keine Komprimierung gibt an, ob die Abschnittsbilddaten in komprimierter Form gespeichert werden. Jeder Scan kann einen von drei Datentypen enthalten: alle Pel sind weiß (acht "0"-Werte), alle Pel sind schwarz (acht "1"-Werte), oder es liegt ein Grauwert vor (eine Achtbitmischung aus "0"- und "1"-Werten). Ist die Markierung für keine Komprimierung eins, ist das Datenbyte für jeden Scan nacheinander im entsprechenden ABD-Feld gespeichert, wobei ein 1:1- Verhältnis zwischen jedem Scan in diesem Abschnitt und einem darin gespeicherten Byte vorliegt, mit der Ausnahme, daß nachfolgende weiße Scans nicht codiert werden. Ein Abschnitt endet immer mit einem schwarzen oder grauen Wert. Ist die Markierung für keine Komprimierung null, wird eine beliebige zusammenhängende Serie von weißen oder schwarzen Scans zu zwei Achtbitfeldern komprimiert, wie durch die Felder 441a und 441b dargestellt, und in einem nachfolgenden Komprimierungsfolgenfeld von 16 Bit, beispielsweise Feld 441, im ABD-Feld gespeichert. In dem Komprimierungsfolgenfeld speichert das erste Byte einen Komprimierungstypindikator, durch Feld 441a dargestellt, der in Hexschreibweise entweder "00" für eine Serie von weißen Pel oder "FF" für eine Serie von schwarzen Pel ist. Das zweite Byte, i. e. ein Folgenzähler, durch Feld 441b dargestellt, speichert einen Achtbitwert, der bis zum Wert von "255" anzeigt, wie oft entweder ein schwarzes oder weißes Scan nacheinander vorkommt. Für Folgen mit mehr als "255" identischen Scans werden aufeinanderfolgende Komprimierungsfolgenfelder verwendet. Um die in den Scans 2101, 2102 und 2103 gespeicherten weißen Daten zu komprimieren, wird der Komprimierungstyp auf "00" und der Folgenzähler auf "03" gesetzt, wie in den Feldern 441a und 441b angegeben. Die Linie 510 symbolisiert das Verhältnis zwischen den Scans und dem Feld 441. Die Felder 441a und 441b werden als Komprimierungsfolge 441 innerhalb ABD 340 gespeichert. Um die in den Scans 2106, 2107 und 2108 gespeicherten schwarzen Daten zu komprimieren, wird der Komprimierungstyp auf "FF" und der Folgenzähler auf "03" in der Komprimierungsfolge 447 innerhalb ABD 340 gesetzt. Die Linie 530 symbolisiert die Entsprechnung zwischen den Scans und dem Feld 447. Grauwerte, die in den Scans 2104 und 2105 vorhanden sind, werden einfach als Einzelbyte gespeichert, wie beispielsweise die Byte 443 und 445 im ABD-Feld. Die Linie 520 symbolisiert das Verhältnis zwischen den Scans und den Feldern 443 und 445. Nicht komprimierte Bilddaten für die Scans 2101, 2102, 2103, 2104, 2105, 2106, 2107 und 2108 werden codiert in den Feldern 442a, 442b, 442c, 443, 445, 447a, 447b und 447c dargestellt. Obwohl nicht komprimierte weiße und schwarze Scandaten im CDPF-Format zulässig sind, ist jede sich aus diesem Codiersystem ergebende Datenstruktur ineffizient und daher zu vermeiden. Die folgende Beschreibung setzt voraus, daß alle weißen und schwarzen Scandaten nur in komprimierter Form vorliegen. Um die folgenden Ausführungen zu vereinfachen, bezieht sich ein "Datensatz" auf die Datenstruktur, in der jede nachfolgende Position von Halbton-Pel-Daten des Bitmap in einem Abschnitt gespeichert ist, i. e. ein Grauwertdatenbyte oder ein Komprimierungsfolgenfeld.
  • Die Byte 3 und 4 in einem Abschnittskopf, die zusammen das Feld 433 im Kopf 330 bilden, sind für andere Zwecke reserviert und auf "0000" gesetzt. Sie werden vom Drucker ignoriert. Die Byte 5 und 6, die zusammen das Feld 435 im Kopf 330 bilden, speichern einen 16-Bitzähler, i. e. den Sprungzähler, der die Anzahl der leeren Abschnitte angibt, die dem vorliegenden Abschnitt in der Datei direkt und geometrisch folgen. Um die Dateigröße zu reduzieren, werden leere Abschnitte nicht in der Datei gespeichert. Ist der Sprungzähler auf "0000" gesetzt, grenzt der nächste aufgenommene Abschnitt in der CDPF-Datei geometrisch im Trennungsmuster an den vorhergehenden Abschnitt in der Datei. Die Byte 7 und 8, die zusammen das Feld 437 bilden, speichern einen 16-Bitzähler, i. e. den Zähler für die Abschnittsdatengröße, der die Größe der folgenden ABD-Daten in Byte angibt. Dieser Zähler kann aufgrund der Komprimierung von aufeinander folgenden Scans und des Vorhandenseins eines nicht aufgenommenen nachfolgenden weißen Bereichs am Ende eines Abschnitts variieren. Ist die Abschnittsdatengröße null, sind in diesem Abschnitt keine Abschnittsbilddaten vorhanden. Diese Abschnitte sind nur als erster Abschnitt in einer CDPF-Datei zulässig, um einen weißen Bereich am Anfang des gedruckten Trennungsmusters aufzunehmen. Alle weiteren vorkommenden leeren Bereiche werden mit dem Sprungzählerfeld codiert.
  • Fig. 5 enthält das Verhältnis zwischen den Pel, die aufeinanderfolgende Scans ergeben, und den entsprechenden Grauwerten, die durch das Verfahren der Erfindung für die Anzeige auf einem Videomonitor erzeugt werden. Wie oben gezeigt und beschrieben, werden vier vertikal angrenzende Mehrbitgrauwerte erzeugt, indem eine Gruppe von vier entsprechenden vertikal angrenzenden Blökken von sechs mal sechs Pel Scandaten verarbeitet werden. Die Grauwerte G01, G02, G03 und G04 in Spalte 550 und G11, G12, G13 und G14 in Spalte 560 ergeben sich beispielsweise aus der Verarbeitung von Pel-Scandaten in vier vertikal angrenzenden Blökken von sechs mal sechs Pel, die jeweils die Gruppen 505 und 515 bilden, wie durch die entsprechenden Linien 555 und 565 symbolisiert wird.
  • Wie oben erwähnt, speichert eine CDPF-Datei Abschnitte von Scandaten mit einer Höhe von acht und nicht sechs Pel. Um vier Blöcke von sechs mal sechs Pel aus Achtbitscandaten zu bilden, werden drei Abschnitte mit Scandaten verwendet, beispielsweise die Abschnitte 510, 520 und 530. Diese Abschnitte enthalten 24 vertikal angeordnete Pel-Bit, die wiederum in mehrere Cluster aufgeteilt werden. Die Cluster werden kombiniert, so daß sich vier aufeinanderfolgende Spalten von sechs vertikal angeordneten, angrenzenden Pel ergeben. Die gesamte Anzahl der Pel, die in einem Block von sechs mal sechs Pel, beispielsweise Block 5051, "an" bzw. schwarz sind, wird mit dem Ergebnis für jeden Block akkumuliert (Wert zwischen 0 und 36), woraus sich ein entsprechender Grauwert ergibt, beispielsweise der Wert G01. Bei einem Rasterisierungswinkel von 45 Grad werden die Pel-Cluster 540A, 540B, 540C, 540D, 540E und 540F mit sechs, zwei, vier, vier, zwei und sechs Pel-Werten assembliert und danach kombiniert, so daß sich vier Spalten mit einer Höhe von sechs Pel ergeben, die sich voneinander getrennt in den Blöcken 5051, 5052, 5053 und 5054 befinden. Cluster 540A enthält sechs Pel und besetzt somit eine gesamte Spalte in Block 5051. Cluster 540B enthält die übrigen zwei Pel des ersten Scan von Abschnitt 510. Dieser Cluster wird mit Cluster 540C zusammengefaßt, der die ersten vier Pel in Abschnitt 520 enthält, und zusammen ergibt sich eine Spalte von Block 5052. Da Cluster 540D die übrigen vier Pel des ersten Scan von Abschnitt 520 enthält, wird dieser Cluster mit Cluster 540E zusammengefaßt, der die ersten zwei Pel in Abschnitt 530 enthält, und zusammen ergibt sich eine Spalte von Block 5053. Cluster 540F enthält schließlich die übrigen sechs Pel in Abschnitt 530 und bildet eine ganze Spalte von Block 5054. Die Anzahl der Pel, die jeden Cluster bilden, die Anzahl der verwendeten Cluster und die Art und Weise, in der die einzelnen Cluster kombiniert werden, um die entsprechenden Spalten zu bilden, wird primär durch die Differenz zwischen der Auflösung des Bitmap der Halbtontrennung und der Auflösung des angezeigten Bilds sowie dem Rasterisierungswinkel der Trennung bestimmt.
  • Nachdem die CDPF-Druckdatei und der Zusammenhang zwischen den Pel, die aufeinander folgende Scans bilden, und den entsprechenden Grauwerten, die durch das Verfahren der Erfindung erzeugt werden, ausführlich beschrieben wurden, wird im folgenden das Verfahren selbst eingehend beschrieben.
  • Fig. 6 enthält die Organisation verschiedener Eingabe- und Ausgabepuffer und der entsprechenden Zeiger, die im Verfahren der Erfindung verwendet werden. Die Eingabepuffer 610 bestehen aus den drei einzelnen Puffern 613, 615 und 617, in denen die Datensätze von drei aufeinanderfolgenden Abschnitten von Halbton-Pel- Daten, beispielsweise 51, 52 und 53, gespeichert sind, die gerade verarbeitet werden, um die entsprechenden Grauwerte zu erzeugen. Ein Zeiger, beispielsweise SP1, SP2 und SP3, wird jeweils einem Eingabepuffer, beispielsweise 613, 615 und 617, zugeordnet. Er verweist auf die Position im Puffer, die gerade verarbeitet wird. Alle drei Eingabepuffer haben dieselbe Länge, obwohl die drei Abschnitte, wie oben beschrieben, aufgrund von Komprimierung und nachfolgenden weißen Bereichen eine verschiedene Anzahl (hier mit i, j und k dargestellt) von individuellen Datensätzen enthalten können. Ein Begrenzer "0000" wird in jedem Eingabepuffer hinter den letzten darin gespeicherten Datensatz plaziert, um das Ende des Abschnitts zu signalisieren. Der Ausgabepuffer 620 ist ein Bereich der Größe vier mal m, der vier Zeilen Ausgabegrauwerte speichert, die sich aus der Verarbeitung von drei Abschnitten von Bilddaten ergeben. Jede Spalte im Ausgabepuffer speichert vier Grauwerte, beipielsweise AUS1, AUS2, AUS3 und AUS4, die einem entsprechenden Block von sechs mal sechs Halbton-Pel-Daten zugeordnet werden. Ein Zeiger, AUSP, zeigt auf die bestimmte Spalte im Ausgabepuffer, die gerade geschrieben wird.
  • Fig. 7 enthält ein vereinfachtes Blockdiagramm auf höherer Ebene des Verfahrens der Erfindung. Das Verfahren wird auf Scans in drei Abschnitten von Halbtontrennungsdaten des Bitmap angewendet. Jede Gruppe der drei Achtbitbyte, die drei entsprechende vertikal angeordnete Scans, 51, 52 und 53 repräsentiert, bildet, wie durch die Linien 715, 725 und 735 symbolisiert, die Eingabe in sechs Referenztabellen mit "256" Werten, die Tabellen 740, 750, 760, 770, 780 und 790. Jedes Byte wird als Eingabe in zwei getrennte Tabellen geleitet. Jede Tabelle speichert eine Zahl, die die gesamte Anzahl der Pel repräsentiert, die für die zu untersuchenden Eingabe-Pel "an" sind. Für jede Achtbiteingabe in Scan S1 hält die Tabelle 740 (auch mit TABELLE A bezeichnet) einen Wert A(S1) bereit, der die Anzahl der Eingabe-Pel repräsentiert, die in Bit 0 bis 5 von Scan S1 "1" (schwarz) sind. Dieser Wert ist der Ausgabegrauwert AUS1, wie durch die Linie 745 dargestellt. Dieselben acht Bit, die Scan S1 bilden, werden ebenfalls auf Tabelle 750 (auch mit TABELLE B bezeichnet) angewendet, die einen Wert B(S1) bereithält, der die Anzahl der Eingabe-Pel repräsentiert, die in Bit 6 und 7 von Scan S1 "1" (schwarz) sind. Für jede Achbiteingabe in Scan S2 hält Tabelle 760 (auch mit TABELLE C bezeichnet) einen Wert C(S2) bereit, der die Anzahl der Eingabe-Pel repräsentiert, die in Bit 0 bis 3 von Scan S2 "1" (schwarz) sind. Die Ausgabe aus den Tabellen 750 und 760, i. e. B(S1) und C(S2), werden summiert und ergeben den Ausgabegrauwert AUS2, wie durch das Summierelement 767 und die Linien 755, 763 und 769 dargestellt. Die acht Bit, die Scan S2 bilden, werden ebenfalls auf Tabelle 770 (auch mit TABELLE D bezeichnet) angewendet, die einen Wert D(S2) bereithält, der die Anzahl der Eingabe-Pel repräsentiert, die in Bit 4 bis 7 von Scan S2 "1" (schwarz) sind. Für jede Achtbiteingabe in Scan S3 hält Tabelle 780 (auch mit TABELLE E bezeichnet) einen Wert E(S3) bereit, der die Anzahl der Eingabe-Pel repräsentiert, die in Bit 0 und 1 von Scan S3 "1" (schwarz) sind. Die Ausgabe aus den Tabellen 770 und 780, i. e. D(S2) und E(S2), werden summiert und ergeben den Ausgabegrauwert AUS3, wie durch das Summierelement 787 und die Linien 775, 783 und 789 dargestellt. Für jede Achtbiteingabe in Scan S3 hält Tabelle 790 (auch mit TABELLE F bezeichnet) einen Wert F(S3) bereit, der die Anzahl der Eingabe- Pel, die in Bit 2 bis 7 von Scan S3 "1" (schwarz) sind. Dieser Wert ist der Ausgabegrauwert AUS4, wie durch die Linie 795 dargestellt. Diese Referenz- und Summieroperationen werden iterativ für alle sechs Scans ausgeführt, die vier entsprechende aufeinanderfolgende Blöcke von sechs mal sechs Pel bilden, wobei sich die Ausgabewerte AUS1, AUS2, AUS3 und AUS4 ergeben, die über die sechs Scans akkumuliert werden (in Fig. 7 nicht dargestellt), um die vier Grauwerte zu bilden, die den Blöcken entsprechen. Der gesamte Prozeß wird für jede aufeinanderfolgende Gruppe von drei Abschnitten im Bitmap der Halbtontrennung wiederholt. Da Speicherplatz relativ billig ist, werden alle Tabellen auf eine gemeinsame Größe von 256 Werten gesetzt, um die Notwendigkeit von Eingabemaskierungsoperationen zu umgehen, wodurch die Ausführungszeit reduziert wird.
  • Fig. 8 enthält ein Flußdiagramm des Hauptprogramms 800, das das Verfahren der Erfindung implementiert, wenn es im Prozessor 20 in Fig. 1 ausgeführt wird. Nach dem Start der Routine erfolgt die Ausführung von Block 810. Dieser Block lädt bei seiner Ausführung alle sechs Referenztabellen, i. e. TABELLE A, .., TABELLE F, mit den entsprechenden Werten. Danach wird Block 820 ausgeführt, in dem die Felder X-DIM und Y-DIM im Kopfsatz einer ausgewählten CDPF-Druckdatei gelesen werden, für die ein Entwurf erstellt werden wird. Diese Dimensionen werden dann vom Betriebssystem im Prozessor verwendet, um ausreichend Speicherplatz für die Verwendung als temporäre Puffer, beispielsweise die Eingabe- und Ausgabepuffer, zuzuordnen. Danach wird Block 830 ausgeführt, in dem eine Anzahl von Datensätzen aus der CDPF- Druckdatei gelesen wird, die ausreicht, um drei ganze Abschnitte zu ergeben. Die Datensätze für jeden Abschnitt werden jeweils in einen separaten Eingabepuffer geladen. Dieser Block hängt auch den Begrenzer "0000" an den letzten Datensatz in jedem Eingabepuffer, um das Ende der Daten für den darin gespeicherten Abschnitt zu signalisieren. Ein solcher Begrenzer eliminiert die Notwendigkeit, die Anzahl der Datensätze in jedem Abschnitt zu verfolgen, wodurch Verarbeitungszeit gespart wird. Nach vollständiger Ausführung von Block 830 wird der Entscheidungsblock 840 ausgeführt. Bei der Ausführung dieses Blocks wird festgelegt, ob ein Begrenzer für das Dateiende erreicht wurde, während Datensätze für jeden der drei Abschnitte von Block 830 gelesen wurden. Wurde der Begrenzer für das Dateiende erreicht, wird das Hauptprogramm 800 über den JA-Pfad 843 verlassen, der aus dem Entscheidungsblock 840 herausführt. An diesem Punkt ist das Bitmap der Halbtontrennung in die entsprechenden Grauwerte umgesetzt, und die Verarbeitung dieser Trennung ist abgeschlossen. Wurde jedoch kein Begrenzer für das Dateiende erreicht, erfolgt die weitere Ausführung über den NEIN-Pfad 847. Bei der Ausführung von Block 850 wird die Routine 3_Abschnitte_verarbeiten 900 (siehe Beschreibungen von Fig. 9A bis 9H) aufgerufen, um die drei Abschnitte von Bilddaten zu verarbeiten und vier Zeilen von entsprechenden Grauwerten für die nachfolgende Anzeige zu erzeugen. Nach der vollständigen Ausführung dieser Routine kehrt die Ausführung über den Pfad 855 zu Block 830 zurück, um Datensätze für die nächsten drei Abschnitte zu lesen usw.
  • In Fig. 9A bis 9H zusammen wird ein Flußdiagramm der Routine 3_Abschnitte_verarbeiten 900 dargestellt, die als Teil des Hauptprogramms 800 in Fig. 8 ausgeführt wird. Die richtige Anordnung der Abbildungen wird in Fig. 9 gezeigt. Wie oben erwähnt, verarbeitet diese Routine drei vollständige Abschnitte des Bitmap der Halbtontrennungsdaten, und es ergeben sich vier vollständige Zeilen von Grauwerten.
  • Nach dem Start der Routine 900 wird Block 901 ausgeführt. Der Inhalt der Eingabezeiger SP1, SP2 und SP3 und des Ausgabezeigers AUSP wird auf null, i. e. auf die erste Position in jedem der Puffer, gesetzt. Danach fährt die Ausführung mit Block 903 fort, der den Inhalt der vier Ausgabevariablen AUS1, AUS2, AUS3 und AUS4 und einen Schleifenzähler, ZÄHLER, auf null setzt. Danach erfolgt die Ausführung der Routine zur Verarbeitung von Abschnitt 1 910, in der die Scandaten des ersten der drei Abschnitte verarbeitet werden.
  • Nach dem Start von Routine 910 wird zuerst der Entscheidungsblock 913 ausgeführt, der den Inhalt des Eingabepuffers, i. e. Puffer S1, liest und testet, der den ersten Abschnitt an dem Inhalt speichert, der vom Zeiger SP1 (der beim Start des ersten Durchgangs der Routine 910 auf die erste Position im Abschnitt 1 verweist) angegeben wurde, um zu bestimmen, ob die an dieser Position gespeicherten Daten gleich "00" sind. Hat der Inhalt dieser Position den Wert "00", bedeutet das, daß entweder ein aktueller Datensatz eine Abfolge von komprimierten weißen Scans enthält oder daß ein Begrenzer für das Abschnittsende ("0000") erreicht wurde. Enthält die Position den Wert "00", fährt die Ausführung über den JA-Pfad fort, der aus dem Entscheidungsblock 913 heraus zum Entscheidungsblock 917 führt. Dieser Entscheidungsblock liest und testet den Inhalt des darauffolgenden Byte im ersten Abschnitt, um zu bestimmen, ob dieser ebenfalls "00" enthält. Ist das der Fall, wurde ein Begrenzer für das Abschnittsende erreicht. Das bedeutet, daß alle Bilddaten des ersten Abschnitts verarbeitet und die Grauwerte für die aktuellen drei Abschnitte erzeugt wurden. An diesem Punkt verläßt die Ausführung die Routine 900 über den JA-Pfad 920, der aus dem Entscheidungsblock 917 herausführt. Ist der Inhalt des darauffolgenden Datenbyte jedoch nicht "00", liegen komprimierte weiße Scandaten vor. In diesem Fall leitet der Entscheidungsblock 917 die Ausführung über den NEIN-Pfad 919 an die S1 Routine zur Dekomprimierung von weißen Daten 970 weiter, damit die komprimierten weißen Scandaten entsprechend verarbeitet werden. Nach dem Start der Routine 970 wird der Entscheidungsblock 972 ausgeführt, um zu bestimmen, ob der aktuelle Datensatz einen einzelnen weißen Scan enthält. Dieser Entscheidungsblock testet bei seiner Ausführung, ob der Inhalt des folgenden Datenbyte größer als eins ist. Ist das der Fall, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer Komprimierungsfolge und gibt die Anzahl der hintereinander vorkommenden weißen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 972 die Ausführung über den JA-Pfad zu Block 974 weiter. Dieser verringert den Inhalt dieses Folgenzählers lediglich um eins und speichert den verringerten Wert zurück im entsprechenden Byte im ersten Eingabepuffer. Da nur schwarze vorkommende Pel in einem Block akkumuliert werden, um entsprechende Grauwerte zu erzeugen, erfolgt bei Vorliegen eines weißen Scans keine Änderung in einem der vier Ausgabewerte. Nach der Verringerung des Folgenzählers verläßt die Ausführung die Routine 970 über den Pfad 975 und fährt mit Pfad 980 fort. Ist jedoch der Inhalt des nachfolgenden Byte nicht größer als eins, enthält der aktuelle Datensatz nur einen weißen Scan. In diesem Fall wird die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 972 herausführt, zu Block 976 weitergeleitet. Dieser Block erhöht den Inhalt des Zählers SP1 lediglich um zwei, um auf den Start des nächsten folgenden Datensatzes im Eingabepuffer S1 zu verweisen. Danach verläßt die Ausführung die S1 Routine zum Dekomprimieren von weißen Daten 970 über den Pfad 977 und geht zu Pfad 980 über.
  • Falls der Entscheidungsblock 913 bestimmt, daß der Inhalt von Puffer S1 an der vom Zeiger SP1 angegebenen Position nicht "00" ist, i. e. es liegt entweder ein schwarzer oder grauer Scan vor, wird die Ausführung vom Entscheidungsblock über den NEIN-Pfad zum Entscheidungsblock 923 weitergeleitet. Dieser Entscheidungsblock testet, ob der Inhalt an dieser Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht. Falls der Inhalt nicht gleich "FF" ist, liegt an dieser Position ein Datensatz für einen grauen Scan vor. Der Entscheidungsblock 923 leitet die Ausführung über den NEIN-Pfad 925 zur S1 Routine für die Verarbeitung von Grauwertdaten 930 weiter. Nach dem Start dieser Routine, wird Block 933 ausgeführt. Dieser Block akkumuliert die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den sechs Pel vorkommen, die den Cluster 540A bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift Block 933, wie in Fig. 9A bis 9H gezeigt, auf TABELLE A mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUSI wird dann mit der sich ergebenden Anzahl aus der Tabelle aktualisiert. Block 933 akkumuliert auch die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den zwei Pel vorkommen, die den Cluster 540B bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift dieser Block, wie in Fig. 9A bis 9H gezeigt, auf TABELLE B mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUS2 wird dann mit der sich ergebenden Anzahl aus dieser Tabelle aktualisiert. Nach der Aktualisierung dieser beiden Variablen geht die Ausführung zu Block 937 über, der den Wert des Zeigers SP1 um eins erhöht, um auf den Start des nächsten Datensatzes im Abschnitt S1 zu verweisen. Danach verläßt die Ausführung die Routine zur Verarbeitung von Grauwertdaten 930 über den Pfad 939 und geht zu Pfad 980 über.
  • Falls der Entscheidungsblock 923 bestimmt, daß der Inhalt von Puffer S1 an der vom Zeiger SP1 angegebenen Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht, leitet dieser Entscheidungsblock die Ausführung über den JA-Pfad 924 zur S1 Routine zur Dekomprimierung und Verarbeitung von schwarzen Daten 950 weiter. Nach dem Start dieser Routine wird Block 951 ausgeführt, um den Wert der Variablen AUS1 und AUS2 bei gegebenen schwarzen Scandaten entsprechend zu aktualisieren. Da alle acht Pel bei einem schwarzen Scan "an" sind, i. e. die sechs Pel in Cluster 540A (siehe Fig. 5) sind "1", und die zwei Pel in Cluster 540B sind ebenfalls "1", erfordert diese Aktualisierungsoperation lediglich die Addition der Werte "6" und "2" zu dem aktuellen Inhalt der Variablen AUS1 und AUS2. In diesem Fall sind keine Referenzoperationen erforderlich. Danach wird mit der Ausführung des Entscheidungsblocks 953 fortgefahren, wie in Fig. 9A bis 9H gezeigt. Dieser Entscheidungsblock bestimmt, ähnlich wie der oben beschriebene Entscheidungsblock 972, ob eine einzelne schwarze Scandateninformation im aktuellen Datensatz für den zweiten Abschnitt vorliegt ist. Der Entscheidungsblock 953 liest bei der Ausführung den Inhalt des nachfolgenden Datenbyte und testet, ob der Inhalt dieses nachfolgenden Byte größer als eins ist. Ist der Inhalt größer als eins, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer komprimierten Folge und gibt die Anzahl der nacheinander vorkommenden schwarzen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 953 die Ausführung über den JA-Pfad zu Block 955 weiter. Bei der Ausführung dieses Blocks wird lediglich der Inhalt dieses Folgenzählers um eins verringert und der verringerte Wert im entsprechenden Byte im Eingabepuffer zurückgespeichert. Nach der Verringerung des Folgenzählers verläßt die Ausführung die Routine 950 über den Pfad 956 und geht zu Pfad 980 über. Ist der Inhalt des nachfolgenden Byte nicht größer als eins, liegt lediglich ein einzelner schwarzer Scan im aktuellen Datensatz vor. In diesem Fall geht die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 953 herausführt, zu Block 957 über. Bei der Ausführung dieses Blocks wird der Inhalt des Zeigers SP1 lediglich um zwei erhöht, um auf den Start des nachfolgenden Datensatzes im Eingabepuffer 51 zu verweisen. Danach verläßt die Ausführung die 51 Routine zur Dekomprimierung von schwarzen Daten über den Pfad 958 und geht zu Pfad 980 über.
  • Nach dem Erreichen von Pfad 980 ist der aktuelle Scan im Eingabepuffer S1 vollständig verarbeitet. An diesem Punkt wird der entsprechende Scan im Puffer S2 von der Routine für die Verarbeitung von Abschnitt 2 1010 und danach der entsprechende Scan im Puffer S3 von der Routine für die Verarbeitüng von Abschnitt 3 1110 verarbeitet. Die Routinen 1010 und 1110 führen im wesentlichen dieselben Verarbeitungsoperationen wie die Routine zur Verarbeitung von Abschnitt 1 910 aus. Nach dem Erreichen von Pfad 980 startet die Routine zur Verarbeitung von Abschnitt 2 1010, die die Scandaten für den zweiten der drei Abschnitte verarbeitet. Nach dem Start der Routine 1010 wird zuerst der Entscheidungsblock 1013 ausgeführt, der den Inhalt des Eingabepuffers, i. e. Puffer S2, liest und testet, der den zweiten Abschnitt an dem Inhalt speichert, der vom Zeiger SP2 (der beim Start des ersten Durchgangs der Routine 1010 auf die erste Position im Abschnitt 2 verweist) angegeben wurde, um zu bestimmen, ob die an dieser Position gespeicherten Daten gleich dem Wert "00" sind. Hat der Inhalt dieser Position den Wert "00", bedeutet das, daß entweder ein aktueller Datensatz eine Abfolge von komprimierten weißen Scans enthält oder daß ein Begrenzer für das Abschnittsende ("0000") erreicht wurde.
  • Enthält die Position den Wert "00", fährt die Ausführung über den JA-Pfad fort, der aus dem Entscheidungsblock 1013 heraus zum Entscheidungsblock 1017 führt. Dieser Entscheidungsblock liest und testet den Inhalt des darauffolgenden Byte im ersten Abschnitt, um zu bestimmen, ob dieser ebenfalls "00" enthält. Ist das der Fall, wurde ein Begrenzer für das Abschnittsende erreicht. Das bedeutet, daß alle Bilddaten des ersten Abschnitts verarbeitet und die Grauwerte für die aktuellen drei Abschnitte erzeugt wurden. An diesem Punkt verläßt die Ausführung die Routine 900 über den JA-Pfad 1020, der aus dem Entscheidungsblock 1017 herausführt. Ist der Inhalt des darauffolgenden Datenbyte jedoch nicht "00", liegen komprimierte weiße Scandaten vor. In diesem Fall leitet der Entscheidungsblock 1017 die Ausführung über den NEIN-Pfad 1019 an die S2 Routine zur Dekomprimierung von weißen Daten weiter, damit die komprimierten weißen Scandaten entsprechend verarbeitet werden Nach dem Start der Routine 1070 wird der Entscheidungsblock 1072 ausgeführt, um zu bestimmen, ob der aktuelle Datensatz einen einzelnen weißen Scan enthält. Dieser Entscheidungsblock testet bei seiner Ausführung, ob der Inhalt des folgenden Datenbyte größer als eins ist. Ist das der Fall, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer Komprimierungsfolge und gibt die Anzahl der hintereinander vorkommenden weißen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 1072 die Ausführung über den JA-Pfad zu Block 1074 weiter. Dieser verringert den Inhalt dieses Folgenzählers lediglich um eins und speichert den verringerten Wert zurück im entsprechenden Byte im ersten Eingabepuffer. Da nur schwarze vorkommende Pel in einem Block akkumuliert werden, um entsprechende Grauwerte zu erzeugen, erfolgt bei Vorliegen eines weißen Scans keine Änderung in einem der vier Ausgabewerte. Nach der Verringerung des Folgenzählers verläßt die Ausführung die Routine 1070 über den Pfad 1075 und fährt mit Pfad 1080 fort. Ist jedoch der Inhalt des nachfolgenden Byte nicht größer als eins, enthält der aktuelle Datensatz nur einen weißen Scan. In diesem Fall wird die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 1072 herausführt, zu Block 1076 weitergeleitet. Dieser Block erhöht den Inhalt des Zählers SP2 lediglich um zwei, um auf den Start des nächsten folgenden Datensatzes im Eingabepuffer S2 zu verweisen. Danach verläßt die Ausführung die S2 Routine zum Dekomprimieren von weißen Daten 1070 über den Pfad 1077 und geht zu Pfad 1080 über.
  • Falls der Entscheidungsblock 1013 bestimmt, daß der Inhalt von Puffer S2 an der vom Zeiger SP2 angegebenen Position nicht "00" ist, i. e. es liegt entweder ein schwarzer oder grauer Scan vor, wird die Ausführung vom Entscheidungsblock über den NEIN-Pfad zum Entscheidungsblock 1023 weitergeleitet. Dieser Entscheidungsblock testet, ob der Inhalt an dieser Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht. Falls der Inhalt nicht gleich "FF" ist, liegt an dieser Position ein Datensatz für einen grauen Scan vor. Der Entscheidungsblock 1023 leitet die Ausführung über den NEIN-Pfad 1025 zur S2 Routine für die Verarbeitung von Grauwertdaten 1030 weiter. Nach dem Start dieser Routine, wird Block 1033 ausgeführt. Dieser Block akkumuliert die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den sechs Pel vorkommen, die den Cluster 540C bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift Block 1033, wie in Fig. 9A bis 9H gezeigt, auf TABELLE C mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUS2 wird dann mit der sich ergebenden Anzahl aus der Tabelle aktualisiert. Block 1033 akkumuliert auch die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den zwei Pel vorkommen, die den Cluster 540D bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift dieser Block, wie in Fig. 9A bis 9H gezeigt, auf TABELLE D mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUS3 wird dann mit der sich ergebenden Anzahl aus dieser Tabelle aktualisiert. Nach der Aktualisierung dieser beiden Variablen geht die Ausführung zu Block 1037 über, der den Wert des Zeigers SP2 um eins erhöht, um auf den Start des nächsten Datensatzes im Abschnitt S2 zu verweisen. Danach verläßt die Ausführung die Routine zur Verarbeitung von Grauwertdaten 1030 über den Pfad 1039 und geht zu Pfad 1080 über.
  • Falls der Entscheidungsblock 1023 bestimmt, daß der Inhalt von Puffer S2 an der vom Zeiger SP2 angegebenen Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht, leitet dieser Entscheidungsblock die. Ausführung über den JA-Pfad 1024 zur S2 Routine zur Dekomprimierung und Verarbeitung von schwarzen Daten 1050 weiter. Nach dem Start dieser Routine wird Block 1051 ausgeführt, um den Wert der Variablen AUS2 und AUS3 bei gegebenen schwarzen Scandaten entsprechend zu aktualisieren. Da alle acht Pel bei einem schwarzen Scan "an" sind, i. e. die vier Pel in Cluster 540C (siehe Fig. 5) sind "1", und die vier Pel in Cluster 540D sind ebenfalls "1", erfordert diese Aktualisierungsoperation lediglich die Addition der Werte "4" und "4" zu dem aktuellen Inhalt der Variablen AUS2 und AUS3. In diesem Fall sind keine Referenzoperationen erforderlich. Danach wird mit der Ausführung des Entscheidungsblocks 1053 fortgefahren, wie in Fig. 9A bis 9H gezeigt. Dieser Entscheidungsblock bestimmt, ähnlich wie der oben beschriebene Entscheidungsblock 1072, ob eine einzelne schwarze Scandateninformation im aktuellen Datensatz für den zweiten Abschnitt vorliegt. Der Entscheidungsblock 1053 liest bei der Ausführung den Inhalt des nachfolgenden Datenbyte und testet, ob der Inhalt dieses nachfolgenden Byte größer als eins ist. Ist der Inhalt größer als eins, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer komprimierten Folge und gibt die Anzahl der nacheinander vorkommenden schwarzen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 1053 die Ausführung über den JA-Pfad zu Block 1055 weiter. Bei der Ausführung dieses Blocks wird lediglich der Inhalt dieses Folgenzählers um eins verringert und der verringerte Wert im entsprechenden Byte im Eingabepuffer zurückgespeichert. Nach der Verringerung des Folgenzählers verläßt die Ausführung die Routine 1050 über den Pfad 1056 und geht zu Pfad 1080 über. Ist der Inhalt des nachfolgenden Byte nicht größer als eins, liegt lediglich ein einzelner schwarzer Scan im aktuellen Datensatz vor. In diesem Fall geht die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 1053 heraus führt, zu Block 1057 über. Bei der Ausführung dieses Blocks wird der Inhalt des Zeigers SP2 lediglich um zwei erhöht, um auf den Start des nachfolgenden Datensatzes im Eingabepuffer S2 zu verweisen. Danach verläßt die Ausführung die S2 Routine zur Dekomprimierung von schwarzen Daten über den Pfad 1058 und geht zu Pfad 1080 über.
  • Nach dem Erreichen von Pfad 1080 ist der aktuelle Scan im Eingabepuffer S2 vollständig verarbeitet. Wie oben erwähnt, erfolgt die weitere Ausführung über Pfad 1080 zur Routine zur Verarbeitung von Abschnitt 3 1110, um den entsprechenden Scan im Eingabepuffer S3 für den dritten der drei Abschnitte zu verarbeiten. Nach dem Start der Routine 1110 wird zuerst der Entscheidungsblock 1113 ausgeführt, der den Inhalt des Eingabepuffers, i. e. Puffer 53, liest und testet, der den zweiten Abschnitt an dem Inhalt speichert, der vom Zeiger SP3 (der beim Start des ersten Durchgangs der Routine 1110 auf die erste Position in Abschnitt 3 verweist) angegeben wurde, um zu bestimmen, ob die an dieser Position gespeicherten Daten gleich dem Wert "00" sind. Hat der Inhalt dieser Position den Wert "00", bedeutet das, daß entweder ein aktueller Datensatz eine Abfolge von komprimierten weißen Scans enthält oder daß ein Begrenzer für das Abschnittsende ("0000") erreicht wurde.
  • Enthält die Position den Wert "00", fährt die Ausführung über den JA-Pfad fort, der aus dem Entscheidungsblock 1113 heraus zum Entscheidungsblock 1117 führt. Dieser Entscheidungsblock liest und testet den Inhalt des darauffolgenden Byte im ersten Abschnitt, um zu bestimmen, ob dieser ebenfalls "00" enthält. Ist das der Fall, wurde ein Begrenzer für das Abschnittsende erreicht. Das bedeutet, daß alle Bilddaten des ersten Abschnitts verarbeitet und die Grauwerte für die aktuellen drei Abschnitte erzeugt wurden. An diesem Punkt verläßt die Ausführung die Routine 900 über den JA-Pfad 1120, der aus dem Entscheidungsblock 1117 herausführt. Ist der Inhalt des darauffolgenden Datenbyte jedoch nicht "00", liegen komprimierte weiße Scandaten vor. In diesem Fall leitet der Entscheidungsblock 1117 die Ausführung über den NEIN-Pfad 1119 an die 53 Routine zur Dekomprimierung von weißen Daten 1170 weiter, damit die-komprimierten weißen Scandaten entsprechend verarbeitet werden. Nach dem Start der Routine 1170 wird der Entscheidungsblock 1172 ausgeführt, um zu bestimmen, ob der aktuelle Datensatz einen einzelnen weißen Scan enthält. Dieser Entscheidungsblock testet bei seiner Ausführung, ob der Inhalt des folgenden Datenbyte größer als eins ist. Ist das der Fall, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer Komprimierungsfolge und gibt die Anzahl der hintereinander vorkommenden weißen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 1172 die Ausführung über den JA-Pfad zu Block 1174 weiter. Dieser verringert den Inhalt dieses Folgenzählers lediglich um eins und speichert den verringerten Wert zurück im entsprechenden Byte im ersten Eingabepuffer. Da nur schwarze vorkommende Pel in einem Block akkumuliert werden, um entsprechende Grauwerte zu erzeugen, erfolgt bei Vorliegen eines weißen Scans keine Änderung in einem der vier Ausgabewerte. Nach der Verringerung des Folgenzahlers verläßt die Ausführung die Routine 1170 über den Pfad 1175 und fährt mit Pfad 1180 fort. Ist jedoch der Inhalt des nachfolgenden Byte nicht größer als eins, enthält der aktuelle Datensatz nur einen weißen Scan. In diesem Fall wird die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 1172 heraus führt, zu Block 1176 weitergeleitet. Dieser Block erhöht den Inhalt des Zählers SP3 lediglich um zwei, um auf den Start des nächsten folgenden Datensatzes im Eingabepuffer S3 zu verweisen. Danach verläßt die Ausführung die S3 Routine zum Dekomprimieren von weißen Daten 1170 über den Pfad 1177 und geht zu Pfad 1180 über.
  • Falls der Entscheidungsblock 1113 bestimmt, daß der Inhalt van Puffer S3 an der vom Zeiger SP3 angegebenen Position nicht "00" ist, i. e. es liegt entweder ein schwarzer oder grauer Scan vor, wird die Ausführung vom Entscheidungsblock über den NEIN-Pfad zum Entscheidungsblock 1123 weitergeleitet. Dieser Entscheidungsblock testet, ob der Inhalt an dieser Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht. Falls der Inhalt nicht gleich "FF" ist, liegt an dieser Position ein Datensatz für einen grauen Scan vor. Der Entscheidungsblock 1123 leitet die Ausführung über den NEIN-Pfad 1125 zur S3 Routine für die Verarbeitung von Grauwertdaten 1130 weiter. Nach dem Start dieser Routine, wird Block 1133 ausgeführt. Dieser Block akkumuliert die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den sechs Pel vorkommen, die den Cluster 540E bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift Block 1133, wie in Fig. 9A bis 9H gezeigt, auf TABELLE E mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUS3 wird dann mit der sich ergebenden Anzahl aus der Tabelle aktualisiert. Block 1133 akkumuliert auch die Anzahl der schwarzen Pel, die die grauen Scandaten bilden, die in den zwei Pel vorkommen, die den Cluster 540F bilden (siehe Fig. 5) und an der aktuellen Position im ersten Abschnitt vorkommen. Hierzu greift dieser Bl6ck, wie in Fig. 9A bis 9H gezeigt, auf TABELLE F mit den grauen Scandaten als Eingabe zu. Der Wert der Variablen AUS4 wird dann mit der sich ergebenden Anzahl aus dieser Tabelle aktualisiert. Nach der Aktualisierung dieser beiden Variablen geht die Ausführung zu Block 1137 über, der den Wert des Zeigers SP3 um eins erhöht, um auf den Start des nächsten Datensatzes im Abschnitt S3 zu verweisen. Danach verläßt die Ausführung die Routine zur Verarbeitung von Grauwertdaten 1130 über den Pfad 1139 und geht zu Pfad 1180 über.
  • Falls der Entscheidungsblock 1123 bestimmt, daß der Inhalt von Puffer S3 an der vom Zeiger SP3 angegebenen Position gleich "FF" ist, i. e. einem schwarzen Scan entspricht, leitet dieser Entscheidungsblock die Ausführung über den JA-Pfad 1124 zur S3 Routine zur Dekomprimierung und Verarbeitung von schwarzen Daten 1150 weiter. Nach dem Start dieser Routine wird Block 1151 ausgeführt, um den Wert der Variablen AUS3 und AUS4 bei gegebenen schwarzen Scandaten entsprechend zu aktualisieren. Da alle acht Pel bei einem schwarzen Scan "an" sind, i. e. die zwei Pel in Cluster 540E (siehe Fig. 5) sind "1", und die sechs Pel in Cluster 540F sind ebenfalls "1", erfordert diese Aktualisierungsoperation lediglich die Addition der Werte "2" und "6" zu dem aktuellen Inhalt der Variablen AUS3 und AUS4. In diesem Fall sind keine Referenzoperationen erforderlich. Danach wird mit der Ausführung des Entscheidungsblocks 1153 fortgefahren, wie in Fig. 9A bis 9H gezeigt. Dieser Entscheidungsblock bestimmt, ähnlich wie der oben beschriebene Entscheidungsblock 1172, ob eine einzelne schwarze Scandateninformation im aktuellen Datensatz für den zweiten Abschnitt vorliegt. Der Entscheidungsblock 1153 liest bei der Ausführung den Inhalt des nachfolgenden Datenbyte und testet, ob der Inhalt dieses nachfolgenden Byte größer als eins ist. Ist der Inhalt größer als eins, bildet dieses Byte das zweite Byte, i. e. den Folgenzähler, in einer komprimierten Folge und gibt die Anzahl der nacheinander vorkommenden schwarzen Scans an. Ist der Inhalt größer als eins, leitet der Entscheidungsblock 1153 die Ausführung über den JA-Pfad zu Block 1155 weiter. Bei der Ausführung dieses Blocks wird lediglich den Inhalt dieses Folgenzählers um eins verringert und der verringerte Wert im entsprechenden Byte im Eingabepuffer zurückgespeichert. Nach der Verringerung des Folgenzählers verläßt die Ausführung die Routine 1150 über den Pfad 1156 und geht zu Pfad 1180 über. Ist der Inhalt des nachfolgenden Byte nicht größer als eins, liegt lediglich ein einzelner schwarzer Scan im aktuellen Datensatz vor. In diesem Fall geht die Ausführung über den NEIN-Pfad, der aus dem Entscheidungsblock 1153 herausführt, zu Block 1157 über. Bei der Ausführung dieses Blocks wird der Inhalt des Zeigers SP3 lediglich um zwei erhöht, um auf den Start des nachfolgenden Datensatzes im Eingabepuffer S3 zu verweisen. Danach verläßt die Ausführung die S3 Routine zur Dekomprimierung von schwarzen Daten 1150 über den Pfad 1158 und geht zu Pfad 1180 über.
  • An diesem Punkt sind drei entsprechende Scans in den drei Abschnitten verarbeitet. Die Ausführung fährt über den Pfad 1180 mit Block 1210 fort, in dem der aktuelle Inhalt des Schleifenzählers ZÄHLER um eins erhöht wird. Danach wird der Entscheidungsblock 1215 ausgeführt. Dieser Entscheidungsblock bestimmt, ob sechs nacheinander vorkommende Gruppen von drei vertikal angrenzenden Scans in den drei Abschnitten verarbeitet wurden, i.e. ob vier vertikal angrenzende Blöcke von sechs mal sechs Pel in die entsprechenden Grauwerte umgesetzt wurden. Sind keine sechs aufeinanderfolgenden Scans aus jedem Abschnitt verarbeitet worden (i.e. der Inhalt von ZÄHLER ist kleiner als der Wert "6"), wird die Ausführung vom Entscheidungsblock 1215 über den NEIN-Pfad 1218 an die Routine zur Verarbeitung von Abschnitt 1 910 zurückgeleitet, damit mit der Verarbeitung der nächsten Gruppe von drei entsprechenden Scans begonnen wird. Sind jedoch sechs aufeinanderfolgende Scans von jedem Abschnitt verarbeitet, und ist der Inhalt des ZÄHLERS gleich dem Wert "6", wird die Ausführung vom Entscheidungsblock 1215 über den JA-Pfad 1219 an den Entscheidungsblock 1225 weitergeleitet. Dieser Entscheidungsblock schreibt bei seiner Ausführung die aktuellen Werte der Variablen AUS1, AUS2, AUS3, und AUS4 als Ausgabegrauwerte in die entsprechenden Positionen, i.e. AUS (AUSP,1), AUS (AUSP,2), AUS (AUSP,3) und AUS (AUSP,4), in eine Spalte im Ausgabepuffer, die durch den aktuellen Inhalt des Ausgabepufferzeigers AUSP angegeben wird. Danach wird mit der Ausführung von Block 1230 fortgefahren, in dem der Inhalt des Ausgabepufferzeigers AUSP um eins erhöht wird, um auf die nächste Spalte zu verweisen, die in den Ausgabepuffer geschrieben werden soll. Danach kehrt die Ausführung über Pfad 1235 zu Block 903 zurück, um die nächsten sechs Gruppen von drei vertikal angrenzenden Scans in den drei Abschnitten zu verarbeiten und die nächste Spalte von vier Ausgabegrauwerten zu erzeugen usw.
  • Es ist ersichtlich, daß bei dem Verfahren der Erfindung lediglich eine Additionsoperation für jeden weißen Scan, drei Additionsoperationen für jeden schwarzen Scan und drei Additionsoperationen sowie zwei Tabellenreferenzoperationen für jeden grauen Scan erforderlich sind.
  • Unter der Voraussetzung, daß 70% des Bereichs eines typischen Dokuments weiß, 15% des Bereichs schwarz und die übrigen 15% grau sind, ist die Menge der bei diesem Verfahren erforderlichen Berechnungen pro Eingabebyte nur 1,6 Additionsoperationen und 0,3 Referenzoperationen, woraus sich eine schnelle Verarbeitung ergibt.
  • Um das Verfahren der Erfindung zu testen, wurde ein IBM Computer System 370 mit dem Betriebssystem CMS entsprechend programmiert, um vier Byte Ausgabegrauwertdaten pro 18 Byte Halbton-Pel-Daten eines Bitmap (bei einer Auflösung von 600 Dots per Inch) zu erzeugen, damit eine Datenreduktion von 4,5 zu 1 erreicht wird. Die sich ergebenden Ausgabedaten erzielten bei der nachfolgenden Anzeige auf einem IBM Monitor Modell 8514 ein lesbares Grauwertbild von guter Qualität.
  • Für Fachleute ist verständlich, daß bei Anwendung des Verfahrens der Erfindung der Reduktionsfaktor zwischen der Ausflösung des Bitmap-Dokuments und dem angezeigten Bild so gewählt werden muß, daß ein lesbares Bild mit einer für den Monitor, auf dem es angezeigt wird, geeigneten Größe erzeugt wird. Mit der Vergrößerung des Reduktionsfaktors für eine gegebene Menge von Ausgabedaten verringert sich die Größe des Bilds, obwohl eine größere Anzahl von Grauwerten zur Darstellung des Bilds verwendet werden kann. Dies ist aus der folgenden Tabelle ersichtlich (n ist gleich sechs, was oben im einzelnen beschrieben wurde): (Byte, Bit) (Tabellen) Ausgabegrauwertbyte aus Tabellen Auflösungsreduktion
  • wobei:
  • n = Anzahl der Pel in jeder Richtung eines quadratischen Blocks, der in einen einzigen Grauwert umgesetzt wird
  • M = kleinste Anzahl von Byte, deren Bit gerade durch n teilbar sind
  • T = Anzahl der einzelnen Tabellenarten, die zur Berechnung der Summen erforderlich sind, die M Eingabebyte als Index verwenden
  • Die Einträge in allen Tabellen sind gleich der Anzahl der Pel-Bit mit "1" im jeweiligen Teil des Index, für den die Tabelle eine Ausgabe enthalten soll. Die Anzahl s der Zeilen mit Grauwerten, die sich aus den Tabellen nach der Indexierung durch jeweils einen horizontalen Streifen von M vertikalen Byte ergeben, werden entsprechend assembliert, so daß ein Entwurf mit reduzierter Auflösung erzeugt wird, wobei die Anzahl s gleich 8*M/n ist.
  • Das Verfahren der Erfindung ist nicht auf das Erzeugen eines Entwurfs für die Anzeige auf einem Videomonitor begrenzt. Das Verfahren kann ebenfalls zur Umsetzung einer Bitmap-Datei mit relativ hoher Auflösung in eine Grauwertdatei mit entsprechend niedrigerer Auflösung verwendet werden, die auf einer Vielzahl von verschiedenen Ausgabeeinheiten, z.B. einem Matrixdrucker, einem Laserdrucker, einem Tintenstrahldrucker oder einer anderen Einheit, ausgegeben werden kann, die eine einfarbige Grauwertgraf ik mit einer geforderten Anzahl von Tonvariationen (Schattierungen) dieser Farbe erzeugen kann.
  • Obwohl hier eine bestimmtes Ausführungsbeispiel der vorliegenden Erfindung dargestellt und beschrieben wurde, sind zahlreiche weitere Ausführungsbeispiele, die den Gesetzmäßigkeiten der vorliegenden Erfindung entsprechen, von Fachleuten konstruierbar.

Claims (13)

1. Verfahren zum Erzeugen eines "Entwurfs" in Form eines Grauwertbilds mit reduzierter Auflösung aus einem Bitmap-Muster mit hoher Auflösung (200), das aus Einzelbit-Pel besteht, wobei der "Entwurf" ungefähr darstellt, wie das Bitmap-Muster aussehen würde, wenn es mit dieser hohen Auflösung gedruckt werden würde, die folgenden Schritte umfassend:
Bilden aufeinanderfolgender Gruppen einer vordefinierten Anzahl von vertikal angrenzenden Blöcken (210, ...) von Pel aus dem Bitmap-Muster, so daß die Gruppen horizontal über das Muster angeordnet sind und einen aus einer Vielzahl von angrenzenden horizontalen Streifen dieses Bitmap-Musters bilden, wobei jeder Block eine vordef inierte Anzahl von Pel aufweist, die in dem Bitmap-Muster enthalten sind,
Bestimmen eines entsprechenden Mehrbitgrauwerts, der der Anzahl der Pel entspricht, die einen gemeinsamen binären Wert aufweisen und sich in jedem der Blöcke in dem Streifen befinden, damit eine entsprechende Anzahl von horizontalen Zeilen von aufeinanderfolgenden Grauwerten in dem "Entwurf" erzeugt wird und die Grauwerte in einem 1:1-Verhältnis mit den Blöcken und in derselben Reihenfolge wie die Blöcke vorkommen, wobei die bestimmenden Schritte die folgenden Schritte umfassen:
Aufeinanderfolgendes Anwenden jedes vordefinierten Clusters (210&sub1;, 210&sub2;, ...) von vertikal angrenzenden Pel, der sich innerhalb jeder Spalte (S) von vertikal angrenzenden Pel befindet, die sich innerhalb des einen Blocks befinden, als Eingabe in eine entsprechende, vordef inierte Referenztabelle (740, 750, ...), um für diese Spalte eine Ausgabezahl (A(S), B(S)) zu bestimmen, wobei die Ausgabezahl die Anzahl der Pel in der Spalte repräsentiert, die den gemeinsamen binären Wert aufweisen,
Akkumulieren der Ausgabezahl für jede aufeinanderfolgende Spalte in dem Block, um den Grauwert (AUS1, ...) zu erzeugen, der dem einen Block entspricht und
Wiederholen der bildenden und bestimmenden Schritte für jeden der aufeinanderfolgenden horizontalen Streifen, die in dem Bitmap-Muster vorkommen, um das Bitmap-Muster vertikal sequentiell zu sortieren und die entsprechenden Zeilen von Ausgabegrauwerten für jeden der aufeinanderfolgenden Streifen zu erzeugen, damit ein vollständiger "Entwurf" entsteht.
2. Verfahren gemäß Anspruch 1, wobei der Schritt des aufeinanderfolgenden Anwendens den Schritt des Addierens von Ausgabewerten umfaßt, die von einer Vielzahl von entsprechenden Referenztabellen erzeugt werden, um die Ausgabezahl zu erzeugen, immer wenn eine entsprechende Vielzahl von verschiedenen Pel-Clustern in der Spalte der vertikal angrenzenden Pel vorkommt.
3. Verfahren gemäß Anspruch 1 oder 2 außerdem die folgenden Schritte umfasssend:
Lesen einer vordef inierten Anzahl von vertikal angrenzenden und horizontal ausgerichteten Abschnitten von vertikal ausgerichteten Pel-Scans von acht Bit aus der Druckdatei, wobei diese Abschnitte einen entsprechenden Streifen in dem Muster bilden,
Speichern der Abschnitte in den jeweils entsprechenden Eingabepuffern,
Verweisen auf einen gemeinsamen Scan, der in jedem der Eingabepuffer gespeichert ist,
Bilden einzelner Cluster von verschiedenen nacheinander vorkommenden Pel, die zusammen alle gemeinsamen Scans bilden, so daß die Cluster nacheinander so gruppiert werden können, daß sie zusammen eine vordefinierte Anzahl von Spalten von vertikal angrenzenden Pel ergeben, die der Anzahl der horizontalen Zeilen von aufeinanderfolgenden Grauwerten in dem Streifen des "Entwurfs" entspricht,
Anwenden mindestens der Pel, die in jedem Cluster enthalten sind, auf eine andere entsprechende Referenztabelle, die die Anzahl der Pel in jedem Cluster zählt, die den gemeinsamen binären Wert aufweisen und
Summieren der Zahlen, die von den verschiedenen Referenztabellen erzeugt wurden, um die entsprechenden Ausgabezahlen zu bilden, immer wenn eine entsprechende Vielzahl von aufeinanderfolgenden Pel-Clustern vorkommt, die eine der Spalten der vertikal angrenzenden Pel bilden.
4. Verfahren gemäß eines der Ansprüche 1 bis 3, außerdem die folgenden Schritte umfassend:
Bestimmen des zugehörigen Grauwerts für jeden Block in einer Gruppe von vertikal angrenzenden Blöcken in einem der erwähnten Streifen,
Verweisen auf eine Spalte in einem Ausgabepuffer,
Laden des zugehörigen Grauwerts, der für jeden der Blöcke in der Gruppe ermittelt wurde, in eine entsprechende separate Position in der Spalte im Ausgabepuffer, auf die verwiesen wurde, und
Erhöhen des Ausgabezeigers, um auf die nächstfolgende Spalte im Ausgabepuffer zu verweisen.
5. Vorrichtung zum Erzeugen eines "Entwurfs" in Form eines Grauwertbilds mit reduzierter Auflösung aus einem Bitmap- Muster mit hoher Auflösung (200), das aus Einzelbit-Pel besteht, wobei der "Entwurf" ungefähr darstellt, wie das Bitmap-Muster aussehen würde, wenn es mit dieser hohen Auflösung gedruckt werden würde, wobei diese Vorrichtung folgendes umfaßt:
Mittel (20) zum Bilden aufeinanderfolgender Gruppen einer vordef inierten Anzahl von vertikal angrenzenden Blöcken von Pel (210) aus dem Bitmap-Muster, so daß die Gruppen horizontal über das Muster angeordnet sind und einen aus einer Vielzahl von angrenzenden horizontalen Streifen dieses Bitmap-Musters bilden, wobei jeder Block eine vordefinierte Anzahl von Pel aufweist, die in dem Bitmap-Muster enthalten sind;
Mittel zum Bestimmen eines entsprechenden Mehrbitgrauwerts, der der Anzahl der Pel entspricht, die einen gemeinsamen binären Wert aufweisen und sich in jedem der Blöcke in dem Streifen befinden, damit eine entsprechende Anzahl von horizontalen Zeilen von aufeinanderfolgenden Grauwerten in dem "Entwurf" erzeugt wird und die Grauwerte in einemr 1:1- Verhältnis mit den Blöcken und in derselben Reihenfolge wie die Blöcke vorkommen, wobei das Mittel zum Bestimmen folgendes umfaßt:
Mittel (610) zum aufeinanderfolgenden Anwenden jedes vordef inierten Clusters von vertikal angrenzenden Pel, der sich innerhalb jeder Spalte von vertikal angrenzenden Pel befindet, die sich innerhalb des einen Blocks befinden, als Eingabe in eine entsprechende, vordefinierte Referenztabelle (740, 750, ...), um für diese Spalte eine Ausgabezahl zu bestimmen, wobei die Ausgabezahl die Anzahl der Pel in der Spalte repräsentiert, die den gemeinsamen binären Wert aufweisen,
Mittel (767, 787) zum Akkumulieren der Ausgabezahl für jede aufeinanderfolgende Spalte in dem Block, um den Grauwert (AUS1, ...) zu erzeugen, der dem einen Block entspricht, und
Mittel zum Veranlassen dieses bildenden und bestimmenden Mittels, daß jeder aufeinanderfolgende horizontale Streifen im Bitmap-Muster vertikal sequentiell sortiert wird, damit entsprechende Zeilen von Ausgabegrauwerten für jeden aufeinanderfolgenden Streifen erzeugt werden und hierdurch ein vollständiger "Entwurf" entsteht.
6. Vorrichtung gemäß Anspruch 5, wobei das Mittel zum aufeinanderfolgenden Anwenden ein Mittel zum Addieren von Ausgabewerten umfaßt, die von einer Vielzahl von entsprechenden Referenztabellen erzeugt werden, um die Ausgabezahl zu erzeugen, immer wenn eine entsprechende Vielzahl von verschiedenen Pel-Clustern in der Spalte der vertikal angrenzenden Pel vorkommt.
7. Vorrichtung gemäß Anspruch 5 oder 6, wobei das Bitmap-Muster das Bitmap eines Halbtondokuments ist.
8. Vorrichtung gemäß einem der Ansprüche 5 bis 7, wobei das Bitmap des Halbtonmusters als Druckdatei im CDPF-Format codiert ist.
9 Vorrichtung gemäß einem der Ansprüche 5 bis 8 außerdem umfassend:
Mittel zum Lesen einer vordefinierten Anzahl von vertikal angrenzenden und horizontal ausgerichteten Abschnitten von vertikal ausgerichteten Pel-Scans von acht Bit aus der Druckdatei, wobei diese Abschnitte einen entsprechenden Streifen in dem Muster bilden,
aus einer Vielzahl ein entsprechender Eingabepuffer zum Speichern jedes Abschnitts,
Mittel zum Verweisen auf einen gemeinsamen Scan, der in jedem der Eingabepuffer gespeichert ist,
Mittel zum Bilden einzelner Cluster von verschiedenen nacheinander vorkommenden Pel, die zusammen alle gemeinsamen Scans bilden, so daß die Cluster nacheinander so gruppiert werden können, daß sie zusammen eine vordefinierte Anzahl von Spalten von vertikal angrenzenden Pel ergeben, die der Anzahl der horizontalen Zeilen von aufeinanderfolgenden Grauwerten in dem Streifen des "Entwurfs" entspricht,
Mittel zum Anwenden mindestens der Pel, die in jedem Cluster enthalten sind, auf eine andere entsprechende Referenztabelle, die die Anzahl der Pel in jedem Cluster zählt, die den gemeinsamen binären Wert aufweisen und
Mittel zum Summieren der Zahlen, die von den verschiedenen Referenztabellen erzeugt werden, um die entsprechenden Ausgabezahlen zu bilden, immer wenn eine entsprechende Vielzahl von aufeinanderfolgenden Pel-Clustern vorkommt, die eine der Spalten der vertikal angrenzenden Pel bilden.
10. Vorrichtung gemäß einem der Ansprüche 5 bis 9, wobei jede der Referenztabellen die Anzahl der Pel in einem zugehörigen Cluster von Pel zählt, die dunkel sind.
11. Vorrichtung gemäß einem der Ansprüche 5 bis 10 außerdem umfassend:
Mittel zum Bestimmen des zugehörigen Grauwerts für jeden Block einer Gruppe von vertikal angrenzenden Blöcken in einem der Streifen,
einen Ausgabepuffer,
Mittel zum Verweisen auf eine Spalte im Ausgabepuffer, Mittel zum Laden des zugehörigen Grauwerts, der für jeden der Blöcke in der Gruppe ermittelt wurde, in eine separate, entsprechende Position in der Spalte im Ausgabepuffer, auf die verwiesen wurde, und
Mittel zum Erhöhen des Ausgabezeigers, so daß er auf die nachfolgende Spalte im Ausgabepuffer verweist.
12. Vorrichtung gemäß einem der Ansprüche 5 bis 11, wobei jeder der Blöcke quadratisch geformt ist und die entsprechende Anzahl von Zeilen von Grauwerten, die für jeden der Streifen im Bitmap-Muster erzeugt wurde, mit 8*M/n ausgedrückt wird, wobei der Wert für n gleich einer Anzahl von Pel ist, die sich in jeder Richtung von einem der Blöcke befinden, M die Anzahl der vertikalen Achtbitbyte ist, die im Streifen vorkommen, und die kleinste Anzahl der Achtbitbyte ist, deren Bit durch n teilbar sind.
13. Vorrichtung gemäß einem der Ansprüche 5 bis 12, wobei das Bitmap-Muster das Bitmap einer Halbtontrennung ist.
DE69015235T 1989-03-31 1990-01-17 Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle. Expired - Fee Related DE69015235T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/331,485 US5029107A (en) 1989-03-31 1989-03-31 Apparatus and accompanying method for converting a bit mapped monochromatic image to a grey scale image using table look up operations

Publications (2)

Publication Number Publication Date
DE69015235D1 DE69015235D1 (de) 1995-02-02
DE69015235T2 true DE69015235T2 (de) 1995-06-29

Family

ID=23294167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69015235T Expired - Fee Related DE69015235T2 (de) 1989-03-31 1990-01-17 Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.

Country Status (4)

Country Link
US (1) US5029107A (de)
EP (1) EP0389743B1 (de)
JP (1) JPH02286267A (de)
DE (1) DE69015235T2 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69124529T2 (de) * 1991-01-10 1997-08-21 Wang Laboratories, Inc., Billerica, Mass. Verfahren zur transformierung eines ditherbildes
EP0521556B1 (de) * 1991-07-05 1998-06-10 Koninklijke Philips Electronics N.V. Datenverarbeitungssystem mit Mitteln zum Anzeigen verkleinerter Bilder und Verfahren zur Bildverkleinerung
US5841955A (en) * 1991-12-02 1998-11-24 Goss Graphic Systems, Inc. Control system for a printing press
CA2058363C (en) * 1991-12-23 1997-02-25 Eric Labadie Method for decoding compressed images
JP3082491B2 (ja) * 1992-01-27 2000-08-28 松下電器産業株式会社 文字フォントデータ出力装置
US5528261A (en) * 1992-06-09 1996-06-18 Apple Computer, Inc. Operating system software architecture and methods for supporting color processing
US5559930A (en) * 1992-08-03 1996-09-24 Hewlett-Packard Company Method for reducing pixel density along a plurality of axes of a multiple dimension image representation
US5455681A (en) * 1992-11-16 1995-10-03 Eastman Kodak Company Low resolution grey level printing method from high resolution binary input file
US5528740A (en) * 1993-02-25 1996-06-18 Document Technologies, Inc. Conversion of higher resolution images for display on a lower-resolution display device
JPH06250633A (ja) * 1993-02-26 1994-09-09 Fujitsu Ltd 多階調フォント生成方法及び多階調フォント生成装置
US6002694A (en) 1994-02-17 1999-12-14 Hitachi, Ltd. Interactive chargeable communication system with billing system therefor
JPH0818703A (ja) * 1994-04-28 1996-01-19 Xerox Corp システム動作方法
US5734801A (en) * 1994-12-28 1998-03-31 Fuji Photo Film Co., Ltd. Method of and apparatus for producing color proof
US5696604A (en) * 1995-01-04 1997-12-09 Xerox Corporation Analytical halftone dot construction for a hyperacuity printer
US5812705A (en) * 1995-02-28 1998-09-22 Goss Graphic Systems, Inc. Device for automatically aligning a production copy image with a reference copy image in a printing press control system
DE19508163A1 (de) * 1995-03-08 1996-09-12 Hell Ag Linotype Verfahren zur Vereinigung von Farbauszugswerten zu einer einem Farbdruck entsprechenden Schwarz/Weiß-Ausgabe
US5767980A (en) * 1995-06-20 1998-06-16 Goss Graphic Systems, Inc. Video based color sensing device for a printing press control system
US5764774A (en) * 1995-09-25 1998-06-09 Intermec Corporation Source data compression and decompression in code symbol printing and decoding
US5805280A (en) * 1995-09-28 1998-09-08 Goss Graphic Systems, Inc. Control system for a printing press
EP0765748A3 (de) * 1995-09-29 1997-08-13 Goss Graphics Systems Inc Einrichtung zum Ausrichten von Bildern in einem Kontrollsystem für eine Druckmaschine
US5903712A (en) * 1995-10-05 1999-05-11 Goss Graphic Systems, Inc. Ink separation device for printing press ink feed control
US5742708A (en) * 1995-11-15 1998-04-21 Xerox Corporation Method and system for performing perspective projection conversion
US6252676B1 (en) * 1997-06-04 2001-06-26 Agfa Corporation System and method for proofing
US7403213B1 (en) * 1997-06-04 2008-07-22 Texas Instruments Incorporated Boundary dispersion for artifact mitigation
US5952994A (en) * 1997-07-31 1999-09-14 Hewlett-Packard Company Method for scaling an image
US6181357B1 (en) 1998-02-17 2001-01-30 International Business Machines Corporation Method and system for the modification of the timing of a plurality of PEL clocks in an electrophotographic device
US7375857B1 (en) 2000-09-22 2008-05-20 Eastman Kodak Company Print proofing with color and screen matching
US20020138564A1 (en) * 2001-03-21 2002-09-26 Treptow Jay A. Universal printing and document imaging system and method
US6786565B2 (en) 2001-09-24 2004-09-07 Creo Americas, Inc. Inkjet proofing with matched color and screen resolution
US8031363B2 (en) * 2003-03-31 2011-10-04 Electronics For Imaging, Inc. Methods and apparatus for dynamically soft proofing halftone images
US7515758B2 (en) * 2004-02-03 2009-04-07 International Business Machines Corporation Black white image compression having print density control
US7830552B2 (en) * 2005-04-15 2010-11-09 International Business Machines Corporation Black white image scaling having print density control and polarity detection
US20070234611A1 (en) * 2006-03-15 2007-10-11 Steven Ochs Multi-laminate three-dimensional video display and methods therefore
US7433548B2 (en) * 2006-03-28 2008-10-07 Amazon Technologies, Inc. Efficient processing of non-reflow content in a digital image
US7788580B1 (en) * 2006-03-28 2010-08-31 Amazon Technologies, Inc. Processing digital images including headers and footers into reflow content
US8023738B1 (en) 2006-03-28 2011-09-20 Amazon Technologies, Inc. Generating reflow files from digital images for rendering on various sized displays
US7966557B2 (en) 2006-03-29 2011-06-21 Amazon Technologies, Inc. Generating image-based reflowable files for rendering on various sized displays
US7962499B2 (en) 2006-08-18 2011-06-14 Falconstor, Inc. System and method for identifying and mitigating redundancies in stored data
US7715635B1 (en) 2006-09-28 2010-05-11 Amazon Technologies, Inc. Identifying similarly formed paragraphs in scanned images
US7810026B1 (en) 2006-09-29 2010-10-05 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
US8782516B1 (en) 2007-12-21 2014-07-15 Amazon Technologies, Inc. Content style detection
US8572480B1 (en) 2008-05-30 2013-10-29 Amazon Technologies, Inc. Editing the sequential flow of a page
US9229911B1 (en) 2008-09-30 2016-01-05 Amazon Technologies, Inc. Detecting continuation of flow of a page
US8499236B1 (en) 2010-01-21 2013-07-30 Amazon Technologies, Inc. Systems and methods for presenting reflowable content on a display
US8996984B2 (en) 2010-04-29 2015-03-31 International Business Machines Corporation Automatic visual preview of non-visual data
US8928769B2 (en) 2011-03-31 2015-01-06 Drs Sustainment Systems, Inc. Method for image processing of high-bit depth sensors

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084196A (en) * 1977-01-31 1978-04-11 Dacom, Inc. Electronic half-tone generating means for facsimile reproduction system
US4210936A (en) * 1977-12-27 1980-07-01 Pitney Bowes Inc. Method and apparatus for reproducing an original gray scale image
EP0095514B1 (de) * 1982-05-28 1985-10-16 DR.-ING. RUDOLF HELL GmbH Verfahren und Einrichtung zur Reproduktion eines Bildes mit gröberer Auflösung als bei der Bildabtastung
US4486785A (en) * 1982-09-30 1984-12-04 International Business Machines Corporation Enhancement of video images by selective introduction of gray-scale pels
US4630125A (en) * 1983-06-01 1986-12-16 Xerox Corporation Unscreening of stored digital halftone images
US4672559A (en) * 1984-12-26 1987-06-09 E. I. Du Pont De Nemours And Company Method for operating a microscopical mapping system
JPS63265371A (ja) * 1986-12-15 1988-11-01 Toshiba Corp 線図形つなぎ装置
JPH0230561A (ja) * 1988-07-21 1990-01-31 Canon Inc 画像処理装置

Also Published As

Publication number Publication date
JPH02286267A (ja) 1990-11-26
EP0389743B1 (de) 1994-12-21
US5029107A (en) 1991-07-02
EP0389743A3 (de) 1991-09-25
EP0389743A2 (de) 1990-10-03
DE69015235D1 (de) 1995-02-02

Similar Documents

Publication Publication Date Title
DE69015235T2 (de) Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.
DE3783542T2 (de) Verfahren zur erzeugung eines graustufenbildes.
EP0764310B1 (de) Verfahren zur generierung einer contone-map
DE69118162T2 (de) Farbgekoppelte Fehlerdiffusion
DE69211809T2 (de) Bilddatenverarbeitungsverfahren und -gerät
DE10204751B4 (de) Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache
DE69627090T2 (de) Bildverarbeitungsverfahren und -gerät
EP0178547B1 (de) Verfahren zur Darstellung eines Halbtonbildes unter Verwendung eines detektionsangepassten Rasters
EP0059705B1 (de) Verfahren und schaltungsanordnung zur partiellen korrektur der zeichnung bei der farbbildreproduktion
DE69025705T2 (de) Seitenpuffer für einen elektronischen grautonfarbdrucker
EP1842361B1 (de) Verfahren, computerprogramm, computer und drucksystem zum trapping von bilddaten
DE69219647T2 (de) Verfahren und Vorrichtung zum Einfärben einer Bildfläche
EP2092465B1 (de) Verfahren und system zum automatischen aufbereiten von druckdaten für einen druckvorgang
DE60027187T2 (de) System und verfahren zur verarbeitung mehrerer pegel mit pegelbeschraenkung
DE3505796A1 (de) Verfahren zum verdichten von bildsignalen
EP0978097B1 (de) Verfahren zur grössenänderung von strichelementen
EP1064618B1 (de) Verfahren zur koordinatenumrechnung von bilddaten mit zufälligem offset der bildpunkte
EP0766856B1 (de) Verfahren zur montage von druckbögen
EP0978091A1 (de) Verfahren zur bearbeitung von objekten auf druckseiten
DE19502997B4 (de) Einrichtung und Verfahren zum Verarbeiten von Zweiton-Bilddaten
DE19919624C2 (de) Verfahren, System und Computerprogramm zum Komprimieren und Übertragen von Bildrasterdaten
DE10360388B4 (de) Verfahren zur Zusammenfassung von Druckdaten für einen Druckauftrag
DE10110158A1 (de) Verfahren zur Komprimierung von Druckdaten
DE19842573A1 (de) Verfahren zur farbadaptiven Kopierretusche bei der elektronischen Farbbildreproduktion

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee