DE19611409C2 - Verfahren und Schaltungsanordnung zum Ändern von Bilddaten - Google Patents

Verfahren und Schaltungsanordnung zum Ändern von Bilddaten

Info

Publication number
DE19611409C2
DE19611409C2 DE1996111409 DE19611409A DE19611409C2 DE 19611409 C2 DE19611409 C2 DE 19611409C2 DE 1996111409 DE1996111409 DE 1996111409 DE 19611409 A DE19611409 A DE 19611409A DE 19611409 C2 DE19611409 C2 DE 19611409C2
Authority
DE
Germany
Prior art keywords
source
data
image
line
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1996111409
Other languages
English (en)
Other versions
DE19611409A1 (de
Inventor
Claus Schneider
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Production Printing Germany GmbH and Co KG
Original Assignee
Oce Printing Systems GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oce Printing Systems GmbH and Co KG filed Critical Oce Printing Systems GmbH and Co KG
Priority to DE1996111409 priority Critical patent/DE19611409C2/de
Publication of DE19611409A1 publication Critical patent/DE19611409A1/de
Application granted granted Critical
Publication of DE19611409C2 publication Critical patent/DE19611409C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-treatment of the composed image, e.g. compression, rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)
    • G06K2215/008Raster outputting to the print element(s) from more than one raster memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Ändern von Bilddaten eines Bildelemente enthaltenden Druckbildes, das insbesondere durch einen elektrografischen Drucker auf einen Träger ge­ druckt wird. Die Bildelemente sind nach Art einer Matrix in Spalten und Zeilen angeordnet. Jedem Bildelement ist ein Bilddatum zugeordnet, das als Teil eines Bilddatenwortes vorgegebener Wortlänge in einem Bildspeicher gespeichert ist. In einem Quellspeicher sind Quelldaten mindestens eines Quellbildes gespeichert, dessen Quellelemente ebenfalls nach Art einer Matrix in Spalten und Zeilen angeordnet sind. Jedem Quellelement des Quellbildes ist ein Quelldatum zugeordnet, das als Teil eines Quelldatenwortes der genannten Wortlänge im Quellspeicher gespeichert ist.
Zum Ändern eines Bilddatums muß dieses aus dem Bildspeicher gelesen werden. Weiterhin muß ein Quelldatum aus dem Quell­ speicher gelesen werden. Das gelesene Bilddatum und das gelesene Quelldatum werden nach einer vorgegebenen logischen Operation verknüpft und das Ergebnis der Verknüpfung wird in den Bildspeicher als geändertes Bilddatum anstelle des alten Bilddatums gespeichert. Bekannte Mikroprozessoren oder spezi­ elle Graphikprozessoren greifen wortweise auf den Bildspei­ cher und den Quellspeicher zu. Das bedeutet, daß bei jedem Zugriff entweder eine vorgegebene Anzahl von Bilddaten aus dem Bildspeicher gelesen oder in den Bildspeicher geschrieben werden. Analog werden bei jeder Leseoperation des Quellspei­ chers eine vorgegebene Anzahl von Quelldaten aus dem Quell­ speicher gelesen. Auch das Verknüpfen von Bilddaten und Quelldaten erfolgt wortbezogen, wobei Bilddaten eines Bildda­ tenwortes mit Quelldaten eines Quelldatenwortes an der glei­ chen Position bitweise verknüpft werden.
In der Regel sind Bilddaten so im Bildspeicher abgelegt, daß benachbarte Bilddaten in einem Bilddatenwort auch benachbarte Bildelemente des Druckbildes definieren. Analog definieren benachbarte Quelldaten in einem aus dem Quellspeicher ausge­ lesenem Quelldatenwort auch benachbarte Quellelemente des Quellbildes. Die Bilddatenworte und die Quelldatenworte haben, wie oben erwähnt, eine vorgegebene Wortlänge, die die Anzahl von Bilddaten in einem Bilddatenwort bzw. die Anzahl von Quelldaten in einem Quelldatenwort beschränkt. Diese Anzahl stimmt auch mit der maximal in einem Schritt zu ver­ knüpfenden Anzahl von Bilddaten und Quelldaten überein. Sollen alle Quelldaten eines Quelldatenwortes mit allen Bilddaten eines Bilddatenwortes verknüpft werden, so ist das nur möglich, wenn jeweils Bilddaten und Quelldaten an der gleichen Bitposition miteinander verknüpft werden.
Da jedoch der Zugriff auf die Bilddaten und die Quelldaten jeweils nur an vorgegebenen Datenwortgrenzen beginnend durch­ geführt werden kann, kann nicht sichergestellt werden, daß Bilddaten und Quelldaten an gleichen Positionen im Bilddaten­ wort bzw. im Quelldatenwort mit den tatsächlich zu verknüp­ fenden Bilddaten und Quelldaten übereinstimmen. Die Folge ist, daß die Bitpositionen der beiden Datenworte zueinander verschoben werden müssen. Durch diese Verschiebung entstehen aber am Anfang oder am Ende Bitpositionen, denen beim Ver­ knüpfen keine Quelldaten bzw. Bilddaten gegenüberstehen. Wird die Verknüpfung des Quelldatenwortes mit dem Bilddatenwort durchgeführt, so wird nur ein Teil der im Quelldatenwort enthaltenen Quelldaten mit den zugehörigen Bilddaten ver­ knüpft. Das Quelldatenwort muß nochmals aus dem Quellspeicher gelesen werden, um auch die restlichen Quelldaten mit den zugehörigen Bilddaten zu verknüpfen. Das macht eine zusätzli­ che Leseoperation und eine weitere Verknüpfung notwendig. Außerdem können nicht alle Bilddaten in einem Bilddatenwort mit einer Verknüpfungsoperation geändert werden. Dadurch ist auch ein wiederholtes Lesen eines Bilddatenwortes mit bereits teilweise geänderten Bilddaten notwendig. Das vollständig geänderte Bilddatenwort muß ebenfalls wieder in den Bildspeicher geschrieben werden.
Durch das wiederholte Zugreifen auf Bilddatenworte und Quell­ datenworte sowie das unvollständige Verknüpfen wird das Än­ dern der Bilddaten langsam. Diese Tatsache ist um so schwer­ wiegender, da eine Vielzahl von Bilddaten zu ändern sind. Üb­ licherweise sind mehrere tausend Bilddaten vor dem Druck eines Druckbildes zu ändern.
In der Regel sind, zuzüglich zu dem bereits Gesagten, in einem Bilddatenwort Bilddaten, die Bildelemente einer Zeile des Druckbildes definieren. Auch in einem Quelldatenwort sind Quelldaten enthalten, die Quellelemente einer Zeile des Quellbildes definieren. Durch dieses zeilenorientierte Ab­ speichern der Bilddaten und Quelldaten ist ein zeilenweises Verknüpfen von Bilddaten und Quelldaten erleichtert. Soll je­ doch das Quellbild um 90° oder 270° gedreht im Druckbild er­ scheinen, so müssen Quelldaten zu Quellelementen einer Spalte mit Bilddaten zu Bildelementen einer Zeile verknüpft werden. Durch die zeilenorientierte Speicherung der Quelldaten kann aus jedem Quelldatenwort aber nur das zu einer jeweils bear­ beiteten Spalte gehörende Quelldatum mit einem Bilddatum ver­ knüpft werden. Eine Vielzahl von Speicherzugriffen und Ver­ knüpfungsoperationen ist wiederum die Folge, die das Ver­ knüpfen von Bilddaten und Quelldaten langsam macht.
Die DE 32 29 616 A1 erläutert ein Verfahren zum Ändern von Bilddaten in einem Fernkopierer, bei dem Quelldaten mit Zu­ satzinformationen in einer Speichereinheit gespeichert sind. Bilddaten werden in einer Verknüpfungseinheit mit jeweiligen Quelldaten verknüpft.
Das Verfahren eignet sich nicht für einen Drucker, denn bei diesem müssen auf jeder Druckseite andere Quelldaten gedruckt werden. Problematisch beim beschriebenen Verfahren ist auch, daß ein elementweises bzw. bitweises Verknüpfen stattfindet, das für jede Bitstelle einzeln und nacheinander durchgeführt werden muß, so daß sich eine relativ lange Zeit zum Ver­ knüpfen eines ganzen Datenworts ergibt. Außerdem entsteht ein zusätzlicher schaltungstechnischer Aufwand für die Adressie­ rung der Speichereinheit.
Die DE 35 23 042 A1 erläutert ein Bildverarbeitungssystem, mit dem die Lage von Buchstaben, Wörtern, Zeilen und Absätzen in einem als Bild vorliegenden Text erfaßt werden, so daß an­ schließend in diesem Text Änderungen durchgeführt werden kön­ nen. Ein FIFO-Speicher wird zur Anpassung der Geschwindigkeit der Ausgabe von Datenworten eines Seriell-/Parallel-Umsetzers an den Wiederholzyklus eines Bildspeichers verwendet.
Aus der DE 34 09 770 A1 ist ein Datenverarbeitungssystem be­ kannt, das die Übertragung von Codedaten für Zeichen und Sym­ bole und Bilddaten für Bilddichten über einen gemeinsamen Übertragungskanal ermöglicht. Nach der Übertragung werden die Codedaten und Bilddaten getrennt zur Bildreproduktion aufbe­ reitet. Die Verknüpfung von Quelldaten und Bilddaten sowie die Anwendung des FIFO-Prinzips gemäß der Erfindung ist in diesem Dokument nicht angesprochen.
Aufgabe der Erfindung ist es, ein Verfahren anzugeben, mit dem die Bilddaten auf einfache Weise und schnell geändert werden können.
Diese Aufgabe wird durch ein Verfahren der eingangs genannten Art erfüllt, bei dem Quelldaten aus dem Quellspeicher gelesen und in mindestens einem Zeilenspeicher nach Art einer Daten­ schlange abgespeichert werden.
Aus dem Quellspeicher gelesene Quelldatenworte werden jeweils an das Ende der Datenschlange angefügt und dem Zeilenspeicher zu entnehmende Quelldaten entweder nach dem FIFO-Prinzip vom Anfang oder nach dem LIFO-Prinzip vom Ende der Datenschlange ausgelesen. Aus dem Zeilenspeicher entnommmene Quelldaten werden zum Zusammenstellen eines Auslesedatenwortes der genannten Wortlänge verwendet. Das Auslesedatenwort wird mit mindestens einem Bilddatenwort nach einer vorgegebenen logi­ schen Operation verknüpft, und die Daten mindestens eines Ergebnisdatenwortes dieser Verknüpfung werden als neue Bild­ daten verwendet.
Die Erfindung geht von der Erkenntnis aus, daß das Verändern der Bilddaten beschleunigt werden kann, wenn die Anzahl der Leseoperationen aus dem Bildspeicher und dem Quellspeicher, die Anzahl von Schreiboperationen in den Bildspeicher und die Anzahl von Verknüpfungen auf ein unumgängliches Minimum begrenzt werden. Das ist jedoch nur möglich, wenn mit jeder Verknüpfungsoperation die durch die Wortlänge vorgegebene Anzahl von Quelldaten mit Bilddaten verknüpft wird. Das läßt sich jedoch nur erreichen, wenn die Beschränkungen, die durch die Datenwortgrenzen vorgegeben sind, aufgehoben werden. Dabei ist es ausreichend, wenn zum Beispiel nur die Daten­ wortgrenzen der Quelldaten aufgehoben werden, da die Quellda­ ten somit schon beliebig in Bezug zu einem Bilddatenwort gesetzt werden können. Deshalb werden bei der Erfindung Quelldaten aufeinanderfolgender Quellelemente in einem je­ weils einer Zeile zugeordneten Zeilenspeicher nach Art einer Datenschlange abgespeichert.
Eine Datenschlange ist eine einfach aufgebaute Speicherstruk­ tur, da jeweils nur sichergestellt werden muß, dass Quelldaten am Ende der Datenschlange angefügt werden können, und daß dem Zeilenspeicher zu entnehmende Quelldaten entweder vom Anfang oder vom Ende der Datenschlange ausgelesen werden können. Auf Quelldaten, die im Mittelteil der Datenschlange abgespeichert werden, wird nicht zugegriffen, so daß diesbezügliche Maßnah­ men entfallen können.
Aus dem Zeilenspeicher entnommene Quelldaten werden beim Verfahren nach der Erfindung zum Zusammenstellen eines Ausle­ sedatenwortes verwendet. Das Auslesedatenwort hat üblicher­ weise eine Länge, die mit der Wortlänge eines Bilddatenwortes bzw. Quelldatenwortes übereinstimmt. Das Ausgabedatenwort wird dabei so zusammengestellt, daß die im Ausgabedatenwort enthaltenen Quelldaten vollständig mit den Bilddaten eines zugeordneten Bilddatenwortes verknüpft werden können. Somit wird bei einem Verfahren nach der Erfindung erreicht, daß mit jeder Verknüpfungsoperation eine maximale Anzahl von Quellda­ ten und Bilddaten miteinander verknüpft werden. Die Quellda­ tenworte müssen nur einmal aus dem Quellspeicher in den Zeilenspeicher gespeichert werden. Die Folge ist ein schnel­ les Verändern der Bilddaten des Bildspeichers bei Anwendung des Verfahrens nach der Erfindung.
Die logische Operation beim Verknüpfen kann eine binäre Operation, wie z. B. eine UND-Verknüpfung, eine ODER-Verknüp­ fung usw. sein. Die logische Operation kann aber auch eine unäre Operation sein, wie z. B. die Identität. Das bedeutet, daß die Ausgabedatenworte einfach in den Bildspeicher gespei­ chert werden und die dort vorhandenen Bilddatenworte erset­ zen. Die logische Operation besteht in diesem Falle in einem Schreiben von Bilddatenworten in den Bildspeicher.
Ein weiteres Ausführungsbeispiel der Erfindung sieht vor, daß das Lesen der Quelldatenworte und das Speichern dieser Quell­ datenworte im Zeilenspeicher in aufeinanderfolgenden Lese- Schreib-Zyklen kontinuierlich ohne Unterbrechung erfolgt, wobei beim Zugriff auf den Quellspeicher mindestens ein Zwischenspeicher mit kurzer Zugriffszeit nach Art eines Cache-Speichers verwendet wird. Dieser Maßnahme liegt die Erkenntnis zugrunde, daß Speicherzugriffe beschleunigt werden können, wenn nacheinander aufeinanderfolgende Adressen im Quellspeicher gelesen werden. So brauchen z. B. die Adreßregi­ ster des Mikroprozessors lediglich inkrementiert werden.
Ein anderes Ausführungsbeispiel des Verfahrens der Erfindung sieht vor, daß die Anzahl der Zeilenspeicher mindestens der Anzahl von Quelldaten im Auslesedatenwort entspricht und daß jeder Zeilenspeicher Quelldaten einer zugeordneten Zeile des Quellbildes enthält. In diesem Fall können in einem Auslese­ datenwort zu Quellelementen verschiedener Zeilen des Quell­ bildes gehörende Quelldaten zusammengestellt werden. Insbe­ sondere ist es möglich, Quelldaten zu Bildelementen einer Spalte des Quellbildes in einer Auslesedatenfolge zusammen­ zustellen. Somit kann trotz der zeilenorientierten Ab­ speicherung der Quelldaten spaltenweise auf die Quelldaten zugegriffen werden. Aufgrund dieser Tatsache lassen sich Quellbilder im Druckbild um 90° oder 270° gedreht darstellen, indem die Auslesedatenworte mit zugeordneten Bilddatenworten verknüpft werden. Bei einer Drehung um 90° ist gegebenenfalls die Reihenfolge der Quelldaten im Auslesedatenwort umzu­ kehren. Wie in den Ausführungsbeispielen im folgenden erläu­ tert, kann das Entnehmen der Quelldaten aus dem Zeilen­ speicher, das Zuordnen der Zeilenspeicher zu Zeilennummern des Quellbildes und die Reihenfolge des Verknüpfens der Bild­ daten so erfolgen, daß auch bei einer Drehung eines Quell­ bildes um 90° eine Umkehr der Reihenfolge der Quelldaten im Auslesedatenwort nicht erforderlich ist.
Die Erfindung betrifft weiterhin eine Schaltungsanordnung zum Verknüpfen von Quelldaten mit den Merkmalen des Patentan­ spruchs 16.
Die Erfindung läßt sich auch für Kopiergeräte anwenden, in denen Bilddaten einer Druckseite zu ändern sind. Ein Bild­ element kann im einfachsten Fall ein einziger durch den Drucker oder den Kopierer gedruckter Bildpunkt sein. Je nach Möglichkeiten des Druckers bzw. Kopierers kann der Bildpunkt ausschließlich schwarz oder weiß dargestellt werden. In diesem Fall ist dem Bildelement als Bilddatum genau ein Bit zugeordnet.
Einem Bildpunkt kann jedoch auch ein Grauwert zugeordnet sein, der durch die Schwärzung des Bildpunktes wiedergegeben wird. In diesem Fall ist jedem Bildpunkt ein Bilddatum aus mehreren Bits zugeordnet, in denen der Grauwert codiert ist.
Ein Bildelement kann alternativ aber auch aus einer Anzahl von Bildpunkten bestehen, wenn z. B. bei erhöhter Auflösung des Druckers bzw. Kopierers Grauwerte durch eine bestimmte Verteilung von schwarzen Bildpunkten innerhalb des Bildele­ mentes erzeugt werden. Selbstverständlich können die Bild­ punkte auch mit bestimmten Farben gedruckt werden, so daß die Erfindung auch auf das Verändern von Farbbilddaten angewendet werden kann.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen beschrieben. Dabei zeigen:
Fig. 1 einen Ausschnitt aus einem Druckbild, welches auf Papier durch einen Drucker gedruckt wird,
Fig. 2 ein Blockschaltbild mit wesentlichen elektri­ schen Funktionseinheiten des Druckers,
Fig. 3 eine Drehung eines Quellbildes um 180°,
Fig. 4 ein Quellbild zur Erläuterung des Begriffs "Überschußdaten",
Fig. 5 ein erstes Ausführungsbeispiel der Verknüpfungs­ einheit zum Übergehen von Überschußdaten,
Fig. 6 den Aufbau eines Bitvertauschers zum Vertauschen der Bitreihenfolge in einem Datenwort,
Fig. 7 Verknüpfungsvarianten bei einer Zuordnung von Zeilenspeichern mit aufsteigenden Nummern zu aufsteigenden Zeilennummern im Quellbild,
Fig. 8 Verknüpfungsvarianten bei einer Zuordnung von Zeilenspeichern mit aufsteigender Nummer zu absteigenden Zeilennummern im Quellbild,
Fig. 9 eine ausführliche Darstellung von Drehungen eines Quellbildes um 90° und um 270°,
Fig. 10 eine Drehung des größeren Quellbildes um 90° und 270°,
Fig. 11 eine schematische Anordnung von 16 Zeilenspei­ chern in einem zweiten Ausführungsbeispiel der Verknüpfungseinheit,
Fig. 12 die Zuordnung der Zeilenspeicher zu Datenworten eines Bildspeichers bei einer Drehung eines Quellbildes um 270° und um 90°,
Fig. 13 ein drittes Ausführungsbeispiel der Verknüp­ fungseinheit 34 mit gleichzeitiger Verwendung einer Steuerung für mehrere Zeilenspeicher,
Fig. 14 ein Blockschaltbild einer Steuerung einer Zei­ lenspeichergruppe, und
Fig. 15 ein viertes Ausführungsbeispiel mit grauwertco­ dierten Quelldaten.
In Fig. 1 ist ein Ausschnitt aus einem Druckbild 18 darge­ stellt, welches auf Papier durch einen Drucker gedruckt wird. Die rechte obere Ecke des Druckbildes 18 ist als Ursprungs­ punkt eines x,y-Koordinatensystems gewählt, der im Schnitt­ punkt einer mit x bezeichneten horizontalen x-Achse und einer mit y bezeichneten vertikalen y-Achse liegt. Das Druckbild 18 besteht aus rasterförmig angeordneten Bildelementen, die nach Art einer Matrix in Spalten und Zeilen angeordnet sind. Eine Zeile verläuft für eine konstante y-Position in Richtung der x-Achse, wie durch einen Pfeil P1 gekennzeichnet. Eine Spalte verläuft dagegen für eine konstante x-Position in Richtung der y-Achse, wie durch einen Pfeil P2 gekennzeichnet.
Ein Bildelement an einer Position X, Y kann wahlweise abhängig von einem zugeordneten Bilddatum schwarz oder weiß sein. Im folgenden wird das Erzeugen von den Bildelementen des Druck­ bildes 18 zugeordneten Bilddaten unter Verwendung von Ausfüh­ rungsbeispielen der Erfindung erläutert.
Fig. 2 zeigt in ihrem unteren Teil ein Blockschaltbild 20 mit wesentlichen elektrischen Funktionseinheiten eines Druc­ kers. Ein Mikroprozessor 22 steuert den Druck des Druckbildes 18, das mit Hilfe einer Druckeinheit (nicht dargestellt) auf einen Träger aus Papier gedruckt wird. Der Mikroprozessor 22 ist an ein zentrales Bussystem 24 angeschlossen. Das Bussy­ stem 24 enthält zur einfacheren Erläuterung nur 4 Datenlei­ tungen, über die Datenworte mit jeweils 4 Bit zwischen den Funktionseinheiten des Druckers ausgetauscht werden. Die Datenwortlänge beträgt somit vier Bit. Tatsächlich werden jedoch Datenwortlängen von 8, 16, 32 oder mehr Bits verwen­ det.
Der Mikroprozessor 22 arbeitet ein in einem Programmspeicher 26 gespeichertes Druckprogramm ab. Dabei erhält der Mikropro­ zessor 22 über eine Ein-/Ausgabeschnittstelle 28 Vorgaben gemäß einer Seitenbeschreibungssprache. Die Vorgaben der Seitenbeschreibungssprache werden durch den Mikroprozessor 22 beim Abarbeiten des Druckprogramms zu Bilddaten des Druckbil­ des 18 aufbereitet.
Mit dem Bussystem 24 ist weiterhin ein Bildspeicher 30 ver­ bunden, in dem die Bilddaten des gesamten Druckbildes 18 abgespeichert sind. Zu Beginn des Drucks einer neuen Druck­ seite wird der Bildspeicher 30 gelöscht, indem alle in ihm enthaltenen Bilddaten den Wert Null erhalten. Danach wird der Bildspeicher 30 gemäß der Vorgaben der Seitenbeschreibungs­ sprache beschrieben. Die Seitenbeschreibungssprache enthält Vorgaben wie z. B.: "Drucke den Buchstaben "F" um 180° gedreht an der Position X, Y des Druckbildes". Die genannte Vorgabe der Seitenbeschreibungssprache enthält demzufolge noch nicht die konkreten den Bildelementen des Druckbildes 18 zugeordne­ ten Bilddaten. Diese Bilddaten werden aus in einem Quellspei­ cher 32 gespeicherten Quelldaten zusammengestellt, die beim Bearbeiten anderer Vorgaben der Seitenbeschreibungssprache im Quellspeicher 32 abgelegt wurden. Die Quelldaten gehören zu Bildelementen von Quellbildern. Zu den Quellbildern zählen einzelne Zeichen eines oder mehrerer vorgegebener Zeichen­ sätze, graphische Elemente zur Gestaltung des Druckbildes 18 oder vorgegebene Teilbilder, die in das Druckbild 18 einge­ bunden werden. Der Programmspeicher 26, der Bildspeicher 30 und der Quellspeicher 32 sind als Speicherbereiche in einem flüchtigen Speicher 33 (RAM) realisiert.
Beim Abarbeiten der obigen Vorgabe der Seitenbeschreibungs­ sprache entnimmt der Mikroprozessor 22 Quelldaten des Buch­ staben "F" (vgl. Fig. 2, Bezugszeichen 60) aus dem Quell­ speicher 32 und verknüpft sie in einer Verknüpfungseinheit 34 mit den Bilddaten in einer Umgebung der Position X, Y im Druckbild 18. Das Verknüpfen erfolgt dabei nach einer vorge­ gebenen logischen Operation, z. B. durch eine ODER-Verknüp­ fung. Werden die Quelldaten des Quellspeichers 32 durch einen ODER-Operator mit den Bilddaten des Bildspeichers 30 ver­ knüpft, so bleiben bereits im Bildspeicher 30 enthaltene Bilddaten mit dem Wert "1" beim Verknüpfen erhalten, so daß Bilddaten von schwarzen Bildelementen im Gegensatz zu Bildda­ ten von weißen Bildelementen nicht durch ein Überschreiben verändert werden.
Im oberen linken Teil der Fig. 2 ist ein Ausschnitt 40 aus dem Bildspeicher 30 gezeigt. Die Anordnung der Bilddaten ist durch den Hardwareaufbau des Bildspeichers 30 vorgegeben. Ein Bilddatum belegt genau ein Bit. Einem Bilddatum mit dem Wert "1" ist ein schwarzes Bildelement im Druckbild 18 zugeordnet, einem Bilddatum mit dem Wert "0" ist ein weißes Bildelement zugeordnet. Jeweils 4 Bits sind zu einem Bilddatenwort zusam­ mengefaßt. Das Bit ganz links in einem Bilddatenwort steht an der Bitposition "0" worauf Bitpositionen "1" und "2" folgen. Das Bit ganz rechts in einem Datenwort steht an einer Bitpo­ sition "3". Die Reihenfolge der Numerierung der Bitpositionen ist willkürlich gewählt und kann auch umgekehrt werden, wenn es zweckmäßig ist.
Innerhalb eines Bilddatenwortes sind die Bilddaten so ange­ ordnet, daß benachbarte Bilddaten auch zu benachbarten Bild­ elementen einer Zeile des Druckbildes 18 gehören. Außerdem wird auf die Bilddatenworte des Bildspeichers 30 über eine Adresse zugegriffen, wobei die Adresse ein ganzzahliger numerischer Wert ist. Eine Reihenfolge der Bilddatenworte ist somit durch die Abfolge der numerischen Werte vorgegeben. Diese Art des Abspeicherns wird als zeilenorientiertes Ab­ speichern bezeichnet.
Der Ausschnitt 40 in Fig. 2 zeigt zwölf Bilddatenworte DW0 bis DW11 des Bildspeichers 30. Die Bilddatenworte DW0 bis DW3 sind einer ersten Zeile, die Bilddatenworte DW4 bis DW7 einer zweiten Zeile und die Bilddatenworte DW8 bis DW11 einer dritten Zeile des Druckbildes 18 zugeordnet. Bei der Darstel­ lung der Bilddatenworte DW0 bis DW11 im Ausschnitt 40 wurden die einer Zeile zugeordneten Bilddatenworte jeweils auch in einer Zeile hintereinander dargestellt. Im Bildspeicher 30 sind die Bilddatenworte, wie durch die Pfeile P3 bzw. P4 zwischen den Bilddatenworten DW3 und DW4 bzw. DW7 und DW8 angedeutet, an aufeinanderfolgenden Adressen abgespeichert. Die Grenzen zwischen den Bilddatenworten DW0 bis DW3, DW4 bis DW7 und DW8 bis DW11 sind durch drei Strichlinien 42 bis 46 hervorgehoben.
Ein erstes Bilddatum 48 des Bilddatenwortes DW0 ist dem Bildelement an der Position X, Y des Druckbildes 18 zugeord­ net. Das Bilddatum 48 hat den Wert "0", so daß das Bildele­ ment an der Position X, Y des Druckbildes 18 weiß ist. Das Bilddatum 48, ein erstes Bilddatum 50 des Bilddatenwortes DW4 und ein erstes Bilddatum 52 des Bilddatenwortes DW8 sind Bildelementen einer gemeinsamen Spalte mit der x-Position X im Druckbild 18 zugeordnet. Das Bilddatum 48, ein zweites, drittes bzw. viertes Bilddatum 54, 56 bzw. 58 des Bilddaten­ wortes DW0 sind aufeinanderfolgenden Bildelemente einer gemeinsamen Zeile mit der y-Position Y im Druckbild 18 zuge­ ordnet.
Im rechten oberen Teil der Fig. 2 ist ein im Quellspeicher 32 gespeichertes Quellbild 60 des Buchstabens "F" darge­ stellt. Das Quellbild 60 besteht aus matrixförmig angeordne­ ten Quellelementen, die schwarz oder weiß sind. Den Quellele­ menten des Quellbildes 60 sind im Quellspeicher 32 Quelldaten zugeordnet. Quelldaten 62 bis 68 definieren z. B. eine oberste Zeile des Quellbildes 60. Da die Quelldaten 62 bis 68 den Wert "0" haben, ist die oberste Zeile des Quellbildes 60 weiß. Auch Quelldaten 70 bis 76 der untersten Zeile des Quellbildes 60 haben den Wert "0". Die Anordnung der Quellda­ ten im Quellspeicher 32 entspricht der anhand des Ausschnitts 40 erläuterten Anordnung der Bilddaten im Bildspeicher 30.
Die den Quellelementen des Quellbildes 60 zugeordneten Quell­ daten sind in Quelldatenworten DW40 bis DW47 im Quellspeicher 32 abgespeichert. Da wie oben erwähnt die Position X, Y mit dem Bildelement übereinstimmt, das durch das Bilddatum 48 definiert wird, müssen zum Durchführen des Drucks des um 180° gedrehten Buchstabens "F" das Quelldatum 76 mit dem Bilddatum 48, das Quelldatum 74 mit dem Bilddatum 54, das Quelldatum 72 mit dem Bilddatum 56 usw. verknüpft werden. Als Resultat einer ODER-Verknüpfung befinden sich Bilddaten im Bildspei­ cher 30, die zu Bildelementen des um 180° gedrehten Quellbil­ des 60 gehören. Beim Druck des Druckbildes 18 erscheint der Buchstabe "F" um 180° gedreht an der vorgegebenen Position X, Y.
Fig. 3 zeigt ausführlicher die Drehung des Quellbildes 60 um 180°. In einem ersten Schritt wird die Reihenfolge der Quell­ daten in jedem der Quelldatenworte DW40 bis DW47 vertauscht. In einem Quelldatenwort DW50 ist die Reihenfolge der Quellda­ ten 62 bis 68 umgekehrt, so daß das Quelldatum 68 an der Bitposition "0" des Quelldatenwortes DW50 und das Quelldatum 62 an der Bitposition "3" des Quelldatenwortes DW50 angeord­ net ist. Auf analoge Weise entstehen aus den Quelldatenworten DW41 bis DW47 Quelldatenworte DW51 bis DW57. Die Quelldaten der Quelldatenworte DW50 bis DW57 sind Quellelementen eines Quellbildes 60' zugeordnet, das im mittleren Teil der Fig. 3 gezeigt ist.
Im unteren Teil der Fig. 3 ist die vertikale Reihenfolge der Quelldatenworte DW50 bis DW57 umgekehrt. Die Quelldaten der Quelldatenworte DW50 bis DW57 sind nun den Quellelementen eines Quellbildes 60" zugeordnet. Wird das Quelldatenwort DW57 mit dem Bilddatenwort DW0, das Quelldatenwort DW56 mit dem Bilddatenwort DW4 usw. verknüpft, so ist beim Druck des Druckbildes 18 der Buchstabe "F" um 180° gedreht im Druckbild 18 angeordnet.
Das Verknüpfen der Quelldatenworte DW57 bis DW50 mit den Bilddatenworten DW0, DW4, DW8 usw. wird in der Verknüpfungs­ einheit 34 durchgeführt. Ein erstes Ausführungsbeispiel der Verknüpfungseinheit 34 wird weiter unten anhand der Fig. 5 erläutert.
Fig. 4 zeigt in ihrem oberen Teil ein Quellbild 80, das aus neun Bildelementen besteht, die in einer 3 × 3-Matrix angeord­ net sind. Jedem Quellelement ist ein Quelldatum 1 bis 9 in einer Speicherzelle des Quellspeichers 32 zugeordnet. Die Quelldaten 1 bis 4 sind zu einem Quelldatenwort 122, die Quelldaten 5 bis 8 zu einem Quelldatenwort 124 und die Quell­ daten 9 und 10 zu einem Quelldatenwort 126 zusammengefaßt, das außerdem zwei weitere Daten 11 und 12 enthält, die keinem der Quellelemente des Quellbildes 80 zugeordnet sind. Die Quelldatenworte DW122 bis DW126 sind im Quellspeicher 32 hintereinander abgespeichert, wie es im Mittelteil der Fig. 4 dargestellt ist, wobei die Datenwortgrenzen durch Linien 82 und 84 gekennzeichnet sind.
Soll auf die zu Quellelementen einer ersten Zeile des Quell­ bildes 80 gehörenden Quelldaten 1 bis 3 zugegriffen werden, so muß das Quelldatenwort DW122 dem Quellspeicher 32 entnom­ men werden. Da jedoch nur ganze Quelldatenworte aus dem Quellspeicher 32 entnehmbar sind, wird das ebenfalls im Quelldatenwort DW122 enthaltene Quelldatum 4 mit aus dem Quellspeicher 32 entnommen, obwohl es kein Quellelement der ersten Zeile des Quellbildes 80 definiert. Das Quelldatum 4 ist ein Überschußdatum (auch als Offset-Datum bezeichnet), da es kein zur ersten Zeile gehörendes Quellelement des Quell­ bildes 80 definiert.
Soll auf die zu einer zweiten Zeile des Quellbildes 80 gehö­ renden Quelldaten 4, 5 und 6 zugegriffen werden, so müssen die Quelldatenworte DW122 und DW124 aus dem Quellspeicher 32 gelesen werden. In diesem Fall sind die Quelldaten 1, 2, 3, 7 und 8 Überschußdaten. Zum Zugriff auf die zu einer dritten Zeile des Quellbildes 80 gehörenden Quelldaten 7, 8 und 9 müssen die Quelldatenworte DW124 und DW126 aus dem Quell­ speicher 32 gelesen werden. In diesem Fall sind die Quellda­ ten 5, 6, 10 bis 12 Überschußdaten. Im unteren Teil der Fig. 6 sind die Überschußdaten links einer Strichlinie 86 bzw. rechts einer Strichlinie 88 dargestellt.
Fig. 5 zeigt ein erstes Ausführungsbeispiel der Verknüp­ fungseinheit 34, mit der die anhand der Fig. 1 bis 4 beschriebenen Verknüpfungen der Quelldatenworte durchgeführt werden. In einem Zeilenspeicher 90 werden Quelldatenworte zum Definieren der Quellelemente einer vorgegebenen, gerade zu bearbeitenden Zeile eines Quellbildes nach Art einer Daten­ schlange abgespeichert. Das bedeutet, daß die Quelldatenworte ausgehend von einem ersten Quelldatenwort vom Mikroprozessor 22 über das Bussystem 24 jeweils an das Ende der Daten­ schlange im Zeilenspeicher 90 angefügt werden. Die Quellda­ tenworte im Zeilenspeicher 90 sind somit innerhalb der Daten­ schlange aneinander gereiht. Quelldatenworte können dem Zeilenspeicher nur am Anfang der Datenschlange entnommen werden. Das bedeutet, daß auf Quelldatenworte, die sich zwischen dem Ende und dem Anfang der Datenschlange im Zeilen­ speicher 90 befinden, nicht zugegriffen werden kann. Quellda­ ten, die zuerst in den Zeilenspeicher geschrieben wurden, werden auch zuerst aus dem Zeilenspeicher 90 gelesen. Diese Art des Datenzugriffs wird als FIFO-Prinzip bezeichnet (first in first out).
Ein dem Zeilenspeicher 90 entnommenes Quelldatenwort wird in einem Zwischenregister 140 gespeichert und an Bitpositionen "4" bis "7" einer Schiebelogik 142 wirksam geschaltet. Die Bitpositionen "0" bis "3" der Schiebelogik 142 werden ein­ gangsseitig mit den Quelldaten eines Quelldatenwort aus dem Zwischenregister 140 verbunden, das dort in einem letzten Bearbeitungsschritt gespeichert wurde. Die Schiebelogik 142 bewirkt, daß an ihrem Ausgang jeweils nur vier aufeinander­ folgende Bitpositionen wirksam geschaltet werden. Somit können Überschußdaten am Ende oder Anfang eines Quelldaten­ wortes aussortiert werden.
In einem Bitvertauscher 92 kann die Reihenfolge der Quellda­ ten in einem Quelldatenwort wahlweise nach einer Vorgabe umgekehrt werden. Der Bitvertauscher 92 ist mit der Schiebe­ logik 142 über einen internen aus vier Datenleitungen D0 bis D3 (vgl. Fig. 6) bestehenden Datenbus 94 eingangsseitig verbunden. Der Aufbau des Bitvertauschers 92 wird weiter unten anhand der Fig. 6 erläutert. Ausgangsseitig ist der Bitvertauscher 92 über einen weiteren Datenbus 96 mit einer Verknüpfungsschaltung 98 verbunden, die ein in einem Register 100 durch den Mikroprozessor 22 abgelegtes Bilddatenwort aus dem Bildspeicher 30 mit dem gerade am Ausgang der Schiebelo­ gik 142 wirksam geschalteten Quelldatenwort verknüpft. Die Verknüpfungsschaltung 98 verknüpft dieses Quelldatenwort, bei dem gegebenenfalls die Reihenfolge der Quelldaten durch den Bitvertauscher 92 umgekehrt wurde, mit dem Bilddatenwort im Register 100 nach der von der Seitenbeschreibungssprache vorgegebenen logischen Operation bitweise, indem jeweils Quelldaten mit Bilddaten an der gleichen Bitposition ver­ knüpft werden. Ein Ergebnisdatenwort der Verknüpfung wird vom Mikroprozessor 22 über das Bussystem 24 in den Bildspeicher 30 zurückgespeichert.
Sollen Quelldatenworte, die keine Überschußdaten enthalten und die mit den Datenwortgrenzen der Bilddatenworte exakt zusammenfallen, verknüpft werden, so können das Zwischenregi­ ster 140 und die Schiebelogik 142 entfallen. In diesem Fall ist der Ausgang des Zeilenspeichers 90 über den Datenbus 94 direkt mit dem Eingang des Bitvertauschers 92 verbunden. Zuerst werden die zu verknüpfenden Quelldatenworte im Zeilen­ speicher 90 gespeichert, bis dieser gefüllt ist.
Nachdem die Quelldatenworte nacheinander mit den zugeordneten Bilddatenworten des Bildspeichers 30 verknüpft worden sind, ist der Zeilenspeicher 90 wieder leer. Die folgenden Quellda­ tenworte des Quellbildes werden daraufhin im Zeilenspeicher 90 abgelegt und anschließend sukzessive mit den zugehörigen Bilddatenworten des Bildspeichers 30 in der Verknüpfungs­ schaltung 98 verknüpft. Durch das Verknüpfen in der Verknüp­ fungseinheit 34 wird dabei der Mikroprozessor 22 entlastet.
Soll eine 180°-Drehung erfolgen, so wird die Reihenfolge der Quelldaten in einem aus dem Zeilenspeicher 90 entnommenen Quelldatenwort durch den Bitvertauscher 92 umgekehrt. Werden die Zeilen des Quellbildes in diesem Fall in aufsteigender Reihenfolge bearbeitet, so werden die Bilddatenworte in absteigender Zeilenfolge verknüpft.
Durch das Abspeichern einer Vielzahl von Quelldatenworten mit Quelldaten eines Quellbildes im Zeilenspeicher 90 wird er­ reicht, daß der Zugriff auf die Quelldaten vom Mikroprozessor 22 sehr schnell durchgeführt werden kann, da der Mikroprozes­ sor 22 einen Zwischenspeicher mit im Vergleich zum Quellspei­ cher 32 kurzer Zugriffszeit verwendet. In diesem Zwischen­ speicher werden abhängig von einem vorangegangenen Zugriff auf den Quellspeicher 32 vorsorglich mehrere Quelldatenworte aus dem Quellspeicher 32 abgelegt. Sind Quelldatenworte, die in den Zeilenspeicher 90 gespeichert werden sollen, bereits im Zwischenspeicher vorhanden, so kann ein schneller Zugriff erfolgen. Der Zwischenspeicher, der auch als sogenannter Cache bekannt ist, wird optimal ausgenutzt, wenn Quelldaten­ worte, die aufeinanderfolgende numerische Adreßwerte im Quellspeicher 32 haben, unmittelbar nacheinander gelesen werden.
Das Verknüpfen von Quelldatenworten, die Überschußdaten enthalten bzw. die nicht exakt bezüglich der Datenwortgrenzen der Bilddatenworte ausgerichtet sind, erfolgt unter Verwenden des Zwischenregisters 140 und der Schiebelogik 142 und wird im folgenden anhand des Quellbildes 80 erläutert.
Beim Bearbeiten der ersten Zeile des Quellbildes 80 befindet sich nur das Quelldatenwort DW122 im Zeilenspeicher 90. In einem ersten Leseschritt wird das Quelldatenwort DW122 dem Zeilenspeicher 90 entnommen und auf die Bitpositionen "4" bis "7" der Schiebelogik 142 geschaltet und gleichzeitig im Zwi­ schenregister 140 gespeichert. Die Schiebelogik 142 ver­ schiebt das in ihm enthaltene Quelldatenwort DW122 so, daß sämtliche im Datenwort DW122 enthaltene Quelldaten 1 bis 4 am Datenbus 94 anliegen. Diese Quelldaten werden anschließend durch die Verknüpfungsschaltung 98 mit dem zugeordneten Bilddatenwort aus dem Bildspeicher 30, das im Register 100 gespeichert ist, verknüpft. Das Ergebnisdatenwort wird wie oben bereits erläutert im Bildspeicher 30 gespeichert.
Beim Bearbeiten der zweiten Zeile des Quellbildes 80 befinden sich die Quelldatenworte DW122 und DW124 im Zeilenspeicher 90. In einem ersten Leseschritt wird das Quelldatenwort DW122 dem Zeilenspeicher 90 vom Anfang der Datenschlange entnommen und im Zwischenregister 140 gespeichert. Damit sind die Quelldaten 1 bis 4 aus dem Quelldatenwort DW122 auf die Bitpositionen 0 bis 3 und die Quelldaten 5 bis 8 aus dem im Zeilenspeicher 90 befindlichen Quelldatenwort DW124 auf die Bitpositionen 4 bis 7 der Schiebelogik 142 geschaltet. Nach dieser Phase verschiebt die Schiebelogik 142 die Datenworte DW122 und DW124 so, daß nur die Quelldaten 4, 5, 6 und 7 mit den Datenleitungen D0 bis D3 des Datenbusses 94 verbunden sind. Die Überschußdaten 1, 2, 3 des Quelldatenwortes DW122 werden demzufolge nicht mit den Datenleitungen D0 bis D3 des Datenbusses 94 verbunden. Das Verknüpfen der Quelldatenworte in der Verknüpfungsschaltung 98 kann somit unter Ausschluß dieser Überschußdaten erfolgen.
Beim Bearbeiten der dritten Zeile sind nach einem bestimmten Leseschritt des Zeilenspeichers 90 die Quelldatenworte DW124 und DW126 am Eingang der Schiebelogik 142 wirksam. Die Über­ schußdaten, die durch die Schiebelogik 142 aussortiert wer­ den, sind die Quelldaten 5 und 6 sowie die nicht zum Quell­ bild 80 gehörenden Daten 11 und 12.
Hat ein Quellbild längere Zeilen, so werden eine Vielzahl von Quelldatenworten mit zu Quellelementen einer Zeile gehörenden Quelldaten im Zeilenspeicher 90 gespeichert und nach einer Anlaufphase verschiebt die Schiebelogik 142 die eingangssei­ tig anliegenden Quelldatenworte vor jedem Verknüpfungsschritt um einen gleichbleibenden durch die Überschußdaten am Anfang der Zeile und durch einen gleichbleibenden Versatz der Bild­ datenworte und Quelldatenworte zueinander gegebenen Wert.
Hat ein Quellbild, wie z. B. das Quellbild 80, kurze Zeilen, so werden die gesamten Quelldatenworte hintereinander in den Zeilenspeicher 90 geschrieben, wie es im Mittelteil der Fig. 4 gezeigt ist. Die Schiebelogik 142 bewirkt, daß vor jedem Verknüpfungsschritt die jeweils den zu verknüpfenden Bildda­ tenworten zugeordneten Quelldaten verknüpft werden. Das bedeutet im Fall des Quellbildes 80, daß wie im unteren Teil der Fig. 4 dargestellt, in einem ersten Verknüpfungsschritt die Quelldaten 1 bis 4, in einem zweiten Verknüpfungsschritt die Quelldaten 4 bis 7 und in einem dritten Verknüpfungs­ schritt die Quelldaten 7 bis 10 verknüpft werden.
Fig. 6 zeigt den Aufbau des Bitvertauschers 92. Zwei Bus­ treiber 110 und 112 mit vom Datenbus 96 entkoppelbaren Aus­ gängen sind eingangsseitig jeweils am Datenbus 94 und aus­ gangsseitig am Datenbus 96 angeschlossen. Soll die Reihen­ folge der Quelldaten in einem aus dem Zeilenspeicher 90 zu entnehmenden Quelldatenwort nicht vertauscht werden, so wird der Bustreiber 110 über eine Signalleitung 114 wirksam ge­ schaltet, indem mit gleichen Großbuchstaben A, B, C und D gekennzeichnete Anschlüsse des Bustreibers 110 miteinander verbunden werden. Am Datenbus 96 bleibt die Reihenfolge der Datenleitungen somit erhalten. Die Datenleitung D0 des Daten­ busses 94 ist über die Anschlüsse D mit der Datenleitung D0 des Datenbusses 96 verbunden. Die Datenleitungen D1, D2 und D3 des Datenbusses 94 sind jeweils mit Datenleitungen D1, D2 und D3 des Datenbusses 96 verbunden.
Soll die Reihenfolge der Quelldaten in einem aus dem Zeilen­ speicher 90 zu entnehmenden Quelldatenwort jedoch vertauscht werden, so wird nur der Bustreiber 112 über ein invertiertes Signal auf der Signalleitung 114 und einen Negator 116 wirk­ sam geschaltet, wodurch Anschlüsse mit gleichen Kleinbuch­ staben a, b, c und d des Bustreibers 112 miteinander verbun­ den werden. Dadurch wird z. B. die Datenleitung D3 des Daten­ busses 94 über die Anschlüsse a mit der Datenleitung D0 des Datenbusses 96 verbunden. Analog werden die Datenleitungen D2, D1 bzw. D0 des Datenbusses 94 mit den Datenleitungen D1, D2 bzw. D3 des Datenbusses 96 verbunden. Die Datenleitung D3 des Datenbusses 94 stimmt z. B. mit der Bitposition "3" eines Datenwortes auf dem Datenbus 94 überein. Die Datenleitung D0 des Datenbusses 96 stimmt mit der Position "0" eines Daten­ wortes auf dem Datenbus 96 überein. Demzufolge hat bei ge­ schaltetem Bustreiber 112 die Bitposition "3" auf dem Daten­ bus 94 die Bitposition "0" auf dem Datenbus 96.
Fig. 7 zeigt Verknüpfungsvarianten bei einer Zuordnung von Zeilenspeichern Z0 bis Z7 zu aufsteigenden Zeilennummern im Quellbild 60.
Im Teil a der Fig. 7 ist die Zuordnung der Zeilen des Quell­ bildes 60 zu den Zeilenspeichern Z0 bis Z7 dargestellt. Zwei Diagonalen D1 und D2 dienen im folgenden zum Erläutern der Verknüpfungsvarianten. Ausgehend von Teil a können die in den Zeilenspeichern Z0 bis Z7 enthaltenen Quelldaten spaltenweise nach dem bereits erläuterten FIFO-Prinzip oder nach dem LIFO- Prinzip ausgelesen werden. Die Reihenfolge des Auslesens wird durch Pfeile P5 und P6 in Teilen b und c der Fig. 7 gekenn­ zeichnet.
Teil b ist Ausgangspunkt für Verknüpfungsvarianten, wenn nach dem FIFO-Prinzip aus den Zeilenspeichern Z0 bis Z7 ausgelesen wird. Teil c ist Ausgangspunkt für Verknüpfungsvarianten, wenn die Zeilenspeicher Z0 bis Z7 spaltenweise nach dem LIFO- Prinzip ausgelesen werden.
Teile d bis g der Fig. 7 zeigen Verknüpfungsvarianten, bei denen die Auslesedatenworte mit Bilddatenworten aufsteigender Zeilennummer im Fall der Teile d und e ausgehend von Teil b und im Fall der Teile f und g ausgehend von Teil c verknüpft werden. Pfeile P9 und P11 stellen ein einfaches Verknüpfen dar, und Pfeile P10 und P12 stellen ein Verknüpfen dar, bei dem in einem Auslesedatenwort die Reihenfolge der Quelldaten vertauscht wurde und bei dem gleichzeitig die Reihenfolge der Ausgabedatenworte beim Verknüpfen mit Bilddatenworten einer Zeile umgekehrt wird. Teil d führt zu einer Variante, bei der das Quellbild 60 an der Diagonalen D2 gespiegelt im Druckbild 18 dargestellt wird. Teil e führt zu einer Drehung des Quell­ bildes 60 um 90°, Teil f führt zu einer Drehung um 270° und Teil g führt zu einer an der Diagonalen D1 gespiegelten Darstellung des Quellbildes 60 im Druckbild 18.
Teile h bis k der Fig. 7 zeigen Verknüpfungsvarianten, wenn die Auslesedatenworte mit Bilddatenworten fallender Zeilen­ nummer verknüpft werden. Strichlinien 144 und 146 verdeutli­ chen, daß die Pfeile P9 bis P12 sich auch auf die Teile h bis k beziehen. Teil h stellt eine Verknüpfungsvariante dar, bei der ausgehend von Teil b die Auslesedatenworte mit Bilddaten­ worten absteigender Zeilennummern verknüpft werden. Als Folge wird das Quellbild 60 im Druckbild 18 um 270° gedreht darge­ stellt. Teil i führt zu einer an der Diagonalen D1 gespiegel­ ten Darstellung, Teil j zu einer an der Diagonalen D2 gespie­ gelten Darstellung und Teil k zu einer um 90° gedrehten Darstellung des Quellbildes 60 im Druckbild 18.
Um die durch die Pfeile P10 und P12 verdeutlichte zweimalige Reihenfolgeumkehr bei einer Drehung des Quellbildes um 90° bzw. einer Spiegelung an der Diagonalen D1 zu vermeiden, wird die Reihenfolge der Zuordnung der Zeilenspeicher Z0 bis Z7 zu den Zeilen des Quellbildes 60 umgekehrt.
Fig. 8 zeigt Verknüpfungsvarianten bei einer Zuordnung der Zeilenspeicher Z0 bis Z7 mit aufsteigender Nummer zu abstei­ genden Zeilennummern im Quellbild. Die Darstellung erfolgt analog zur Fig. 7, so daß insbesondere die Pfeile P5 bis P12 und die Strichlinien 144 und 146 die gleiche Bedeutung haben, jedoch in der Fig. 8 mit einem hochgestellten Strich gekenn­ zeichnet werden. Die Teile d, h, f und j der Fig. 8 zeigen Verknüpfungsvarianten, bei denen eine Drehung des Quellbildes 60 um 90° bzw. eine Spiegelung an der Diagonalen D1 auftritt. Das im Programmspeicher 26 abgelegte Druckprogramm wird durch einen Programmierer so erstellt, daß die jeweils günstigste Variante zum Drehen oder Spiegeln eines Quellbildes beim Verknüpfen realisiert werden kann. Das bedeutet z. B., daß bei einer Drehung des Quellbildes um 90° die Verknüpfungsvariante des Teiles d der Fig. 8 gewählt wird.
Fig. 9 zeigt eine ausführliche Darstellung von Drehungen des Quellbildes 60 um 90° im Uhrzeigersinn und um 270° im Uhrzei­ gersinn. Das bereits erläuterte Quellbild 60 ist Ausgangs­ punkt für beide Drehungen und wird deshalb noch einmal im Teil a der Fig. 9 dargestellt.
Teil b der Fig. 9 zeigt ein Quellbild 150, dessen Quellele­ mente denen des Quellbildes 60 entsprechen. Jedoch sind im Quellbild 150 zu Quellelementen einer Spalte gehörende Quell­ daten in Quelldatenworten DW80 bis DW87 zusammmengefaßt. Die sowohl zur ersten Zeile des Quellbildes 60 als auch zur ersten Zeile des Quellbildes 150 gehörenden Quelldaten 62 bis 68 sind in Teil b der Fig. 9 in vier verschiedenen Quellda­ tenworten DW80 bis DW83 jeweils an der Bitposition "0" abge­ speichert. Auch die Quelldaten 70 bis 76 der letzten Zeile des Quellbildes 60 bzw. 150 sind beim Quellbild 150 jeweils in verschiedenen Quelldatenworten DW84 bis DW87 an der Bitpo­ sition "3" gespeichert.
Die Quelldatenworte DW80 bis DW87 werden für die in den Teilen c und d gezeigte Drehung des Quellbildes 60 um 270° sowie für die in den Teilen e und f gezeigte Drehung des Quellbildes 60 um 90° verwendet.
Teil c der Fig. 9 zeigt die Quelldatenworte DW80 bis DW87 des Teils b in horizontaler Lage. Dabei sind die Quelldaten­ worte mit Quelldaten jeweils einer Spalte des Quellbildes 150 so angeordnet, daß ein Quelldatenwort, das in Teil b der Fig. 9 oberhalb eines anderen Quelldatenwortes angeordnet ist, nunmehr links von diesem angeordnet ist. Weiterhin sind Quelldatenworte DW80 bis DW87, die Quelldaten einer gegen­ über einer anderen Spalte weiter links liegenden Spalte des Quellbildes 150 enthalten oberhalb der Quelldaten der anderen Spalte angeordnet. Mit anderen Worten erfolgt ein spaltenwei­ ses zusammenfassen von Quelldaten der Quelldatenworte DW40 bis DW47 in den Quelldatenworten DW80 bis DW87 beginnend von der Bitposition "0" in den Quelldatenworten DW40 bis DW47. Den Quelldatenworten DW80 bis DW87 ist in Teil c der Fig. 9 ein Quellbild 150' zugeordnet, das gegenüber dem Quellbild 60 an der Diagonalen D1 gespiegelt ist.
Teil d der Fig. 9 zeigt die Quelldatenworte DW80 bis DW87 nochmals in anderer Anordnung. Die vertikale Reihenfolge der Quelldatenworte DW80 bis DW83 bzw. der Quelldatenworte DW84 bis DW87 wurde gegenüber dem Teil c vertauscht, so daß ein Quellbild 150" entsteht. Gegenüber dem Quellbild 60 ist das Quellbild 150" um 270° gedreht. Das Quelldatenwort DW83 wird mit dem Bilddatenwort DW0 des Bildspeichers 30 verknüpft, das Quelldatenwort DW87 mit dem Bilddatenwort DW1, das Quellda­ tenwort DW82 mit dem Bilddatenwort DW4 usw., wodurch der Großbuchstabe "F" um 270° gedreht an der Position X, Y beim Druck im Druckbild 18 erscheint. Die in Teil d dargestellte Anordnung der Quelldatenworte DW80 bis DW87 ergibt sich auch, wenn die Quelldaten der Quelldatenworte DW40 bis DW47 mit der Bitposition "3" beginnend spaltenweise in den Quelldaten­ worten DW80 bis DW87 zusammengefaßt werden. In diesem Falle werden als Zeilenspeicher 90 LIFO-Speicher verwendet. Dieser Speicher ermöglicht es, zuletzt gespeicherte Datenworte einer Zeile zuerst zu entnehmen (last in first out).
Teil e zeigt die Quelldatenworte DW80 bis DW87 des Teiles b in horizontaler Richtung angeordnet. Dabei sind die Quellda­ tenworte mit Quelldaten einer Spalte des Quellbildes 150, die oberhalb eines Quelldatenwortes mit Quelldaten derselben Spalte in Teil b der Fig. 9 angeordnet waren, nunmehr rechts dieser Quelldatenworte angeordnet. Beim Zusammenfassen von zu einer Spalte des Quellbildes 60 gehörenden Quelldaten der Quelldatenworte DW40 bis DW47 zu den Quelldatenworten DW80 bis DW87 wurde wiederum mit Quelldaten der Bitposition "0" in den Quelldatenworten DW40 bis DW47 begonnen.
Um das Quellbild 60 um 90° zu drehen, wird die Reihenfolge der Quelldaten innerhalb der Quelldatenworte DW80 bis DW87 ausgehend von Teil e in Teil f verändert. Teil f zeigt die Quelldatenworte DW80 bis DW87 des Teiles e, wobei jeweils die Reihenfolge der. Quelldaten innerhalb eines der Quelldatenwor­ te DW80 bis DW87 vertauscht wurde. Dabei entstehen aus den Quelldatenworten DW80 bis DW87 Quelldatenworte DW90 bis DW97. Das Quelldatenwort DW94 wird mit dem Bilddatenwort DW0, das Quelldatenwort DW90 mit dem Bilddatenwort DW1, das Quellda­ tenwort DW95 mit dem Bilddatenwort DW4 usw. verknüpft. Als Resultat erscheint das Quellbild 60 beim Druck des Druckbil­ des 18 um 90° gedreht an der vorgegebenen Position X, Y.
Fig. 10 zeigt die Drehung eines größeren Quellbildes 80 um 270° bzw. 90°. Das Quellbild 80 soll im Quellspeicher 32 als gedreht, wobei das Quellbild 160", und Quellbilder 164" bis 166" entstehen. Beim Verknüpfen der Quelldatenworte des jeweiligen Quellbildes 160" bis 166" sichert der Mikroprozes­ sor 22 aufgrund des im Programmspeicher 26 abgelegten Pro­ gramms, daß jeweils die richtigen Bilddatenworte des Bild­ speichers 30 und Quelldatenworte der Quellbilder 160" bis 166" miteinander verknüpft werden. Im unteren Teil der Fig. 10 ist wiederum die Verknüpfung der Bilddatenworte DW0 bis DW11 mit den jeweiligen Quelldatenworten der Quellbilder 160" und 164" dargestellt. Bei der Drehung des Quellbildes 80 um 90° wird z. B. das Quelldatenwort DW94 des Quellbildes 160" mit dem Bilddatenwort DW2 des Bildspeichers 30 verknüpft. Das Quelldatenwort DW90 wird mit dem Bilddatenwort DW3, das Quelldatenwort DW95 mit dem Bilddatenwort DW6, das Quellda­ tenwort DW91 mit dem Bilddatenwort DW7, das Quelldatenwort DW96 mit dem Bilddatenwort DW10 und das Quelldatenwort DW92 mit dem Bilddatenwort DW11 verknüpft.
Fig. 11 zeigt eine schematische Anordnung 170 von 16 Zeilen- Speichern FIFO(0) bis FIFO(15) in einem zweiten Ausführungs­ beispiel der Verknüpfungseinheit 34. Mit der in Fig. 11 gezeigten Anordnung kann z. B. eine Drehung von Quellbildern um 270° und 90° durchgeführt werden. Jeder der Zeilenspeicher FIFO(0) bis FIFO(15) arbeitet nach dem FIFO-Prinzip und kann vier Quelldatenworte mit Quelldaten einer zugeordneten Zeile eines Quellbildes aufnehmen. Der Zeilenspeicher FIFO(0) nimmt dabei Quelldaten von Quellelementen einer ersten Zeile des Quellbildes auf, der Zeilenspeicher FIFO(1) Quelldaten zu Quellelementen einer zweiten Zeile, usw.
Zur Ausnutzung des Zwischenspeichers mit schneller Zugriffs­ zeit (Cache) werden jeweils vier Quelldatenworte hintereinan­ der, d. h. Kontinuierlich und ohne Unterbrechung in einen der Zeilenspeicher FIFO(0) bis FIFO(15) geschrieben, bis alle Zeilenspeicher FIFO(0) bis FIFO(15) mit Quelldatenworten gefüllt sind.
Das Schreiben der Zeilenspeicher FIFO(0) bis FIFO(15) er­ folgt, indem vier Quelldatenworte DW100 bis DW103 in den Zeilenspeicher FIFO(0) geschrieben werden. Anschließend werden vier Datenworte DW104 bis DW107 in den Zeilenspeicher FIFO(1) geschrieben, usw. bis alle Zeilenspeicher FIFO(0) bis FIFO(15) gefüllt sind. Entweder befindet sich in diesem Zustand ein gesamtes Quellbild oder ein Quellteilbild in den Zeilenspeichern FIFO(0) bis FIFO(15).
Jeweils vier Quelldaten aus vier aufeinanderfolgenden Zeilen­ speicher FIFO(0) bis FIFO(15) werden in der Reihenfolge der Anordnung der Zeilenspeicher FIFO(0) bis FIFO(15) zu Auslese­ datenworten DW200 bis DW203 zusammengefaßt. Somit sind die vier Zeilenspeicher FIFO(0) bis FIFO(3) zu einer Zeilenspei­ chereinheit 165 zusammengefaßt. Auch die Zeilenspeicher FIFO(4) bis FIFO(7), FIFO(8) bis FIFO(11) und FIFO(12) bis FIFO(15) sind zu Zeilenspeichergruppen 166 bis 168 zusammen­ gefaßt.
Die jeweils ausgelesenen Auslesedatenworte DW200 bis DW203 enthalten Quelldaten einer Spalte des Quellbildes. Dabei gehören benachbarte Quelldaten eines der Auslesedatenworte DW200 bis DW203 zu benachbarten Quellelementen einer der Spalten des Quellbildes. Werden die Auslesedatenworte DW200 bis DW203 nacheinander mit Bilddatenworten aus dem Bildspei­ cher 30 verknüpft, so werden dafür hintereinander vier Daten­ worte aus dem Bildspeicher 30 gelesen. Dadurch wird wie oben erläutert der Zwischenspeicher (Cache) wiederum optimal ausgenutzt.
Nachdem vier Auslesedatenworte DW200 bis DW203 zusammenge­ stellt und mit Bilddatenworten verknüpft wurden, werden neue Auslesedatenworte DW200 bis DW203 zusammengestellt, indem jeweils wieder das vorderste Quelldatum aus jedem der Zeilen­ speicher FIFO(0) bis FIFO(15) entnommen wird. Sind alle zusammenhängendes Quellbild abgespeichert sein. Überschreitet die Anzahl von Quelldaten zu Quellelementen einer Zeile des Quellbildes 80 die Anzahl von in einem Zeilenspeicher spei­ cherbaren Quelldaten, so wird durch das Druckprogramm im Programmspeicher 26 das Quellbild 80 in mehrere Quellbilder aufgeteilt. Zur Veranschaulichung soll das linke obere Vier­ tel des Quellbildes 80 aus dem bereits erläuterten Quellbild 60 bestehen. Außerdem enthält das Quellbild 80 drei weitere Quellbilder 82 bis 86, die analog zum Quellbild 60 aufgebaut sind, jedoch die Buchstaben "G", "H" bzw. "I" darstellen.
Die Drehung der Quellbilder 60, 82 bis 86 erfolgt wie oben für das Quellbild 60 anhand der Fig. 9 beschrieben, jeweils für jedes der Quellbilder 60, 82 bis 86 einzeln. Beim Ver­ knüpfen der Quelldatenworte der Quellbilder 60, 82 bis 86 wird durch den Mikroprozessor 22 die Zuordnung der Bilddaten­ worte des Bildspeichers 30 bei der Drehung um 270° und um 90°, wie nachfolgend erläutert, verschieden durchgeführt.
Jedes der Quellbilder 60, 82 bis 86 wird nach dem für das Quellbild 60 anhand der Teile a bis d der Fig. 9 beschriebe­ nen Verfahren einzeln um 270° gedreht, wobei das Quellbild 150" und Quellbilder 152" bis 156" entstehen. Das Quellbild 152" enthält den Buchstaben "G" um 270° gedreht, das Quell­ bild 154" den um 270° gedrehten Buchstaben "H" und das Quell­ bild 156" den um 270° gedrehten Buchstaben "I". Der Mikropro­ zessor 22 verknüpft die jeweiligen Quelldatenworte der Quell­ bilder 150" bis 156" mit den Bilddatenworten des Bildspei­ chers 30. Im Mittelteil der Fig. 9 ist die Verknüpfung der Bilddatenworte DW0 bis DW11 mit den jeweiligen Quelldatenwor­ tenn des Quellbildes 152" und 156" dargestellt.
Im unteren Teil der Fig. 10 ist die Drehung des Quellbildes 80 um 90° dargestellt. Jedes der Quellbilder 60, 82 bis 86 wird nach dem für das Quellbild 60 anhand der Teile a, b, e und f der Fig. 9 beschriebenen Verfahren einzeln um 90° Zeilenspeicher FIFO(0) bis FIFO(15) leer, d. h. sie enthalten keine weiteren Quelldaten, so ist ein Bearbeitungszyklus abgeschlossen. Im folgenden Bearbeitungszyklus wird ein nächstes Quellbild oder ein nächstes Quellteilbild wie oben beschrieben bearbeitet.
Fig. 12 zeigt die Zuordnung der Zeilenspeicher FIFO(0) bis FIFO(15) zu den Bilddatenworten DW0 bis DW11 des Bildspei­ chers 30 in einem Teil a bei einer Drehung des Quellbildes um 270° und in einem Teil b bei einer Drehung des Quellbildes um 90°. Die Reihenfolge der Quelldaten in den Auslesedatenworten DW200 bis DW203 bleibt bei der in Teil a gezeigten Drehung um 270° unverändert. Die Verknüpfung der jeweiligen Ausleseda­ tenworte DW200 bis DW203 mit den Bilddatenworten des Bild­ speichers 30 erfolgt, indem zuerst Bilddatenworte des Bild­ speichers 30 mit Bilddaten zu Bildelementen mit hohen Zeilen­ nummern verknüpft werden. Die Bilddatenworte DW0 bis DW3 einer ersten Zeile des Druckbildes 18 werden erst zum Schluß mit den jeweiligen Auslesedatenworten DW200 bis DW203 ver­ knüpft.
Bei der in Teil b der Fig. 12 gezeigten 90°-Drehung wird die Reihenfolge der Quelldaten in den Auslesedatenworten DW200 bis DW203 vor dem Verknüpfen im Bitvertauscher 92 umgekehrt. Zuerst wird das Auslesedatenwort DW203 mit dem Bilddatenwort DW0 verknüpft. Anschließend erfolgt die Verknüpfung des Bilddatenwortes DW1, DW2 und DW3 mit dem Auslesedatenwort DW202, DW201 bzw. DW200. Nachdem vier neue Auslesedatenworte DW200 bis DW203 zusammengestellt wurden, wird die Reihenfolge der enthaltenen Quelldaten durch den Bitvertauscher 92 ver­ tauscht und es erfolgt ein Verknüpfen mit den Bilddatenworten DW4, DW5, DW6 bzw. DW7. Dieser Vorgang wird solange wieder­ holt, bis alle Spalten des Quellbildes in den Zeilenspeichern FIFO(0) bis FIFO(15) bearbeitet wurden. Anschließend beginnt ein neuer Bearbeitungszyklus.
Ein drittes Ausführungsbeispiel der Verknüpfungseinheit 34 ist in der Fig. 13 dargestellt. Durch Zusammenfassen von jeweils vier der Zeilenspeicher FIFO(0) bis FIFO(15) zu einer Zeilenspeichergruppe kann eine einzige Steuerung für die vier Zeilenspeicher einer der Zeilenspeichergruppen verwendet werden. Durch das Zusammenfassen der Zeilenspeicher FIFO(0) bis FIFO(15) zu den Zeilenspeichergruppen wird an der Zusam­ menfassung zu den Zeilenspeichereinheiten 165 bis 168 nichts geändert.
Die Zeilenspeicher FIFO(0), FIFO(4), FIFO(8) und FIFO(12) sind zu einer Zeilenspeichergruppe 180 zusammengefaßt. Ebenso bilden die Zeilenspeicher FIFO(1), FIFO(5), FIFO(9), FIFO(13) sowie die Zeilenspeicher FIFO(2), FIFO(6), FIFO(10), FIFO(14) jeweils eine Zeilenspeichergruppe mit einer eigenen Steue­ rung. Die Zeilenspeicher FIFO(3), FIFO(7), FIFO(11), FIFO(15) bilden eine Zeilenspeichergruppe 182.
Die Funktionsweise der Steuerung der Zeilenspeichergruppe 180 wird anhand der Fig. 14 weiter unten erläutert. Ein zur Steuerung der Zeilenspeichergruppe 180 gehörender Multiplexer 184 ist mit seinem Ausgang mit der Datenleitung D0 des Daten­ busses 94 verbunden. Ein Multiplexer 186, der zur Steuerung der Zeilenspeichergruppe 182 gehört, ist mit seinem Ausgang mit der Datenleitung D3 des Datenbusses 94 verbunden. Die bereits anhand der Fig. 5 und 6 erläuterten Funktionsein­ heiten erhalten in der Fig. 13 das gleiche Bezugszeichen, da sie die gleichen Funktionen übernehmen und somit nicht noch einmal erläutert werden brauchen. Über das Bussystem 24 kann jeder der Zeilenspeicher FIFO(0) bis FIFO(15) mit Quelldaten­ worten aus dem Quellspeicher 32 beschrieben werden.
Fig. 14 zeigt eine Steuerung 200 der Zeilenspeichergruppe 180. Die Zeilenspeicher FIFO(0), FIFO(4), FIFO(8) und FIFO(12) der Zeilenspeichergruppe 180 sind in einem Speicher (RAM) 202 realisiert, dessen Eingang mit dem Datenbus 24 verbunden ist. Über einen Datenbus 204 können Quelldatenworte aus dem Speicher 202 gelesen werden. Der Datenbus 204 ist mit dem Multiplexer 184 verbunden, der genau eine Datenleitung des Datenbusses 204 selektiert, je nach Vorgabe auf zwei Signalleitungen 206. Mit anderen Worten ermöglicht der Multi­ plexer 184 ein einzelnes Quelldatum eines Quelldatenwortes im Speicher 202 zu lesen, das dann mit Quelldaten der anderen Zeilenspeichergruppen zu einem Auslesedatenwort zusammenge­ faßt wird.
Eine Adreßsteuerung 208 in der Steuerung 200 ist über einen Adreßbus 210 mit dem Speicher 202 verbunden und gibt die Adresse einer Speicherzelle an, aus der ein Quelldatenwort des Speichers 202 gelesen bzw. in die ein Quelldatenwort in den Speicher 202 geschrieben werden soll. Die Adreßsteuerung 208 gibt über eine Steuerleitung 212 vor, ob ein Lesen oder Schreiben des Speichers 202 erfolgt.
Die Steuerung 200 enthält weiterhin einen XOR-Baustein 214, der eingangsseitig mit einer Signalleitung 216 verbunden ist, die bei einer Drehung von 90° den Wert "1" hat. Der XOR- Baustein 214 ist eingangsseitig auch mit zwei Auswahlleitun­ gen 218 verbunden, an denen durch eine übergeordnete Steue­ rung einer der Zeilenspeicher FIFO(0), FIFO(4), FIFO(8) oder FIFO(12) ausgewählt wird. Der XOR-Baustein 214 ist ausgangs­ seitig mit der Adreßsteuerung 208 über Signalleitungen 220 verbunden. Die übergeordnete Steuerung selektiert sowohl bei einer 90°-Drehung als auch bei einer 270°-Drehung die Zeilen­ speicher des Speichers 202 in aufsteigender Reihenfolge. Durch den XOR-Baustein 214 wird jedoch bei Anliegen des Wertes "1" auf der Signalleitung 216 die Reihenfolge des Ansprechens der Zeilenspeicher im Speicher 202 umgekehrt, indem die Signale auf den Datenleitungen 220 im Vergleich zu Signalen beim Anliegen des Wertes "0" auf der Signalleitung 216 invertiert werden.
Die Steuerung 200 enthält weiterhin einen Zähler 222, der über eine Taktleitung 224 getaktet wird und zyklisch von 0 bis 3 zählt. In den Zähler 202 kann ein ganzzahliger Start­ wert geladen werden, der auf einem Datenbus 226 anliegt, indem ein Signalwert "1" an einer eingangsseitig mit dem Zähler 202 verbundenen Signalleitung 228 angelegt wird. Der Startwert wird von einem Addierer 230 erzeugt, der, je nach vorhandenen Überschußdaten den Startwert berechnet. Dazu wird außer bei der ersten Zeilenspeichergruppe 180 auf Datenlei­ tungen 232 die Anzahl der Überschußdaten der vorigen Zeilen­ speichergruppe zum Addierer 230 übertragen. Bei der ersten Zeilenspeichergruppe 180 wird auf den Datenleitungen 232 die Anzahl der Überschußdaten bezüglich eines Startpunktes im Quellbild übertragen. Über Datenleitungen 234 wird ein weite­ rer Wert der sich aus der Größe des Quellbildes ergibt zur Berechnung des Zählerstartwertes an den Addierer 230 ange­ legt. Dieser Wert ermittelt sich aus dem ganzzahligen Rest der Division der Anzahl von Quelldaten in einer Zeile des Quellbildes durch die Anzahl der Quelldaten in einem Daten­ wort. Der Datenbus 226 ist außerdem mit den Datenleitungen 232 der folgenden Zeilenspeichergruppe verbunden.
Der Zähler 222 zählt ganzzahlig ausgehend vom Startwert bis zum Zählerstand 3. Bei Zurücksetzen auf den Wert Null wird ein Signal auf einer Signalleitung 236 erzeugt. Die Adreß­ steuerung 208 selektiert daraufhin das nächste Quelldatenwort des jeweils selektierten Zeilenspeichers im Speicher 202. Demzufolge werden nacheinander vier Quelldaten aus einem der Zeilenspeicher im Speicher 202 ausgelesen. Anschließend wird zum folgenden Zeilenspeicher im Speicher 202 umgeschaltet und der Auslesevorgang wiederholt. Das Ansteuern der vier Zeilen­ speichergruppen 180, . . ., 182 erfolgt derart, daß jeweils aus jeder der Zeilenspeichergruppen 180, . . ., 182 ein Quelldatum gleichzeitig ausgelesen wird.
Über eine eingangsseitig mit der Adreßsteuerung 208 verbun­ dene Signalleitung 238 kann der Mikroprozessor 22 der Adress- Steuerung 208 signalisieren, daß er Quelldatenworte in einen der Zeilenspeicher FIFO(0), FIFO(4), FIFO(8) oder FIFO(12) schreiben will.
Fig. 15 zeigt ein viertes Ausführungsbeispiel der Verknüp­ fungseinheit 34 zum Verknüpfen von Quelldaten mit Bilddaten, wobei die Quelldaten kodierte Grauwerte enthalten. Die Daten­ wortbreite soll in diesem Beispiel 32 Bit betragen. Für die Darstellung eines Quelldatums sind jeweils vier Bits vorgese­ hen. Für die Darstellung eines Bilddatums ist jeweils ein Bit vorgesehen, so daß bezüglich der Bilddaten das in den voran­ gegangenen Ausführungsbeispielen Gesagte entsprechend gilt.
In einem Quelldatenwort des Quellspeichers 32 können somit 8 Quelldaten gespeichert werden. Ein Datenbus 24' hat 32 Daten­ leitungen, über die der Mikroprozessor 22 Quelldatenworte aus dem Quellspeicher 32 in jeweils einen von 32 nach dem FIFO- Prinzip arbeitende Zeilenspeicher F(0) bis F(31) schreibt.
Ein Multiplexer 250 selektiert genau einen Zeilenspeicher F(0) bis F(31). Beim Lesen des selektierten Zeilenspeichers werden jeweils vier Bit vom Anfang der in ihm gespeicherten Datenschlange gelesen. Ausgehend von dem durch den Multiple­ xer 250 selektierten Wert wird in einem Festwertspeicher (ROM) 252 zu der in den vier Bits codierten Graustufe ein 16- Bit Datenwort ausgelesen, dem eine 4 × 4 Matrix 254 zugeord­ net ist. Zur Darstellung einer der Matrizen 254 sind genau 16 Bit notwendig. Sind alle Bildelemente der Matrix 254 weiß, so wird ein weißes Bildelement ausgegeben, sind alle Bildele­ mente der Matrix 254 schwarz, so wird ein schwarzes Bildele­ ment ausgegeben. Dreißig zwischen weiß und schwarz liegende Grauwerte sind durch eine jeweilige Anordnung von schwarzen und weißen Bildelementen in der Matrix 254 realisiert.
Bezugszeichenliste
1
bis
9
Quelldaten
18
Druckbild
20
Blockschaltbild
22
Mikroprozessor
24
,
24
' Bussystem
26
Programmspeicher
28
Ein-/Ausgabeschnittstelle
30
Bildspeicher
32
Quellspeicher
33
flüchtiger Speicher (RAM)
34
Verknüpfungseinheit
40
Ausschnitt aus dem Bildspeicher
30
42
,
44
,
46
Strichlinie
48
bis
56
Bilddaten
60
,
60
',
60
" Quellbild
62
bis
76
Quelldaten
80
Quellbild
82
,
84
Trennlinie
86
,
88
Strichlinie
90
Zeilenspeicher
92
Bitvertauscher
94
,
96
Datenbus
98
,
98
' Verknüpfungsschaltung
100
,
100
' Register
110
,
112
Bustreiber
114
Signalleitung
116
Negator
120
Quellbild
128
,
130
Linie
132
,
134
Strichlinie
140
Zwischenregister
142
Schiebelogik
Z0 bis Z7 Zeilenspeicher
144
,
146
Strichlinie
144
',
146
' Strichlinie
148
" Quellbild
150
,
150
',
150
" Quellbild
152
" bis
156
" Quellbild
158
" Quellbild
160
,
160
',
160
" Quellbild
162
" bis
164
" Quellbild
165
bis
168
Zeilenspeichereinheit
170
Anordnung
180
,
182
Zeilenspeichergruppe
184
,
186
Multiplexer
200
Steuerung
202
Flüchtiger Speicher
204
Datenbus
206
Signalleitung
208
Adreßsteuerung
210
Adreßbus
212
Steuerleitung
214
XOR-Baustein
216
Signalleitung
218
Auswahlleitungen
220
Signalleitungen
222
Zähler
224
Taktleitung
226
Datenbus
228
Signalleitung
230
Addierer
232
Datenleitungen
234
Datenleitungen
236
Signalleitung
238
Signalleitung
250
Multiplexer
252
Nichtflüchtiger Speicher
254
Matrizen
DW0 bis DW11 Bilddatenworte des Bildspeichers
30
DW40 bis DW47 Quelldatenworte des Quellspeichers
32
DW50 bis DW57 Quelldatenworte des Quellbildes
60
'
D0 bis D3 Datenleitungen
DW122 bis DW126 Quelldatenworte des Quellspeichers
32
FIFO(0) bis FIFO(15) Zeilenspeicher
DW100 bis DW108 Quelldatenworte
DW200 bis DW203 Auslesedatenworte in Verknüpfungseinheit
34
F0 bis F31 Zeilenspeicher
M1 Matrizen
P1 bis P4 Pfeile
P7 bis P12 Pfeile
P7' bis P12' Pfeile

Claims (16)

1. Verfahren zum Ändern von Bilddaten eines Bildelemente enthaltenden Druckbildes (18), das insbesondere durch einen elektrografischen Drucker auf einen Träger gedruckt wird,
wobei die Bildelemente nach Art einer Matrix in Spalten (P2) und Zeilen (P1) angeordnet sind,
jedem Bildelement ein Bilddatum in einem Bildspeicher (30) zugeordnet ist, das als Teil eines Bilddatenwortes vorgegebener Wortlänge im Bildspeicher (30) gespeichert ist,
in einem Quellspeicher (32) Quelldaten mindestens eines Quellbildes (60) gespeichert sind, dessen Quellelemente ebenfalls nach Art einer Matrix in Spalten und Zeilen an­ geordnet sind,
und wobei jedem Quellelement ein Quelldatum zugeordnet ist, das als Teil eines Quelldatenwortes der genannten Wortlänge im Quellspeicher (32) gespeichert ist,
bei dem mehrere Quelldatenworte die Quellelemente einer vorgegebenen Zeile definieren, aus dem Quellspeicher (32) gelesen und in mindestens einem Zeilenspeicher (90) nach Art einer Datenschlange abgespeichert werden,
wobei aus dem Quellspeicher (32) gelesene Quelldatenworte jeweils an das Ende der Datenschlange angefügt und dem Zeilenspeicher (90) zu entnehmende Quelldaten entweder nach dem FIFO-Prinzip vom Anfang oder nach dem LIFO-Prin­ zip vom Ende der Datenschlange ausgelesen werden, bei dem dem Zeilenspeicher (90) entnommene Quelldaten zum Zusammmenstellen eines Auslesedatenworts der genannten Wortlänge verwendet werden,
das Auslesedatenwort mit mindestens einem Bilddatenwort nach einer vorgegebenen logischen Operation verknüpft wird,
und bei dem Daten mindestens eines Ergebnisdatenwortes dieser Verknüpfung als neue Bilddaten verwendet werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zu einer ganzen Zeile aus Quellelementen gehörenden Quelldaten im Zeilenspeicher (90) abgespeichert werden.
3. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß das Lesen mehrerer Quelldaten­ worte und das Speichern dieser Quelldatenworte in den Zeilenspeicher (90) in aufeinanderfolgenden Lese-Schreib- Zyklen kontinuierlich ohne Unterbrechung erfolgt, wobei beim Zugriff auf den Quellspeicher (32) mindestens ein Zwischenspeicher mit kurzer Zugriffszeit nach Art eines Cache-Speichers verwendet wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß am Ende und/oder am Anfang der Datenschlange des Zeilenspeichers (90) Quelldaten gespei­ chert werden, die zu Zeilenabschnitten aus Quellelementen einer der ihm zugeordneten Zeile benachbarten Zeile im Quellbild (60) gehören, wobei die zu den Zeilenabschnit­ ten gehörenden Quelldaten beim Zusammenstellen des Ausle­ sedatenwortes aussortiert werden.
5. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß beim Zusammenstellen der Quell­ daten zum Auslesedatenwort die Reihenfolge der Quelldaten im Auslesedatenwort umgekehrt wird, wenn das Quellbild um 180° gedreht im Druckbild dargestellt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß Quelldaten aufeinanderfolgender Quellelemente zumindest eines Abschnitts einer Zeile des Quellbildes aus dem Quellspeicher gelesen werden, und daß der Zeilenspeicher einer Zeile zugeordnet ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Anzahl der Zeilenspeicher (FIFO(0) bis FIFO(15)) min­ destens der Anzahl von Quelldaten im Auslesedatenwort entspricht, daß Quelldaten aus verschiedenen Zeilenspei­ chern (FIFO(0) bis FIFO(15)) in einem Auslesedatenwort (DW200 bis DW203) zusammengestellt werden, und daß im Auslesedatenwort (DW200 bis DW203) benachbarte Quelldaten zu benachbarten Quellelementen einer Spalte gehören.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß eine der Anzahl von Quelldaten im Auslesedatenwort ent­ sprechende Zahl von Zeilenspeichern zu mindestens einer Zeilenspeichereinheit (165 bis 166) zusammengefaßt sind, in der die Zeilenspeicher in einer Reihenfolge angeordnet sind, die auch die Anordnung der Quelldaten im Ausleseda­ tenwort bestimmt und daß die Zeilenspeicher in aufstei­ gender oder in absteigender Reihenfolge aufsteigenden Zeilennummern im Quellbild zugeordnet sind.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß Bilddatenworte zu Bildelementen mit niedriger Zeilennum­ mer im Druckbild vor/nach Bilddatenworten zu Bildelemen­ ten mit hoher Zeilennummer verknüpft werden.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß das Entnehmen der Quelldaten aus dem Zeilenspeicher, das Zuordnen der Zeilenspeicher zu Zeilennummern und die Rei­ henfolge des Verknüpfens der Bilddaten so erfolgt, daß das Quellbild um 90° oder um 270° gedreht im Druckbild dargestellt oder daß das Quellbild bezüglich seiner er­ sten oder zweiten Diagonale gespiegelt wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Anzahl der Zeilenspeicher (FIFO(0) bis FIFO(15)) mindestens der Anzahl von Quellda­ ten in zwei Auslesedatenworten (DW200 bis DW203) ent­ spricht und daß zeitlich aufeinanderfolgende Ausleseda­ tenworte (DW200 bis DW203) Quelldaten enthalten, die zu Quellelementen derselben Spalte gehören.
12. Verfahren nach einem der Ansprüche 8 bis 11, dadurch ge­ kennzeichnet, daß mehrere Zeilenspeichereinheiten in ei­ ner Reihenfolge angeordnet sind, die mit der Abfolge des Verknüpfens der jeweiligen Ausgabedatenworte überein­ stimmt, und daß die Reihenfolge der Quelldaten im Ausle­ sedatenwort umgekehrt wird und die Zuordnung der Auslese­ datenworte zu den Bilddatenworten einer Zeile beim Ver­ knüpfen im Vergleich zu einer Verknüpfung ohne Umkehr der Reihenfolge im Auslesedatenwort umgekehrt wird.
13. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß der Zeilenspeicher (90, 202) ein Register zum Speichern von Quelldatenworten enthal­ tender FIFO-Baustein und/oder ein statischer oder dynami­ scher Speicherbaustein ist.
14. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Quelldaten in einem einzi­ gen Schritt, vorzugsweise in einem Taktzyklus eines ver­ wendeten Mikroprozessors (22) zum Auslesedatenwort zusam­ mengestellt werden.
15. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß mehrere Zeilenspeicher zu min­ destens einer Zeilenspeichergruppe zusammengefaßt sind, und daß der Zeilenspeichergruppe eine Steuerung zugeord­ net ist, die den Zugriff auf die Zeilenspeicher der Zei­ lenspeichergruppe steuert.
16. Schaltungsanordnung zum Ändern von Bilddaten eines Bildelemente enthaltenen Druckbildes (18), das insbeson­ dere durch einen elektrografischen Drucker auf einen Trä­ ger gedruckt wird,
wobei die Bildelemente nach Art einer Matrix in Spalten (P2) und Zeilen (P1) angeordnet sind,
jedem Bildelement ein Bilddatum zugeordnet ist, das als Teil eines Bilddatenwortes vorgegebener Wortlänge in einem Bildspeicher (30) gespeichert ist,
mit einem Quellspeicher (32), in dem Quelldaten minde­ stens eines Quellbildes (60) gespeichert sind, dessen Quellelemente ebenfalls nach Art einer Matrix in Spalten und Zeilen angeordnet sind, wobei jedem Quellelement ein Quelldatum zugeordnet ist, das als Teil eines Quelldaten­ wortes der genannten Wortlänge im Quellspeicher (32) ge­ speichert ist,
mit mindestens einem Zeilenspeicher (90) zum Speichern von Quelldaten,
mit einer Ausleseeinheit (94) zum Lesen des Zeilenspei­ chers,
und mit einer Verknüpfungseinheit (98) zum datenweisen Verknüpfen von aus dem Zeilenspeicher (90) gelesenen Quelldaten mit Bilddaten nach einer vorgegebenen logi­ schen Operation,
dadurch gekennzeichnet, daß der Zeilenspeicher (90) ein FIFO-Speicher oder ein LIFO-Speicher zum Speichern meh­ rerer Quelldatenworte einer Zeile ist, die Quellelemente einer vorgegebenen Zeile definieren,
daß die Ausleseeinheit (94) die aus dem Zeilenspeicher gelesenen Quelldaten zu einem Auslesedatenwort der ge­ nannten Wortlänge zusammenstellt,
und daß die Verknüpfungseinheit (98) das Auslesedatenwort mit mindestens einem aus dem Bildspeicher (30) gelesenen Bilddatenwort verknüpft.
DE1996111409 1996-03-22 1996-03-22 Verfahren und Schaltungsanordnung zum Ändern von Bilddaten Expired - Fee Related DE19611409C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1996111409 DE19611409C2 (de) 1996-03-22 1996-03-22 Verfahren und Schaltungsanordnung zum Ändern von Bilddaten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1996111409 DE19611409C2 (de) 1996-03-22 1996-03-22 Verfahren und Schaltungsanordnung zum Ändern von Bilddaten

Publications (2)

Publication Number Publication Date
DE19611409A1 DE19611409A1 (de) 1997-10-16
DE19611409C2 true DE19611409C2 (de) 2001-01-04

Family

ID=7789134

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996111409 Expired - Fee Related DE19611409C2 (de) 1996-03-22 1996-03-22 Verfahren und Schaltungsanordnung zum Ändern von Bilddaten

Country Status (1)

Country Link
DE (1) DE19611409C2 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2725395B2 (de) * 1976-06-30 1980-10-30 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n
DE3229616A1 (de) * 1982-08-09 1984-02-09 Siemens AG, 1000 Berlin und 8000 München Verfahren und schaltungsanordnung zum ueberlagern von grafischen mustern und/oder zeichen
DE3409770A1 (de) * 1983-03-17 1984-09-20 Canon K.K., Tokio/Tokyo Datenverarbeitungssystem
DE3523042A1 (de) * 1984-06-28 1986-01-02 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
DE3713627A1 (de) * 1986-04-23 1987-10-29 Casio Computer Co Ltd Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2725395B2 (de) * 1976-06-30 1980-10-30 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n
DE3229616A1 (de) * 1982-08-09 1984-02-09 Siemens AG, 1000 Berlin und 8000 München Verfahren und schaltungsanordnung zum ueberlagern von grafischen mustern und/oder zeichen
DE3409770A1 (de) * 1983-03-17 1984-09-20 Canon K.K., Tokio/Tokyo Datenverarbeitungssystem
DE3523042A1 (de) * 1984-06-28 1986-01-02 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
DE3713627A1 (de) * 1986-04-23 1987-10-29 Casio Computer Co Ltd Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten

Also Published As

Publication number Publication date
DE19611409A1 (de) 1997-10-16

Similar Documents

Publication Publication Date Title
EP0578042B1 (de) Verfahren zum Steuern des spaltenweisen Drucks eines Postwertzeichenbildes in einer Frankiermaschine
DE3339666C2 (de)
DE3419219C2 (de) Steuervorrichtung für ein Bildschirmgerät
DE2550268A1 (de) Schnelldrucker fuer datenverarbeitungssysteme
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2447464A1 (de) Zeichengenerator fuer optischen drucker
DE4022885C2 (de) Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem
CH622465A5 (de)
DE3632603C2 (de)
DE2310631B2 (de) Speicherhierarchie fur ein Datenverarbeitungssystem
DE69633716T2 (de) Hochgeschwindigkeitssystem zur Skalierung von Bildern
EP0132456A1 (de) Verfahren und Vorrichtung zur Prüfung der Satzqualität von Druckerzeugnissen, insbesondere Zeitungen
DE3716752C2 (de)
DE2161038B2 (de) Verfahren zur Herstellung von gerasterten Druckformen
DE3441640A1 (de) Streifenfeldspeichercontroller
EP0762334A1 (de) Verfahren zum Erzeugen eines Druckbildes, welches in einer Frankiermaschine auf einen Träger gedruckt wird
DE3713627C2 (de)
DE2652900A1 (de) Steuerschaltung zur bildwiederholung fuer ein raster-datensichtgeraet
DE3043100A1 (de) Datenprozessor mit datenkorrekturfunktion
DE2550212B2 (de) Drucker mit pufferspeicher
DE4035533A1 (de) Bildsteuervorrichtung mit einem mehrfachbus fuer farbdrucker
DE2446937A1 (de) Druckvorrichtung fuer einen fliegenden abdruck mit verkuerztem druckzyklus
DE19611409C2 (de) Verfahren und Schaltungsanordnung zum Ändern von Bilddaten
DE69634073T2 (de) Verfahren zum Drucken mit Überlagerungsmustern
DE3902975A1 (de) Ausgabevorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131001