DE2725395B2 - 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 - Google Patents
Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge nInfo
- Publication number
- DE2725395B2 DE2725395B2 DE2725395A DE2725395A DE2725395B2 DE 2725395 B2 DE2725395 B2 DE 2725395B2 DE 2725395 A DE2725395 A DE 2725395A DE 2725395 A DE2725395 A DE 2725395A DE 2725395 B2 DE2725395 B2 DE 2725395B2
- Authority
- DE
- Germany
- Prior art keywords
- buffer memory
- words
- line
- address
- bit
- 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
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/60—Rotation of a whole image or part thereof
- G06T3/602—Block rotation, e.g. by recursive reversing or rotating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/60—Rotation of a whole image or part thereof
- G06T3/606—Rotation by memory addressing or mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
Description
Die Erfindung betrifft eine Einrichtung zur Echtzeittransformation
von m in Zeilen angeordneten Wörtern der Bitlänge η in π in Spalten angeordnete Wörter der
Bitlänge n. Sie kann neben einer ganz allgemeinen Echtzeittransformation einer η ■ n-Bitkonfiguration vor
allem bei der Verarbeitung von Vidiodaten und Matrizenrschnungen mit Erfolg verwendet werden.
Die neute bereits existierenden Bildverarbeitungsverfahren, wie beispielsweise die optische Zeichenerkennung,
arbeiten mit vertikal orientierten Segmenten eines abgetasteten Bildes, da die Lichtpunktabtaster
vertikal orientierte Bilddaten liefern. Neuere Abtastverfahren, die weniger aufwendig und auch zuverlässiger
sind, da sie geringere Wartungsprobleme aufweisen, enthalten horizontale Matrizen von Abtasteinrichtungen,
die relativ zur abzutastenden Vorlage beweglich sind. Die von den Abtastern ausgegebenen Bilddaten
werden im allgemeinen vor einer weiteren Verarbeitung zwischengespeichert. Die Richtung, in der die relative
Bewegung erfolgt ist oft rechtwinklig zur Orientierung des Bildes oder Zeichens, wodurch eine 90°-Drehung
der Orientierung der gespeicherten Vidiodaten erforderlich ist, bevor weitere Schritte im Verarbeitungszyklus
eingeleitet werden können.
Bekannte Vorschläge basieren darauf, die Vidiodaten mehrerer Abtastzeilen, die ein vollständiges Bild oder
eine gesamte Zeichenzeile umfassen, zu akkumulieren, bevor eine Drehung der Orientierungsrichtung oder
andere Vorverarbeitungsfunktionen durchgeführt werden.
Eine dieser Methoden ist im iBM Technical
Disclosure Bulletin, Band 17, Nr. 10, März 1975, Seite 3026 angegeben. Dort ist eine Einrichtung und ein
Verfahren hierzu beschrieben, nach denen unter anderem ein abgetastetes Bild dadurch transformiert
wird, daß die Vidiobits aufeinanderfolgend seriell in mehrere Schieberegister geladen werden, die jeweils
eine solche Kapazität haben, daß sie eine komplette Abtastzeile aufnehmen können. Wenn dann alle
Register geladen sind, wird der Inhalt einer gegebenen Zelle in jedem Register sequentiell ausgegeben. Ein
Zugriff zu einer Speicherstellenposition ist nur nach der vollständigen Durchführung einer solchen Anzahl von
Verschiebungszyklen möglich, die notwendig ist, um den Inhalt der betrachteten Zelle zu dem Ausgang des
Schieberegisters zu transportieren. Ein selektives Zugreifen zu den Speicherstellenpositionen außerhalb
dieser normalen Sequenz ist nicht vorgesehen.
Der Nachteil von Schieberegisterspeichern im Vergleich zu Speichern mit wahlfreiem Zugriff liegt in der
Zahl der Zyklen, die notwendig sind, um einen Zugriff zu
einer gegebenen Speicherstelle durchzuführen. Darüber hinaus verfugen die heutigen Speicher mit wahlfreiem
Zugriff über sehr schnelle Zugriffszeiten, und sie befinden sich mit den Schieberegisterspeichern in einem
Kostenwettbewerb (in dem die Speicher m.'t wahlfreiem s
Zugriff immer mehr Boden gewinnen).
Ein anderes bekanntes Schema zur Drehung der Orientierung in einem System mit Zeitteilung verwendet
eine serielle Speicherung horizontaler Vidiodaten einer vollständigen Zeichenzeile in einem Speicher, der
soviele Wortspeicherstellen aufweist, wie Abtastpunkte im Abtastsystem vorgesehen sind. Jedes Wort hat
seinerseits mindestens soviele Speicherstufen, wie horizontale Abtastungen erforderlich sind, um eine
vollständige Zeile gedruckter Zeichen zu erfassen. Das parallele Auslesen des Speichers wird so durchgeführt,
daß sich ein solcher Bitstrom zu der Erkennungslogik ergibt, der einem Strom entspricht, der sich ergeben
würde, wenn ein optischer Abtaster nacheinander eine Reihe vertikaler Abtastbahnen über jeJ.es Zeichen
führen würde.
Dieses bekannte Transformationsschema ist (wegen seines Zeitbedarfs) nicht direkt für Echtzeitaufgaben
anwendbar, wo die Zugriffszeiten und Verzögerungen besonders klein gehalten werden müssen. Das beschriebene
Verfahren ist auch von der Geschwindigkeit der ankommenden Daten und der Verzögerung abhängig,
welch letztere beträchtlich sein kann, wenn eine gesamte Zeichenzeile seriell gespeichert wird.
Ein weiterer Nachteil bekannter Verfahren liegt in dem hohen Kostenaufwand und der hohen Kapazität
der Speicher, die für die Speicherung eines elektronischen Bildes der abgetasteten Vorlage während
verschiedener Phasen der Drehung erforderlich sind.
Es ist daher die Aufgabe der Erfindung, die für die Verarbeitung von Vidiodaten erforderliche Drehung
der Orieniierungsrichtung für Echtzeitanwendungen geeignet zu machen und gleichzeitig den erforderlichen
hohen Speicheraufwand zu senken und die auftretenden Verzögerungszeiten klein zu halten.
Gelöst wird diese Aufgabe durch die im Hauptanspruch angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den
Unteransprüchen zu entnehmen.
Durch die vorliegende Erfindung wird also der Vorteil erzielt, daß die insbesondere bei der Nachverarbeitung
von Vidiodaten oft erforderliche Drehung der Orientierungsrichtung dar abgetasteten Vidiodaten mit einer
solchen hohen Geschwindigkeit durchgeführt werden ">o
kann, daß eine Echtzeitverarbeitung der anfallenden Vidiodaten möglich ist. Ferner wird der an sich
erforderliche hohe Aufwand an Speicherkapazität durch die Erfindung herabgesetzt und es veren die
durch die erforderlichen Arbeitsspiele bedingten Verzögerungszeiten reduziert.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der beiliegenden Figuren näher
beschrieben.
Es zeigt F i g. 1 ein Blockschaltbild der Erfindung,
F i g. 2 eine Darstellung der HilfsSpeicherbereiche,
Fig.3 ein Blockschaltbild der Dreheinrichtung in Fig. 1,
Fig.4 ein Blockschaltbild der Steuereinrichtung für μ
den Hilfsspeicher in F i g. 2,
Fig.5A ein Zeitdiagramm zur Erläuterung der Betriebsweise der Dreheinrichtung nach F i g. 3 und
Fig.5B einen vergrößerten Ausschnitt eines Abschnitts
in F i g. 5A.
Die horizontal abgetastete Bildmatrix 10 in Fig. 1 repräsentiert die seriellen Ausgangsdaten eines Abtasters,
der bis zu 2048 Bits je Abtastung erzeugt. Der serielle Bitstrom 15 wird einer Dreheinrichtung 20
zugeführt, die Gegenstand der Erfindung ist und in Echtzeit eine Hochgeschwindigkeitstransformation der
horizontal orientierten Bits in vertikal orientierte Wörter 25 vornimmt Die vertikalen Wörter 25, die in
einem externen Speicher gespeichert sind, sind als eine vertikale Bildmatrix 30 dargestellt.
Es sei in diesem Zusammenhange erwähnt, daß die F i g. 1 nur eine schematische Darstellung sein kann, da
die Vidiodaten in Wirklichkeit ein zusammenhängender serieller Bitstrom sind, die vertikale Matrix 30 aber eine
Matrix mit der vertikalen Breite eines Wortes ist, die sich im vorliegenden Beispiel über 2048 Elemente
erstreckt.
Vom Übergang der Bildinformation aus der horizontal abgetasteten BiJdmatrix 10 in die vertikal orientierte
Bildmatrix 30 ist eine Bilddrehung von 90° erforderlich. Zwischen den Bildmatrizen 10 und 30 besteht somit eine
I :1-Beziehung zwischen den entsprechenden Bitpositionen.
Die in F i g. 1 schematisch dargestellte Anordnung entwickelt also mit anderen Worten aus einem
horizontal abgetasteten Dokument zugreifbare Bilddaten so, als wenn das Dokument vertikal abgetastet
worden wäre. Die abgegebenen Bilddaten sind dann Gegenstand weiterer Bildverarbeitungsverfahren und
Einrichtungen. Prinzipiell ist es möglich, die in F i g. 1 dargestellte Anordnung in einer Technologie auszuführen,
die höchste Integrationsdichten zuläßt.
Für die Durchführung der Bilddrehung findet ein η - n-Bit-Drehschema Anwendung. Die Drehung wird
mit Hilfe eines Pufferpaars und alternierender Betriebsweise desselben durchgeführt, indem alternierend einer
der beiden Puffer zeilenweise mit Vidio-Eingangswörtern von einem Serien-/Parallelwandler geladen wird,
während gleichzeitig der andere Puffer spaltenweise Wort nach Wort geleert wird. Die ausgegebenen
Wörter werden in einen Umwandlungs-Schieberegisterblock zu n- Registern geladen. Der Verschiebevorgang
wird eingeleitet, wenn der gesamte Umwandlungs-Schieberegisterblock geladen ist. Die π vertikalen
Ausgangswörter jedes Verschiebezyklus umfassen alle entsprechenden Bits jedes Wortes in der Spalte, d. h.,
daß das erste herausgeschobene Wort die Bits der Position 0 jedes Eingangswortes usw. enthält.
Im folgenden Falle soll ein Byte ein Wort zu je acht
Bits bezeichnen. Im Prinzip sind jedoch auch andere Bitlängen für andere Wortorganisationen möglich.
Außerdem bezieht sich die Beschreibung auf die Verwendung von Schieberegistern, obwohl es prinzipiell
auch möglich ist, äquivalente Schaltkreisstrukturen zu verwenden, wie beispielsweise bidirektional adressierbare
Speicheranordnungen, wie sie durch die Anwendung der Technologie höchster Integrationsdichte
möglich sind.
Das Adressendrehschema geht deutlicher aus F i g. 2 hervor. Der Speicher 40 enthält, wie die vorliegende
Darstellung zeigt, Speicherstellen für 2048 Bytes. Wie zuvor bereits erwähnt wurde, besteht die Einrichtung
aus z.wei derartigen Speichern.
Aus F i g. 2 geht weiter hervor, daß der Speicher 40 so angeordnet ist, daß er über acht Zeilen und 256 Spalten
verfügt. Jede Byteposition im Speicher ist mit Hilfe eines
I1 Bit langen Adressenvektors 41 adressierbar, der
sequentiell von 0 bis 2047 inkrementiert wird.
Um den Speicher 40 byteweise innerhalb einer Zeile zu laden, wird der Adressenvektor am niedrigstelligen
Ende inkrementiert, so daß für jeden Dezimalwert 0 bis 7 in der Zeile die Bits 0 bis 2 und für die Spalten die Bits 3
bis 10 zyklisch von 0 bis 255 durchlaufen.
Für das spaltenweise Entleeren (Auslesen) des Speichers 40 ist der Adressenvektor 41 so aufgebaut,
daß von seinem hochstelligen Ende für die Zeilen die Bits 0 bis 2 inkrementiert werden, um zyklisch durch die
Werte 0 bis 7 (für die Zeilen) durchzulaufen und es werden die Bits 3 bis 10 verwendet, um zyklisch durch
die Werte 0 bis 255 (für die Spalten) durchzulaufen.
Wie F i g. 2 zeigt, sind für den Empfang der von einer Spalte des Speichers 40 übertragenen Bytes acht von
oben ladbare Laderegister 50 bis 57 vorgesehen. Für das Entleeren der äußersten rechten Spalte des Speichers
wird beispielsweise das in der Speicherstelle 0 gespeicherte Byte zu dem Laderegister 50 übertragen.
Das Byte in der Speicherstelle 256 wird zu dem Laderegister 51 übertragen, bis schließlich das Byte in
der Speicherstelle 1792 zu dem Register 57 übertragen
wird.
Wenn alle acht von oben ladbare Laderegister geladen sind, dann werden ihre 64 Bits herausgeschoben.
Das erste herausgeschobene vertikale Byte 60 enthält die Bits der Position 0 für jedes der horizontalen
Bytes, die zuvor in der äußersten rechten Spalte des Speichers 40 gespeichert worden waren. Das achte
herausgeschobene vertikale Byte 67 enthält in konsequenter Fortsetzung dieses Schemas alle Bits der
Position 7, der acht gespeicherten Bytes.
Zwischen den acht horizontalen Bytes, die in die acht Laderegister 50 bis 57 eingegeben werden und den acht
vertikalen Bytes 60 bis 67, die herausgeschoben werden, bleibt die relative Lage der Bits, die ein abgetastetes Bild
darstellen, unverändert, jedoch ist die Zugriffsrichtung auf die Bytes um 90° gedreht.
F i g. 3 zeigt eine detailliertere Darstellung der Anordnung. Bezüglich des Datenflusses, sind die
Hauptkomponenten der Anordnung ein Serien-Parallelwandler 112. der die Datenbytes für eine Zwischenspeicherung
in das Pufferspeicherpaar 118, 122, vor ihrer Übertragung zu dem Umwandlungs-Schieberegisterblock
114, eingibt.
Die seriellen Vidiodaten des horizontal abgetasteten Bildes gelangen über die Leitung tlO zu dem
Serien-/Parallelwandler 112, der beispielsweise ein achtstelliges Schieberegister sein kann. Der Byteausgang
des Serien-/Parallelwandlers 112 ist mit der Leitung 116 verbunden und lädt alternierend die
Pufferspeicher A, 118 oder B, 122. jeder Pufferspeicher
ist ein Speicher mit wahlfreiem Zugriff, der über die Eigenschaften des Speichers 40 verfügt, der bereits im
Zusammenhang mit F i g. 2 erläutert wurde. Die Adresse der entsprechenden Byte-Speicherstelle im Pufferspeicher
A für den Empfang eines Bytes über die Leitung 116 wird über die Leitung 120 angelegt.
Die Adresse der Byte-Speicherstelle für den Pufferspeicher B wird dagegen über die Leitung 124 angelegt.
Die Leitung 126 führt ein Signal, das Befehle angibt, wie
»Schreibe Pufferspeicher A, lies Pufferspeicher ß«. In ähnlicher Weise überträgt auch die Leitung 128 ein
Signal, das die Bedeutung »Schreibe-Pufferspeicher B, lies Pufferspeicher Λ« hat Das entweder vom
Pufferspeicher A oder B über die Leitung 134 ausgelesene Byte wird parallel in das entsprechende der
Ladeschieberegister 150 bis 157 geladen. Welches dieser Ladeschieberegister geladen wird, wird durch ein Signal
auf einer der Schieberegister-Indikatorleitungen 140 bis 147 angegeben. Das serielle Herausschieben erfolgt
über die Leitungen 160 bis 167. Die Ausgabe eines Bytes ■>
erfolgt in jedem Schiebezyklus über die Leitung 170. Eine Steuereinrichtung für die in Fig. 3 dargestellte
Anordnung zeigt Fig.4. Die Impulse auf der Leitung
202 von einem (nicht dargestellten) Taktgenerator inkrementieren die Adreßzähler 204 und 206 der
in Pufferspeicher. Jeder Adreßzähler ist 1 Isteilig. Der
Adreßzähler 204 wird zur Ladung, der Adreßzähler 206 dagegen zum Entleeren der Pufferspeicher A oder B
verwendet.
Wenn der Adreßzähler 204 seine volle Kapazität
ir> erreicht hat, betätigt ein Übertragssignal auf der
Leitung 207 eine Kippschaltung 208, die angibt, welcher Pufferspeicher sich in einer Schreib- oder Empfangsbetriebsart
befindet. Diese Kippschaltung gibt über die Leitung 126 ein Signal ab, das die Bedeutung hat
2» »Schreibe B, lies Av.. Das von dieser Kippschaltung 208
auf der Leitung 128 erzeugte Signal hat dagegen die Bedeutung »Schreibe B, lies Av.. Die Pufferspeicherladeadresse
vom Adreßzähler 204 wird über die Leitung 210, die Pufferspeicherentleerungsadresse dagegen vom
-'r> Adreßzähler 206 über die Leitung 212 übertragen.
Das UND-Tor 220 empfängt über die Leitung 210 die Adresse zur Ladung des Puffers und über die Leitung
126 das Signal »Schreibe A, lies Bn. Das UND-Tor 222
dagegen empfängt über die Leitung 212 die Adresse
i» zum Leeren des Puffers und über die Leitung 128 das
Signal »Schreibe ß, lies -4«. Die Ausgangsleitungen der UNÜ-Tore 220 und 222 werden zu einem ODER-Tor
225 übertragen, dessen Ausgangsleitung 120 die Adresse überträgt, mit der der Pufferspeicher A angesteuert
ii wird, wenn entweder in ihn eingeschrieben oder aus ihm
gelesen werden soll.
In ähnlicher Weise wird dem UND-Tor 226 über die Leitung 126 das Signal »Schreibe A, lies ß« und über die
Leitung 212 die Adresse zum Entleeren des Puffers zugeführt. Zu dem UND-Tor 227 wird über die Leitung
128 das Signal »Schreibe B, lies A« und über die Leitung 210 die Adresse zum Laden des Pufferspeichers
übertragen. Die Ausgänge der UN D-Tore 226 und 227 sind zu dem ODER-Tor 230 geführt, dessen Ausgangs-
·»> leitung 124 die Adresse zu dem Pufferspeicher B
überträgt
Die Leitung 235 führt die drei hochstelligen Bits des Adreßzählers 206 zum Entleeren des Pufferspeichers
und überträgt diese zu dem Decodierer 240, dessen
% Ausgangsleitungen 140 bis 147 diejenigen Ladeschieberegister
150 bis 157 angeben, die ein Byte vom Pufferspeicher A oder B empfangen sollen.
Die Betriebsweise der Anordnung geht am deutlichsten aus den F i g. 3 und 4 hervor. Es wird bei der
folgenden Beschreibung der Betriebsweise angenommen, daß der Pufferspeicher A zuerst geladen wird. Die
seriellen Vidiodaten gelangen über die Leitung 110 zu dem Serien/Parallel wandler 112. Wenn acht Bits der
Vidiodaten in dem Serien-/Parallelwandler 112 eingetroffen sind, wird eine Verschiebung durchgeführt, in
deren Verlauf ein Byte den Serien-/Parallelwandler über die Leitung 116 verläßt
In Fig.3 hat der 11 stellige Adressenvektor im Adreßzähler 204 zur Ladung des Pufferspeichers seinen
*>5 Maximalwert noch nicht erreicht, so daß auch noch kein
Übertragssignal auf der Leitung 207 auftritt Die Kippschaltung 208 erzeugt daher auf der Leitung 126
ein Signal, das die Bedeutung »Schreibe Pufferspeicher
A, lies Pufferspeicher Β« hat. Auf der Leitung 128 liegt
dagegen kein Signal vor, dessen Bedeutung, wie bereits erwähnt wurde, »Schreibe Pufferspeicher B, lies
Pufferspeicher /4«, ist. Der 11 stellige Adressenvektor,
der im Zähler 204 gebildet wird und die Adresse zum r<
Laden des Puffers ist, liegt an der Leitung 210 an. An der Leitung 212 liegt andererseits auch der Adressenvektor
an, der zur Entleerung des Pufferspeichers dient und im Adreßzähler 206 gebildet wird. Aufgrund der Tatsache,
daß an der Leitung 126 ein Signal »Schreibe i<> Pufferspeicher A, bis Pufferspeicher ö« und an der
Leitung 210 der Adressenvektor zum Laden des Pufferspeichers anliegen, entsteht am Ausgang des
UND-Tores 220 auf dessen Ausgangsleitung 223 ein Ausgangssignal. Da das Signal »Lies Pufferspeicher A, tr>
schreibe Pufferspeicher B« auf der Leitung 128 seinen niedrigen Pegelwert einnimmt, ist die Koinzidenzbedingung
für das UND-Tor 22 nicht erfüllt, womit auch an seiner Ausgangsleitung kein Ausgangssignal auftritt.
Das Ausgangssignal, welches das ODER-Tor 225 erzeugt, ist daher der Adressenvektor für den
Pufferspeicher A, der bestimmt, welche von den 2048 Bytespeicherstellen des Pufferspeichers A ein Byte von
der Leitung 116 aufnehmen soll. Dieser Vorgang wird solange wiederholt, bis alle 2048 Byte-Speicherstellen 2r>
des Pufferspeichers A geladen sind. Wenn dieses dann der Fall ist, erreicht der Adreßzähler 204 seine maximale
Zählstellung, so daß der nächste Taktimpuls ein Übertragssignal auf der Leitung 207 bewirkt, das die
Kippschaltung 208 umschaltet. Dieses wiederum be- J<> wirkt, daß das Ausgangssignal von der Leitung 126 auf
die Leitung 128 übergeht. Diese Kippschaltung 208 erzeugt damit auf der Leitung 128 ein Ausgangssignal,
dessen Bedeutung »Schreibe Pufferspeicher B, lies Pufferspeicher A« ist. J'
Nun empfängt der Pufferspeicher fldie nächsten 2048 Bytes vom Serien-/Parallelwandler 112. Da das Signal
»Schreibe Pufferspeicher B, lies Pufferspeicher A« auf der Leitung 128 auch eine Lesebedingung bezüglich des
Pufferspeichers A angibt, treten bezüglich des Puffer- to Speichers A. gleichzeitig mit den Schreibzyklen des
Pufferspeichers B, Lesezyklen auf.
Im folgenden wird nun zunächst das Auslesen des Pufferspeichers A erläutert. Da das Signal »Schreibe
Pufferspeicher A, lies Pufferspeicher ß« auf der Leitung 126 seinen unteren Pegelwert einnimmt, ist auch die
Koinzidenbedingung für das UND-Tor 220 nicht erfüllt so daß dieser Tor kein Ausgangssignal erzeugt. Das
Signal »Lies Pufferspeicher A, schreibe Pufferspeicher ß« auf der Leitung 128 und der Adressenvektor auf der so
Leitung 212 zum Entleeren des Pufferspeichers sind jedoch vorhanden oder gelangen zu dem UND-Tor 222,
dessen Ausgangssignal zu dem ODER-Tores 225 übertragen wird. Daher ist das Ausgangssignal des
ODER-Tores 225 auf der Leitung 120 der 11 stellige Adressenvektor für den Pufferspeicher A, welcher
Adressenvektor vom Adreßzähler 206 generiert wird. Auch der Adreßzähler 206 wird in der bereits im
Zusammenhang mit F i g. 2 erläuterten Weise inkrementiert,
um einen byteweisen Zugriff des Pufferspeichers innerhalb einer Spalte für das Auslesen zu bewirken. Die
Bits 0, 1 und 2 vom Adreßzähler 206 zum Leeren des Pufferspeichers gelangen über die Leitung 235 zum
Decodierer 240. Die Ausgangsleitung 140 des Decoders 240 bezieht sich auf die erste Zeile der ersten Spalte des
Pufferspeichers A und bewirkt daß das erste vom Pufferspeicher A ausgelesene Byte in das Ladeschieberegister
150 gelangt. Das Auslesen wird solange fortgesetzt, bis alle acht Bytes der Spalte 0 des
Pufferspeichers A in die Ladeschieberegister 150 bis 157 geladen sind, ein Vorgang der sich aus der Decodierung
der Zeilenadresse ergibt, die auf der Leitung 235 vorliegt, mit Hilfe des Decodierers 240, der die
entsprechenden Steuersignale auf die Leitungen 140 bis 147 überträgt. Wenn alle acht Ladeschieberegister
geladen sind, wird ein Verschiebezyklus mit den gedrehten Bytes durchgeführt, wobei die Bits über die
Leitungen 160 bis 167 und damit über die gemeinsame Leitung 170 an einen (nicht dargestellten) externen
Bildspeicher übertragen werden.
Gleichzeitig mit dem Entleeren des Pufferspeichers A empfängt der Pufferspeicher B 2048 Bytes über die
Leitung 116, die in den Speicherstellen gespeichert werden, die von dem Adreßzähler 204 angegeben
werden. Da aber auf der Leitung 126 kein Signal mit der Bedeutung »Schreibe Pufferspeicher A, lies Pufferspeieher
ß« vorliegt, ist auch die Koinzidenzbedingung für das UND-Tor 226 nicht erfüllt, so daß dieses Tor kein
Ausgangssignal liefert. Dagegen liegt aber das Signal »Schreibe Pufferspeicher B, lies Pufferspeicher Av. auf
der Leitung 128 sowie die Ladepufferspeicheradresse auf der Leitung 210 vor, die am Eingang des UND-Tores
227 anliegen. Das Ausgangssignal dieses UND-Tores 227 gelangt über das ODER-Tor 230 auf die Leitung 124
als Adresse in den Pufferspeicher B für die Aufnahme der Bytes.
In ähnlicher Weise betätigt das Übertragssignal auf der Leitung 207 die Kippschaltung 208 erneut, wenn der
Inhalt des Adreßzählers 204 wiederum den maximalen Zählwert 2047 erreicht hat und der nächste Taktimpuls
angekommen ist. Hierdurch wird der soeben beschriebene Vorgang umgekehrt, d. h., Pufferspeicher A wird
wieder mit den nächsten 2048 Vidiobytes vom Serien-/Parallelwandler 112 geladen, während gleichzeitig
der Pufferspeicher B geleert wird.
Die Lade- und Entleerungszeiten der Puffer müssen hierbei nicht notwendigerweise die gleiche Dauer
haben. Wie Fig.5A zeigt, erfordert das Leeren der Pufferspeicher eine beträchtlich kürzere Zeit als deren
Laden. Die Zeit T1, die Pufferspeicher-Ladezeit, beträgt
beispielsweise 6,14 Millisekunden unter der Annahme eines Zugriffszyklus von 3 Mikrosekunden für jede der
2048-Byte-Speicherstellen. Diese Zeit stellt die Verzögerungszeit am Beginn eines Operationszyklus dar,
die vergehen muß, bevor überhaupt gedrehte Bytes für eine Speicherung in einem externen Bildspeicher
verfügbar gemacht werden können.
Die Zeit T2 ist diejenige Zeit, die erforderlich ist, um
2048 vertikal orientierte Bytes auszugeben. Die Dauer von 7} ist etwa 3,3 Millisekunden bei einer Rate von 1,6
Mikrosekunden je Byte. Der Zeitabschnitt T2, der
sogenannte Entleerungszyklus, ist ausführlich in F i g. 5B dargestellt Er umfaßt alternierend acht Registerladungen
und Verschiebezyklen für alle 256 Spalten in den Pufferspeichern A und B.
Am Ende eines Operations- oder Arbeitszyklus ergibt sich eine Verzögerungszeit Ti bis das letzte gedrehte
Byte für eine (externe) weitere Speicherung zur Verfügung steht
Es ist in diesem Zusammenhange wichtig, noch einmal zu erwähnen, daß eine Bildmanipulation oder -verarbeitung
in den meisten Anwendungsfällen eingeleitet wird, sobald die gedrehten Bilddaten aufzutreten beginnen.
030144/252
Claims (4)
1. Einrichtung zur Echtzeittransformation von m
in Zeilen angeordneten Wörtern der Bitlänge π in η
in Spalten angeordnete Wörter der Bitlänge n, gekennzeichnet durch einen Serien-/Parallelwandler
(112) zur Serieneingabe der Eingangsdaten und Ausgabe derselben als parallele Wörter, die
in eine an diesen angeschlossene η ■ m- Pufferspeichermatrix
(118; 122) mit π Zeilen zur Zwischenspeicherung
von m Wörtern je Zeile übertragen werden, ferner durch eine Steuereinrichtung, die in
einem ersten Arbeitsspiel (7 1; Fig.5a), die Pufferspeichermatrix zeilenweise bitparallel mit den
vom Serien-/Parallelwandler gelieferten Bits lädt und in einem zweiten Arbeitsspiel (T2) die geladene
Pufferspeichermatrix spaltenweise bitparalVsl und WG-rtseriell entleert, in eine π · π-Bitspeichermatrix
(114) mit je einem Wort je Zeile einspeichert und, wenn der Ladevorgang beendet ist, die η ■ /7-Bitspeichermatrix
spaltenweise ausliest und dabei η Wörter der Bitlänge η ausgibt, die gegenüber der
ursprünglichen Konfiguration der Eingangsdaten um 90° gedreht sind.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Speicherstellen der η ■ m- Pufferspeichermatrix
(118; 122) im ersten Arbeitspiel (Tl) gemäß einem Adressenwort adressiert werden, das
sich in einem ersten Adreßzähler (204) befindet, wobei dieser, beginnend mit seiner niedrigstelligen
Position inkrementiert wird und schließlich im zweiten Arbeitsspiel (T2) von einem Adressenwort
in einem zweiten Adreßzähler (206) adressiert wird, wobei dieser, beginnend mit seiner hochstelligen
Position inkrementiert wird.
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die η · m-Pufferspeichermatrix aus
einem ersten (118) und einem zweiten Pufferspeicher (122) besteht, von denen jeder in η Zeilen und m
Spalten organisiert ist und das schließlich die Steuereinrichtung aus folgenden Komponenten
besteht:
— einer Kippschaltung (208), die, wenn der erste Adreßzähler (204) bei Erreichen seiner letzten
Stufe einen Überlaufimpuls erzeugt, betätigt wird, um den Ladevorgang des ersten Pufferspeichers
zu beenden und um gleichzeitig das Entleeren des ersten Pufferspeichers und das Laden des zweiten Pufferspeichers einzuleiten,
— einer ersten Torschaltungsanordnung (220, 227), die mit dem ersten Adreßzähler (204) und einem
ersten Ausgang (12B) der Kippschaltung verbunden ist, um die Speicherstellen in denjenigen
Pufferspeichern zu adressieren, die Wörter vom Serien-Parallelwandler (112) empfangen sollen,
— einer zweiten Torschaltungsanordnung (222, 226), die mit dem zweiten Adreßzähler und einem
zweiten Ausgang (128) der Kippschaltung verbunden ist, um die Speicherstellen in jenen
Pufferspeichern anzugeben, aus denen die η ■ n-Bitspeichermatrix (114) geladen werden
soll und
— einem Decodierer (240), der mit den niedrigstelligen
Stufen des zweiten Adreßzählers zur Adressierung der η ■ n-Speichermatrix verbunden
ist.
4. Einrichtung nach Anspruch 3, dadurch gekenn
zeichnet, daß der erste (204) und zweite (208) Pufferspeicher jeweils 2048 Wörter, die in acht
Zeilen und 256 Spalten angeordnet sind speichert, wobei der erste (204) und zweite (206) Adreßzähler
eine 11 Bit breite Adresse aufnimmt, in der die drei
hochstelligen Bits die Zeilen und die acht niedrigstelligen Bits die Spalten für den ersten und zweiten
Pufferspeicher abgibt und daß schließlich die η · n-Bitspeichermatrix (114) aus einem Block von
acht achtstelligen Bitschieberegistern besteht, wobei 64 Bits zeilenweise als acht Wörter zu je acht Bits
geladen und spaltenweise als acht Wörter zu je acht ■ Bits herausgeschoben werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/701,433 US4052699A (en) | 1976-06-30 | 1976-06-30 | High speed real time image transformation |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2725395A1 DE2725395A1 (de) | 1978-01-05 |
DE2725395B2 true DE2725395B2 (de) | 1980-10-30 |
DE2725395C3 DE2725395C3 (de) | 1981-10-01 |
Family
ID=24817351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2725395A Expired DE2725395C3 (de) | 1976-06-30 | 1977-06-04 | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge n |
Country Status (7)
Country | Link |
---|---|
US (1) | US4052699A (de) |
JP (1) | JPS533743A (de) |
CH (1) | CH620542A5 (de) |
DE (1) | DE2725395C3 (de) |
ES (1) | ES460165A1 (de) |
FR (1) | FR2357000A1 (de) |
GB (1) | GB1533833A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19611409A1 (de) * | 1996-03-22 | 1997-10-16 | Oce Printing Systems Gmbh | Verfahren und Schaltungsanordnung zum Ändern von Bilddaten |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1547119A (en) * | 1977-12-09 | 1979-06-06 | Ibm | Image rotation apparatus |
JPS5540460A (en) * | 1978-09-14 | 1980-03-21 | Fuji Xerox Co Ltd | Image transfer device |
US4313159A (en) * | 1979-02-21 | 1982-01-26 | Massachusetts Institute Of Technology | Data storage and access apparatus |
US4271476A (en) * | 1979-07-17 | 1981-06-02 | International Business Machines Corporation | Method and apparatus for rotating the scan format of digital images |
JPS5623082U (de) * | 1979-08-01 | 1981-03-02 | ||
US4562485A (en) * | 1979-08-10 | 1985-12-31 | Canon Kabushiki Kaisha | Copying apparatus |
DE3051229C2 (de) * | 1979-08-10 | 1996-05-30 | Canon Kk | Kopiergerät |
JPS5672783A (en) * | 1979-11-20 | 1981-06-17 | Nec Corp | Character recognition system of optical character reader |
ATE55019T1 (de) * | 1980-04-11 | 1990-08-15 | Ampex | System zur raeumlichen transformation von bildern. |
GB2108350B (en) * | 1981-04-10 | 1986-05-14 | Ampex | System for spatially transforming images |
GB2158674B (en) * | 1981-04-10 | 1986-05-29 | Ampex | Television video signal processor |
FR2520910B1 (fr) * | 1982-02-04 | 1987-07-10 | Victor Company Of Japan | Dispositif a memoire video |
US4467366A (en) * | 1982-03-08 | 1984-08-21 | The Mead Corporation | Ink drop duplicating system |
US4611310A (en) * | 1982-08-23 | 1986-09-09 | Canevari Timber Co. | Method and system for rearranging data records in accordance with keyfield values |
JPS5952286A (ja) * | 1982-09-20 | 1984-03-26 | 株式会社東芝 | ビデオram書込み制御方式 |
US4716544A (en) * | 1983-04-20 | 1987-12-29 | Minolta Camera Kabushiki Kaisha | Variable dimension and variable orientation graphics bit-map computer memory |
US4602346A (en) * | 1983-05-19 | 1986-07-22 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for processing image data using sum and subtract operations |
US4545069A (en) * | 1983-10-31 | 1985-10-01 | Xerox Corporation | Rotation of digital images |
JPS60169893A (ja) * | 1984-02-15 | 1985-09-03 | シチズン時計株式会社 | ビツトパタ−ン変換装置 |
US4627097A (en) * | 1984-10-26 | 1986-12-02 | International Business Machines Corporation | Method and apparatus for improved printing in a selected orientation |
JPS61118876A (ja) * | 1984-11-15 | 1986-06-06 | Canon Inc | 画像処理システム |
US4658430A (en) * | 1984-12-27 | 1987-04-14 | International Business Machines Corp. | System for rotating binary images |
FR2576432B1 (fr) * | 1985-01-24 | 1989-06-02 | Brion Alain | Dispositif d'echange de donnees entre un calculateur et une unite peripherique |
US4736442A (en) * | 1985-05-23 | 1988-04-05 | Kornfeld Cary D | System and method for orthogonal image transformation |
US4703515A (en) | 1985-08-26 | 1987-10-27 | Xerox Corporation | Image rotation |
CA1252902A (en) * | 1985-10-31 | 1989-04-18 | David R. Pruett | Method for rotating a binary image |
DE3650764T2 (de) * | 1985-12-13 | 2002-07-11 | Canon Kk | Bildverarbeitungsgerät |
JPS62256089A (ja) * | 1986-04-30 | 1987-11-07 | Toshiba Corp | 画像処理装置 |
JPS62256088A (ja) * | 1986-04-30 | 1987-11-07 | Toshiba Corp | 画像処理装置 |
US4760459A (en) * | 1986-07-30 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
US4783834A (en) * | 1987-02-20 | 1988-11-08 | International Business Machines Corporation | System for creating transposed image data from a run end or run length representation of an image |
US4916746A (en) * | 1987-10-05 | 1990-04-10 | International Computers Limited | Image rotation circuit |
JPH0183015U (de) * | 1987-11-18 | 1989-06-02 | ||
US5079739A (en) * | 1988-09-23 | 1992-01-07 | Datacard Corporation | Apparatus and method for converting bit-mapped data from row orientation to column or orientation |
US5048104A (en) * | 1989-10-10 | 1991-09-10 | Unisys Corporation | Method and apparatus for transposing image data |
JPH0373178U (de) * | 1989-11-18 | 1991-07-23 | ||
US5187753A (en) * | 1989-12-08 | 1993-02-16 | Xerox Corporation | Method and apparatus for identification and correction of document skew |
US5111192A (en) * | 1989-12-20 | 1992-05-05 | Xerox Corporation | Method to rotate a bitmap image 90 degrees |
US6373997B1 (en) | 1991-07-30 | 2002-04-16 | Xerox Corporation | Coarse and fine skew measurement |
US5511151A (en) * | 1992-06-10 | 1996-04-23 | Canon Information Systems, Inc. | Method and apparatus for unwinding image data |
US5485281A (en) * | 1992-07-31 | 1996-01-16 | E. I. Du Pont De Nemours And Company | Raster image processing with pixel mapping to allow image border density allocation |
EP0582824A2 (de) * | 1992-07-31 | 1994-02-16 | E.I. Du Pont De Nemours And Company | Orthogonale Umdrehung eines Bildes mittels Matrixtransponierung |
US5450604A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units |
US5467446A (en) * | 1993-01-29 | 1995-11-14 | Colorage, Inc. | System and method for rasterizing images subject to orthogonal rotation |
US5897667A (en) * | 1993-11-16 | 1999-04-27 | Intel Corporation | Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner |
GB2286910B (en) * | 1994-02-24 | 1998-11-25 | Intel Corp | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer |
JPH07313653A (ja) * | 1994-05-30 | 1995-12-05 | Yasuhiro Ijiri | 手袋及び手袋製造方法 |
US6226016B1 (en) * | 1996-02-05 | 2001-05-01 | Seiko Epson Corporation | Display apparatus and method capable of rotating an image by 180 degrees |
US6151641A (en) * | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6496199B1 (en) * | 1999-10-01 | 2002-12-17 | Koninklijke Philips Electronics N.V. | Method for storing and retrieving data that conserves memory bandwidth |
KR100722628B1 (ko) * | 2004-11-16 | 2007-05-28 | 삼성전기주식회사 | 데이터 트랜스포즈 장치 및 방법 |
FR2884095B1 (fr) * | 2005-03-31 | 2007-06-29 | Thomson Licensing Sa | Televiseur a balayage vertical |
US10402946B2 (en) * | 2015-03-17 | 2019-09-03 | Lexmark International, Inc. | System and method for performing orthogonal rotation and mirroring operation in a device |
US11601693B2 (en) | 2019-09-30 | 2023-03-07 | Kyndryl, Inc. | Automatic adaptation of digital content |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1774314B1 (de) * | 1968-05-22 | 1972-03-23 | Standard Elek K Lorenz Ag | Einrichtung zur maschinellen zeichenerkennung |
JPS5121529B1 (de) * | 1971-07-23 | 1976-07-03 | ||
US3761876A (en) * | 1971-07-28 | 1973-09-25 | Recognition Equipment Inc | Recognition unit for optical character reading system |
JPS4875145A (de) * | 1972-01-12 | 1973-10-09 | ||
BE801430A (nl) * | 1973-06-26 | 1973-10-15 | Belge Lampes Mat Electr Mble | Een geheugensysteem |
US3969704A (en) * | 1974-07-19 | 1976-07-13 | Nanodata Corporation | Word transformation apparatus for digital information processing |
US3941982A (en) * | 1974-07-22 | 1976-03-02 | Particle Measuring Systems, Inc. | Method and apparatus for two-dimensional data acquisition |
US3938102A (en) * | 1974-08-19 | 1976-02-10 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences and rectangular sub-arrays from an array stored in a modified word organized random access memory system |
-
1976
- 1976-06-30 US US05/701,433 patent/US4052699A/en not_active Expired - Lifetime
-
1977
- 1977-05-18 FR FR7716054A patent/FR2357000A1/fr active Granted
- 1977-06-03 JP JP6494977A patent/JPS533743A/ja active Granted
- 1977-06-04 DE DE2725395A patent/DE2725395C3/de not_active Expired
- 1977-06-15 GB GB25032/77A patent/GB1533833A/en not_active Expired
- 1977-06-21 CH CH757177A patent/CH620542A5/de not_active IP Right Cessation
- 1977-06-28 ES ES460165A patent/ES460165A1/es not_active Expired
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19611409A1 (de) * | 1996-03-22 | 1997-10-16 | Oce Printing Systems Gmbh | Verfahren und Schaltungsanordnung zum Ändern von Bilddaten |
DE19611409C2 (de) * | 1996-03-22 | 2001-01-04 | Oce Printing Systems Gmbh | Verfahren und Schaltungsanordnung zum Ändern von Bilddaten |
Also Published As
Publication number | Publication date |
---|---|
JPS5760671B2 (de) | 1982-12-21 |
FR2357000B1 (de) | 1980-07-11 |
FR2357000A1 (fr) | 1978-01-27 |
GB1533833A (en) | 1978-11-29 |
DE2725395C3 (de) | 1981-10-01 |
CH620542A5 (de) | 1980-11-28 |
ES460165A1 (es) | 1978-05-16 |
US4052699A (en) | 1977-10-04 |
JPS533743A (en) | 1978-01-13 |
DE2725395A1 (de) | 1978-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2725395C3 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge n | |
DE2521436C3 (de) | Informationswiedergewinnungsanordnung | |
DE4019135C2 (de) | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
DE2703578A1 (de) | Videospeicher | |
DE1956604B2 (de) | Datenverarbeitungsanlage | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE2264090B2 (de) | Datenverdichtung | |
DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
DE2735319A1 (de) | Schaltungsanordnung zur zusammenhaengenden codierung von zeichen und zur zeichendecodierung der ursprungszeichen | |
DE3406624C2 (de) | ||
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE3505314A1 (de) | Bitmusterwandler | |
DE2054941C2 (de) | Anordnung zur Auswahl von Datensätzen | |
DE2461651C3 (de) | Zählvorrichtung zum Zählen von Mustern | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE69729818T2 (de) | Sortier- und Mischprozessor und Sortier- und Mischprozessanlage | |
DE2826454A1 (de) | Faksimilesignal-codiersystem | |
DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
DE3039306A1 (de) | System zum empfang von seriellen daten | |
DE2142948A1 (de) | Verfahren und Konverter zur Konvertierung von Daten | |
DE2946633A1 (de) | Speichervorrichtung mit hochgeschwindigkeits-speicherzellenwaehleinrichtung | |
DE3341339A1 (de) | Befehlsfolgegenerator | |
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |