DE3935558A1 - Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten - Google Patents
Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punktenInfo
- Publication number
- DE3935558A1 DE3935558A1 DE3935558A DE3935558A DE3935558A1 DE 3935558 A1 DE3935558 A1 DE 3935558A1 DE 3935558 A DE3935558 A DE 3935558A DE 3935558 A DE3935558 A DE 3935558A DE 3935558 A1 DE3935558 A1 DE 3935558A1
- Authority
- DE
- Germany
- Prior art keywords
- coordinate
- data
- outline
- point data
- picture elements
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
- G06V30/182—Extraction of features or characteristics of the image by coding the contour of the pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Description
Die Erfindung bezieht sich allgemein auf eine Vorrichtung zum
Konvertieren von Umrißdarstellungsdaten des Umrisses eines
Bildes, wie z.B. eines Buchstabens, Symboles oder graphischen
Darstellung, in eine Punktmusterdarstellung der Punkte, die
gebildet werden sollen, um das Bild zu reproduzieren. Insbesondere
bezieht sich die Erfindung auf Verbesserungen in einer solchen
Datenkonvertierungsvorrichtung.
Bilder wie z.B. Zeichen, die Buchstaben und Symbole umfassen,
werden gedruckt, angezeigt oder auf eine andere Art und Weise in
Übereinstimmung mit den durch einen Computer geeignet verarbeiteten
Bilddaten dargestellt. Im allgemeinen besitzen die Bilddaten die
Form von Punktdaten (im weiteren auch Bitmusterdaten genannt), die
angeben, ob ein Punkt in jedem Bildelement, das die kleinste Einheit
eines Bildes darstellt, und die die Auflösung des reproduzierten
Bildes bestimmen, gebildet werden soll. Falls eine Reihe von Punkt
datendarstellungen aller verfügbarer Reproduktionsbilder vorbereitet
und in einem Bilddatenspeicher, wie z.B. einem Zeichendatenspeicher,
gespeichert werden sollen, muß der Speicher eine extrem große
Speicherkapazität aufweisen. Es ist daher wünschenswert, eine Reihe
von Umrißdarstellungsdaten des Umrisses der Bilder, wie z.B. der
Zeichen, zu speichern, und die Umrißdaten in die entsprechenden
Punktmusterdaten durch eine geeignete Datenkonvertierungsvorrichtung
zu konvertieren, wenn die Bilder gedruckt, angezeigt oder in anderer
Art und Weise reproduziert werden, wie dies in der japanischen
Patentschrift 53-41 017 beschrieben ist.
Bei der in der oben genannten Druckschrift beschriebenen Datenkon
vertierungsvorrichtung werden die Umrißdaten in einem Koordinaten
system, bei dem Bildelemente durch eine Mehrzahl von parallelen
Abtastlinien, die parallel zur x- oder y-Achse sind, definiert.
Zum Beispiel ist jeder Zeichenanschlag durch diejenigen Bildele
mente (im weiteren auch als Umrißbildelemente bezeichnet) definiert,
innerhalb deren Kreuzungen zwischen den Zeichenumrissen und jeder
Abtastlinie liegen. Die Bits der diesen Umrißbildelementen
entsprechenden Punktdaten werden alle so gesetzt, daß diese die zu
bildenden Punkte im entsprechenden Umrißbildelement angeben. Diese
Bits werden im weiteren als "punktbildende Bits" bezeichnet. Dann
werden alle Bits der Punktdaten, die denjenigen Bildelementen, die
von der Umrißlinie der durch die Umrißbildelemente definierten
umgebenen Bildelemente entsprechen (im weiteren als "interne
Bildelemente" bezeichnet) alle als punktbildende Bits gesetzt.
Diese bekannte Konvertierungsvorrichtung ist daher so angepaßt,
daß diese zwei Schritte zur Vorbereitung einer notwendigen Reihe
von Punktdaten ausführen kann, d.h. einen ersten Schritt zum
Erhalten der punktbildenden Bits für die Umrißbildelemente und
einen zweiten Schritt für die punktbildenden Bits für die internen
Bildelemente. Darüberhinaus erfordert es die bekannte Vorrichtung,
daß der zweite Schritt so geführt wird, daß die logischen Werte
der Bits einer nach dem anderen für die einzelnen internen Bild
elemente gesetzt wird. Mit anderen Worten erfordert es die
Vorrichtung, daß für jede der großen Anzahl von Bits von Punktdaten,
die einer großen Zahl von entlang einer jeden Abtastlinie
angeordneten Umriß- und internen Bildelementen entsprechen,
bestimmt wird, ob jedes Bit ein punktbildendes Bit ist oder
nicht. Die Bits werden so gesetzt, daß diese angeben, daß keine
zu bildenden Punkte vorliegen (d.h., daß diese geben diejenigen
Teile des Zeichens an, der nicht reproduziert werden soll), bis
ein erstes punktbildende Bit für ein Umrißbildelement entlang
einer entsprechenden Abtastlinie erfaßt wird. Die Bits zwischen
dem ersten erfaßten punktbildenden Bit und einem zweiten punkt
bildenden Bit für ein anderes Umrißbildelement werden alle derart
gesetzt, daß diese die zu bildenden Punkte angeben, nämlich gleich
den punktbildenden Bits für die internen Bildelemente. Die Bits,
die auf das erfaßte zweite punktbildende Bit für das zweite
Umrißbildelement folgen, werden in der Art gesetzt, daß diese
angeben, daß keine Punkte gebildet werden sollen, bis ein drittes
punktbildendes Bit für ein drittes Umrißelement entlang der
entsprechenden Abtastlinie erfaßt wird. Die Bits, die auf das
dritte punktbildende Bit folgen, werden ebenfalls als punktbildende
Bits für eine andere Gruppe von internen Bildelementen gesetzt.
Daher ist die bekannte Datenkonvertierungsvorrichtung nicht
effizient genug, da sie einen vergleichsweise langen Zeitraum
für die Verarbeitung der Daten zum Prüfen von jedem Bit jeder
Abtastlinie benötigt, um festzulegen, ob das Bit ein punktbildendes
Bit ist oder nicht.
Es ist daher Aufgabe der Erfindung, eine Datenkonvertierungsvor
richtung zu schaffen, die Umrißdaten eines Bildes effizient in
Punktdaten konvertiert. Ferner soll eine Datenkonvertierungsvor
richtung geschaffen werden, die fähig ist, Umrißdaten eines Bildes
mit einem schmalen Bereich, in Punktdaten, die mit dem Umriß des
Bildes so exakt wie möglich überinstimmen, zu konvertieren.
Die Aufgabe der Erfindung wird gelöst durch das Prinzip eines
Aspektes der Erfindung, das eine Datenkonvertierungsvorrichtung
zum Konvertieren einer Reihe von Umrißdatendarstellungen eines
Umrisses eines Bildes, wie z.B. eines Buchstabens, eines Symboles
oder einer graphischen Darstellung, in eine Reihe von Punktdaten,
die angeben, ob ein Punkt in jedem der Bildelemente, die sich in
einem Koordinatensystem in dem diese Umrißdaten definiert sind,
befinden, gebildet werden soll, wobei (a) eine Koordinatenberech
nungsvorrichtung zum Berechnen von Koordinatenwerten der Kreuzungen
zwischen dem Umriß des Bildes in dem Koordinatensystem und einer
Mehrzahl von parallelen Abtastlinien, die dem Umriß im Koordinaten
system überlagert sind, gebildet ist, (b) eine Koordinatenspeicher
vorrichtung gebildet ist zum Speichern der von der Koordinaten
berechnungsvorrichtung berechneten Koordinatenwerte, wobei die
Koordinatenwerte für jede der Abtastlinien nach der Größe der Werte
geordnet sind und zwei benachbarte der geordneten Werte als Paar
von Koordinatenwerten gepaart sind, und (c) eine Punktdatenauf
bereitungsvorrichtung gebildet ist zum Aufbereiten einer Reihe von
Punktdaten, so daß aufeinanderfolgende Bits der Punktdaten, die
einer Mehrzahl von aufeinanderfolgenden Bildelementen entsprechen,
die aus zwei Bildelementen bestehen, die von dem oben angegebenen
Paar von Koordinatenwerten repräsentiert werden, und mindestens
einem Bildelemement zwischen den oben angegebenen zwei Bild
elementen bestehen, zu einem Zeitpunkt so gesetzt werden, daß jedes
der aufeinanderfolgenden Bits einen zu bildenden Punkt beim
entsprechenden Bildelement bedeutet.
Der Ausdruck "Koordinatenwerte der Kreuzungen zwischen dem Umriß
eines Bildes und den Abtastlinien" ist so zu interpretieren, daß
diese die Koordinatenwerte der Bildelemente bedeuten, wenn die
Kreuzungen sich bei den entsprechenden Bildelementen befinden,
d.h., bei den Zentren der geeigneten Bildelemente, oder die
Koordinatenwerte derjenigen Bildelemente, die sich den entspre
chenden Kreuzungen am nächsten befinden, wenn sich die Kreuzungen
nicht bei den Bildelementen befinden.
Die wie oben beschrieben konstruierte Datenkonvertierungsvorrichtung
der Erfindung ist derart geschaffen, daß die Umrißdaten in
entsprechende Bitdaten konvertiert werden, unmittelbar basierend
auf den Koordinatenwerten eines jeden Paares von benachbarten
geordneten Werten der zwei Kreuzungen zwischen dem Bildumriß und
jeder Abtastlinie, so daß die aufeinanderfolgenden Bits der
Punktdaten, die allen aufeinanderfolgenden Bildelementen, die von
den zwei Bildelementen, die von den oben angegebenen benachbarten
und geordneten zwei Koordinatenwerten für jede Abtastlinie
repräsentiert werden, werden zu einem Zeitpunkt so gesetzt, daß
die aufeinanderfolgenden Bits die Bildung von Punkten bei den
entsprechenden Bildelementen bewirken. Diese Ausgestaltung befindet
sich im Gegensatz zu der herkömmlichen Ausgestaltung, bei der eine
Reihe von Punktdaten für die Umrißbildelemente, die den Umriß des
Bildes definieren, aufbereitet wird, und dann eine andere Reihe
von Bildelementen für die internen Bildelemente innerhalb des
Bildumrisses bereitet wird, basierend auf den vorher gebildeten
Punktdaten für die Umrißbildelemente. Die Koordinaten, die von der
Koordinatenberechnungsvorrichtung berechnet werden, werden in einem
geeigneten Speicher gespeichert, so daß die Koordinatenwerte der
Kreuzungen vom kleinsten zum größten Wert, oder auch umgekehrt,
angeordnet werden, und wobei die geordneten Werte so gepaart
werden, daß die zwei Werte eines jeden Paares bezüglich ihrer
Größe einander am nächsten liegen. Jedes Paar von Koordinatenwerten
für jede Abtastlinie legt aufeinanderfolgende Bildelemente fest,
die einen Teil des Bildes, wie z.B. den Anschlag eines Zeichens
(d.h., definieren die Breite des Anschlages), definieren. Daher
können die Bits, die diesen aufeinanderfolgenden Bildelementen
entsprechen, als punktbildende Bits zu einem Zeitpunkt gesetzt
werden.
Damit erlaubt die vorliegende Anordnung die Festlegung der
logischen Werte aller Bits, die jeder Abtastlinie entsprechen,
zu einem Zeitpunkt, basierend auf den gespeicherten Koordinaten
werten jeder Kreuzung, ohne daß jedes Bit für jede Abtastlinie
geprüft werden muß, um zu ermitteln, ob das Bit "1" oder "0" sein
soll, wie dies bei einer herkömmlichen Vorrichtung der Fall ist.
Entsprechend ist die vorliegende Vorrichtung fähig, die Umrißdaten
eines Bildes effizient in entsprechende Punktdaten zu konvertieren,
ohne daß eine komplizierte Prozedur notwendig ist.
Die Koordinatenberechnungsvorrichtung kann angepaßt sein, um als
Koordinatenwert jeder Kreuzung einen Koordinatenwert des Zentrums
eines Bildelementes, der der entsprechenden Kreuzung am nächsten
liegt, zu berechnen, wobei das Zentrum entweder innerhalb oder
außerhalb des Bildumrisses liegen kann.
Das von den Umrißdaten dargestellte Bild kann einen schmalen Bereich
besitzen. Zum Beispiel kann ein Zeichen als Bild einen schmalen
Anschlag oder der Anschlag eines Zeichens kann einen schmalen
Endbereich besitzen, wobei möglicherweise nur eine Kreuzung zwischen
dem Bildumriß und einer Abtastlinie erhalten wird. In diesem Fall
bildet die herkömmliche Vorrichtung die Punktdaten derart, daß
punktbildende Bits für die Bildelemente zwischen der erhaltenen
einen Kreuzung und einer anderen Kreuzung zwischen dem Umriß eines
anderen Bereiches des Bildes (d.h. einem anderen Anschlag eines
Zeichens) und der entsprechenden Abtastlinie gesetzt werden. Die
so gebildeten Punktdaten führen zu einer Reproduktion des Bildes,
deren Umriß vom normalen Umriß, der von den ursprünglichen
Umrißdaten dargestellt wird, verschieden ist. Um dies zu verhindern,
sollte der Umriß eines jeden Elementes sorgfältig entworfen werden.
In Übereinstimmung mit einer bevorzugten Ausführung der Erfindung,
bei der nur eine Kreuzung von der Koordinatenberechnungsvorrichtung
erhalten wird, kann die Koordinatenspeichervorrichtung so angepaßt
sein, daß der Koordinatenwert der oben angegebenen einen Kreuzung
an verschiedenen Stellen eines geeigneten Speichers als Paar von
Koordinatenwerten, die die Breite des Bildes oder die Breite des
entsprechenden Bereiches des Bildes definieren, gespeichert wird.
Entsprechend werden punktbildende Bits für diejenigen Bildelemente,
die das Innere des Bildumrisses darstellen, gesetzt, wobei das
herkömmlich mögliche fehlerhafte Setzen der Punktdaten verhindert
werden kann. Damit kann die Aufgabe der Erfindung in Übereinstimmung
mit der oben angegebenen Ausführung erreicht werden, die eine exakte
Reproduktion des von den Umrißdaten dargestellten Bildes gewähr
leistet.
Bei ein paar Situationen gibt es keine Kreuzung zwischen dem
Bildumriß und einer Abtastlinie. Falls z.B. die Breite von zwei
Segmenten des Umrisses so klein ist, daß sich das Bild oder ein
Teil des Bildes (ein Anschlag eines Zeichens) zwischen zwei
benachbarten Abtastlinien befindet, kann die Koordinatenberechnungs
vorrichtung keine Koordinatenwerte einer Kreuzung finden. Dies
bedeutet die Abwesenheit eines Teiles des Bildes, trotz der
Tatsache, daß die entsprechende Abtastlinie das Bild schneidet.
In diesem Fall werden punktbildende Bits gesetzt, um Punkte zu
bilden, die gebildet werden sollten, um den entsprechenden Teil
des Bildes zu definieren, wobei das reproduzierte Bild
diskontinuierlich ist aufgrund der Abwesenheit der Punkte an den
entsprechenden Teilen des Bildes. Damit ist das reproduzierte Bild
verschieden von dem ursprünglichen Bild, das von den Umrißdaten
dargestellt wird.
Diese Unannehmlichkeit kann in Übereinstimmung mit dem zweiten
Aspekt der Erfindung überwunden werden, der eine Datenkonver
tierungsvorrichtung zum Konvertieren einer Reihe von Umrißdaten
darstellungen eines Umrisses eines Bildes, wie z.B. eines Buch
stabens, Symboles oder einer graphischen Darstellung, in eine
Reihe von Punktdaten, die angeben, ob ein Punkt bei jedem der
Bildelemente, die sich in einem Koordinatensystem befinden, in dem
die Umrißdaten definiert sind, gebildet wird, umfaßt, wobei die
Vorrichtung (a) eine erste Koordinatenberechnungsvorrichtung zum
Berechnen von Koordinatenwerten der Kreuzungen zwischen dem Umriß
des Bildes im Koordinatensystem und einer Mehrzahl von ersten
parallelen Abtastlinien, die dem Umriß im Koordinatensystem
überlagert sind, aufweist, (b) eine erste Koordinatenspeicher
vorrichtung aufweist zum Speichern der Koordinatenwerte, die von
der ersten Koordinatenberechnungsvorrichtung berechnet werden, so
daß die Koordinatenwerte für jede der ersten Abtastlinie der Größe
ihrer Werte nach geordnet und zwei benachbarte der geordneten Werte
als Paar von Koordinatenwerten gepaart sind, (c) eine erste
Punktdatenvorbereitungsvorrichtung aufweist zum Aufbereiten einer
ersten Reihe von Punktdaten, so daß aufeinanderfolgende Bits der
Punktdaten, die einer Mehrzahl von aufeinanderfolgenden Bild
elementen entsprechen, die aus zwei Bildelementen, die von dem
oben angegebenen Paar von Koordinatenwerten dargestellt werden,
und mindestens einem Bildelement zwischen den zwei Bildelementen
bestehen, zu einem Zeitpunkt gesetzt werden, so daß jedes der
aufeinanderfolgenden Bits einen zu bildenden Punkt im entsprechenden
Bildelement bedeutet, (d) eine zweite Koordinatenberechnungs
vorrichtung aufweist zum Berechnen von Koordinatenwerten von
Kreuzungen zwischen dem Bildumriß im Koordinatensystem und einer
Mehrzahl von parallelen zweiten Abtastlinien, die dem Umriß im
Koordinatensystem überlagert sind und die ersten Abtastlinien
schneiden, (e) eine zweite Koordinatenspeichervorrichtung aufweist
zum Speichern der Koordinatenwerte, die von der zweiten
Koordinatenberechnungsvorrichtung berechnet werden, so daß die
Koordinatenwerte für jede der zweiten Abtastlinien der Größe ihres
Werte nach geordnet und zwei benachbarte der geordneten Werte für
jede der zweiten Abtastlinien als Paar von Koordinatenwerten
gepaart sind, (f) eine zweite Datenaufbereitungsvorrichtung aufweist
zum Aufbereiten einer zweiten Reihe von Punktdaten, so daß
aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von
Bildelementen entsprechen, die aus zwei Bildelementen, die von dem
oben genannten Paar von Koordinatenwerten für jede der zweiten
Abtastlinien dargestellt werden, und mindestens einem Bildelement
zwischen den zwei Bildelementen, die durch das oben genannte Paar
von Koordinatenwerten für jede der zweiten Abtastlinien dargestellt
werden, zu einem Zeitpunkt gesetzt werden, so daß jedes der
aufeinanderfolgenden Bits der zweiten Reihe von Punktdaten einen
beim entsprechenden Bildelement zu bildenden Punkt angibt, und
(g) eine kombinierte Datenaufbereitungsvorrichtung aufweist zum
Aufbereiten einer Reihe von kombinierten Punktdaten durch
Kombinieren der ersten Reihe von Punktdaten, die von der ersten
Punktdatenaufbereitungsvorrichtung aufbereitet sind, und der
zweiten Reihe von Punktdaten, die von der zweiten Punktdatenauf
bereitungsvorrichtung aufbereitet sind.
In Übereinstimmung mit der oben beschriebenen Datenkonvertierungs
vorrichtung werden die Koordinatenwerte der Kreuzungen zwischen
dem Bildumriß und den ersten Abtastlinien und jene der Kreuzungen
zwischen dem Bildumriß und den zweiten Abtastlinien, die die
ersten Abtastlinien schneiden, von der ersten bzw. zweiten
Koordinatenberechnungsvorrichtung berechnet. Selbst wenn sich der
Bildumriß oder ein Teil des Bildumrisses zum Beispiel zwischen zwei
benachbarten ersten Abtastlinien befindet, schneidet bei dieser
Anordnung mindestens eine der benachbarten zwei zweiten Abtastlinien
den Bildumriß oder einen Teil des Umrisses, wodurch Kreuzungen für
die zweiten Abtastlinien erhalten werden. Damit wird bei der
Bereitung von kombinierten Punktdaten durch Kombinieren der ersten
Reihe von Punktdaten, die aus den Koordinatenwerten, die mit den
ersten Abtastlinien in Verbindung stehen, gebildet werden, und der
zweiten Reihe von Punktdaten, die aus den Koordinatenwerten, die
mit den zweiten Abtastlinien in Verbindung stehen, das durch die
kombinierten Punktdaten dargestellte Bild kontinuierlich
reproduziert, da diejenigen Bildelemente, die in Übereinstimmung
mit den fehlerhaft gesetzten Bits der ersten Reihe von Punktdaten,
leer bleiben, von den Punkten, die in Übereinstimmung mit den
Bits der zweiten Reihe von Punktdaten gebildet sind, aufgefüllt
werden. Folglich gewährleisten die kombinierten Punktdaten eine
Reproduktion des Bildes ohne Diskontinuitäten aufgrund von
fehlenden Kreuzungen zwischen dem Bildumriß und einer der ersten
und zweiten Abtastlinien.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich
aus der Beschreibung von Ausführungsbeispielen anhand der Figuren.
Von den Figuren zeigen:
Fig. 1 ein schematisches Blockdiagramm, das einen Steuer
schaltkreis eines Laserdruckers zeigt, der eine
Ausführung einer Datenkonvertierungsvorrichtung nach
der Erfindung umfaßt;
Fig. 2 ein schematisches Bild der zentralen Recheneinheit des
Steuerschaltkreises der Fig. 1;
Fig. 3 ein Flußdiagramm, das eine Routine zur Datenkonver
tierung als eines der in einem Programm-ROM
gespeicherten Steuerprogramme zeigt;
Fig. 4 den Umriß des Buchstabens "H", dessen Umrißdaten in
Punktdaten durch die Datenkonvertierungsvorrichtung
entsprechend der Konvertierungsroutinen der Fig. 3
konvertiert werden sollen;
Fig. 5 einen Teil eines Schirmes mit einem Koordinatensystem,
dem der Umriß des Buchstabens "H" überlagert ist;
Fig. 6-11 verschiedene Arten und Weisen, die Kreuzungen zwischen
den x-Achsenpixellinien und Segmenten des Zeichenum
risses zu erfassen und in Punktdaten durch die
Datenkonvertierungsvorrichtung zu konvertieren;
Fig. 12 die Positionen der Kreuzungspunkte für den Buchstaben
"H" auf dem Schirm;
Fig. 13 die x-Koordinaten der Kreuzungspunkte der Fig. 12, die
den x-Achsenpixellinien entsprechen;
Fig. 14 die Art und Weise, wie Punktdaten entsprechend den
x-Koordinaten der Kreuzungen, wie in Fig. 13 gezeigt,
erhalten werden;
Fig. 15 ein der Fig. 1 entsprechendes schematisches Diagramm,
das den Steuerschaltkreis eines Laserdruckers zeigt,
der eine Ausführung der Datenkonvertierungseinrichtung
nach der Erfindung umfaßt;
Fig. 16 ein Flußdiagramm, das eine Datenkonvertierungsroutine,
die in der Ausführung der Fig. 15 ausgeführt wird;
Fig. 17 den Umriß eines bogenförmigen Anschlages eines Zeichens,
dessen Umrißdaten in Punktdaten entsprechend der
Datenkonvertierungsroutine der Fig. 16 konvertiert
werden sollen;
Fig. 18 den dem Pixelschirm überlagerten bogenförmigen Anschlag
der Fig. 17;
Fig. 19 die x-Koordinaten analog zu Fig. 13 der Kreuzungspunkte
der x-Achsenpixellinien und dem Umriß des bogenförmigen
Anschlages der Fig. 18;
Fig. 20 die y-Koordinaten der Kreuzungspunkte der y-Achsenpixel
linien und den Umriß des bogenförmigen Anschlages der
Fig. 18 und
Fig. 21 die Art und Weise, wie Punktdaten entsprechend den
x-Koordinaten der Kreuzungen, wie in Fig. 19 gezeigt,
erhalten werden.
Die Fig. 1 und 2 zeigen eine Datenkonvertierungsvorrichtung in
Übereinstimmung mit einer Ausführung der Erfindung zum Konvertieren
von Umrißdaten in Punktdaten zum Drucken in einem Laserdrucker,
bei dem das Drucken auf einem Medium dadurch erfolgt, daß die
Mediumoberfläche einem Laserstrahl, der entsprechend den Punktdaten
gesteuert wird, ausgesetzt wird.
Das schematische Blockdiagramm der Fig. 1 zeigt einen Bereich eines
Steuerschaltkreises des Laserdruckers, der mit der Datenkonversion
in Übereinstimmung mit dem Prinzip der Erfindung verknüpft ist. Der
Steuerschaltkreis besteht im wesentlichen aus einem Mikrocomputer 10,
der eine CPU 12 (zentrale Recheneinheit), einen Zeichen-ROM 14
(read only memory = Nur-Lese-Speicher), einen Programm-ROM 16,
einen Textspeicher 18, einen Arbeitsspeicher 20, einen Koordinaten
speicher 22 und einen Punktdatenspeicher 24 umfaßt. Diese Elemente
des Mikrocomputers 10, wie z.B. die CPU 12, sind miteinander durch
den Bus 28 verbunden. An den Bus 28 sind eine Dateneingabevor
richtung 30 und eine Druckeinheit 32 angeschlossen. Die Eingabe
vorrichtung 30 ist dazu vorgesehen, den Mikrocomputer 20 mit den
notwendigen Daten zum Drucken zu versorgen, während die Druckvor
richtung 32 so konstruiert ist, daß sie in Übereinstimmung mit
Signalen vom Mikrocomputer 10 das Drucken mittels des Lasers
ausführt. Der gewählte Laser besitzt eine Auflösung von 300 Punkten
pro Zoll.
Wie in Fig. 2 schematisch angedeutet ist, besitzt die CPU 12 einen
Datenlesebereich 36, einen Koordinatenberechnungsbereich 38 und
einen Punktdatenberechnungsbereich 40. Der Koordinatenberechnungs
bereich 38 berechnet die Kreuzungen zwischen dem Umriß eines Zeichens
und einer x-Achsenpixellinie x eines Koordinatenpixelschirmes (der
unten beschrieben wird). Der Punktdatenberechnungsbereich bereitet
die Punktdatendarstellung (Pixelmuster) des Zeichens, dessen
Punktdaten mit dem Umriß des Zeichens übereinstimmen, vor. Der
Textspeicher 18 speichert eine Reihe von Zeichendaten eines einen
über die Eingabevorrichtung 30 eingegebenen Textes in der Form von
Codedaten, und der Arbeitsspeicher 20 speichert Daten, die für den
Mikrocomputer 10 notwendig sind, um verschiedene im Programm
speicher 16 gespeicherte Steuerprogramme auszuführen. Der Koordi
natenspeicher 22 speichert die vom Koordinatenberechnungsbereich 38
berechneten Koordinaten, und der Punktdatenspeicher 24 speichert die
vom Punktdatenberechnungsbereich 40 vorbereiteten Punktdaten.
Der Zeichen-ROM 14 speichert mehrere Reihen vom Umrißdatendar
stellungen des Umrisses von mehreren Zeichen, wie z.B. alphabetische
und andere Buchstaben und Symbole, oder irgendwelche andere Bilder.
Der Umriß von jedem Bild, wie z.B. einem Zeichen ist in einem
x-y-Koordinatensystem mit 1000 y-Achsenpositionen entlang der
y-Achse und 1000 x-Achsenpositionen entlang der x-Achse, die
senkrecht zur y-Achse ist, definiert, wie in Fig. 4 gezeigt. Zum
Beispiel sind die alphabetischen Großbuchstaben alle zwischen der
200 und 1000 y-Achsenposition gebildet, während der gesamte
Bereich der y-Achse für die Kleinbuchstaben benutzt wird (d.h.,
daß die 0 bis 200 y-Achsenposition für die Kleinbuchstaben
ebenfalls benutzt wird). Wenn die Konfiguration eines jeden
Zeichens in dem oben beschriebenen x-y-Koordinatensystem gebildet
ist, ist das Profil eines jeden Anschlages 44 des Zeichens mit
einer vorbestimmten Breite durch den Umriß 46 definiert. Die
Umrißdaten eines jeden Zeichens bestehen aus einer Mehrzahl von
Sätzen von Segmentdaten, die entsprechende Segmente des Umrisses 46
darstellen. Jedes Segment ist durch zwei schwarze Punkte, wie in
Fig. 4 im Falle des Buchstabens "H" als Beispiel gezeigt, definiert.
Die zwei Punkte bezeichnen den Anfang und das Ende des entsprechenden
Segmentes. Jeder Satz von Segmentdaten umfaßt Koordinatendatendar
stellungen von Koordinaten des Anfangs und des Endes des Segmentes.
Die Koordinatendaten der Punkte, die die Segmente des Umrisses 46
definieren, sind im Zeichen-ROM 14 in einer vorgewählten Reihenfolge
gespeichert, in der vorgewählten Richtung entlang des Umrisses 46,
wie durch einen Pfeil in Fig. 4 angedeutet. Einer der zwei Punkte,
die jedes Segment des Umrisses 46 definieren, dessen Koordinaten
daten vor denen des anderen gespeichert sind, wird als Anfang des
entsprechenden Segmentes definiert, während der andere Punkt als das
Ende des Segmentes definiert ist. Die Segmentdaten für ein gerades
Segment umfassen das gerade Segment bezeichnende Daten und
Koordinatendatendarstellungen der Koordinaten des Anfangs- und
Endpunktes des Segmentes. Die Segmentdaten für ein gebogenes
Segment umfassen das gebogene Segment bezeichnende Daten,
Funktionsdaten, die die Krümmung des Segmentes beschreiben, und
Koordinatendatendarstellungen der Koordinaten des Anfangs- und
Endpunktes und eines zusätzlichen Punktes. Die Segmentdaten für
ein Kreisbogensegment umfasssen das kreisbogenförmige Segment
bezeichnende Daten und Koordinatendatendarstellungen des Anfangs-
und Endpunktes und den Kreismittelpunkt des Segmentes. Der
Zeichen-ROM 14 speichert auch Daten, die die Anzahl der Segmente
jedes Zeichens darstellen.
Im wie oben beschrieben konstruierten Laserdrucker wird die
Konvertierung der Umrißdaten eines jeden Bildes, wie z.B. eines
Zeichens, in eine entsprechende Reihe von Punktdaten bewirkt durch
die Verwendung eines zweidimensionalen Koordinatenpixelschirmes 50,
wie in Fig. 5 gezeigt, auf den das Bild überlagert wird, um die
Punktdaten entsprechend den Umrißdaten zu berechnen. Der Pixel
schirm 50 besteht aus einer Vielzahl von Bildelementen, die die
kleinste Einheit eines gedruckten Bildes darstellen, die auf dem
Laserdrucker zur Verfügung steht. Die Bildelemente sind durch
äquidistante und zur x-Achse des Schirmes 50 parallele Linien p
und gleichartig äquidistante und zur y-Achse des Schirmes 50
parallele Linien p, die zu den Linien p senkrecht sind, gebildet.
Daher sind die in der vorliegenden Ausführung verwendeten Bild
elemente von quadratische Form. Punktdaten, die einem Bildelement
entsprechen, bestimmen, ob beim entsprechenden Bildelement ein
Punkt gedruckt wird oder nicht. Wie in Fig. 5 auch gezeigt ist,
gibt es mehrere x-Achsenpixellinien x, die sich parallel zur
x-Achse erstrecken und zwischen benachbarten p-Linien liegen, und
es gibt mehrere y-Achsenpixellinien y, die sich parallel zur
y-Achse erstrecken und zwischen benachbarten p-Linien liegen.
Jede x-Achsenpixellinie x geht durch die Mitte eines jeden
Bildelementes in einer entsprechenden Zeile parallel zur x-Achse,
während jede y-Achsenpixellinie y durch die Mitte eines jeden
Bildelementes in einer entsprechenden Spalte parallel zur y-Achse
geht. Die Position eines jeden Bildelementes wird durch die
Koordinaten seiner Mitte (Pixelzentrums) bestimmt, d.h. durch
eine der x-Achsenpixellinien x und eine der y-Achsenpixellinien y.
Die Bildelemente könne rechteckige oder eine andere Form besitzen.
Der Pixelkoordinatenschirm 50 entspricht einem Druckbereich eines
Mediums, innerhalb dessen das Drucken mittels des Lasers in
Übereinstimmung mit geeigneten Reihen von Punktdaten erfolgt. In
diesem Zusammenhang ist zu erwähnen, daß die Fig. 5 nur einen
Bereich des Pixelkoordinatenschirmes 50 zeigt, in dem der Buchstabe
"H" der zu druckenden Bilder im Druckbereich gezeigt ist, um die
Darstellung zu vereinfachen. Dann werden die x- und y-Achsenpixel
linien x und y über den gesamten Bereich des Schirmes 50 numeriert.
Es ist ersichtlich, daß die Bildelemente der anderen in Fig. 5
nicht gezeigten Zeichen durch entsprechend numerierte x- und
y-Achsenpixellinien x, y dargestellt werden, wobei die Zahlen, die
diese Pixellinien x, y identifizieren, größer als die für den
Buchstaben "H" in Fig. 5 angegebenen sind.
Die Konvertierung der Umrißdaten in die entsprechenden Punktdaten
wird durch die Überlagerung des Umrisses des Zeichens auf den
Pixelkoordinatenschirm 50 erreicht, so daß ein Punkt bei jedem
Bildelement des Schirmes 50 gebildet wird, der innerhalb des durch
den Umriß des Zeichen gebildeten Bereiches liegt (dieser Bereich
wird im weiteren vereinfachend auch als "Umriß des Zeichens"
bezeichnet). Bei dieser Ausführung ist der logische Wert der
Punktdaten, die dem Bildelement, bei dem ein Punkt gebildet werden
soll, entspricht, durch "1" gegeben. Es ist ersichtlich, daß
einige Bildelemente vollkommen innerhalb des Umrisses des Zeichens,
wohingegen einige Bildelemente nur teilweise innerhalb des
Umrisses liegen. Die spezielle Art und Weise der Konvertierung
der Umrißdaten in Punktdaten wird nun im einzelnen beschrieben.
Der vorliegende Laserdrucker ist fähig, Zeichen einer bestimmten
Größe aus einer Menge verschiedener Größen, wie z.B. 4,8 Punkt,
10 Punkt, 12 Punkt, 20 Punkt, 24 Punkt und 30 Punkt, zu drucken.
Entsprechend der gewählten Zeichengröße werden die Koordinaten der
Punkte, die den Umriß des Zeichens im 1000×1000-Koordinatensystem
der Fig. 4 definieren, in die entsprechenden Koordinatenwerte auf
dem Pixelschirm 50 der Fig. 5 konvertiert, bei dem jedes
quadratische Bildelement als 1×1 dimensioniert ist. Falls ein
Zeichen der Punktgröße B von einer CxC-Matrix von Bildelementen
(Punkten) gebildet wird, werden die Koordinaten eines Punktes auf
dem Pixelschirm 50 durch Multiplikation des Koordinatenwertes des
entsprechenden Punktes auf dem Zeichenumriß im 1000×1000-Koordina
tensystem mit C/1000 erhalten. Bei diesem Beispiel beträgt die
Zeichengröße 4,8 Punkt, und jedes Zeichen wird durch eine
20×20-Matrix von Bildelementen oder Punkten gebildet. Die Zahlen 0
bis 20, die in Fig. 5 zur Angabe der x-Achsenpixellinien und
y-Achsenpixellinien x, y gegeben sind, stellen die Koordinatenwerte
auf dem Schirm 50 des Beispieles dar. Um den Umriß eines jeden
Zeichens dem Pixelschirm 50 zu überlagern, werden die Koordinaten
des Referenzpunktes des Zeichens auf dem Schirm 50 bestimmt,
basierend auf den Druckpositionsdaten. Entsprechend den bestimmten
Koordinaten des Referenzpunktes und den berechneten Koordinaten des
Zeichenumrisses wird das Zeichen auf dem Pixelschirm 50 der Fig. 5
positioniert.
Der Programm-ROM 16 speichert verschiedene Steuerprogramme, die
zum Drucken erforderlich sind, wie z.B. Datenkonversionsroutinen
wie im Flußdiagramm der Fig. 3 gezeigt. Es wird nun die Arbeits
weise zum Konvertieren der Umrißdaten für den Buchstaben "H" in
die entsprechenden Punktdaten mit Bezugnahme auf das Flußdiagramm
der Fig. 3 in einem Beispiel beschrieben. Da das Drucken in
Übereinstimmung mit den Punktdaten nicht wesentlich ist, um das
Prinzip der Erfindung zu verstehen, wird die Art und Weise des
Druckens nicht detailiert beschrieben. Ein im Textspeicher 18
gespeicherter Text wird Seite für Seite gedruckt. Jedesmal, wenn
eine Seite gedruckt wird, werden Zeichendaten, die dieser Textseite
entsprechen, aus dem Textspeicher 18 ausgelesen und eine Reihe von
Umrißdaten (die im Zeichen-ROM 14 gespeichert sind), die dieser
Seite entsprechen, in eine Reihe von Punktdaten konvertiert.
Zuerst wird der Schritt S 1 ausgeführt, um die Umrißdaten, Daten,
die die Segmente des Zeichenumrisses angeben, und Daten, die die
gewählte Zeichengröße angeben, auszulesen. Dann springt die Routine
zum Schritt S 2, bei dem der Koordinatenberechnungsbereich 38 der
CPU 12 die Koordinaten von Kreuzungen zwischen dem Zeichenumriß 46
und jeder x-Achsenpixellinie x auf dem Pixelschirm 50 für jedes
Segment des Zeichens "H" berechnet. Es wird nun mit Bezugnahme auf
die Fig. 6 bis 11 eine Regel beschrieben, mit der die x-Koordinaten
werte dieser Kreuzungen bestimmt werden.
Die Fig. 6 zeigt ein gerades Segment, das sowohl die x-Achsen
pixellinien x als auch die y-Achsenpixellinien y kreuzt. Dieses
gerade Segment kreuzt eine Mehrzahl von x-Achsenpixellinien x
bei entsprechenden Positionen, die durch "x"-Markierungen
zwischen dem entsprechenden Anfang und Ende des entsprechenden
Segmentes angegeben sind. Die x-Koordinaten, die im Koordinaten
speicher 22 gespeichert werden sollen, sind nicht die der
Kreuzungen zwischen den x-Achsenpixellinien x und dem entspre
chenden Segment, sondern die Zentren (angedeutet durch
"o"-Markierungen in Fig. 6) derjenigen Bildelemente, die innerhalb
des Bereiches (durch Schraffierung in der Figur angedeutet) des
Segmentes liegen, und die dem Segment entlang der x-Achse am
nächsten liegen (d.h., den Kreuzungen zwischen den x-Achsenpixel
linien und dem entsprechenden Segment am nächsten liegen). Falls
der Kreuzungspunkt zwischen einer x-Achsenpixellinie und dem
Segment korrekt auf dem Zentrum eines Bildelementes liegt, wird
die x-Koordinate dieses Pixelzentrums als x-Achsenkoordinatenwert
gespeichert.
Ein zur x-Achsenpixellinie x paralleles gerades Segment ist in
Fig. 7 gezeigt. Das in Fig. 8 gezeigte gerade Segment befindet
sich zwischen zwei benachbarten x-Achsenpixellinien x und die
Länge des Segmentes und der Neigungswinkel bezüglich der x-Achsen
pixellinien x sind klein genug, um zu verhindern, daß das Segment
irgend eine der x-Achsenpixellinien kreuzt. In diesem Fall
speichert der Koordinatenspeicher 22 Daten, die angeben, daß das
entsprechende Segment keine Kreuzungspunkte mit den x-Achsenpixel
linien x aufweist. Die Fig. 9 zeigt eine Kombination von drei
verbundenen geraden Segmenten, wobei das mittlere Segment auf
einer x-Achsenpixellinie x liegt, während die zwei anderen Segmente
bezüglich der x-Achsenpixellinien x geneigt und mit den gegenüber
liegenden Enden des mittleren Segmentes verbunden sind. In diesem
Fall weist das mittlere Segment keine Kreuzungspunkte auf. Ferner
werden die Koordinaten für einen der zwei am meisten außen liegenden
Kreuzungspunkte von jedem der zwei geneigten Segmente nicht im
Koordinatenspeicher 22 gespeichert. Dies bedeutet, daß die
Koordinatenwerte nur für eine der zwei äußersten Kreuzungen
erhalten werden, deren x-Koordinate kleiner als die der anderen
ist (die sich links von der anderen in Richtung der x-Achse in
Fig. 9 befindet). In Fig. 10 ist ein relativ schmaler Endbereich
eines Zeichenanschlages gezeigt, der durch zwei geneigte und sich
kreuzende gerade Segmente gebildet wird. Diese zwei Segmente
kreuzen sich derart, daß nur ein Bildelement existiert, dessen
Zentrum sich innerhalb des durch die zwei Segmente definierten
Bereiches befindet, wobei sich das Zentrum auf der x-Achsenpixel
linie x gegenüber dem Kreuzungspunkt befindet. In diesem Fall wird
der x-Koordinatenwert des oben beschriebenen Bildelementzentrums
als x-Koordinate der Kreuzung von jeder der zwei geneigten geraden
Linien gespeichert. Mit anderen Worten wird dieselbe Kreuzung auf
derselben x-Achsenpixellinie für jede der zwei sich kreuzenden
geneigten Segmente an denselben Endbereichen auf der Seite des
Kreuzungspunktes dieser zwei Segmente erhalten. In diesem Fall wird
derselbe x-Achsenkoordinatenwert als x-Koordinate desjenigen
Punktes gespeichert, bei dem die zwei Segmente die x-Achsenpixel
linie x gegenüber der Kreuzung der zwei Segmente schneiden.
Im Falle der Fig. 11 ist der Abstand zwischen zwei geraden und zu
y-Achsenpixellinie y parallelen Segmenten klein, und es existieren
keine Pixelelemente, deren Zentren sich zwischen den zwei
Segmenten befinden. In diesem Falle werden ebenfalls dieselben
x-Achsenkoordinatenwerte für die zwei Segmente verwendet. Genauer
gesagt, speichert der Koordinatenspeicher 22 als x-Koordinaten der
Kreuzungen der zwei Segmente, die x-Koordinaten der Zentren der
Pixelelemente, die in Richtung der x-Achse demjenigen Bereich, der
von den zwei Segmenten definiert wird, gegenüber liegen und die
sich auf einer der gegenüberliegenden Seiten befinden, bei der die
x-Koordinatenwerte größer sind. Falls die Zentren irgendwelcher
Bildelemente innerhalb des Bereiches, der durch die zwei Segmente
definiert ist, liegen, werden die x-Koordinatenwerte dieser
Zentren als x-Achsenkoordinatenwerte der Kreuzungen zwischen der
x-Achsenpixellinie x und der zwei Segmente gespeichert.
Die auf diese Art ermittelten Kreuzungen zwischen den x-Achsen
pixellinien x und jedem Segment des Umrisses 46 der Buchstaben
"H" sind in Fig. 12 durch schwarze Punkte angedeutet. Die
x-Achsenkoordinatenwerte dieser Kreuzungen werden im Koordinaten
speicher 22 im Schritt S 3 des Flußdiagrammes der Fig. 3 gespeichert.
Bei der vorliegenden Ausführung gibt es insgesamt 20 x-Achsen
pixellinien x für jedes Zeichen und daher insgesamt 20 y-Achsen
koordinatenwerte der 20 x-Achsenpixellinien x. Der x-Achsenkoordi
natenwert jeder Kreuzung jeder x-Achsenpixellinie x wird zusammen
mit dem geeigneten y-Achsenkoordinatenwert, der die Nummer der
entsprechenden x-Achsenpixellinie x angibt, gespeichert. Den
Koordinatendaten für jede x-Achsenpixellinie x gehen Daten voran,
die die Anzahl der Kreuzungen zwischen dieser Pixellinie x und dem
Zeichenumriß 46 angeben. Die Fig. 13 gibt die Anzahl der Kreuzungen
und die Koordinatenwerte für ein paar der den Umriß 46 des Buch
stabens "H" schneidenden Pixellinien x an.
Dann springt der Steuerungsprozeß zu Schritt S 4, um die Zahl n
in einem Zähler, der die Anzahl der bearbeiteten Segmente des
Zeichenumrisses 46 zählt, zu erhöhen. Dem Schritt S 4 folgt der
Schritt S 5, um festzustellen, ob die Zahl n gleich einem Wert N
ist, der die Anzahl der Umrißsegmente des entsprechenden Zeichens
darstellt. Der Schritt S 5 ist nämlich vorgesehen, um festzu
stellen, ob die x-Koordinaten der Kreuzungen, die mit allen
Segmenten des Zeichenumrisses 46 zusammenhängen, von dem Koordina
tenberechnungebereich 38 der CPU 12 berechnet worden sind, oder ob
nicht. Falls sich eine negative (NO) Entscheidung im Schritt S 5
ergibt, kehrt der Prozeß zu Schritt S 2 zurück, wodurch die
Schritte S 3-S 5 ausgeführt werden, um die mit dem nächsten Segment
in Verbindung stehenden x-Koordinaten zu berechnen. Die Schritte
S 2-S 5 werden wiederholt ausgeführt, bis die Koordinaten der
Kreuzungen für alle Segmente des Zeichenumrisses 46 berechnet und
im Koordinatenspeicher 22 gespeichert sind. Falls die Zahl n auf N
erhöht worden ist, wird ein zustimmendes Ergebnis (YES) in Schritt
S 5 erhalten, und der Schritt S 6 ist vorgesehen, um den Zähler auf
Null zurückzustellen.
Auf den Schritt S 6 folgt der Schritt S 7, bei dem die x-Koordinaten
vom kleinsten zum größten für alle x-Achsenpixellinien hin
geordnet werden, wobei die erhaltenen Werte dann paarweise
zusammengehören. Die Koordinatenwerte werden in Schritt S 2 für
jedes der Segmente des Umrisses 46 berechnet, die in der
vorgewählten Reihenfolge verarbeitet werden. In diesem Zusammenhang
sollte beachtet werde, daß ein Segment des Umrisses 46 vor einem
anderen Segment verarbeitet wird, dessen x-Koordinaten kleiner
sind, als diejenigen des zuerst verarbeiteten Segmentes. Im
Hinblick darauf ist der Schritt S 7 vorgesehen. Beim vorliegenden
Laserdrucker werden die zwei gleichen x-Koordinatenwerte für zwei
entsprechende Segmente des Zeichenumrisses gespeichert, selbst
wenn nur eine oder gar keine Kreuzung in einem relativ kleinen
Bereich, der durch die entsprechenden zwei Segmente definiert wird,
existiert, wie oben mit Bezugnahme auf die Fig. 10 und 11 dargelegt
ist. Daher gibt es immer eine gerade Anzahl von Kreuzungen für jede
x-Achsenpixellinie x, die den Zeichenumriß schneidet, wodurch jede
der x-Koordinaten von zwei benachbarten Kreuzungen gepaart werden
können. Beim Erzeugen von Punktdaten entsprechend jeder x-Achsen
pixellinie x, die den Zeichenumriß schneidet, werden die logischen
Werte der Punktdaten, die den Bildelementen zwischen dem Paar von
Kreuzungen entsprechen, auf "1" gesetzt. Bei der vorliegenden
Ausführung werden auch die logischen Werte von Punktdaten, die den
Bildelementen entsprechend dem Paar von Kreuzungen entsprechen,
auf "1" gesetzt.
Nachdem die x-Achsenkoordinatenwerte der erhaltenen Kreuzungen
in Schritt S 7 geordnet und gepaart sind, springt die Steuerung
zum Schritt S 8, um eine Reihe von Punktdaten, die den im
Koordinatenspeicher 22 gespeicherten Koordinatendaten entsprechen,
aufzubereiten. Die Punktdaten werden Byte für Byte verarbeitet.
Der Mikrocomputer ist fähig, ein Datenbyte zu einem Zeitpunkt
zu verarbeiten, das heißt, er ist fähig, acht Bits, die acht
entsprechenden Bildelementen entsprechen, zu einem Zeitpunkt zu
bearbeiten. Mit Bezugnahme auf die Fig. 14 wird ein Beispiel von
Punktdatenverarbeitung in Verbindung mit einem Paar von
x-Koordinaten (5, 18), die die Position von zwei Bildelementen
entlang der x-Achse auf dem Koordinatenpixelschirm 50 angeben,
beschrieben.
Zuerst wird die Anzahl der Bildelemente, deren Punktdatenbits
auf "1" gesetzt sind, berechnet. Genauer definieren die zwei
x-Koordinatenwerte "5" und "18" auf einer x-Achsenpixellinie x
ein Segment, dessen Anfangspunkt die x-Koordinate "5" und dessen
Endpunkt die x-Koordinate den Wert "18" besitzt. Der dem
Anfangspunkt entsprechende Wert "5" wird vom dem Endpunkt
entsprechenden Wert "18" subtrahiert, und der Wert "1" wird zur
erhaltenen Differenz "13" addiert. Dann wird der dem Anfangspunkt
entsprechene x-Koordinatenwert "5" vom x-Koordinatenwert, der dem
ersten Bit des nächsten höherwertigen Bytes bezüglich desjenigen
Bytes, zu dem das dem Anfangpunkt (Wert "5") entsprechende Bit
gehört, subtrahiert. Die Bildelemente entlang der x-Achsenpixel
linie x werden, beginnend mit "0", numeriert, und die
x-Koordinatenwerte sind gleich der Zahl der entsprechenden
Bildelemente. Daher ist der x-Koordinatenwert, der dem ersten Bit
des nächsten höherwertigen Bits entspricht, ein Vielfaches von "8".
In diesem Fall wird der x-Koordinatenwert "5" vom x-Koordinatenwert
"8" subtrahiert. Die so erhaltene Differenz "3" gibt die Anzahl
der Bildelemente, die zur ersten Gruppe von acht dem ersten Byte
entsprechenden Bildelementen (0 bis 7) gehören und deren
x-Koordinatenwerte gleich oder größer dem desjenigen Bildelementes
ist, das dem Anfangspunkt des entsprechenden Segmente entspricht,
an. Die den so bestimmten Bildelementen (5, 6, 7) entsprechenden
Bits werden zu einem Zeitpunkt auf "1" gesetzt.
Dann wird die Anzahl derjenigen Bytes berechnet, die den verblei
benden Bildelementen, deren Bits auf "1" gesetzt werden,
entsprechen. Genauer wird der x-Koordinatenwert, der dem ersten
Bit des niederwertigsten Bytes entspricht, von demjenigen
x-Koordinatenwert subtrahiert, der dem Endpunkt entspricht, und
der Wert "1" wird zur so erhaltenen Differenz addiert. Die
erhaltene Summe wird durch "8" dividiert. In diesem Beispiel wird
der Wert "8" vom Wert "18" subtrahiert, und der Wert "1" wird zur
Differenz "10" addiert. Die Summe "11" wird durch "8" dividiert,
wodurch ein Quotient "1" mit einem Rest "3" erhalten wird. Dies
bedeutet, daß die verbleibenden Bildelemente (8-18) acht
Bildelemente (8-15) umfassen, die dem nächsten Byte entsprechen,
dessen Bits gleich "1" gesetzt werden. Anschließend werden die
restlichen drei Bits auf "1" gesetzt. Auf diese Weise werden die
Punktdaten, die den gespeicherten Koordinatenwerten für jede
x-Achsenpixellinie entsprechen, verarbeitet. Nach Vervollständigung
der Punktdatenvorbereitung für alle Pixellinien x, die den
Zeichenumriß schneiden, kehrt die Routine zur Hauptroutine zurück.
Wie oben beschrieben, ist der vorliegende Laserdrucker so
vorbereitet, daß die Punktdaten für zwei oder mehrere Bildelemente,
die der Anschlagbreite eines Bildes, wie z.B. eines Zeichens,
entsprechen, zu einem Zeitpunkt verarbeitet werden können. Das
heißt, daß die Punktdatenaufbereitung im vorliegenden Drucker
Byte für Byte erfolgt, so daß bis zu acht Bits zu einem Zeitpunkt
gesetzt werden können, im Gegensatz zur herkömmlichen Bit für Bit
Aufbereitung von Punktdaten, was die Bestimmung des logischen
Wertes ("1" oder "0") von jedem einem Bildelement entsprechenden
Bit erfordert. Entsprechend kann die Punktdatenaufbereitung beim
vorliegenden Drucker mit erheblich verbesserter Effizienz und mit
einer vergleichsweise hohen Datenverarbeitungsgeschwindigkeit
erfolgen.
Ferner werden zwei Sätze von x-Koordinatendaten selbst für einen
schmalen Anschlag eines Zeichens, der die x-Achsenpixellinie oder
x-Achsenpixellinien x schneidet, im Koordinatenspeicher 22
gespeichert, so daß die Breite des Anschlages durch die zwei
Kreuzungen, die durch diese zwei Sätze von Daten dargestellt
werden, definiert ist. Entsprechend können die Profile der Zeichen
einfach entworfen werden, ohne darauf achten zu müssen, daß zwei
Kreuzungen zwischen den x-Achsenpixellinien x und dem Umriß eines
jeden Anschlages existieren.
Aus der vorangehenden Beschreibung ist ersichtlich, daß die
x-Achsenpixellinien x als parallele Abtastlinien verwendet werden,
um Punkte zu erhalten, die Segmente des Zeichenumrisses 46
definieren, und daß der Bereich des Programm-ROM 16 für Schritt S 2
und der Bereich der CPU, der den Schritt S 2 ausführt, d. h. der
Koordinatenberechnungebereich 38, zusammenwirken, um eine
Vorrichtung zur Berechnung von x-Koordinatenwerten der Kreuzungen
zwischen jeder Pixellinie x und dem Zeichenumriß 46 zu bilden.
Ebenfalls ist ersichtlich, daß der Koordinatenspeicher 22 und die
Bereiche des Programm-ROM 16 und der CPU 12, die die Schritte S 3
und S 7 ausführen, zusammenwirken, um eine Vorrichtung zur Speicherung
der berechneten x-Koordinatenwerte zu bilden, und daß der Bereich
des Programm-ROM 16 für Schritt S 8 und der Bereich der CPU 12 zum
Ausführen des Schrittes S 8, das heißt der Punktdatenaufbereitungs
bereich 40, zusammenwirken, um eine Vorrichtung zur Aufbereitung
von Punktdaten entsprechend den durch die Speichervorrichtung
gespeicherten x-Koordinatenwerten zu bilden.
Neben den x-Achsenpixellinien x können auch die y-Achsenpixellinien y
oder andere parallele gerade Linien als Abtastlinien verwendet werden.
Obwohl die vorliegende Ausführung so angepaßt ist, daß zwei Sätze
von x-Koordinatendaten selbst für schmale Zeichenanschläge
gespeichert sind, um so einen einfachen Entwurf der Zeichen zu
erlauben, ist es möglich, diese Funktion zu eliminieren, wenn die
im Zeichen-RQM 14 gespeicherten Zeichendaten so aufbereitet werden,
daß zwei Kreuzungen für alle Anschläge aller Zeichen erhalten
werden.
Mit Bezugnahme auf die Fig. 15 bis 21 wird nun eine andere
Ausführung der Erfindung beschrieben. Zur Vereinfachung werden
dieselben Bezugszeichen wie in der vorherigen Ausführung verwendet,
um die entsprechenden Elemente zu bezeichnen, und es wird keine
neuerliche Beschreibung dieser Elemente gegeben.
Bei dieser modifizierten Ausführung umfaßt der Mikrocomputer 10
einen ersten Koordinatenspeicher 22 a und einen zweiten Koordina
tenspeicher 22 b, im Gegensatz zur Verwendung nur eines
Koordinatenspeichers 22 in der vorherigen Ausführung. Der erste
Koordinatenspeicher 22 a speichert x-Koordinatendaten ähnlich zu
denen, die im Koordinatenspeicher 22 der vorhergehenden Ausführung
gespeichert worden sind. Der zweite Koordinatenspeicher 22 b
speichert y-Koordinatendatendarstellungen von y-Koordinaten von
Kreuzungen zwischen den y-Achsenpixellinien y und einem Umriß 46,
der einen bogenförmigen Anchlag 44 eines Zeichens, wie in Fig. 17
als Beispiel gezeigt, definiert. Der Umriß 46 ist im selben
x-y-Koordinatensystem wie oben mit Bezug auf Fig. 4 beschrieben,
definiert. Der Mikrocomputer 10 umfaßt einen ersten und zweiten
Punktdatenspeicher 24 a, 24 b, die dem ersten und zweiten
Koordinatenspeicher 22 a, 22 b entsprechen. Der erste Punktdaten
speicher 24 a speichert Punktdaten, die in Übereinstimmung mit den
im ersten Koordinatenspeicher 22 a gespeicherten x-Koordinatendaten
aufbereitet sind, während der zweite Punktdatenspeicher 24 b
Punktdaten, die entsprechend den im zweiten Koordinatenspeicher 22 b
gespeicherten y-Koordinatendaten aufbereitet sind. Im Unterschied
zum in der vorhergehenden Ausführung benutzten Mikrocomputer
besitzt der Mikrocomputer 10 der vorliegenden Ausführung einen
kombinierten Datenspeicher 26, der Punktdaten, die mittels der
Reihen von in den zwei Punktdatenspeichern 24 a, 24 b gespeicherten
Punktdaten aufbereitet sind, aufbereitet, wie unten beschrieben.
In Fig. 18 ist der bogenförmige Anschlag 44 gezeigt, wie dieser
dem Koordinatenpixelschirm 50 überlagert ist, auf dem die x- und
y-Achsenteilungslinien p und x- und y-Achsenpixellinien x, y
gebildet sind, im Falle einer Zeichengröße von 4,8 Punkt, worin
jedes Zeichen durch 2×20 Bildelemente definiert ist, wie oben mit
Bezugnahme auf die vorhergehende Ausführung beschrieben ist. Zum
einfacheren Verständnis sind die x- und y-Achsenteilungslinien p,
die die Bildelemente definieren, in Fig. 18 numeriert. Ähnlich sind
die x- und y-Achsenpixellinien x, y numeriert, um die Positionen
der Bildelemente auf dem Pixelschirm 50 zu identifizieren. Zum
Beispiel sind die x- und y-Koordinaten eines Bildelementes, das
durch die zwei benachbarten mit "3" und "4" numerierten x-Achsen
teilungslinien p und die zwei benachbarten mit "2" und "3"
numerierten y-Achsenteilungslinien p durch (3, 2) gegeben, wie
durch die mit "(3)" numerierte x-Achsenpixellinie x und die mit
"(2)" numerierte y-Achsenpixellinie y dargestellt.
Es wird nun auf das Flußdiagramm in Fig. 16 Bezug genommen, das
eine Routine zum Konvertieren von Umrißdaten des bogenförmigen
Anschlages 44 der Fig. 18 in entsprechende kombinierte Punktdaten
darstellt. In diesem Flußdiagramm sind die Schritte S 1, S 2 und
S 4- S 7 ähnlich denen im Flußdiagramm der Fig. 3, und die Schritte
S 3′ und S 8′ sind gegenüber den entsprechenden Schritten S 3 und S 8
der Fig. 3 etwas modifiziert. Die x-Achsenkoordinatenwerte der
Kreuzungen zwischen jedem Umrißsegement des bogenförmigen
Anschlages 44 und der x-Achsenpixellinie x werden nämlich zuerst
im Schritt S 2 erhalten. Bei dieser Ausführung werden die
berechneten x-Achsenkoordinatenwerte jedoch in Schritt S 3′ im
ersten Koordinatenspeicher 22 a gespeichert, und die in Überein
stimmung mit den im ersten Koordinatenspeicher 22 a gespeicherten
x-Koordinatendaten aufbereiteten Punktdaten werden im Schritt S 8′
in den ersten Punktdatenspeicher 24 a gespeichert.
In Fig. 18 deuten schwarze Punkte die Positionen der berechneten
Kreuzungen zwischen den x-Achsenpixellinien x und dem bogen
förmigen Anschlag 44 an, wobei jeder Kreis einen gedruckten Punkt
in einem Bildelement bedeutet. Wie in Fig. 19 angedeutet, werden
die x-Koordinatenwerte der Kreuzungen des Anschlags 44 berechnet
und für jede x-Achsenpixellinie x, die irgendein Umrißsegment des
Anschlages 44 schneidet, gespeichert. In den Schritten S 2 und S 3′
der ersten Steuerschleife werden die x-Koordinatenwerte der
Kreuzungen zwischen dem unteren bogenförmigen Umrißsegment (wie in
Fig. 18 gezeigt) des Anschlages 44 und der x-Achsenpixellinie x
berechnet und gepeichert. Dann wird der Zähler n in Schritt S 4
erhöht, und die Schritte S 2 und S 3′ werden erneut ausgeführt, um
die x-Koordinaten der Kreuzungen zwischen dem rechtshändigen
(wie in Fig. 18 gezeigt) kurzen geraden Umrißsegment des Anschlages
44 und der x-Achsenpixellinie x zu berechnen und zu speichern. Es
existieren jedoch keine Kreuzungen für dieses kurze Umrißsegment.
Nachdem der Zähler n in Schritt S 4 erhöht worden ist, werden die
Schritte S 2 und S 3′ ausgeführt, um die x-Koordinaten der Kreuzungen
des oberen bogenförmigen Umrißsegmentes des Anschlages 44 zu
berechnen und zu speichern. Zuletzt werden die Schritte S 2 und S 3′
vorgesehen, um die x-Koordinaten der Kreuzungen des linksseitigen
kurzen geraden Umrißsegmentes des Anschlages 44 zu erhalten. Es
existieren keine Kreuzungen dieses geraden Umrißsegmentes. Wie
bei der vorhergehenden Ausführung werden die gespeicherten
x-Koordinatenwerte vom kleinsten zum größten Wert geordnet und im
Schritt S 7 gepaart.
In Schritt S 8′ werden die im ersten Koordinatenspeicher 22 a
gespeicherten x-Koordinaten in entsprechende Punktdaten, die
im ersten Punktdatenspeicher 24 gespeichert werden sollen,
konvertiert. Mit Bezugnahme auf die Fig. 21 wird die Art und
Weise des Verarbeitens der x-Koordinatendaten für die x-Achsen
pixellinie x, die als Beispiel mit "(2)" numeriert ist,
beschrieben. In diesem Fall ist als Ergebnis der Sortierung und
Parrungsoperation in Schritt S 7 das erste Paar von x-Koordinaten
werten der ersten und zweiten Kreuzung gleich (3, 4), und ein
zweites Paar von x-Koordinatenwerten der dritten und vierten
Kreuzung gleich (9, 10). Zuerst werden die Bits, die den durch
die x-Koordinatenwerte (3, 4) dargestellten Bildelementen
entsprechen, gleich "1" gesetzt. Genauer wird der größere
x-Koordinatenwert (4) der zweiten Kreuzung mit dem x-Koordinaten
wert "7", entsprechend dem letzten Bit desjenigen Bytes, zu dem
das dem kleineren x-Koordinatenwert (3) der ersten Kreuzung
entsprechende Bit gehört, verglichen. Da der Wert "7" größer als
der Wert (4) der zweiten Kreuzung ist, wird entschieden, daß die
Bildelemente, die zur ersten und zweiten Kreuzung gehören, zu
einer Gruppe von Bildelementen gehören, die dem entsprechenden
Byte der Punktdaten entsprechen. Daher werden die den
x-Koordinatenwerten (3) und (4) der ersten und zweiten Kreuzung
entsprechenden Bits auf "1" gesetzt. Ähnlich werden die den
x-Koordinatenwerten (9) und (10) der dritten und vierten Kreuzungen
entsprechenden Bits auf "1" gesetzt. In Fig. 21 zeigen schraffierte
Kreise den logischen Wert "1" der Bits der Punktdaten an.
Falls der größere x-Koordinatenwert von jedem Paar größer als der
dem letzten Bit des entsprechenden Bytes entsprechende
x-Koordinatenwert ist, werden die Bits, die den x-Koordinaten
zwischen dem kleineren x-Koordinatenwert des Paares und dem dem
letzten Bit entsprechenden x-Koordinatenwert entsprechen, gleich
"1" gesetzt. Dann wird der dem letzten Bit des entsprechenden
Bytes entsprechende x-Koordinatenwert vom größeren x-Koordinaten
wert des Paares subtrahiert, um zu prüfen, ob es acht Bildelemente
gibt, die dem nächsten Byte von Punktdaten entsprechen, wie oben
mit Bezugnahme auf die erste Ausführung der Fig. 14 beschrieben
ist.
Die so aufbereitete Reihe von Punktdaten wird in einem ersten
Punktdatenspeicher 24 a gespeichert, dessen Kapazität so gewählt
ist, daß die Punktdaten für ein Zeichen mit der größten Zeichen
größe gespeichert werden können. Falls die gewählte Zeichengröße
kleiner als die größte Größe ist, werden die Punktdaten für ein
Zeichen in einem Bereich des Speichers 24 a gespeichert.
Dem Schritt S 8′ folgt der Schritt S 9, um zu bestimmen, ob die
gewählte Zeichengröße 12 Punkt beträgt oder kleiner ist. Falls
die gewählte Größe 12 Punkt oder kleiner ist, wird Schritt S 10
durchgeführt, um y-Koordinatenwerte der Kreuzungen zwischen dem
bogenförmigen Anschlag 44 und der y-Achsenpixellinie y zu
berechnen. Die Regel zur Berechnung der y-Koordinatenwerte ist
dieselbe wie diejenige für die x-Koordinatenwerte. Die Positionen
der Bildelemente, die den berechneten y-Koordinatenwerten ent
sprechen, sind in Fig. 18 durch "*"-Markierungen angedeutet und
befinden sich in den Zentren der Bildelemente. Die y-Koordinaten
werte der Bildelemente sind durch die Zahl der x-Achsenpixellinien
x gegeben. Die berechneten y-Koordinatenwerte der Kreuzungen
werden im Schritt S 11 im zweiten Koordinatenspeicher 22 b
gespeichert. Die y-Koordinatenwerte werden für jede y-Achsenpixel
linie y, die irgendein Umrißsegment schneidet, gespeichert, wie
in Fig. 20 gezeigt. Die Schritte S 12 bis S 16 werden auf dieselbe
Art und Weise ausgeführt, wie die Schritte S 4 bis S 8, so daß
geeignete Punktdaten vorbereitet und im zweiten Punktdatenspeicher
24 b gespeichert werden. Wie der erste Punktdatenspeicher 24 a
besitzt auch dieser Speicher 24 b eine Speicherkapazität zum
Speichern der Punktdaten für ein Zeichen mit der größtmöglich
wählbaren Zeichengröße. Nachdem die Punktdaten im zweiten Punkt
datenspeicher 24 b gespeichert sind, wird der Schritt S 17 ausgeführt,
um die Reihen der Punktdaten vom ersten und zweiten Punktdaten
speicher 24 a, 24 b zum kombinierten Datenspeicher 26 zu übertragen,
so daß die zwei Reihen von Punktdaten zu einer Reihe von kombinierten
Punktdaten wie unten beschrieben kombiniert werden. Der kombinierte
Datenspeicher besitzt eine Speicherkapazität zur Speicherung von
Punktdaten für eine Seite Text. Die zwei Reihen von Punktdaten der
zwei Punktdatenspeicher 24 a, 24 b werden an geeigneten Stellen des
kombinierten Datenspeichers 26 gespeichert, die von den Druck
positionen des entsprechenden Zeichens bestimmt werden. Die zwei
Reihen von Punktdaten werden durch eine ODER-Operation (inclusive
OR = einschließendes ODER) kombiniert oder zusammengefügt, um
eine logische Summe der logischen Werte der entsprechenden zwei
Bits der zwei Reihen von im ersten und zweiten Punktdatenspeicher
24 a, 24 b gespeicherten Punktdaten zu erhalten. Das heißt, daß der
logische Wert eines Bits der kombinierten Punktdaten, die im
kombinierten Datenspeicher 26 gespeichert sind, "1" ist, wo der
logische Wert von mindestens einem der entsprechenden zwei Bits
der zwei Reihen von Punktdaten in den zwei Punktdatenspeichern 24 a,
24 b "1" ist. Der logische Wert eines Bits im Speicher 26 ist nur
dort "0", wo die logischen Werte der entsprechenden zwei Bits der
Punktdaten in den Speichern 24 a, 24 b beide gleich "0" sind.
In Fig. 18 geben die schraffierten Kreise zu druckende Punkte an,
basierend auf den berechneten x-Koordinatenwerten der Kreuzungen
zwischen dem Umriß des Anschlages 44 und der x-Achsenpixellinie x.
Auf der anderen Seite geben die schraffierten Kreise zu druckende
Punkte an, basierend auf den berechneten y-Koordinatenwerten der
Kreuzungen zwischen dem Anschlag 44 und der y-Achsenpixellinie y.
Bei diesem speziellen Beispiel geben die kreuzweise schraffierten
Kreise auch die letzteren Punkte an.
Aus der Fig. 18 ist ersichtlich, daß die durch die schraffierten
Kreise gegebenen Punkte nicht gedruckt würden, wenn das Drucken
nur auf der Basis der im ersten Punktdatenspeicher 24 a
gespeicherten Punktdaten erfolgen würde, die sich aus den
x-Koordinatendaten der Kreuzungen zwischen dem Anschlag 44 und der
x-Achsenpixellinie x ergeben. In diesem Fall ist der gedruckte
bogenförmige Anschlag 44 diskontinuierlich, wobei die den
schraffierten Kreisen entsprechenden Bereiche leer sind. In
Übereinstimmung mit der vorliegenden modifizierten Ausführung
werden jedoch auch die Kreuzungen des Anschlages 44 mit den
y-Achsenpixellinien y erhalten, und die Punktdaten, die zum
Drucken benutzt werden, werden basierend auch auf denjenigen
Punktdaten erhalten, die von den y-Koordinaten der Kreuzungen
zwischen dem Anschlag 44 und der y-Achsenpixellinie y bereitet
werden. Dies erlaubt, daß der bogenförmige Anschlag 44 sowohl
von den durch die schraffierten Kreise angedeuteten gedruckten
Punkte, als auch den durch die kreuzschraffierten Kreise ange
deuteten Punkte kontinuierlich gebildet werden kann. Wenn der
bogenförmige Anschlag um 90° auf dem Pixelschirm gedreht wird,
ist der gedruckte Anschlag diskontinuierlich, wenn die für das
Drucken benutzten Punktdaten nur auf der Basis der y-Koordinaten
daten der Kreuzungen zwischen dem Anschlag 44 und der y-Achsen
pixellinie y aufbereitet werden, der Anschlag ist aber
kontinuierlich, wenn die Punktdaten auf der Basis der x-Koordina
tendaten der Kreuzungen zwischen dem Anschlag 44 und den
x-Achsenpixellinien x gebildet ist.
Falls die gewählte Zeichengröße größer als 12 Punkt ist, wird
eine positive Entscheidung (YES) in Schritt S 9 erhalten, und die
Schritte S 10-S 16 werden übersprungen. In diesem Fall werden daher
die Kreuzungen zwischen dem Anschlag 44 und den y-Achsenpixel
linien y nicht erhalten, und die im kombinierten Speicher 26
gespeicherten Punktdaten werden nur auf der Basis der x-Koordina
tendaten der Kreuzungen zwischen dem Anschlag 44 und den
x-Achsenpixellinien x aufbereitet. Diese Ausgestaltung wird im
Hinblick auf die allgemeine Tendenz geschaffen, daß im Falle
einer Zeichengröße größer als 12 Punkt es weniger wahrscheinlich
ist, daß ein Zeichen einen Anschlag besitzt, der so schmal ist,
daß sich der Anschlag zwischen zwei benachbarten x-Achsenpixel
linien x befindet. In diesem Fall ist es weniger wahrscheinlich,
daß das gedruckte Zeichen diskontinuierliche Segmente besitzt,
selbst wenn die für das Drucken benutzten Punktdaten nur auf der
Basis der x-Koordinatendaten gebildet sind. Wenn eine negative
Entscheidung (NO) in Schritt S 9 erhalten wird, springt die Routine
direkt zu Schritt S 17, bei dem die im ersten Punktdatenspeicher
24 a gespeicherten Punktdaten an der geeigneten Stelle, die von der
Druckposition des entsprechenden Zeichens bestimmt wird, im
kombinierten Datenspeicher 26 gespeichert werden.
Aus der obigen Beschreibung ist ersichtlich, daß die x-Achsen
pixellinien x und die y-Achsenpixellinien y als erste und zweite
parallele Abtastlinien verwendet werden, um eine erste und eine
zweite Reihe von Punktdaten zu erhalten, die im ersten bzw. zweiten
Punktdatenspeicher 24 a, 24 b gespeichert sind. Es ist ebenfalls
ersichtlich, daß der Bereich des Programm-ROM 16 für den Schritt
S 2 und der Koordinatenberechnungsbereich 38 der CPU 12, der dem
Ausführen des Schrittes S 2 zugeordnet ist, zusammenwirken, um eine
erste Koordinatenberechnungsvorrichtung zum Berechnen der
x-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und
den x-Achsenpixellinien x zu bilden. Ferner wirken der erste
Punktdatenspeicher 22 a und die Bereiche des Programm-ROM 16 und
der CPU 12, die der Berechnung der Schritte S 3′ und S 7 zugeordnet
sind, zusammen, um eine erste Koordinatenspeichervorrichtung zum
Speichern der x-Koordinatendaten zu bilden. Der Bereich des
Programm-ROM 16 für Schritt S 8′ und der Datenaufbereitungsbereich 40
der CPU 12, der der Ausführung des Schrittes S 8′ zugeordnet ist,
wirken zusammen, um eine erste Punktdatenaufbereitungsvorrichtung
zum Aufbereiten der ersten Reihe der Punktdaten zu bilden. Es ist
ebenfalls ersichtlich, daß der Bereich des Programm-ROM 16 für den
Schritt S 10 und der Koordinatenberechnungsbereich 38 der CPU 12,
der der Ausführung des Schrittes S 10 zugeordnet ist, zusammenwirken,
um eine zweite Koordinatenberechnungsvorrichtung zum Berechnen der
y-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und den
y-Achsenpixellinien y zu bilden. Ferner wirken der zweite Punkt
datenspeicher 22 b und die Bereiche des Programm-ROM 16 und der
CPU 12 zusammen, die der Ausführung der Schritte S 11 und S 15
zugeordnet sind, zusammen, um eine zweite Koordinatenspeicher
vorrichtung zum Speichern der y-Koordinatendaten zu bilden. Der
Bereich des Programm-ROM 16 für den Schritt S 16 und der Datenauf
bereitungsbereich 40 der CPU 12, der der Ausführung des Schrittes
S 16 zugeordnet ist, wirken zusammen, um eine zweite Punktdatenauf
bereitungsvorrichtung zum Aufbereiten der zweiten Reihe von Punkt
daten zu bilden. Ferner wirken der Bereich des Programm-ROM 16 für
Schritt S 17 und der Punktdatenaufbereitungsbereich 40 der CPU 12
zusammen, um eine kombinierte Punktdatenaufbereitungsvorrichtung
zum Bereiten von kombinierten Punktdaten in Übereinstimmung mit
den Inhalten der ersten und zweiten Koordinatenspeicher 24 a, 24 b
zu bilden. Es ist ferner ersichtlich, daß die Bereiche des
Programm-ROM 16 und der CPU 12, die der Ausführung des Schrittes
S 9 zugeordnet sind, eine Betriebssteuerungsvorrichtung bilden zum
Ansprechen der zweiten Koordinatenberechnungsvorrichtung, der
zweiten Koordinatenspeichervorrichtung und der zweiten Punktdaten
aufbereitungsvorrichtung, wenn die gewählte Größe des zu
reproduzierenden Zeichens kleiner als ein vorgewählter Wert ist,
und zum Abschalten der zweiten Koordinatenberechnungsvorrichtung,
der zweiten Koordinatenspeichervorrichtung und der zweiten
Punktdatenauffbereitungsvorrichtung, wenn die gewählte Größe des
Zeichens nicht kleiner als ein vorgewählter Wert ist.
Es muß bemerkt werden, daß die ersten und zweiten Reihen von
Punktdaten, die aus den x- und y-Koordinatendaten der Kreuzungen
zwischen dem Zeichenumriß und den Pixellinien x, y gebildet
werden, direkt in den kombinierten Datenspeicher 26 gespeichert
werden können.
Bei der vorliegenden modifizierten Ausführung ist der logische
Wert eines Bits von Punktdatendarstellungen eines zu druckenden
Punktes gleich "1", und folglich wird die inklusive ODER-Operation
ausgeführt, um die ersten und zweiten Reihen von Punktdaten zu
kombinieren. Falls der logische Wert des einen zu druckenden Punkt
darstellenden Bits gleich "0" ist, werden die ersten und zweiten
Reihen von Punktdaten durch eine logische UND-Operation kombiniert,
um ein logisches Produkt der zwei Reihen von Punktdaten zu
erhalten.
Es ist möglich, daß die Punktdaten nur auf der Basis der
y-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und
den y-Achsenpixellinien y gebildet werden, wenn die gewählte
Zeichengröße größer als 12 Punkt ist.
Die Umrißdaten für jedes Zeichen können auch ausschließlich aus
Koordinatendaten bestehen. In diesem Fall bestehen die Umrißdaten
für ein Zeichen, das aus zwei oder mehreren geraden Anschlägen
besteht, aus Sätzen von Koordinatendatendarstellungen der
Koordinaten derjenigen Punkte, die die geraden Anschläge
definieren. Falls die Anschläge eines Zeichens einen gekrümmten
oder bogenförmigen Anschlag oder Anschläge enthält, enthalten
die Umrißdaten Sätze von Koordinatendatendarstellungen von zwei
oder mehreren Punkten, die verkettet sind, um jeden gekrümmten
oder bogenförmigen Anschlag zu definieren.
Es ist offensichtlich, daß die vorliegende Erfindung auch auf
einen anderen Drucker als einen beschriebenen Laserdrucker und
auch auf eine andere Vorrichtung als einen Drucker, die eine
Konvertierung von Umrißdaten von Bildern, wie z. B. Buchstaben
und graphische Darstellungen, in entsprechende Punktdaten
erfordert, angewendet werden kann.
Claims (8)
1. Datenkonvertierungsvorrichtung zum Konvertieren einer Reihe
von Umrißdatendarstellungen eines Umrisses eines Bildes ähnlich
einem Buchstaben, einem Symbol oder einer graphischen Darstellung,
in eine Reihe von Punktdaten, die angeben, ob ein Punkt in jedem
Bildelement, die sich in einem Koordinatensystem, in dem die
Umrißdaten definiert sind, befinden, dadurch gekennzeichnet, daß
eine Koordinatenberechnungsvorrichtung (16, 38, S 2) gebildet ist
zum Berechnen der Koordinatenwerte von Kreuzungen zwischen dem
Umriß (46) des Bildes im Koordinatensystem (50) und einer Mehrzahl
von parallelen Abtastlinien (x, y), die dem Umriß im Koordinaten
system überlagert sind, daß eine Koordinatenspeichervorrichtung
(12, 16, 22, S 3, S 7) gebildet ist zum Speichern der von der
Koordinatenberechnungsvorrichtung berechneten Koordinatenwerte,
derart, daß die Koordinatenwerte für jede der Abtastlinien (x, y)
der Größe der Werte nach geordnet und zwei benachbarte der
geordneten Werte als Paar von Koordinatenwerten gepaart sind, und
daß eine Punktdatenaufbereitungsvorrichtung (16, 40, S 8) gebildet
ist zum Aufbereiten einer Reihe von Punktdaten, derart, daß
aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von
aufeinanderfolgenden Bildelementen entsprechen, die aus zwei
Bildelementen, die von dem Paar der Koordinatenwerte dargestellt
werden, und mindestens einem Bildelement zwischen den zwei
Bildelementen bestehen, zu einem Zeitpunkt gesetzt werden, derart,
daß jedes der aufeinanderfolgenden Bits einen Punkt angibt, der
im entsprechenden Bildelement gebildet werden soll.
2. Datenkonvertierungsvorrichtung nach Anspruch 1, dadurch gekenn
zeichnet, daß die Koordinatenberechnungsvorrichtung (16, 38, S 2)
als Koordinatenwert der Kreuzungen zwischen dem Umriß (46) des
Bildes und den Abtastlinien (x, y) den Koordinatenwert des Zentrums
des Bildelementes berechnet, das der Kreuzung am nächsten liegt.
3. Datenkonvertierungsvorrichtung nach Anspruch 2, dadurch gekenn
zeichnet, daß das Zentrum des einen Bildelementes, das den einzel
nen Kreuzungen am nächsten ist, sich innerhalb des Umrisses (46),
der durch die Umrißdaten dargestellt wird, befindet.
4. Datenkonvertierungsvorrichtung nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß falls die Breite des Bildes so klein ist, daß
nur eine Kreuzung zwischen dem Umriß (46) und den parallelen
Abtastlinien (x, y) existiert, deren Koordinatenwerte von der
Koordinatenberechnungsvorrichtung (16, 38, S 2) berechnet werden
und die Koordinatenspeichervorrichtung (12, 16, 22, S 3, S 7) den
Koordinatenwert der einen Kreuzung an verschiedenen Stellen der
Koordinatenspeichervorrichtung als Paar von Koordinatenwerten
speichert.
5. Datenkonvertierungsvorrichtung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß das Koordinatensystem in eine Mehrzahl
von Teilungen in eine Richtung parallel zu den Abtastlinien
abgeteilt ist, und daß die Punktdatenaufbereitungsvorrichtung
(16, 40, S 8) die Reihe der Punktdaten aufbereitet, wobei diese mit
einem Bit, das einem Wert des Koordinatenpaares entspricht, beginnt
und die Punktdatenaufbereitungsvorrichtung bestimmt, ob die Mehr
zahl von aufeinanderfolgenden Bildelementen mindestens eine Gruppe
von Bildelementen umfaßt, deren jede aus einer vorbestimmten Anzahl
von Bildelementen besteht, die sich in einer entsprechenden Teilung
des Koordinatensystems befinden, und daß die Punktdatenaufberei
tungsvorrichtung die Bits aufbereitet, die jeder Gruppe von
Bildelementen entsprechen, derart, daß die Bits, die dieser Gruppe
der Bildelemente entsprechen, aufeinanderfolgende zu bildende
Punkte in den entsprechenden Bildelementen der Gruppe angeben.
6. Datenkonvertierungsvorrichtung nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß die Vorrichtung einen Datenkonver
tierungsbereich eines Laserdruckers bildet, bei dem das Bild auf
einem Trägermedium gedruckt wird, dadurch daß eine Qberfläche des
Mediums einem Laserstrahl ausgesetzt wird, während der Laserstrahl
entsprechend der Reihe von Punktdaten, die von der Datenaufberei
tungsvorrichtung (16, 40, S 8) aufbereitet worden sind, gesteuert
wird.
7. Datenkonvertierungsvorrichtung zum Konvertieren einer Reihe von
Umrißdatendarstellungen eines Umrisses eines Bildes ähnlich einem
Buchstaben, einem Symbol oder einer graphischen Darstellung, in
eine Reihe von Punktdaten, die angeben, ob ein Punkt in jedem
Bildelement, die sich in einem Koordinatensystem, in dem die
Umrißdaten definiert sind, befinden, gebildet wird, dadurch gekenn
zeichnet, daß eine erste Koordinatenberechnungsvorrichtung (16, 38,
S 2) gebildet ist zum Berechnen von Koordinatenwerten von Kreuzungen
zwischen dem Umriß (46) des Bildes im Koordinatensystem (50) und
einer Mehrzahl von ersten parallelen Abtastlinien (x), die dem
Umriß im Koordinatensystem überlagert sind, daß eine erste
Koordinatenspeichervorrichtung (12, 16, 22 a, S 3′, S 7) gebildet ist
zum Speichern der Koordinatenwerte, die von der ersten Koordinaten
berechnungsvorrichtung berechnet werden, derart, daß die Koordi
natenwerte für jede der ersten Abtastlinien (x) der Größe ihrer
Werte nach geordnet und zwei benachbarte geordnete Werte als Paar
von Koordinatenwerten gepaart sind, daß eine erste Punktdatenauf
bereitungsvorrichtung (16, 40, S 8′) gebildet ist zum Aufbereiten
einer ersten Reihe von Punktdaten, derart, daß aufeinanderfolgende
Bits von Punktdaten, die einer Mehrzahl von aufeinanderfolgenden
Bildelementen entsprechen, die aus zwei Bildelementen, die von
dem Paar von Koordinatenwerten dargestellt werden, und mindestens
einem Bildelement zwischen den zwei Bildelementen bestehen, zu
einem Zeitpunkt gesetzt werden, derart, daß jedes der aufeinander
folgenden Bits einen im entsprechenden Bildelement zu bildenden
Punkt angibt, daß eine zweite Koordinatenberechnungseinheit (16, 38,
S 10) gebildet ist zum Berechnen von Koordinatenwerten der Kreuzungen
zwischen dem Umriß des Bildes im Koordinatensystem und einer
Mehrzahl von parallelen zweiten Abtastlinien (y), die dem Umriß im
Koordinatensystem überlagert sind und die ersten Abtastlinien
schneiden, daß eine zweite Koordinatenspeichervorrichtung (12, 16,
22 b, S 11, S 15) gebildet ist zum Speichern der Koordinatenwerte,
die von der zweiten Koordinatenberechnungsvorrichtung berechnet
werden, derart, daß die Koordinatenwerte für jede der zweiten
Abtastlinien (y) der Größe ihres Wertes nach geordnet und zwei
benachbarte der geordneten Werte für jede der zweiten Abtastlinien
als Paar von Koordinatenwerten gepaart sind, daß eine zweite
Punktdatenaufbereitungsvorrichtung (16, 40, S 16) gebildet ist zum
Aufbereiten einer zweiten Reihe von Punktdaten, derart, daß
aufeinanderfolgende Bits von Punktdaten, die einer Mehrzahl von
Bildelementen entsprechen, die aus zwei Bildelementen, die von dem
Paar von Koordinatenwerten für jede zweite Abtastlinie dargestellt
werden, und mindestens einem Bildelement zwischen den zwei Bild
elementen, die von dem Paar von Koordinatenwerten für jede zweite
Abtastlinie dargestellt werden, zu einem Zeitpunkt gesetzt werden,
derart, daß jedes der aufeinanderfolgenden Bits der zweiten Reihe
von Punktdaten einen in dem entsprechenden Bildelement zu bildenden
Punkt darstellt, und daß eine kombinierte Datenaufbereitungsvor
richtung (16, 40, S 17) gebildet ist zum Aufbereiten einer Reihe von
Punktdaten durch Kombinieren der ersten Reihe von Punktdaten, die
von der ersten Punktdatenaufbereitungsvorrichtung aufbereitet sind
und der zweiten Reihe von Punktdaten, die von der zweiten Punkt
datenaufbereitungsvorrichtung aufbereitet sind.
8. Datenkonvertierungsvorrichtung nach Anspruch 7, dadurch gekenn
zeichnet, daß das Bild ein Zeichen wie ein Buchstabe oder ein
Symbol ist, das in einer aus einer Mehrzahl von Größen gewählten
Größe reproduziert wird und daß eine Steuervorrichtung gebildet
ist zum Aktivieren der zweiten Koordinatenberechnungsvorrichtung
(16, 38, S 10), der zweiten Koordinatenspeichervorrichtung (12, 16,
22 b, S 11, S 15) und der zweiten Punktdatenaufbereitungsvorrichtung
(16, 40, S 16), wenn die gewählte Größe kleiner als ein vorgewählter
Wert ist, und daß die zweite Koordinatenberechnungsvorrichtung,
die zweite Koordinatenspeichervorrichtung und die zweite Punkt
datenaufbereitungsvorrichtung deaktiviert wird, wenn die gewählte
Größe nicht kleiner als der vorgewählte Wert ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63269074A JPH0747339B2 (ja) | 1988-10-25 | 1988-10-25 | データ変換装置 |
JP1078782A JPH0743584B2 (ja) | 1989-03-29 | 1989-03-29 | データ変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3935558A1 true DE3935558A1 (de) | 1990-04-26 |
DE3935558C2 DE3935558C2 (de) | 1997-04-17 |
Family
ID=26419843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3935558A Expired - Lifetime DE3935558C2 (de) | 1988-10-25 | 1989-10-25 | Datenkonvertierungsvorrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5073956A (de) |
DE (1) | DE3935558C2 (de) |
FR (1) | FR2638263B1 (de) |
GB (1) | GB2224913B (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155805A (en) * | 1989-05-08 | 1992-10-13 | Apple Computer, Inc. | Method and apparatus for moving control points in displaying digital typeface on raster output devices |
JP3189276B2 (ja) * | 1990-09-12 | 2001-07-16 | ブラザー工業株式会社 | データ変換装置 |
JP3196236B2 (ja) * | 1991-05-08 | 2001-08-06 | ブラザー工業株式会社 | アウトラインデータ処理装置 |
US5595450A (en) * | 1992-06-11 | 1997-01-21 | Esselte N.V. | Label printing apparatus with display |
JP3057935B2 (ja) * | 1992-11-16 | 2000-07-04 | ブラザー工業株式会社 | 文字出力装置 |
JPH0816801A (ja) * | 1994-06-30 | 1996-01-19 | Canon Inc | 画像処理方法及び装置 |
JP2910588B2 (ja) * | 1994-10-20 | 1999-06-23 | ブラザー工業株式会社 | デ−タ変換装置 |
JPH08339449A (ja) * | 1995-04-11 | 1996-12-24 | Canon Inc | 画像処理装置及びその方法 |
US6266444B1 (en) * | 1996-10-11 | 2001-07-24 | Canon Kabushiki Kaisha | Character processing apparatus and method therefor |
CN113391736B (zh) * | 2020-12-02 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 对象连线的确定方法和装置、存储介质及电子设备 |
CN113268207A (zh) * | 2021-05-12 | 2021-08-17 | 武汉先同科技有限公司 | 一种基于图像处理技术的打印控制方法及系统 |
CN116579854B (zh) * | 2022-12-30 | 2023-12-22 | 长安银行股份有限公司 | 理财风险控制数据的可视化数据处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4627002A (en) * | 1984-02-21 | 1986-12-02 | Dr. -Ing. Rudolf Hell Gmbh | Method and apparatus for recording characters |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2147474B (en) * | 1983-10-03 | 1987-05-07 | Shaken Kk | Method of processing character or pictorial image data |
US4675833A (en) * | 1984-04-13 | 1987-06-23 | Xyvision, Inc. | Processor controlled photocomposition system |
CA1223366A (en) * | 1984-09-27 | 1987-06-23 | Abijah S. Fox | System for automatic adjustment and editing of handwritten text images |
JPS61249175A (ja) * | 1985-04-24 | 1986-11-06 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 図形処理装置 |
US4673977A (en) * | 1985-06-20 | 1987-06-16 | International Business Machines Corporation | Method of spatially thresholding a discrete color image |
US4785391A (en) * | 1986-02-07 | 1988-11-15 | Bitstream Inc. | Automated bitmap character generation from outlines |
US4837847A (en) * | 1987-02-03 | 1989-06-06 | Canon Kabushiki Kaisha | Image processing apparatus |
-
1989
- 1989-10-23 US US07/425,604 patent/US5073956A/en not_active Expired - Lifetime
- 1989-10-25 DE DE3935558A patent/DE3935558C2/de not_active Expired - Lifetime
- 1989-10-25 FR FR898913972A patent/FR2638263B1/fr not_active Expired - Lifetime
- 1989-10-25 GB GB8924056A patent/GB2224913B/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4627002A (en) * | 1984-02-21 | 1986-12-02 | Dr. -Ing. Rudolf Hell Gmbh | Method and apparatus for recording characters |
Also Published As
Publication number | Publication date |
---|---|
DE3935558C2 (de) | 1997-04-17 |
FR2638263A1 (fr) | 1990-04-27 |
GB2224913B (en) | 1993-03-17 |
FR2638263B1 (fr) | 1993-08-13 |
GB2224913A (en) | 1990-05-16 |
GB8924056D0 (en) | 1989-12-13 |
US5073956A (en) | 1991-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3716787C2 (de) | ||
DE3407983C2 (de) | Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen | |
DE2909153C2 (de) | Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern | |
DE3806223C2 (de) | Verfahren zur Erzeugung von Zeichenmustern | |
EP0131676B1 (de) | Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben | |
DE2940897C2 (de) | Digitales Setzgerät | |
DE69826044T2 (de) | Vektorkartenplanarisierung und -einfang | |
DE3339666C2 (de) | ||
DE3932024C2 (de) | Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten | |
DE3935574A1 (de) | Verfahren zur minimierung der visuellen beeintraechtigung eines schriftbilds | |
DE3935558C2 (de) | Datenkonvertierungsvorrichtung | |
DE2801536A1 (de) | Zeichenerkennungsvorrichtung | |
DE2431451B2 (de) | Verfahren zur normierung der strichstaerke von abgetasteten schriftzeichen sowie einrichtung zur durchfuehrung des verfahrens | |
DE3342947A1 (de) | Verfahren zur behandlung der daten eines binaeren grafischen musters und system dafuer | |
DE3241673C2 (de) | Verfahren zum Verdichten von Daten Zwei-wertiger Bilddarstellungen | |
DE4038056C2 (de) | Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage | |
DE2833175A1 (de) | Signalgenerator fuer ein anzeigesystem | |
DE69929110T2 (de) | Einrichtung und Verfahren zur Erzeugung von Druckdaten des zweidimensionalen Koden und zugehöriges Aufzeichnungsmedia | |
DE3914905C2 (de) | ||
DE4124554A1 (de) | Datenumwandlungseinrichtung | |
DE19901934C2 (de) | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind | |
DE2254913A1 (de) | Verfahren zur erzeugung graphischer darstellungen aus parametrischen daten | |
DE60211210T2 (de) | Vorrichtung und verfahren zur bildskalierung | |
DE4030324C2 (de) | Ausgabegerät sowie Ausgabeverfahren | |
EP0970440B1 (de) | Bildbearbeitungsverfahren und schaltungsanordnung zum verändern der bildauflösung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06K 15/10 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN |