DE4038056C2 - Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage - Google Patents
Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-BildvorlageInfo
- Publication number
- DE4038056C2 DE4038056C2 DE4038056A DE4038056A DE4038056C2 DE 4038056 C2 DE4038056 C2 DE 4038056C2 DE 4038056 A DE4038056 A DE 4038056A DE 4038056 A DE4038056 A DE 4038056A DE 4038056 C2 DE4038056 C2 DE 4038056C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- grid
- point
- raster
- word
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
- H04N1/4058—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern with details for producing a halftone screen at an oblique angle
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Rasterung einer Halbtonbildvorlage, insbesondere in
Form eines oder mehrerer Farbauszüge, wobei die Rasterung der Halbtonbildvorlage derart
vorgenommen wird, daß die gesamte Bildvorlage in gleich große, periodisch nebeneinander
und übereinander angeordnete Rasterausschnitte (Superzellen) aufgeteilt wird, die wiederum
in einzelne Rasterzellen unterteilt sind, innerhalb deren sich die einzelnen Rasterpunkte
(Spots) befinden, die in ihrer Gesamtheit durch die periodische Neben- und Übereinanderanordnung
der Rasterausschnitte ein sich über die gesamte Bildvorlage erstreckendes, unter
einem vorgegebenen Winkel gedrehtes Rasternetz ergeben, für die Erzeugung der Rasterpunkte
innerhalb der Rasterzellen eine die Rasterzelle abdeckende Rasterpunktfunktion
(Spotfunktion) vorgesehen ist, deren Funktionswerten eine Vielzahl von Dichteschwellwerten
zugeordnet werden, die als Speicherworte innerhalb eines Datenspeichers abgelegt werden
und wobei für die Speicherworte des Rasterpunktes einer Rasterzelle eine sortierte Folge
von Speicherworten nach Maßgabe der Rasterpunktfunktion ermittelt wird und den Speicherworten
in Abhängigkeit von der Position des Speicherwortes innerhalb der sortierten
Folge Dichteschwellwerte zugeordnet werden.
Es ist aus der DE-PS 19 01 101 sowie aus der DE-PS 20 12 728 und der US-PS 4,084,183,
die im wesentlichen der DE-PS 20 12 728 entspricht, bekannt, zur gerasterten Aufzeichnung
von Halbtonbildern, Bildsignale in Form von Tonwertsignalen, die durch Abtastung von
Halbtonbildvorlagen gewonnen werden, mit Dichteschwellwertsignalen (Rastersignalen)
eines gegenüber einer Aufzeichnungsrichtung gedrehten Rasters zu überlagern bzw. zu
vergleichen, um die Aufzeichnungssignale für die jeweiligen Rasterpunkte zu gewinnen. Bei
den dort verwendeten Rastersystemen werden Winkel für die einzelnen Druckraster verwendet,
die einen rationalen Tangens haben. Solche Rastersysteme werden heute oft mit
"Rational Tangent Screeninig" bezeichnet. Gemeint ist damit, daß nur solche Rasterwinkel
zugelassen werden, bei denen der arcttg der Rasterwinkel aus einem Verhältnis ganzer
Zahlen gebildet wird. Der Sinn dieser Winkelbedingung liegt darin, daß bei ausschließlicher
Verwendung solcher Winkel mit ganzzahliger Teilung der Schenkel der Winkel, sich für alle
Teilraster, gleichwie die Teilung der Schenkel der Winkel durch ganze Zahlen gewählt wird,
immer übergeordnete orthogonale Zellen gleicher Struktur ergeben, deren Eckpunkte gemeinsame
Schnittpunkte für alle Teilraster ergeben, d. h. die Strahlen der Winkel der einzelnen
Raster schneiden sich in diesen Punkten. Dies ist in der Fig. 1 der DE-PS 20 12 728
gezeigt. Die einzelnen Teilraster sind so übereinandergezeichnet, wie sie beim Druck übereinander
gedruckt würden. Man erkennt in der Fig. 1 die gemeinsamen Schnittpunkte der
einzelnen Raster. Es sind die Eckpunkte der gemeinsamen orthogonalen Zelle. Beispiele
dieser Teilraster sind in der DE-PS 20 12 728 in den Fig. 2, Winkel 0°, Fig. 3, Winkel 45°,
Teilung 2/2 und Fig. 6, Winkel 18,4, Teilung 3/1, dargestellt. Die Fig. 1 enthält außerdem
noch ein viertes Raster mit dem Winkel -18,4° und der Teilung 1/3.
Diese orthogonalen Zellen werden in beiden Koordinatenrichtungen periodisch wiederholt,
bis die ganze Bildfläche, d. h. die ganze zu rasternde Fläche damit ausgefüllt ist. Die Bedingung,
daß die orthogonalen Zellen, d. h. der Rasterausschnitt in jeder Richtung der beiden
orthogonalen Richtungen (vertikal und horizontal) fugenlos in sich selbst übergeht, wird
auch als wrap around Bedingung bezeichnet.
Dies ist deutlicher aus der Fig. 1 der US-PS 4,084,183 als aus den Figuren der DE-PS 20 12 728
zu ersehen. Die gesamte Fläche des Bildes wird durch diese Wiederholung der übergeordneten
orthogonalen Zellen wie mit Kacheln ausgefüllt. Bei der DE-PS 20 12 728 sind
diese orthogonalen Zellen mit "rechteckige Zellen mit kongruenter Struktur" bezeichnet.
Im Englischen wird hierfür oft der Begriff "tiles" verwendet. Der Vorteil dieses Rastersystems
besteht darin, daß nur diese Superzelle beliebig oft wiederholt werden muß, wodurch
sich Speicher- und Rechenvorgänge wesentlich vereinfachen. Eine solche Superzelle ist aus
mehreren Rasterzellen aufgebaut, die alle dieselbe Größe haben. Jede Rasterzelle enthält
einen Rasterpunkt, dessen Größe den bei der Reproduktion wiederzugebenden Tonwert bestimmt.
Für dieses Rastersystem wurde in den letzten Jahren im Zuge der Einführung von
PostScript der Begriff Superzellentechnik (supertiles) eingeführt. Eine solche Superzelle ist
beispielsweise bei DE-PS 20 12 728 in der Fig. 6 dargestellt. Die DE-PS 40 13 411 bezieht
sich ebenfalls auf diese Superzellentechnik, hat aber gegenüber dem im vorangehenden
beschriebenen Stand der Technik das zusätzliche Merkmal, daß die Grundperiode der
Rasterstruktur nur in einer der beiden Erstreckungen des Rasters einmal fortlaufend enthalten
ist, in der anderen Richtung aber ein Versatz stattfindet.
Die vorliegende Anmeldung ist eine Weiterbildung dieser Superzellentechnik und
insbesondere aber eine Weiterbildung WO 92/02101, die wiederum eine Weiterbildung der
DE-PS 40 13 411. Mit dem Begriff "Mehrfachreferenzzelle", der in der vorliegenden
Anmeldung verwendet wird, ist eine solche Superzelle gemeint. Der Versatz, der in der DE-PS
40 13 411 beschrieben ist, ist deutlicher in der Fig. 4 der WO 92/02101 dargestellt.
Bei den Rastern der vorliegenden Erfindung handelt es sich um solche Superzellen, wie sie
im vorangehenden beschrieben sind. Diese Superzellen sind Rasterausschnitte, die je nach
den in einem Rastersystem verwendeten Winkeln unterschiedliche Größe haben, aber für
ein Rastersystem konstant sind. Ein solcher Rasterausschnitt enthält jeweils eine Gruppe
von einzelnen Rasterpunkten, aus denen bei der Reproduktion eines Bildes durch die Wiederholung
der Rasterausschnitte das gesamte Raster aufgebaut wird. Diese Zuordnung der
Rasterpunkte zu der Superzelle ist bei DE-PS 20 12 728 in den Fig. 3a, 3b und 5a dargestellt.
Im Anmeldetext der vorliegenden Anmeldung werden diese Rasterpunkte auch als
"spots" bezeichnet.
Zur Erzeugung dieser Rasterpunkte wird eine dreidimensionale Funktion verwendet, die im
folgenden mit "Rasterpunktfunktion" (auch "Spotfunktion" genannt) bezeichnet wird, deren
Funktionswerte für eine Schwellwertentscheidung mit dem aktuellen Bildsignal herangezogen
werden. Diese Funktionswerte werden auch Dichteschwellwerte genannt. Bei der
Aufzeichnung der Rasterpunkte während der Herstellung der Farbauszüge werden aus der
Summe der Schwellwertentscheidungen innerhalb einer Rasterzelle Aufbau, d. h. Größe und
Form des jeweiligen Rasterpunktes bestimmt. Die Größe des jeweiligen Rasterpunktes einer
Rasterzelle bestimmt innerhalb der Zelle das Verhältnis von Schwarz zu Weiß, wodurch bei
der Reproduktion der wiederzugebende Tonwert bestimmt wird. Für eine jede Rasterzelle
einer Superzelle werden diese Schwellwertentscheidungen zwischen dem aktuellen Bildsignal
und den Funktionswerten der Spotfunktion, d. h. mit den Rasterschwellwerten durchgeführt.
Die Ergebnisse dieser Schwellwertentscheidungen, die ja/nein- bzw. digitale 0/1-
Entscheidungen sind, werden Rasterzelle für Rasterzelle abgespeichert, womit nach Abarbeitung
einer Superzelle und dann nach Abarbeitung aller aneinander grenzenden Superzellen,
die sich insgesamt über das ganze Bild erstrecken, für jeden einzelnen Farbauszug die 0/1-
Entscheidungen für das ganze Bild abgespeichert werden. Dies ergibt eine sog. Bitmap.
Mittels dieser Rasterpunktfunktion können beliebige Rasterpunktformen generiert
werden, indem die Funktionswerte Funktion in x- und y-Richtung entsprechend gewählt
werden. Durch entsprechende Wahl der Funktionswerte, d. h. der Dichteschwellwerte, können
also quadratische, elliptische und auch runde Rasterpunkte bzw. Spots generiert werden.
Außerdem kann das Größenwachstum der Rasterpunkte durch den Verlauf dieser
Funktion in z-Richtung bestimmt werden. Die Dichteschwellwerte, d. h. die Funktionswerte
der Rasterpunktfunktion, werden bei der vorliegenden Anmeldung in der abgespeicherten
Form mit "Speicherwort" bezeichnet.
Das Ergebnis des Schwellwertvergleichs bestimmt letztlich, ob bei der Aufzeichnung ein
einzelner Bildpunkt, auch "Device Pixel" genannt, belichtet, d. h. aufgezeichnet wird oder
nicht. Siehe hierzu Vergleicher (3) in Fig. 4 der WO 92/02101, die der Fig. 4 der vorliegenden
Anmeldung entspricht. Die Aufzeichnung der einzelnen Device Pixel, aus denen der
Rasterpunkt aufgebaut wird, wird in der Regel mittels eines Laserstrahls vorgenommen, der
entsprechend der Schwellwertentscheidung hell oder dunkel getastet wird. Diese Art der
Aufzeichnung ist in Fig. 6 der US-PS 4,084,183 gezeigt. Durch diese Art der Rasterzerlegung
und Aufzeichnung der Rasterpunkte ist es möglich, mit orthogonal arbeitenden Aufzeichnungsgeräten
gegen die Aufzeichnungsrichtung gedrehte Raster zu erzeugen. Bei diesem
Raster entstehen aber bei der Bildung der Rasterpunkte oder Spots an den Rändern der
einzelnen Rasterzellen bzw. Superzellen Fehler, die aus der Überlagerung dieser Raster mit
dem Abtastraster, mit dem die Vorlage abgetastet worden ist, resultieren. Da das Vorlagenabtastraster
orthogonal orientiert ist (Zeilenrichtung und Voraschubrichtung), die Druckraster
aber um einem bestimmten Winkel gegen dieses Orthogonalraster gedreht sind, werden die
Abtastpunkte des orthogonalen Abtastrasters an den Grenzen der Raster- bw. Superzellen
angeschnitten, d. h. geteilt. Hierdurch ist die Anzahl der Speicherworte, die einer Rasterzelle
zugeordnet werden, die im Randbereich des Rasterausschnitts liegt, unterschiedlich, was in
diesem Randbereich zu unterschiedlich großen Rasterpunkten führt. Dies führt bei Grauwerten,
die unter 50% liegen, zu unterschiedlich großen Rasterpunkten auf weißem Grund
und bei Grauwerten, die über 50% liegen, zu dem Eindruck unterschiedlichk großer weißer
Flecken auf schwarzem Grund. Dies führt dazu, daß das Bild für den Betrachter unruhig
wirkt. Um dem entgegen zu wirken, wurde die sog. Grauwert- und Weißwertkorrektur eingeführt.
Es treten aber trotzdem in bestimmten Winkelbereichen störende Muster auf, die aufgrund
eines unterschiedlichen Punktschlusses zu einem unruhigen Bild führen. Hierunter
ist zu verstehen, daß sich benachbarte Rasterpunkte mit wachsendem Grauwert ab einem
gewissen Grad berühren, wobei der Punktschluß für bestimmte Positionen am Rande der
Rasterzelle bei unterschiedlichem Grauwert stattfindet.
Um die einzelnen Farbauszüge zu belichten, werden auch digitale Recorder benutzt, bei denen
eine Lichtquelle, insbesondere ein Laserstrahl, zur Belichtung einer lichtempfindlichen Fläche in
zwei orthogonalen Richtungen mit konstanter Schrittweite verfahren wird. Die
Lichtquelle wird dabei getaktet ein- oder ausgeschaltet, um kleine Flächenelemente zu belichten
oder nicht. Diese Flächenelemente werden als Dot oder Pixel bezeichnet. Da eine hohe Auflösung
bei der Reproduktion erwünscht ist, wird der Speicherbedarf zur Speicherung
des Rasterausschnitts, in dem die Dichteschwellwerte enthalten
sind, entsprechend hoch. Da bei digitalen Recordern ein Rasterpunkt durch eine Anzahl
benachbarter Pixel aufgebaut wird, können um so mehr Graustufen realisiert werden, als
Pixel zum Aufbau des Rasterpunkts zur Verfügung stehen. Zum Umsetzen einer Bildvorlage in
die zu belichtenden Pixel ist dem digital arbeitenden Recorder eine als Raster-Image-Prozessor
(RIP) bezeichnete bekannte Einrichtung vorgeschaltet, in welche Benutzervorgaben, wie
Rasterweite, Rasterwinkel und Grauwinkel bei der Erzeugung der bitweise abgespeicherten Signale
für die zu belichtenden Pixel umgesetzt werden. In dieser Einrichtung wird also ein Pixel durch
ein Bit in einem bitweise organisierten Speicher dargestellt, dessen Gesamtheit, wie bereits erwähnt,
als Bitmap bezeichnet wird. In einem Datenspeicher der Einrichtung wird wenigstens ein
Rasterpunkt eines Rasterausschnittes durch Datenworte dargestellt, die die Dichteschwellwerte
repräsentieren. Dieser Speicherinhalt des Rasterausschnitts
hat eine Breite von m Worten und eine
Höhe von n Worten. Breite und Höhe werden auch als Spalten und Zeilen
referiert. Jedem Pixel der Bitmap ist ein Speicherwort des Rasterausschnitts
zugeordnet. Die Zahlenwerte dieser Speicherworte, welche die
Dichteschwellwerte darstellen, bestimmen also die Reihenfolge, in der die Bits für zunehmend
dunkleres Grau zu setzen sind. Diese Dichteschwellwerte werden
durch die vorgegebene Rasterpunktfunktion bestimmt, so daß ein Rasterpunkt oder Spot
vielfältige Formen annehmen kann. Der Inhalt des Rasterausschnitts wird
abgearbeitet, wenn zur digitalisierten Rasterung der Halbtonbildvorlage deren Tonwertsignale
mit den Dichteschwellwerten verglichen werden und je nach dem Vergleichsergebnis ein Bit,
welches den Zustand eines Pixels darstellt und welches in dem bitweise strukturierten Speicher
Teil einer Bitmap ist, gesetzt wird oder nicht. Die Abarbeitung des Rasterausschnitts
kann infolge der Periodizität einfach so erfolgen, daß beispielsweise die Dichte
schwellwerte längs einer Zeile abgefragt werden und, wenn der rechte Rand erreicht ist, in derselben
Zeile am Anfang des Rasterausschnitts neu aufgesetzt wird.
Bei gedrehten Rastern, wenn der Rasterwinkel ungleich Null ist, müssen zum Erhalt der
Periodizität die Eckpunkte eines Rasterpunkts auf rationalen Pixelkoordinaten liegen. Dabei können
die Kanten des Rasterpunkts treppenförmig begrenzt sein. Zum Herstellen der Periodizität oder
wrap-around-Bedingung sind dabei große Rasterausschnitte mit entsprechendem Speicherbedarf
notwendig.
Das Problem, wie im einzelnen die zu speichernden Dichteschwellwerte gebildet werden, um
eine Halbton-Bildvorlage so gerastert zu reproduzieren, daß das Halbtonbild gleichmäßig bzw.
"ruhig" über eine Teilfläche wirkt, die den gleichen Tonwert hat, wird dabei nicht für den Fall
behandelt, daß die Schwellwerte statt durch Abtasten einer optischen Vorlage voll digital nach
Maßgabe einer zweidimensionalen Rasterfunktion gebildet werden. Zur voll digitalen Erzeugung
der Dichteschwellwerte der Rasterpunkte eines Rasterausschnitts (Superzelle) wird zunächst
die Gesamtzahl Speicherworte des Rasterausschnitts festgestellt. Die Bestimmung der Gesamtanzahl
kann nach Maßgabe des Rasterwinkels, der Rasterweite und der Auflösung des Systems
erfolgen. Es wird dann eine sortierte Folge der Speicherworte des Rasterausschnitts nach Maßgabe
der Rasterpunktfunktion gebildet. Den Speicherworten des Rasterausschnitts werden
dann Dichteschwellwerte in linearer Abhängigkeit von ihrer Position in der sortierten Folge zugewiesen.
Tatsächlich sind die einzelnen Rasterpunkte des Rasterausschnitts etwas unterschiedlich
insofern, als die Anzahl der je einem der Rasterpunkte zugeordneten Speicherworte
bei den einzelnen Rasterpunkten schwankt und in der Regel nicht dem sich aus der Gesamtanzahl
der Speicherworte des Rasterausschnitts und der Anzahl der Rasterpunkte bzw. Subzellen
errechnendem Sollwert entspricht. Dies hat zur Folge, daß in benachbarten Rasterpunkten mehr
oder weniger Pixel gesetzt werden, wenn nach Maßgabe eines bestimmten Grautons ein
bestimmter Bruchteil aller dem Rasterausschnitt zugeordneten Pixel geschwärzt werden soll. Dadurch
entsteht für den Betrachter der reproduzierten Halbtonbildvorlage der Eindruck unterschiedlich
großer schwarzer Punkte auf weißem Grund, jedenfalls dann, wenn der Grauwert
deutlich weniger als 50% beträgt. Wenn dagegen ein dunklerer Grauton, der deutlich über 50%
liegt, beispielsweise bei 70%, unter Verwendung eines Rasterausschnitts reproduziert wird,
so entsteht aus ähnlichen Gründen, wie voranstehend für niedrige Grauwerte angegeben, hier
der Eindruck unterschiedlich großer heller Flecken auf schwarzem Grund. In beiden Fällen wirkt
das reproduzierte Halbtonbild unruhig. Es ist daher vorteilhaft, eine Grauwertkorrektur vorzunehmen,
mit der eine Halbtonbildvorlage so gerastert wird, daß das danach reproduzierte
Halbtonbild gleichmäßig bzw. ruhig wirkt. Zur Grauwertkorrektur kann vorzugsweise eine
durchschnittliche Zahl von Speicherworten der Rasterpunkte des Ausschnitts des Rasters ermittelt
und mit der tatsächlichen Zahl Speicherworte jeweils eines Rasterpunkts verglichen werden.
In Abhängigkeit vom Vergleichsergebnis werden bei einer vergleichsweise großen Anzahl von
Speicherworten für Positionen am Anfang der sortierten Folge der Speicherworte des Rasterpunkts
die zuzuordnenden Dichteschwellwerte erhöht. Dies bedeutet, daß die Anzahl der für
niedrige Grauwerte bei Aufzeichnung zu schwärzenden Pixel herabgesetzt werden, was als
Untersteuerung bezeichnet werden kann. Bei einer relativ niedrigen Anzahl Speicherworte des
Rasterpunktes werden die zuzuordnenden Dichteschwellwerte erniedrigt, wodurch die Anzahl der
für niedrige Grauwerte zu schwärzenden Pixel erhöht wird, was als Übersteuerung bezeichnet
werden kann. Bei einer vergleichsweise großen Anzahl von Speicherworten für Positionen am
Ende der sortierten Folge der Speicherworte des Rasterpunkts werden die zuzuordnenden
Dichteschwellwerte erniedrigt und dadurch die Anzahl der für große Grauwerte zu schwärzenden
Pixel überhöht, d. h. übersteuert. Bei einer relativ niedrigen Anzahl Speicherworte des
Rasterpunktes werden die zuzuordnenden Dichteschwellwerte erhöht und hierdurch die Anzahl der
für hohe Grauwerte zu schwärzenden Pixel erniedrigt, d. h. untersteuert. Wenn, wie üblich, die
Rasterpunkte aus der Mitte herauswachsen, konzentrieren sich bei dunklen Tönen
weiße Flecken in den Ecken des jeweiligen Rasterpunkts. Hierdurch können störende unterschiedliche
Größen von weißen Punkten zwischen den geschwärzten Rasterpunkten auftreten.
Das reproduzierte Bild kann daher unruhig wirken. Diese Wirkung läßt sich mit einer Weißwertkorrektur
beseitigen, die in vorteilhafter Weise darin besteht, daß jeder
Rasterpunkt in vier Quadranten unterteilt wird und bei relativ großen Grauwerten (größer
als 50%) ein der Grauwertkorrektur unterliegendes Quadrat (Rasterpunkt) aus je einem Quadranten
von vier benachbarten Rasterpunkten zusammengesetzt wird. Die Grauwert- und Weißwertkorrekturen
liefern im allgemeinen gute Ergebnisse. In einzelnen Fällen können sich noch,
insbesondere in den Bereichen der Rasterwinkel von null plus/minus zwei Grad und fünfundvierzig
plus/minus zwei Grad störende Muster ergeben. Da die Rasterpunkte gitterförmig angeordnet
sind, besteht die Möglichkeit der Ausbildung von Gitterlinien. In den Bereichen der Rasterwinkel
von 0 bis ± 2 Grad und 45 bis ± 2 Grad tritt als weitere Ursache für ein unruhiges
Bild das Problem eines unterschiedlichen Punktschlusses auf. Hierunter ist zu verstehen, daß
sich benachbarte Rasterpunkte mit wachsendem Grauwert ab einem gewissen Grauwert berühren.
Der Punktschluß erfolgt für bestimmte Positionen der Rasterpunktgrenzen bei unterschiedlichem
Grauwert. Auch diese Störung neigt zur Ausbildung von Gitterlinien.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Generierung und
Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbtonbildvorlage der
eingangs beschriebenen Art so weiterzubilden, daß die Nachteile des bekannten Rasterverfahrens
vermieden werden und bei allen Rasterwinkeln eine gleichmäßige bzw. ruhige Wiedergabe
des Halbtonbildes erreicht wird, wirkt.
Die Erfindung erreicht dies dadurch, daß für jedes Speicherwort, das im Randbereich eines
Rasterpunktes einer Rasterzelle liegt, geprüft wird, ob das Speicherwort einen Punktschluß
im vorab bestimmten Tonwertbereich verursacht, daß bei Abweichungen zur Korrektur des
Punktschlusses Vertauschungen der Speicherworte des Rasterepunktes vorgenommen werden
und daß den Speicherworten des Rasterpunktes entsprechend vertauschte Dichteschwellwerte
zugeordnet werden.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen 2 bis 11 beschrieben.
Ausführungsbeispiele der Erfindung sind in den Fig. 1 bis 8 dargestellt. Es zeigt:
Fig. 1 einen rotierenden Mehrfachrasterpunkt, der aus zweimal zwei über- und nebeneinander
angeordneten quadratischen Rasterpunkts bzw. Rasterpunkten zusammengesetzt ist
und
der in einem kleinsten Vergleichsfeld, an dessen Rändern seine Ecken anliegen,
angeordnet ist,
Fig. 2 einen Rasterausschnitt, in dem eine Anzahl rotierter
Mehrfachrasterpunkte aneinandergesetzt sind,
Fig. 3 einen reduzierten Ausschnitt als Referenzbereich aus dem
Rasterausschnitt, wobei der Ausschnitt in einer der beiden orthogonalen Richtungen,
nämlich der Höhe, wesentlich kleiner als der Rasterausschnitt
ist und wobei die Erfindung auch auf den reduzierten Ausschnitt als
Referenzbereich anwendbar ist,
Fig. 4 eine vereinfachte Teilstruktur einer Einrichtung zur digitalisierten Rasterung einer
Halbtonbildvorlage,
Fig. 5 ein Blockdiagramm einer beispielsweisen Einrichtung zur Schwerpunktkorrektur,
Fig. 6 ein Ablaufdiagramm der Schritte für die Schwerpunktkorrektur,
Fig. 7a und b ein Ablaufdiagramm der Verfahrensschritte für die Schwerpunktkorrektur im
einzelnen,
Fig. 8 ein Blockdiagramm einer beispielsweisen Einrichtung zur Punktschlußkorrektur,
Fig. 9 ein Ablaufdiagramm der Schritte für die Punktschlußkorrektur und
Fig. 10a und b ein Ablaufdiagramm der Verfahrensschritte für die Punktschlußkorrektur im
einzelnen.
In Fig. 1 ist mit (14) ein kleinstes Vergleichsfeld bezeichnet, in dem n·n, mit n = zwei, Raster
punkte (15) bis (18) neben- und übereinander gedreht angeordnet sind, so daß die gesamte Anordnung
gegenüber dem kleinsten Vergleichsfeld einheitlich gedreht ist. Die Rasterpunkte eines
Mehrfachrasterpunktes werden auch als "Subzellen" bezeichnet. In dem kleinsten Vergleichsfeld
werden durch die Anordnung des Mehrfachrasterpunktes die Größen a und b definiert,
wobei a der Abstand eines Eckpunkts (19) der Gruppe Rasterpunkte (15)
bis (18) zu der Ecke (20) des Vergleichsfelds ist. Die Größe b ist der hierzu rechtwinklig orientierte
Abstand zwischen dieser Ecke (20) des Vergleichsfelds und einem anderen Eckpunkt (21)
der Gruppe der Rasterpunkte. Ein Rasterwinkel ist mit β bezeichnet, um den die Gruppe
der Rasterpunkte (15) bis (18) gegenüber der Aufzeichnungsrichtung, die parallel zu
zwei Rändern des kleinsten Vergleichsfelds (14) verläuft, gedreht ist.
Durch die Gruppierung einer Anzahl Rasterpunkte in dem kleinsten Vergleichsfeld, wie
zu Fig. 1 beschrieben, können die Rasterwinkel und Rasterweiten mit steigender Anzahl von
Rasterpunkten beliebig fein werden, unter Einhaltung der Bedingung, daß die Ecken der
Gruppe der Rasterpunkte immer definiert je einem der Pixel des in Pixelabständen unterteilten
Vergleichsfelds zugeordnet sein sollen bzw. auf dieses Pixel treffen sollen.
Die Anzahl Speicherworte je Rasterpunkt schwankt wegen eines Digitalisierungseffekts,
der in der Zuordnung der Speicherworte zu einem Rasterpunkt an dessen gedachter Begrenzungslinie
begründet ist. Es werden dem Rasterpunkt die Speicherworte zugeordnet,
deren Mittelpunkte innerhalb der Begrenzungslinien des Rasterpunkts liegen. Daraus ergibt
sich der Istwert der Speicherworte in dem Rasterpunkt.
Das Erfordernis der Periodizität des Rasterausschnitts (22), der mit
solchen Mehrfachrasterpunkten aufgebaut ist, führt normalerweise zu ver
hältnismäßig großen Rasterausschnitten, da die Gruppierungen der
Rasterpunkte so oft wiederholt werden, bis die Periodizität bzw. wrap-around-Bedingung in
jeder der beiden orthogonalen Richtungen des Rasterausschnitts
gegeben ist.
Der in Fig. 3 dargestellte Referenzbereich (23) stellt einen definierten Ausschnitt aus
dem Rasterausschnitt gemäß Fig. 2 dar. Die Erstreckung
des Rasterausschnitts in einer der beiden orthogonalen Richtungen, nämlich der
Breite, die die gleiche ist wie diejenige des Rasterausschnitts, nämlich
In der hierzu orthogonalen Richtung, nämlich der Höhe, ist jedoch die Erstreckung des
Rasterausschnitts erheblich gegenüber derjenigen des Rasterausschnitts
verringert, nämlich um
h = ggt (a, b),
wobei dieser Wert h der größte gemeinsame Teiler von a und b bei den hier vorausgesetzten
quadratischen Pixeln die Breite bzw. Höhe eines Pixels darstellt.
Ferner ist der reduzierte Ausschnitt (23) flächengleich mit dem
Mehrfachrasterpunkt aus Fig. 1. Es gilt:
w · h = (a·a + b·b).
Der Versatz, mit dem deswegen in den Referenzbereich der Fig. 3 beim Abtasten in Abtast
zeilenrichtung bzw. in Seitenrichtung jeweils einzuspringen ist, nachdem die Dichteschwellwerte
aus diesem Referenzbereich einmal ausgelesen sind, beträgt hier 57 bei einer Weite von 65. In
Richtung der Abtastzeile X (wobei X in der Figur nicht dargestellt ist) ist die jeweils neue
X-Position, bei der das Auslesen der Dichteschwellwerte beginnt:
Xneu = (Xalt + Versatz) modulo w.
Darin ist die Weite W:
Die Dichteschwellwerte, im folgenden auch nur Schwellwerte genannt, sind für jedes Speicherwort
des Rasterausschnitts - oder des reduzierten Ausschnitts -
eines Rasterpunkts primär durch eine Rasterpunktfunktion vorgegeben. Die
Aspekte der vorliegenden Erfindung beziehen sich auf Korrekturen dieser durch die
Rasterpunktfunktion vorgegebenen Dichteschwellwerte.
In Fig. 4 ist stark vereinfacht die Struktur einer Einrichtung dargestellt, mit welcher das
Verfahren zur digitalisierten Rasterung einer Halbton-Bildvorlage unter Verwendung eines
Datenspeichers, in dem nur die Dichteschwellwerte eines reduzierten Ausschnitts eines gegen die
Abtastrichtung gedrehten Rasters (23) gemäß Fig. 3 gespeichert sind, ausgeübt wird. Die Ein
richtung nach Fig. 4 beinhaltet als Teil eines RIP′s (raster image
processor) die Mittel, um in einer Bitmap (2) Signale in Abhängigkeit von einem Vergleichsergebnis
zum Hell/Dunkel-Steuern einer in Fig. 4 nicht dargestellten Aufzeichnungseinrichtung zu
speichern, als ob zum Vergleich von Tonwertsignalen einer zu rasternden abgetasteten Halb
tonbildvorlage mit vorgegebenen Schwellwerten eines Rasterausschnitts
(22) gemäß Fig. 2 als vollständiger Ausschnitt des Rasters zur Verfügung stünde.
In dem Datenspeicher des Rasterausschnitts (1) sind Dichteschwellwerte des
Rasterausschnitts, der nur einen reduzierten Ausschnitt darstellt, gemäß einer
Rasterpunktfunktion mit nachfolgenden Korrekturen eingespeichert und spalten-
sowie zeilenweise adressierbar. Die Bitmap (2) ist ebenfalls spalten- und zeilenweise adressierbar,
so daß einzelne Speicherplätze (Bits) entsprechend einem in einem Vergleicher (3) durchgeführten
Vergleich zu setzen sind oder nicht.
Zur Spaltenadressierung der Bitmap (2) dient ein Eingang (4) und zur zeilenweisen Adressierung
ein Eingang (7). Die zeilenweise Adressierung des Datenspeichers des
Rasterausschnitts (1) erfolgt an einem Eingang (9) und zum versetzten Adressieren des
Rasterausschnitts, in dem die Dichteschwellwerte eines reduzierten Ausschnitts
des Rasters gespeichert sind, ist ein Eingang (6) an dem Datenspeicher (1) vorgesehen.
Zum getakteten Betrieb der in Fig. 4 dargestellten Einrichtung wird bei jedem Taktimpuls zum
einen ein Bit der Bitmap (2) adressiert und zum anderen ein Schwellwert in dem Datenspeicher
(1) des Rasterausschnitts adressiert, welcher dem adressierten Bit entspricht.
Das deswegen am Ausgang des Datenspeichers (1) anstehende Schwellwertsignal wird in dem
Vergleicher (3) mit einem Tonwertsignal auf der Grauwertleitung (13) verglichen, welches
durch Abtastung der Halbtonbildvorlage und gegebenenfalls anschließende Signalverarbeitung
entstanden ist. Das Ergebnis dieses in dem Vergleicher (3) durchgeführten Vergleichs wird in
binärer Form in das in der Bitmap (2), wie oben beschrieben, adressierte Bit eingetragen, welches
somit nach Maßgabe des Tonwertes und der angesprochenen Stelle des
Rasterausschnitts gesetzt wird oder nicht. Zur Hell-Dunkel-Steuerung einer nicht dargestellten
Aufzeichnungseinrichtung wird dieser Inhalt aus der Bitmap (2) ausgelesen.
Die nachfolgende detaillierte Beschreibung des erfindungsgemäßen Verfahrens, aus der sich
weitere Merkmale und Vorteile ergeben, geht von einem Referenzbereich
des Rasterausschnitts gemäß Fig. 3 aus, wie weiter vorne beschrieben wurde.
Dieser Rasterausschnitt enthält n·n Rasterpunkte (Rasterpunkts).
Zur Erläuterung wird auf zwei verschiedene Koordinatensysteme Bezug genommen, die zueinander
in einem bestimmten Verhältnis stehen. Vereinfachend wird hier angenommen, daß beide
Koordinatensysteme orthogonal seien und gleiche Skalierungen für beide Achsen aufweisen.
Das erste Koordinatensystem ist das der Bitmap, siehe (2) in Fig. 4. Die Bitmap ist ein Abbild
der Pixel der Wiedergabeeinrichtung. Jedes Bit der Bitmap hat die Breite und die Höhe von einer
Einheit. Die Achsen werden mit x und y bezeichnet.
Das zweite Koordinatensystem ist das der Rasterpunkte, wobei ein Rasterpunkt die
Breite und Höhe (1) hat. Die Achsen werden mit x′ und y′ bezeichnet. In aller Regel ist dieses x′,y′-
Koordinatensystem zu dem x-,y-Koordinatensystem um einen Winkel β rotiert.
Eine Umrechnung von x,y- zu x′,y′-Koordinaten kann nach folgenden Formeln erfolgen:
x′ = k · x · cos β + k · y · sin β
y′ = -k · x · sin β + k · y · cos β
y′ = -k · x · sin β + k · y · cos β
wobei die Konstante k der Umrechnungsfaktor einer Längeneinheit des x,y-Raumes in den
x′,y′-Raum ist.
Als Koordinate eines Pixels wird dessen Mittelpunkt angesehen. Die Koordinate des Pixels im
Ursprung des x,y-Raumes ist daher 0,5|0,5 und nicht wie vielleicht erwartet 0|0.
Weiterhin werden folgende Festlegungen getroffen: Der gewünschte Grauwert wird durch eine
ganze Zahl zwischen 0 und gmax dargestellt, wobei gmax der maximale Schwellwert ist. Der
Grauwert 0 entspricht schwarz (100% Farbe) und gmax entspricht weiß (0% Farbe). Um jetzt
den Grauwert g zu realisieren, würde man alle Bits der Bitmap auf 1 setzen, deren zugehörigen
Werte in dem Rasterausschnitt Werte kleiner als g enthalten. Die Werte
des Rasterausschnitts werden wie folgt bestimmt:
sw = m₀ · i + 1
wobei:
sw = Schwellwert, i = Position des Speicherwortes in der sortierten Liste
Damit ist die kontinuierliche Vergabe der Schwellwerte gesichert. Für den
Rasterausschnitt nach Fig. 3 ist der Vorgang für alle Subzellen (Rasterpunkte) zu wiederholen, um
allen Speicherworten des Rasterausschnitts einen Schwellwert zuzuweisen.
In einem Mehrfachrasterpunkt enthält jeder Rasterpunkt nur in der Theorie
gleich viele Speicherworte. In der Praxis schwankt diese Anzahl jedoch, bedingt durch die
Digitalisierungseffekte des idealen Rasterpunkts. Es wird daher zwischen einem Sollwert
und einem Istwert unterschieden. Der Istwert eines Rasterpunkts ergibt sich durch Auszählen
der Speicherworte nach der Digitalisierung der Kanten des Rasterpunkts. Der
Sollwert ergibt sich aus:
Wie schon weiter vorstehend erläutert, ergeben sich aus dem Unterschied von Soll und Ist bei
einem bestimmten Grauwert unterschiedliche große schwarze (bzw. weiße) Flecke in den verschiedenen
Rasterpunkten des Mehrfachrasterpunkts.
Um zur Egalisierung der schwarzen (bzw. weißen) Flecken der Rasterpunkte die
weiter oben allgemein beschriebene Unter- und Übersteuerungskorrektur durchzuführen, wird
der Schwellwert nach Maßgabe einer Funktion generiert, die in drei Abschnitte
(Funktionsbereiche) unterteilt ist:
- 1. Abschnitt für 0 < i < Istwert · s₁: sw = f₁(i)+1 = msoll · i+1wobei:
- 2. Abschnitt für Istwert · s₁ < i < Istwert · s₂:
- 3. Abschnitt für Istwert · s₂ < i < Istwert: sw = f₂(i)+1 = msoll · i+b+1wobei:b = msoll · (Sollwert-Istwert)
Die Werte s₁ und s₂ erfüllen die mathematische Ungleichung
0 < s₁ < s₂ < 1
und werden empirisch ermittelt. In der Praxis haben sich Werte von ca. 0,3 und 0,7 für s₁ und
s₂ als brauchbar erwiesen. Die Beziehung für den 2. Abschnitt bewirkt einen kontinuierlichen
Übergang von f₁(i) im 1. Abschnitt auf f₂(i) im 2. Abschnitt. Aufwendiger ist es, im Sinne eines
Feintunings mehr Abschnitte oder Funktionen höherer Ordnung oder andere Arten des Übergangs
im 2. Abschnitt zu verwenden.
Im 2. und 3. Abschnitt sind die Fehler, die sich aus Abweichungen des Istwerts der Pixel eines
Rasterpunkts von dem Sollwert ergeben, vollständig korrigiert. Wenn der Istwert eines
Rasterpunkts besonders stark vom Sollwert abweicht, so fällt dies in dem mittleren, 2.
Abschnitt immer noch auf. Dies kann abgemildert werden, indem in Abhängigkeit vom Istwert
ein tolerierbarer Fehler in den Abschnitten 1 und 3 zugelassen wird, um im 2. Abschnitt die
Rasterpunkte zueinander etwas zu homogenisieren.
Zu einer Weißkorrektur werden die Rasterpunkte zusätzlich in Quadranten unterteilt, die
für Grauwerte von 0-50% und 50-100% jeweils anders zusammengefaßt werden. Dadurch
wird auch die Grauwertkorrektur zweigeteilt.
Die Grauwertkorrektur und die Weißwertkorrektur führen im allgemeinen zu guten Ergebnissen.
Allerdings zeigen sich noch insbesondere in den Bereichen 0 plus/minus 2 Grad und 45
plus/minus 2 Grad bei n<3 störende Muster (insbesondere in den mittleren Tonwerten). Dies
rührt u. a. daher, daß der Schwerpunkt einzelner Rasterpunkte abdriftet. Diese
Rasterpunkte sind gitterförmig angeordnet, was zu der Ausbildung von Gitterlinien führt. Um
dies zu beheben, gilt es, den Schwerpunkt der Rasterpunkte zu korrigieren.
Bei den gängigen Rasterpunktfunktionen liegt der ideelle Schwerpunkt immer
im Mittelpunkt des Rasterpunkts. Unter realen Bedingungen weicht er jedoch in Abhängigkeit
vom Grauwert mal in die eine, mal in die andere Richtung ab. Bei Sonderrastern (z. B.
Linienraster) wandert der Schwerpunkt mit dem Grauwert. Es ist dann erforderlich, an Hand
von einer Modellrechnung den Verlauf des Schwerpunkts in Abhängigkeit vom Schwellwert zu
bestimmen und als Sollwert zu benutzen. Da dies keinen Einfluß auf die Korrekturmethode an
sich hat, wird dies hier nicht weiter ausgeführt. Es wird angenommen, daß der Schwerpunkt
ortsfest in der Mitte des Rasterpunkts liegt.
Die allgemeine mathematische Definition des Flächenschwerpunkts lautet:
wobei mit Sx, Sy die Schwerpunktskoordinaten in x- und y-Richtung, mit A die Fläche, mit x
und y die Koordinatenabstände der Flächen zu einem Ursprung und mit i der Index der Flächen
bezeichnet sind.
In unserem Fall sind die Flächenelemente die Devicepixel. Da diese alle den Flächeninhalt 1
haben, vereinfachen sich die Ausdrücke zu:
wobei: i = Anzahl der Devicepixel.
Um den Schwerpunkt eines Rasterpunkts zu bestimmen, braucht man also nur die x′- und y′-
Koordinaten der Schwellwerte innerhalb des gegebenen Rasterpunkts fortlaufend aufzuaddieren
und durch die Anzahl zu dividieren.
Die Korrektur selbst wird wie folgt vorgenommen: In der sortierten Liste wird geprüft, wie sich
der Schwerpunkt verändert, wenn der nächste Schwellwert dem nächsten Speicherwort in einer
Liste zugewiesen wird, wie sie bereits beschrieben ist. Es wird eine Fehler- bzw. Toleranzgrenze
vorgegeben, die sich z. B. als Erfahrungswert ergibt. Wird die Toleranzgrenze
überschritten, dann werden die restlichen Speicherworte
der Liste darauf untersucht, ob eines davon zu einem besseren Ergebnis führen würde.
Trifft dies zu, so wird die Liste umsortiert und der Schwellwert dem besser passenden Spei
cherwort zugewiesen. Es ist dabei zu beachten, daß keine freistehenden Pixel erzeugt werden,
um eine kompakte Punktform zu erhalten. Dies geschieht durch Prüfung, ob das Speicherwort
Nachbarn hat, denen schon Schwellwerte zugewiesen wurden.
Die Fig. 5 zeigt ein Schaltbild einer Anordnung zur Schwerpunktkorrektur mit einer zentralen
Ablaufsteuerung (31) in Form einer Datenverarbeitungseinrichtung, z. B. eines Rechners.
Weiterhin sind zwei Addierer (32), (33) vorgesehen, die mit der Ablaufsteuerung (31) verbunden
sind oder zu deren Bestandteilen gehören. Den Addierern (32), (33) ist eine Koordinatentrans
formationsstufe (34) nachgeschaltet, an die Dezimalfilter (35), (36) angeschlossen sind, auf die
ein Rasterpunktfunktionsgeber (37) folgt. Weiterhin ist eine
Rasterpunktspeichergruppe (38) z. B. in der Ablaufsteuerung (31) vorgesehen. Die
Rasterpunktspeichergruppe (38) wird durch Modulostufen (39), (40)
adressiert.
An die Ausgänge der Rasterpunktspeichergruppe (38) sind ein Speicher
des Rasterausschnitts (41), eine Rücktransformationsstufe (42) sowie Addierer (43), (44) anlegbar.
Der Rücktransformationsstufe (42) ist eine Nachbarschaftskontrollogik (45) nachgeschaltet,
die mit einem Nachbarschaftsspeicher (46) verbunden ist. An die Addierer (43), (44) sind jeweils
Dividierer (47), (48) angeschlossen, deren Ausgänge mit der Ablaufsteuerung (31)
verbunden sind.
An einem Ausgang für Indexwerte der Ablaufsteuerung (31) sind die Dividierer (47), (48) und
ein Multiplizierer und Addierer (49) über eine Indexleitung (50) angeschlossen. Letztere speist
ausgangsseitig den Speicher für den Rasterausschnitt (41).
Der Speicher (41) ist in Form und Größe identisch mit dem reduzierten
Ausschnitt (23) aus Fig. 3.
Zunächst wird der Funktionswert der Rasterpunktfunktion für jedes Speicherwort
des Rasterausschnitts bestimmt und in Rasterpunktspeichern
der Rasterpunktspeichergruppe (38) zwischengespeichert.
Hierzu generiert die Ablaufsteuerung (31) nacheinander alle möglichen Wertepaare für x
= 0 . . . (w-1) und y = 0 . . . (h-1) des ersten Koordinatensystems. Die folgende Beschreibung der
Vorgänge wiederholt sich für alle Wertepaare.
Sowohl zu x als auch y wird zunächst 0,5 in den Addierern (32), (33) addiert, um den Mittelpunkt
des zu bearbeitenden Speicherworts zu beschreiben. Dieses Wertepaar wird dann in der
Koordinatentransformationsstufe (34) in das Wertepaar x′ und y′ transformiert. Das Wertepaar
x′ und y′ gelangt einmal zu den Dezimalfilterstufen (35), (36), die nur die Nachkommastellen
passieren lassen. An den Ausgängen der Dezimalfilter (35), (36) stehen dann x′′ und y′′ zur
Verfügung und werden dem Rasterpunktfunktionsgeber (37) zugeführt.
Am Ausgang des Rasterpunktfunktionsgebers (37) steht das Ergebnis der
Rasterpunktfunktion des bearbeiteten Speicherworts des
Rasterausschnitts zur Verfügung.
Zum anderen werden x′ und y′ zur Bestimmung desjenigen Rasterpunktspeichers
der Rasterpunktspeichergruppe (38) herangezogen, in dem aktuelle Werte
abgespeichert werden. Dies geschieht, indem x′ und y′ durch Anwendung von modulo n in den
Modulostufen (39), (40) auf den Bereich 0 . . . (n-1), 0 . . . (n-1) abgebildet werden. Dieses so
gewonnene Wertepaar selektiert jeweils einen Rasterpunktspeicher der
Rasterpunktspeichergruppe (38).
Die Rasterpunktspeichergruppe selbst besteht aus n·n
Rasterpunktspeichern. Jeder Rasterpunktspeicher besteht aus einem Speicherbereich,
wobei unter jeder Adresse ein Datenquintett gespeichert werden kann. Dieses Quintett
besteht aus dem Rasterpunktfunktionswert z, dem Wertepaar x/y und dem
Wertepaar x′′/y′′. Fernerhin existiert in der Rasterpunktspeichergruppe ein
nicht dargestelltes Register, das die Anzahl der genutzten Einträge speichert und Anzahlregister
genannt werden kann. Die Werte z, x/y, und x′′/y′′ werden in dem selektierten Speicherblock in
aufsteigender Reihenfolge für den Rasterpunktfunktionswert z einsortiert.
Außerdem wird der Inhalt des Anzahlregisters um den Wert 1 erhöht.
Als nächstes werden die Schwellwerte für den Speicher des Raster
ausschnitts vergeben. Dies geschieht in n·n Arbeitszyklen, wobei in jedem Arbeitszyklus ein
Rasterpunktspeicher abgearbeitet wird. In jedem Arbeitszyklus wird von der
Ablaufsteuerung (31) mittels der Index-Leitung (50) Eintrag für Eintrag im selektierten
Rasterpunktspeicher sequentiell adressiert. Die x′′- und y′′-Werte des aktuell adressierten
Eintrags in den Rasterpunktspeicher gelangen je zu
20 den Sx- und Sy-Addieren (43), (44) und werden versuchsweise in diesen aufaddiert. Das
Ergebnis wird in den nachgeschalteten Dividierern (47), (48) durch den aktuellen Indexwert
dividiert. Deren Ausgangssignale beschreiben die Koordinatenwerte Sx, Sy des Schwerpunkts.
Ist der Schwerpunkt innerhalb einer vorgegebenen Toleranzgrenze, so benutzt die Ablaufsteuerung
(31) die Werte x und y zur Adressierung eines Speicherwortes aus dem
Speicher des Rasterausschnitts. In dieses Speicherwort wird Indexwert · msoll+1 als
Schwellwert eingetragen. Außerdem werden x′′ und y′′ durch die Rücktransformationsstufe (42)
in x/y-Koordinaten rücktransformiert und von der Nachbarschaftskontrollogik dazu benutzt, um
das im Nachbarschaftsspeicher (46) so selektierte Speicherwort von 0 auf 1 zu setzen. Die im
Nachbarschaftsspeicher (46) eingetragenen Einsen entsprechen der aktuellen Punktform.
Ist die Toleranzgrenze überschritten, so werden die restlichen Einträge im selektierten
Rasterpunktspeicher nach demjenigen Speicherwort durchsucht, das den Schwerpunkt am
besten korrigiert. Hierbei werden nur die Speicherworte berücksichtigt, bei denen die Nachbar
schaftskontrollogik (45) z. B. in den 8 benachbarten Speicherworten des zugehörigen Speicherwortes
des Nachbarschaftsspeichers (46) mindestens 1 (oder mehrere) Speicherworte aufweisen,
die auf 1 gesetzt sind. Ist dies nicht der Fall, so handelt es sich um ein freistehendes Pixel
und der Eintrag kommt als Ersatzwert nicht in Frage. Nachdem der beste Ersatzwert bestimmt
wurde, werden die Einträge im Rasterpunktspeicher entsprechend ringförmig
verschoben. Beispiel: Angenommen der Indexwert sei 5 und der Ersatzwert sei 9, so würden die
Einträge 5, 6, 7 und 8 um eine Position auf 6, 7, 8 und 9 verschoben und der (alte) Inhalt von 9
auf die Adresse 5 kopiert. Würden die Werte 5 und 9 einfach nur ausgetauscht, so hätte dies
unerwünschte Abweichungen von der Punktform zufolge. Anschließend wird gemäß den
x/y-Koordinaten des Ersatzwertes (im Beispiel der Eintrag, der von Adresse 9 auf 5 kopiert
wurde) der Schwellwert vergeben und das x′′ und y′′ entsprechende Speicherwort im Nachbar
schaftsspeicher auf 1 gesetzt.
Die Fig. 6 zeigt schematisch das Ablaufdiagramm für die Schwerpunktkorrektur. Gegeben sind
die oben erwähnten Parameter für a, b und n, was in Fig. 6 mit (51) bezeichnet ist. Danach werden
die Werte h, w und k bestimmt. Mit k ist die Rasterweite bezeichnet, die sich aus der folgenden
Beziehung ergibt:
Die Bestimmung der Werte h, w und k ist in Fig. 6 mit dem Schritt (52) bezeichnet. Auf diesen
Schritt (52) folgt im Schritt (53) die Bestimmung der Funktionswerte der Raster
punktfunktion für alle Speicherworte bzw. Speicherwerte des Schwellwertgebirges und die
Eintragung der Funktionswerte in die Rasterpunktspeicher. Danach werden im
Schritt (54) die Schwellwerte unter Berücksichtigung der Schwerpunktkorrektur vergeben.
Einzelheiten des Ablaufdiagramms zeigen die Fig. 7a und 7b.
In einem Verfahrensschritt (55) werden die Wertepaare x, y von der Ablaufsteuerung (31)
erzeugt. Auf den Schritt (55) folgt der Schritt (56) für die Berechnung der transformierten Wertepaare
x′, y′. Danach werden die Wertepaare xq und yq in einem Schritt (57) als Adressen bestimmt.
Im Schritt (58) werden die Stellen vor dem Komma der Wertepaare x′′ und y′′ abgetrennt.
Aus den Nachkommastellen wird sodann im Schritt (59) der Rasterpunkt
funktionswert gebildet. Der jeweilige Rasterpunktfunktionswert wird im
folgenden Schritt (60) in dem adressierten Rasterpunktspeicher zusammen mit
den Wertepaaren x/y und x′/y′ gespeichert. Das Register für die Anzahl wird danach im Schritt
(61) um den Wert 1 erhöht. Es folgt im Schritt (62) die Prüfung, ob die Werte w-1 und h-1 erreicht
sind. Ist dies nicht der Fall, dann wird auf den Schritt übergegangen. Wenn dies aber zutrifft,
wird auf einen Schritt (63) übergegangen, in dem der nächstmögliche
Rasterpunktspeicher aus der Rasterpunktspeichergruppe (38) ausgewählt
wird. Danach wird im Schritt (64) unter Erhöhung der Indexzahl der Eintrag im aktuellen
Rasterpunktspeicher ausgewählt. Es folgt ein Schritt (65) mit der
30 Berechnung neuer Schwerpunktskoordinatenwerte. Diese werden im nächsten Schritt (66)
auf Über- bzw. Unterschreiten der Toleranzgrenze geprüft. Liegen sie innerhalb der Toleranzgrenze,
schließt sich der Schritt (67) mit der Prüfung an, ob der letzte Eintrag im aktuellen
Rasterpunktspeicher vorliegt. Wenn ja, wird im weiteren Schritt (68) geprüft, ob
es sich um den letzten Rasterpunktspeicher handelt. Trifft dies zu, ist das Verfahren
abgeschlossen. Wenn nein, wird auf den Schritt (63) zurückgegangen.
Ist das Prüfergebnis im Schritt (66) negativ, dann folgt im Schritt (69) das Durchsuchen der
restlichen Einträge im Rasterpunktspeicher nach einem Speicherwort, das den
Schwerpunkt am besten korrigiert, wobei das gefundene Speicherwort mindestens drei Nachbarn
haben sollte. Im nächsten Schritt (70) werden die Werte vom aktuellen Eintrag bis zum
bestimmten Ersatzspeicherwort rotiert. Danach werden im Schritt (70a) der Schwellwert eingetragen
und ein Speicherwort im Nachbarschaftsspeicher (46) gesetzt, bevor auf den Schritt (67)
übergegangen wird. Sollte dieses Prüfergebnis negativ sein, wird auf den Schritt (63) zurückgegangen.
Ein weiteres Problem der Raster im Bereich 0 plus/minus 2 Grad und 45 plus/minus 2 Grad ist
ein stark unterschiedlicher Punktschluß. Mit wachsendem Grauwert berühren sich benachbarte
Rasterpunkte irgendwann. Dies nennt man Punktschluß. Der Punktschluß erfolgt für bestimmte
Positionen der Rasterpunktgrenzen bei unterschiedlichem Grauwert. Auch diese Störung neigt
zur Ausbildung von Gitterlinien.
Die Devicepixel können in der Praxis nicht als ideale Gebilde mit exakt quadratischem Querschnitt
betrachtet werden, da der Laserstrahl einen eher kreisförmigen Fleck erzeugt, wobei der
Fleck auch im Durchmesser um einiges zu groß ist, um eine gute Dichte der geschwärzten Fläche
zu erreichen. Für die Punktschlußkorrektur gilt daher zu beachten, daß alle Devicepixel einen
Einfluß auf den Punktschluß haben, deren Mittelpunkte innerhalb einer Randzone entlang
der 4 Kanten des Rasterpunkts liegen. Als theoretische Näherung kann man die Breite
der Randzone mit der halben Diagonale eines Pixels annehmen.
Um eine Punktschlußkorrektur durchzuführen, ist es erforderlich, an Hand einer Modellrechnung
für die gegebene Rasterpunktfunktion zu bestimmen, bei welchem Grauwert
welche Grenzbereiche eines Rasterpunkts geschwärzt werden.
Die Korrektur selbst wird wie folgt vorgenommen: Für jedes Speicherwort der sortierten Liste
wird überprüft, ob es in der Randzone liegt, die für den Punktschluß verantwortlich ist. Wenn ja,
so wird durch Vergleich mit den Sollvorgaben der Modellrechnung überprüft, ob das gegebene
Pixel den Randbereich, den es bedeckt, zum richtigen Zeitpunkt (korrekter: zum richtigen
Grauwert) schwärzt. Wird eine Fehlergrenze überschritten, so setzt die Korrektur ein. Hierbei
sind zwei Fälle zu unterscheiden:
- - Abweichung nach unten, d. h. der Punktschluß würde zu früh erfolgen. Man muß also den Rasterpunkt etwas von dem Rand "abdrängen". Dies geschieht, indem man das aktuelle Speicherwort mit Listenspeicherworten vertauscht, die erst später (korrekter: bei dunklerem Grauwert) geschwärzt würden, und die nicht im Randbereich liegen. Das Ersatz speicherwort sollte weiterhin im Sinne einer kompakten Punktform möglichst viele Nachbarn haben (möglichst nicht unter 3).
- - Abweichungen nach oben, d. h. der Punktschluß würde zu spät erfolgen. In diesem Fall muß man den Rasterpunkt an den Rand etwas "heranziehen". Dies geschieht, indem man das aktuelle Speicherwort mit Listenspeicherworten vertauscht, die eigentlich schon früher geschwärzt wurden und die nicht im Randbereich liegen. Hierbei muß ebenfalls die Nachbarschaft der umzusortierenden Speicherworte untersucht werden, um zu verhindern, daß die Umsortierung nicht dazu führt, daß ein "Loch" in den Rasterpunkt "gefressen" wird. Es können nur Speicherworte umsortiert werden, die maximal 4 Nachbarn haben.
Die Fig. 8 zeigt ein Schaltbild einer Anordnung zur Punktschlußkorrektur. Diese Anordnung
gleicht teilweise derjenigen für die Schwerpunktkorrektur. Gleiche Speicherworte in den Fig. 5
und 8 wurden mit den gleichen Bezugszeichen versehen. Es handelt sich um die Ablaufsteuerung
(31), die Addierer (32), (33), dieKoordinatentransformationsstufe (34), die Dezimalfilter
(35), (36), den Rasterpunktfunktionsgeber (37), die
Rasterpunktspeichergruppe (38), die Modulostufen (39), (40), den
Speicher des Rasterausschnitts (41), die Rücktransformationsstufe (42), die Nachbarschaftslogik
(45) und den Nachbarschaftsspeicher (46). Bezüglich dieser Speicherworte wird auf die obige
Beschreibung zu Fig. 5 hingewiesen.
Wie bei der Schwerpunktkorrektur wird zuerst der Funktionswert für jedes einzelne
Speicherwort des Rasterausschnitts bestimmt. Wie oben beschrieben, werden
die gebildeten Werte z, x/y und x′′/y′′ in dem selektierten Speicherblock in aufsteigender Reihenfolge
für den Funktionswert z einsortiert, wonach der Inhalt des Registers für die Anzahl um
den Wert 1 erhöht wird.
An den Ausgang der Rasterpunktspeichergruppe (38) sind bei der in Fig. 8
dargestellten Anordnung eine Randzonenkontrollogik (71) und ein Modell
rasterpunktspeicher (72) anlegbar. Die Ausgänge der Randzonenkontrollogik (71) und des
Modellrasterpunktspeichers (72) sind mit der Ablaufsteuerung (31) verbunden.
Ein Dividierer (73) ist eingangsseitig mit dem Register für die Anzahl und einer Index1-
Leitung (74) der Ablaufsteuerung (31) verbunden. Ausgangsseitig ist der Dividierer (73)
an die Ablaufsteuerung (31) angeschlossen. Eine Index2-Leitung (75) der Ablaufsteuerung (31)
ist mit einem Multiplizierer und Addierer (76) verbunden, dessen Ausgang an den
Speicher des Rasterausschnitts (41) anlegbar ist.
Als nächstes wird die Punktschlußkorrektur durchgeführt. Dies geschieht in n·n Arbeitszyklen,
wobei in jedem Arbeitszyklus ein Rasterpunktspeicher abgearbeitet wird. In jedem
Arbeitszyklus wird von der Ablaufsteuerung (31) mittels einer Index1-Leitung Eintrag für
Eintrag im selektierten Rasterpunktspeicher sequentiell adressiert. Die x′′- und
y′′-Werte des aktuell adressierten Eintrags in den Rasterpunktspeicher gelangen
einmal zur Randzonenkontrollogik (71). Diese entscheidet, ob das aktuelle Speicherwort in der
Randzone liegt oder nicht. x′′ und y′′ gelangen auch zu dem Modellrasterpunktspeicher
(72). An dessen Ausgang steht ein Sollwertsignal im Bereich 0 . . . 1 zur Verfügung.
Der Index1 wird außerdem vom Dividierer (73) durch die Anzahl der Einträge im aktuellen
Rasterpunktspeicher dividiert und somit auf den Bereich 0 . . . 1 normiert. Wenn die
Randzonenlogik (71) auf "false" erkennt, so ist keine Korrektur erforderlich und die Ablaufsteuerung
(31) geht auf das nächste Speicherwort im Rasterpunktspeicher durch
Erhöhen von Index1 über. Wenn die Randzonenlogik (71) auf "true" erkennt, so vergleicht die
Ablaufsteuerung (31) die Signale vom Modellrasterpunktspeicher (72) und
Dividierer (73). Sind sie hinreichend gleich, so ist ebenfalls keine Korrektur erforderlich, und es
wird auf das nächste Speicherwort übergegangen. Ist dies nicht der Fall, so wird nochmals zwischen
kleiner und größer unterschieden.
Im Falle kleiner gilt es, den Rasterpunkt etwas abzudrängen. Hierzu werden die verbleibenden
Speicherworte im Rasterpunktspeicher nach einem Speicherwort durchsucht,
das nicht in der Randzone liegt und möglichst viele (mindestens 3) Nachbarn hat. Diese
beiden Speicherworte werden dann vertauscht.
Im Falle größer gilt es, dafür zu sorgen, daß der aktuelle Eintrag weiter vorne in der Liste eingetragen
wird. Hierzu werden die schon vergebenen Einträge von der aktuellen Position in absteigender
Reihenfolge nach Speicherworten durchsucht, die nicht im Randbereich liegen und möglichst
wenig Nachbarn haben. Diese Liste darf noch nicht bewußt vertauscht worden sein.
Ist ein Speicherwort gefunden, so wird ringförmig rotiert. Beispiel: Aktueller Index: 9, gefundenes
Speicherwort 5 ⇒ 5 geht auf die Position 9, 9 auf 8, 8 auf 7, 7 auf 6, 6 auf 5. Dieser
Vorgang wird (Istwert-Sollwert) · (Anzahl der Einträge im Rasterpunktspeicher)
mal wiederholt.
Schließlich werden die Schwellwerte vergeben. Dies geschieht in n·n Arbeitszyklen, wobei in
jedem Arbeitszyklus ein Rasterpunktspeicher abgearbeitet wird. In jedem Arbeitszyklus
wird von der Ablaufsteuerung (31) mittels der Index2-Leitung (75) Eintrag für Eintrag
im selektierten Rasterpunktspeicher sequentiell adressiert. Die im aktuellen Eintrag
befindlichen Parameter x und y adressieren hierbei ein Speicherwort aus dem
Speicher des Rasterausschnitts (41), in dem Index2 · msoll+1 als Schwellwert
gespeichert wird.
Die Fig. 9 zeigt schematisch das Ablaufdiagramm für die Punktschlußkorrektur, das in bezug
auf die Schritte (51), (52), (53) mit dem Ablaufdiagramm gemäß Fig. 6 übereinstimmt. Im
Schritt (77), der auf den Schritt (53) folgt, wird die Punktschlußkorrektur durch Vertauschungen
in den sortierten Listen der Rasterpunktspeicher durchgeführt. Ist diese Maßnahme
beendet, werden im nächsten Schritt (78) die Schwellwerte vergeben.
Die Punktschlußkorrektur erfordert die in Fig. 7a und 7b im einzelnen dargestellten und oben
erläuterten Verfahrensschritte (55), (56), (57), (58), (59), (60), (61), (62) und (63). Auf eine
nähere Erläuterung dieser Schritte kann daher an dieser Stelle verzichtet werden.
Auf den Schritt (63) folgt bei der Punktschlußkorrektur ein Schritt (79), in dem der
Index 1 um
eins erhöht wird, worauf der nächste Eintrag im aktuellen Rasterpunktspeicher
ausgewählt wird. Im nächsten Schritt (80) wird geprüft, ob das entsprechende Pixel in der
Randzone liegt. Wenn nein, wird im Schritt (81) geprüft, ob es sich um den letzten Eintrag im
Rasterpunktspeicher handelt. Befindet sich der Pixel in der Randzone, folgt im
Schritt (82) die Prüfung, ob der Istwert des Schwellwerts innerhalb einer Toleranzgrenze dem
Sollwert gemäß dem Modellrasterpunktspeicher (72) entspricht. Wenn
nein, schließt sich der Schritt (81) an. Wenn ja, wird im Schritt (83) festgestellt, ob der Istwert
kleiner als der Sollwert ist, dann wird auf einen Schritt (84) übergegangen, in dem die restlichen
Einträge nach einem nicht in der Randzone liegenden Speicherwort unter Berücksichtigung von
bereits bearbeiteten Nachbarspeicherworten durchsucht werden. Danach wird das gefundene
Speicherwort mit dem aktuellen Speicherwort vertauscht. Ist der Sollwert kleiner als der Istwert,
so folgt ein Schritt (85), in dem nach einem Speicherwort, das nicht in der Randzone liegt
und bereits bearbeitete Nachbarspeicherworte hat, gesucht wird, um einen ringförmigen Tausch
durchzuführen. Beide Schritte (84), (85) leiten zum Schritt (81) über. Wird darin festgestellt,
daß der letzte Eintrag im aktuellen Rasterpunktspeicher nicht erreicht ist, folgt
der Schritt (63). Im anderen Falle folgt ein Schritt (86), in dem geprüft wird, ob der letzte
Rasterpunktspeicher erreicht ist. Wenn nein, folgt Schritt (63). Wenn ja, folgt
Schritt (87), in dem der nächstmögliche Rasterpunktspeicher der
Rasterpunktspeichergruppe (38) ausgewählt wird, worauf im Schritt (88) nach Index
inkrementierung der nächste Eintrag im aktuellen Rasterpunktspeicher ausgewählt
wird. Im anschließenden Schritt (89) werden die Parameter x, y des aktuellen Eintrags aus
dem Rasterpunktspeicher zur Auswahl eines Speicherworts aus dem
Speicher (41) verwendet.
In diesem Speicherwort wird im Schritt (90) das Ergebnis der Schwellwertbildung abgespeichert.
An den Schritt (90) schließt sich ein Abfrageschritt (91) nach dem ersten aktuellen Eintrag
im Rasterpunktspeicher an. Ist dies nicht der Fall, folgt der Schritt (88).
Wenn ja, wird auf den Abfrageschritt (92) übergegangen, in dem nach dem letzten
Rasterpunktspeicher abgefragt wird. Wenn dieser erreicht ist, ist die Punktschlußkorrektur
beendet. Ansonsten folgt der Schritt (87).
Claims (11)
1. Verfahren zur Rasterung einer Halbton-Bildvorlage, insbesondere in Form
eines oder mehrerer Farbauszüge,
wobei die Rasterung der Halbtonbildvorlage derart vorgenommen wird, daß die gesamte Bildvorlage in gleich große, periodisch nebeneinander und übereinander angeordnete Rasterausschnitte (Superzellen) aufgeteilt wird, die wiederum in einzelne Rasterzellen unterteilt sind, innerhalb deren sich die einzelnen Rasterpunkte (Spots) befinden, die in ihrer Gesamtheit durch die periodische Neben- und Übereinanderanordnung der Rasterausschnitte ein sich über die gesamte Bildvorlage erstreckendes, unter einem vor gegebenen Winkel gedrehtes Rasternetz ergeben,
für die Erzeugung der Rasterpunkte innerhalb der Rasterzellen eine die Rasterzelle abdeckende Rasterpunktfunktion (Spotfunktion) vorgesehen ist, deren Funktionswerten eine Vielzahl von Dichteschwellwerten zu geordnet werden, die als Speicherworte innerhalb eines Datenspeichers abgelegt werden und wobei
für die Speicherworte des Rasterpunktes einer Rasterzelle eine sortierte Folge von Speicherworten nach Maßgabe der Rasterpunktfunktion ermittelt wird und den Speicherworten in Abhängigkeit von der Position des Speicherwortes innerhalb der sortierten Folge Dichtschwellwerte zugeordnet werden,
dadurch gekennzeichnet, daß
für jedes Speicherwort, das im Randbereich eines Rasterpunktes einer Rasterzelle liegt, geprüft wird, ob das Speicherwort einen Punktschluß im vorab bestimmten Tonwertbereich verursacht,
daß bei Abweichungen zur Korrektur des Punktschlusses Vertauschungen der Speicherworte des Rasterpunktes vorgenommen werden und daß
den Speicherworten des Rasterpunktes entsprechend vertauschte Dichteschwellwerte zugeordnet werden.
wobei die Rasterung der Halbtonbildvorlage derart vorgenommen wird, daß die gesamte Bildvorlage in gleich große, periodisch nebeneinander und übereinander angeordnete Rasterausschnitte (Superzellen) aufgeteilt wird, die wiederum in einzelne Rasterzellen unterteilt sind, innerhalb deren sich die einzelnen Rasterpunkte (Spots) befinden, die in ihrer Gesamtheit durch die periodische Neben- und Übereinanderanordnung der Rasterausschnitte ein sich über die gesamte Bildvorlage erstreckendes, unter einem vor gegebenen Winkel gedrehtes Rasternetz ergeben,
für die Erzeugung der Rasterpunkte innerhalb der Rasterzellen eine die Rasterzelle abdeckende Rasterpunktfunktion (Spotfunktion) vorgesehen ist, deren Funktionswerten eine Vielzahl von Dichteschwellwerten zu geordnet werden, die als Speicherworte innerhalb eines Datenspeichers abgelegt werden und wobei
für die Speicherworte des Rasterpunktes einer Rasterzelle eine sortierte Folge von Speicherworten nach Maßgabe der Rasterpunktfunktion ermittelt wird und den Speicherworten in Abhängigkeit von der Position des Speicherwortes innerhalb der sortierten Folge Dichtschwellwerte zugeordnet werden,
dadurch gekennzeichnet, daß
für jedes Speicherwort, das im Randbereich eines Rasterpunktes einer Rasterzelle liegt, geprüft wird, ob das Speicherwort einen Punktschluß im vorab bestimmten Tonwertbereich verursacht,
daß bei Abweichungen zur Korrektur des Punktschlusses Vertauschungen der Speicherworte des Rasterpunktes vorgenommen werden und daß
den Speicherworten des Rasterpunktes entsprechend vertauschte Dichteschwellwerte zugeordnet werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für jeden
Rasterpunkt der Rasterzelle einzeln die tatsächliche Anzahl von Speicher
worten ermittelt wird und für jeden Rasterpunkt eine sortierte Folge der
Speicherworte nach Maßgabe der Rasterpunktfunktion erzeugt wird, daß
für jeden Rasterpunkt des Ausschnitts des Rasters eine Randzone entlang
der vier Kanten des Rasterpunktes als Prüfbereich für einen Punktschluß
vorgegeben wird, daß für die jeweilige Rasterpunktfunktion die Tonwert
bereiche, bei denen die Grenzbereiche eines Rasterpunktes geschwärzt
werden, vorab bestimmt werden, daß jedes sortierte Speicherwort geprüft
wird, ob es für die gegebene Rasterpunktfunktion und die Position des
Speicherworts im vorgegebenen Tonwertbereich geschwärzt wird, daß bei
Abweichungen davon Vertauschungen in den sortierten Speicherworten
der Rasterpunkte unter Berücksichtigung von benachbarten Speicherworten
zur Einhaltung der Toleranzgrenzen durchgeführt werden und daß
danach die Dichteschwellwerte zugeordnet werden.
3. Verfahren nach zumindest Anspruch 1, dadurch gekennzeichnet, daß
zuerst für jedes Speicherwort eines Rasterpunktes der Rasterzellen der
Funktionswert der Rasterpunktfunktion erzeugt und in einem Rasterpunkt
speicher zwischengespeichert wird, der den Funktionswert und Koordina
tenwerte für jedes Speicherwort des Rasterpunktes der Rasterzelle enthält,
daß der Funktionswert und die Koordinatenwerte in aufsteigender Reihen
folge der Funktionswerte abgespeichert werden, daß danach in aufein
anderfolgenden Arbeitszyklen mit den Koordinatenwerten der Einträge im
Rasterpunktspeicher einerseits die Lage des Speicherwortes in der Rand
zone geprüft und andererseits ein Modellrasterpunktspeicher adressiert
wird, daß bei außerhalb der Randzone liegendem
Speicherwort das nächste Speicherwort ausgewählt wird, daß bei innerhalb
der Randzone liegendem Speicherwort der Inhalt des jeweiligen
Rasterpunktspeichers mit dem Inhalt der adressierten Zelle des Modell
rasterpunktspeichers verglichen wird, daß das nächste Speicherwort aus
gewählt wird, wenn die Inhalte des Modellrasterpunktspeichers und des
Rasterpunktspeichers innerhalb der Toleranzgrenzen übereinstimmen, daß
bei Abweichungen von der Toleranzgrenze auf kleiner oder größer geprüft
wird, daß bei kleinerem Wert im Rasterpunktspeicher ein Speicherwort des
Rasterpunktspeichers gesucht wird, das nicht in der Randzone liegt und
Nachbarspeicherwerte hat und das mit dem anderen Speicherwort
vertauscht wird, daß bei größerem Wert im Rasterpunktspeicher die
vergebenen Einträge von der aktuellen Position in absteigender Reihen
folge nach einem Speicherwort außerhalb des Randbereichs mit möglichst
wenig Nachbarspeicherworte durchsucht werden, wobei das festgestellte
Speicherwort durch Umsortieren an die Stelle des anderen Speicherworts
tritt, und daß die Dichteschwellwerte danach in aufeinanderfolgenden
Arbeitszyklen zugeordnet werden.
4. Verfahren nach zumindest einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß zur Durchführung einer weiteren Korrektur oder
alternativ zu einer solchen vor Zuordnung des Dichteschwellwertes eines
aktuellen Speicherwortes eines Rasterpunktes der Rasterzelle der sich
ergebende Schwerpunkt des Rasterpunktes berechnet wird, daß bei
Abweichungen vom vorgegebenen Schwerpunkt ein Ersatzspeicherwort
bestimmt wird, und daß diesem Ersatzspeicherwort der entsprechende
Dichteschwellwert zugeordnet wird.
5. Verfahren nach zumindest einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß für jeden Rasterpunkt der Rasterzelle einzeln die
tatsächliche Anzahl von Speicherworten erzeugt wird und für jeden
Rasterpunkt eine sortierte Folge der Speicherworte nach Maßgabe der
Rasterpunktfunktion erzeugt wird, daß für jedes Wort der einem Raster
punkt zugeordneten Speicherworte der sich ergebende Schwerpunkt
bestimmt wird und mit einer vorgegebenen Toleranzgrenze verglichen wird
und daß bei Überschreitung der Toleranzgrenze die verbleibenden
Speicherworte der Folge unter Berechnung des Schwerpunktes nach dem
Ersatzspeicherwort durchsucht und umsortiert werden und dem Speicherwort
des Ersatzspeicherwortes der Rasterzelle ein Dichteschwellwert
zugeordnet wird, wenn die berechnete Änderung die Toleranzgrenze nicht
überschreitet, dem zugehörigen Speicherwort der Rasterzelle des Rasters
ein Dichteschwellwert zugeordnet wird.
6. Verfahren nach zumindest einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß zuerst für jedes aktuelle Speicherwort eines Raster
punktes der Rasterzelle der Funktionswert der Rasterpunktfunktion erzeugt
und in einem Rasterpunktspeicher zwischengespeichert wird, der den
Funktionswert und Koordinatenwerte für jedes Speicherwort des Raster
punktes enthält, daß der Funktionswert und die Koordinatenwerte in
aufsteigender Reihenfolge der Funktionsweise abgespeichert werden, daß
danach in aufeinanderfolgenden Arbeitszyklen für jeden Rasterpunkt
speicher einer Rasterzelle die Koordination des Schwerpunkts für jedes
Speicherwort des Rasterpunktspeichers berechnet und mit der Toleranz
grenze verglichen werden, daß bei Einhaltung der Toleranzgrenze mit den
Koordinatenwerten ein Rasterzellenspeicher adressiert wird, in dem ein
Dichteschwellwert gespeichert wird, der von der Position des Speicher
wortes im Rasterpunktspeicher und dem Inhalt eines dem Rasterpunkt
speicher zugeordneten Anzahlregisters abhängt, daß bei Überschreitung
der Toleranzgrenze der Rasterpunktspeicher bei demjenigen Speicherwort
unter Berechnung des Schwerpunkts durchsucht wird, bei dem die Tole
ranzgrenze eingehalten wird, daß danach geprüft wird, ob benachbarten
Speicherworten Dichteschwellwerte zugeordnet sind, daß bei benachbarten
Speicherworten mit Dichteschwellwerten die Eintragungen im Raster
punktspeicher entsprechend dem zugeordneten Inhalt des Anzeigeregisters
ringförmig umsortiert werden und daß dann der Dichteschwellwert zu
geordnet wird.
7. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß dem Rasterzellenspeicher ein erstes, ortho
gonales Koordinatensystem und dem Rasterpunkt ein zweites, um einen
Winkel gegen das erste gedrehtes, orthogonales Koordinatensystem zu
geordnet sind.
8. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß jeder Rasterpunktspeicher den Rasterpunkt
funktionswert und die Wertepaare der Koordinaten der beiden Koordina
tenwerte enthält.
9. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß ein Nachbarschaftsspeicher vorgesehen ist,
in dem den Speicherworten Speicher zugeordnet sind, in denen bei Zu
ordnung eines Dichteschwellwerts zum Speicherwort eine entsprechende
Angabe enthalten ist, und daß mit einer Nachbarschaftskontrollogik die
Speicherworte mit den Angaben für die Schwerpunktkorrektur oder die
Punktschlußkorrektur auswählbar sind.
10. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß die Schwellwerte in dem Rasterzellenspeicher
abgespeichert werden.
11. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß ein Modellrasterpunktspeicher vorgesehen
ist, in dem für eine gegebene Rasterpunktfunktion die Schwärzung der
Grenzbereiche des Rasterpunktes in Abhängigkeit von den Schwellwerten
abgelegt ist und der durch Koordinatenwertepaare aus den Rasterpunkt
speichern adressiert wird.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4038056A DE4038056C2 (de) | 1990-11-29 | 1990-11-29 | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage |
US08/066,035 US5581372A (en) | 1990-11-29 | 1991-11-22 | Method for generating and storing digitized density thresholds for rastering a half tone original image |
PCT/DE1991/000916 WO1992010056A1 (de) | 1990-11-29 | 1991-11-22 | Verfahren zur generierung und speicherung von digitalisierten dichte-schwellwerten zur rasterung einer halbton-bildvorlage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4038056A DE4038056C2 (de) | 1990-11-29 | 1990-11-29 | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4038056A1 DE4038056A1 (de) | 1992-06-04 |
DE4038056C2 true DE4038056C2 (de) | 1997-05-15 |
Family
ID=6419204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4038056A Expired - Lifetime DE4038056C2 (de) | 1990-11-29 | 1990-11-29 | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage |
Country Status (3)
Country | Link |
---|---|
US (1) | US5581372A (de) |
DE (1) | DE4038056C2 (de) |
WO (1) | WO1992010056A1 (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4339281C2 (de) * | 1993-11-18 | 2003-10-30 | Heidelberger Druckmasch Ag | Verfahren zur Optimierung bei der Reproduzierung einer Bildvorlage |
JPH10173923A (ja) * | 1996-12-16 | 1998-06-26 | Oki Data:Kk | 網点型ディザパタ−ンの生成装置並びにその方法 |
US5930396A (en) * | 1997-04-22 | 1999-07-27 | Adobe Systems Incorporated | Method and apparatus for generating halftone output |
US6930800B1 (en) * | 1998-09-09 | 2005-08-16 | Fuji Xerox Co., Ltd. | Halftone generation system and halftone generation method |
EP1085749B1 (de) * | 1999-09-17 | 2011-01-12 | Canon Kabushiki Kaisha | Verfahren und Gerät zur Bildverarbeitung |
US7079287B1 (en) | 2000-08-01 | 2006-07-18 | Eastman Kodak Company | Edge enhancement of gray level images |
JP2002057913A (ja) * | 2000-08-01 | 2002-02-22 | Nexpress Solutions Llc | 個人的好みに応じたカラー強調をもたらす像記録装置および像記録方法 |
US7218420B1 (en) * | 2000-08-01 | 2007-05-15 | Eastman Kodak Company | Gray level halftone processing |
US7079281B1 (en) | 2000-08-01 | 2006-07-18 | Eastman Kodak Company | Edge enhancement processor and method with adjustable threshold setting |
US7310168B2 (en) * | 2001-07-03 | 2007-12-18 | Infoprint Solutions Company Llc | Method and apparatus for controlling a spot function for digital halftoning |
US7480072B2 (en) * | 2001-08-29 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Efficient and flexible multi-bit halftoning |
US7570835B2 (en) * | 2004-02-17 | 2009-08-04 | International Business Machines Corporation | Edge smoothing filter for character recognition |
US7864159B2 (en) | 2005-01-12 | 2011-01-04 | Thinkoptics, Inc. | Handheld vision based absolute pointing system |
JP4773170B2 (ja) | 2005-09-14 | 2011-09-14 | 任天堂株式会社 | ゲームプログラムおよびゲームシステム |
US8913003B2 (en) | 2006-07-17 | 2014-12-16 | Thinkoptics, Inc. | Free-space multi-dimensional absolute pointer using a projection marker system |
US9176598B2 (en) | 2007-05-08 | 2015-11-03 | Thinkoptics, Inc. | Free-space multi-dimensional absolute pointer with improved performance |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1901101A1 (de) * | 1969-01-10 | 1970-10-29 | Hell Rudolf Dr Ing Fa | Verfahren zur punkt- und zeilenweisen gerasterten Aufzeichnung der durch Abtastung von Halbtonbildern gewonnenen Bildsignale mit gegen die Aufzeichnungsrichtung gedrehtem Raster |
US4084183A (en) * | 1970-03-18 | 1978-04-11 | Dr. Ing. Rudolf Hell Gmbh. | Method for the electro-optical reproduction of half-tone pictures |
DE2012728C3 (de) * | 1970-03-18 | 1974-09-19 | Dr.-Ing. Rudolf Hell Gmbh, 2300 Kiel | Verfahren zur elektrooptischen Aufzeichnung von gerasterten Halbtonbildern |
US4149194A (en) * | 1977-07-07 | 1979-04-10 | Xerox Corporation | Variable angle electronic halftone screening |
DE2917242C2 (de) * | 1979-04-27 | 1983-04-14 | Fogra Deutsche Forschungsgesellschaft für Druck- und Reproduktionstechnik e.V., 8000 München | Rasterpunktkontur |
DE2934436C2 (de) * | 1979-08-25 | 1986-01-30 | Bosse, Rolf, Dr.-Ing., 8011 Neukeferloh | Verfahren zur Aufzeichnung gerasterter Bilder |
JPS57171337A (en) * | 1981-04-14 | 1982-10-21 | Dainippon Screen Mfg Co Ltd | Production of halftone plate picture |
JPS6038973A (ja) * | 1983-08-11 | 1985-02-28 | Dainippon Screen Mfg Co Ltd | 境界画素の処理方法 |
JPS61170185A (ja) * | 1985-01-23 | 1986-07-31 | Victor Co Of Japan Ltd | 画素情報処理方式 |
JPS61203785A (ja) * | 1985-03-07 | 1986-09-09 | Dainippon Screen Mfg Co Ltd | 2値画像デ−タの平滑化処理方法及びその装置 |
EP0361538A1 (de) * | 1985-04-12 | 1990-04-04 | International Business Machines Corporation | Verfahren und Anordnung zur Randverstärkung bei der Reproduktion digitalisierter Multipegelbilder durch einen Printer mit konstanter Punktgrösse |
JPH01295570A (ja) * | 1988-05-23 | 1989-11-29 | Mitsubishi Electric Corp | 画像処理装置 |
US4924301A (en) * | 1988-11-08 | 1990-05-08 | Seecolor Corporation | Apparatus and methods for digital halftoning |
DE4013411A1 (de) * | 1990-04-26 | 1991-11-07 | Linotype Ag | Verfahren zur digitalisierten rasterung einer halbton-bildvorlage |
DE4022772A1 (de) * | 1990-07-18 | 1992-02-13 | Linotype Ag | Verfahren zur generierung und speicherung von digitalisierten dichte-schwellwerten zur rasterung einer halbton-bildvorlage |
US5469516A (en) * | 1990-11-29 | 1995-11-21 | Linotype-Hell Ag | Method for generating and storing digitized density thresholds for rastering a half tone original image |
US5140431A (en) * | 1990-12-31 | 1992-08-18 | E. I. Du Pont De Nemours And Company | Digital electronic system for halftone printing |
US5276535A (en) * | 1991-12-24 | 1994-01-04 | Levien Raphael L | Method and apparatus for halftoning of images using grayscale error diffusion |
US5315406A (en) * | 1991-09-03 | 1994-05-24 | Levien Raphael L | Screen generation for halftone screening of images using arbitrary distribution of transformed screen coordinates |
US5422742A (en) * | 1993-09-08 | 1995-06-06 | Ostromoukhov; Victor B. | Method and apparatus for generating halftone images by discrete one-to-one dither tile rotation |
-
1990
- 1990-11-29 DE DE4038056A patent/DE4038056C2/de not_active Expired - Lifetime
-
1991
- 1991-11-22 US US08/066,035 patent/US5581372A/en not_active Expired - Lifetime
- 1991-11-22 WO PCT/DE1991/000916 patent/WO1992010056A1/de active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US5581372A (en) | 1996-12-03 |
DE4038056A1 (de) | 1992-06-04 |
WO1992010056A1 (de) | 1992-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3546136C2 (de) | ||
DE4038056C2 (de) | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage | |
DE68922312T2 (de) | Elektronische vorrichtung zur halbtonrasterung graphischer vorlagen, die moiremuster unterdrückt, mit verwendung von pseudo-zufälliger zeichensatzauswahl. | |
DE3312273C3 (de) | Bildverarbeitungsgerät | |
DE3543262C2 (de) | ||
DE60201138T2 (de) | Verfahren zur Herstellung einer Maske, Bildausgabegerät und computerlesbares Aufzeichnungsmedium | |
DE3213573A1 (de) | Verfahren zum herstellen einer halbtonplatte zur anwendung bei einer bildreproduziermaschine | |
DE3838730A1 (de) | Verfahren und vorrichtung zur bildverarbeitung | |
DE3346316A1 (de) | Verfahren und vorrichtung zum erzeugen von rasterbildern | |
DE10137164A1 (de) | Graustufen-Halbton-Bearbeitung | |
DE69128064T2 (de) | Eine allgemeine Kernfunktion zur elektronischen Erzeugung gerasterter Halbtöne | |
DE69117100T2 (de) | Verfahren und Gerät zur Erzeugung von ein integriertes Bild darstellenden Bilddaten | |
DE69120237T2 (de) | Digitales elektronisches System zum Drucken gerasteter Halbtöne | |
EP0032908A1 (de) | Verfahren zur autotypischen tonwertzerlegung. | |
DE69025706T2 (de) | Verfahren zur Erzeugung gerasterter Halbtonbilder | |
DE69120471T2 (de) | Gerät zur Erzeugung einer gerasterten Reproduktion eines Bildes | |
DE69020727T2 (de) | Fehlerhafte dichtekonturunterdrückung, die zufallsmodifizierte eingangssignale für den vergleich mit schwellenwerten benutzt. | |
EP0230076A2 (de) | Verfahren und Anschaltungsanordnung zur Auflösungsumwandlung von binären Pseudo-Halbtonbildern | |
DE69722126T2 (de) | Verfahren zur Halbtonrasterungsumsetzung der Grauwertsignale der Bildelemente eines Bildes und Bildwiedergabegerät | |
EP0612181A1 (de) | Verfahren und Einrichtung zur Umwandlung von Halbtonwerten in Binärwerte | |
DE3443174A1 (de) | Verfahren zum scannen und aufzeichnen eines bilds | |
DE3889528T2 (de) | Verfahren und Anordnung zum Aufzeichnen eines Bildes in der Form einer Matrize von Bildelementen. | |
DE19880703C1 (de) | Verfahren zur digitalen Rasterung von Halbtonbildern mit Rastern beliebiger Rasterweiten und Rasterwinkel | |
DE69128075T2 (de) | Verbesserungen bei der erzeugung von effekten mit digitalen videosignalen | |
DE4038057C2 (de) | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbtonbildvorlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEIDELBERGER DRUCKMASCHINEN AG, 69115 HEIDELBERG, |