DE2725395C3 - 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 - Google Patents
Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge nInfo
- Publication number
- DE2725395C3 DE2725395C3 DE2725395A DE2725395A DE2725395C3 DE 2725395 C3 DE2725395 C3 DE 2725395C3 DE 2725395 A DE2725395 A DE 2725395A DE 2725395 A DE2725395 A DE 2725395A DE 2725395 C3 DE2725395 C3 DE 2725395C3
- Authority
- DE
- Germany
- Prior art keywords
- line
- buffer memory
- words
- address
- buffer
- 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
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
50 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ßlic! 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 v/erden.
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 η ■ /7-Bitkonfiguration vor
allem bei der Verarbeitung von Vidiodaten und Matrizenrechnungen mit Erfolg verwendet werden.
Die heute 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 V.diodaten 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 Zeichcnzeile 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
anuerem 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 Nächteil 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 verfügen die heutigen Speicher mit wahlfreiem
Zugriff über sehr schnelle Zugriffszeiten, und sie befinden sich mit den Schieberegisterspeichern in einem
Kostenwettbewerb (in dem die Speicher mit wahlfreiem 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 jedes 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 so 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 Orientierungsrichtung 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
der abgetasteten Vidiodaten mit einer solchen hohen Geschwindigkeit durchgeführt werden so
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 weren die
durch die erforderlichen Arbeitsspiele bedingten Ver- 5ί
zögerungszeiten reduziert.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der beiliegenden Figuren näher
beschrieben.
Es zeigt so
FI g, 1 ein Blockschaltbild der Erfindung,
F i g, 2 eine Darstellung der HilfsSpeicherbereiche,
Fig.3 ein Blockschaltbild der Dreheinrichfung in
Fig. 1.
Figi4 ein Blockschaltbild der Steuereinrichtung für
den Hilfsspeicher in F i g. 2,
Fig.5A ein Zeitdiägi'amm 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 F i g. 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 Wones ist die sich im vorliegenden Beispiel über 2048 Elemente
erstreckt.
Vom Übergang der Bildinformation .,s der horizontal
abgeiästcien Bildmatrix 10 in die ver'.ik?! 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.
Di" in Fig. 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 Bildda'en 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 η ■ η-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-Einsangs'vörtern
von ein^m Serien-/Parallelwandler geladen wird,
während gleichzeitig der andere Puffer spaltenweise Wor 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 is>
äquivalente Schaltkreirstrukturen zu verwenden, wie beispielsweise bidirektional adressierbare
Speicheranordnungen, wie sie durch die Anwendung der Technologie höchster Integrationsdichte
möglich sind.
Das Adres->endrehschema geht deutlicher aus Fig.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 zwei 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
II 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 Ö 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) d?s
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 Speichersteiie ο
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.
Fig. 3 zeigt eine detailliertere Darstellung der Anordnung. Bezüglich d'.*s Datenflusses, sind die
ielwandler HZ 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 110 zu dem
Serien-ZParallelwandler HZ der beispielsweise ein
achtstelliges Schieberegister sein kann. Der Byteausgang des Serijn-/Parallelwandlers 112 ist mit der
Leitung 116 verbunden und lädt alternierend die Pufferspeicher A, 118 oder B, I2Z 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 ί 16 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 Bv.. In
ähnlicher Weise überträgt auch die Leitung 128 ein Signal, das die Bedeutung »Schreibe-Pufferspeicher B,
fies Pufferspeicher A« hat Das entweder vom Pufferspeicher A oder B über die Leitung 134
ausgelesene Byte wird paraliel in das entsprechende der Ladeschieberegister 150 bis Ϊ57 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
lu Pufferspeicher, jeder Adreßzähler ist 11 stellig. 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
υ 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
2i) »Schreibe B, lies A«. Das von dieser Kippschaltung 208
auf der Leitung 128 erzeugte Signal hat dagegen die Bedeutung »Schreibe B, lies Au. Die Pufferspeicherladeadresse
vom Adreßzähler 204 wird über die Leitung 210, die Pufferspeicherentleerungsadresse dagegen vom
2r> Adreßzähler 206 über die Leitung 212 übertragen.
Das UND-Tor 220 empfängt über die Leitung 210 die Adres*.: zur Ladung des Puffers und über die Leitung
126 das Signal »Schreibe A, lies ß«. Das UND-Tor 222 dagegen empfängt über die Leitung 212 die Adresse
J" zum Leeren des Fuffers und über die Leitung 128 das
Signal »Schreibe B. lies A«. Die Ausgangsleitungen der
UND-Tore 220 und 222 werden zu einem ODER-Tor 225 übertragen, dessen Ausgangsleitung 120 die Adresse
überträgt, mit der der Pufferspeicher A angesteuert
■)■>
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 Bu und über die
Leitung 212 die Adresse zum Entleeren des Puffers
■<u zugeführt. Zu dem UND-Tor 227 wird über die Leitung
1?R Ha«; ^ianal »Srhreihe B. lies Au und über die Leitune
210 die Adresse zum Laden des Pufferspeichers übertragen. Die Ausgänge der UND-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 übertragt diese zu dem Decodierer 240, dessen
w Ausgangsleitungen 140 bis 147 diejenigen Lades.iiieberegister
150 bis 157 angeben, die ein Byte vom Pufferspeicher A oder B empfangen sollen.
Die Betriebsweise der Anordnung geht am deutlichsten aus den Fig.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-/Parallelwandler 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-ZParallelwandler
über die Leitung 116 verläßt
In Fig.3 hat der ilsteIHge Adressenvektor im
Adreßzähler 204 zur Ladung des Pufferspeichers seinen
<" Maximaiwert 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 B1 lies
Pufferspeicher Av., ist. Der 1 Isteilige Adressen vektor, der im Zähler 204 gebildet wird und die Adresse zum
Läden »fi*s Puffers ist, liegt an der Leitung 21Ö ah. 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 drjf Tatsache,
daß an der Leitung 126 ein Signal »Schreibe Pufferspeicher A, bis Pufferspeicher ß« und an der
Leitung 210 der Adressenvektor zum Laden des Pufferspeichers anliegen, entsteht am Ausgang des
UND-Tores 220 auf dessun Ausgangsleilung 223 ein Ausgangssignal. Da das Signal »Lies Pufferspeicher A,
schreibe Pufferspeicher ß« auf der Leitung 128 seinen njpiiriapn Ppgelwprt einnimmt, ist die Koinzidenzbedinfung
für das UND-Tor 22 nicht erfüllt, womit auch an seiner Ausgangsleitung kein Ausgangssignal auftritt.
Das Ausgangssigmil, 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
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 Übert' lgssignal auf der Leitung 207 bewirkt, das die
Kippschaltung 208 umschaltet. Dieses wiederum bewirkt, 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 Aa ist.
Nun empfängt der Pufferspeicher ßdie 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 Pufferspeichers
Λ, gleichzeitig mit den Schreibzykien 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
B« auf der Leitung 128 und der Adressenvektor auf der 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 llstellige
Adressenvektor für den Pufferspeicher A welcher Adressenvektor vom AdreBzä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 Ausgangsleitnng ί40 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 m das Ladeschieberegister 150 gelangt. Das Auslesen wird solange
fortgesetzt, bis alle acht Bytes der Spalte Β 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 Decodieren 240, der die entsprechenden Steuersignale auf die Leitungen 140 bis
147 überträgt. Wenn alle acht Ladeschieberiigister 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 Pufforspeieher
ß« 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 Au 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 Obertragssigrial 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 beüchriebene
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, crfuiucii ΰάό Li.cri;n izT Pufferspeicher eine beträchtlich kürzere Zeit als deren Laden. Die Zeit T\, 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
Die Lade- und Entleerungszeiten der Puffer müssen hierbei nicht notwendigerweise die gleiche Dauer haben. Wie Fig.5A zeigt, crfuiucii ΰάό Li.cri;n izT Pufferspeicher eine beträchtlich kürzere Zeit als deren Laden. Die Zeit T\, 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
so verfügbar gemacht werden können.
Die Zeit Ti ist diejenige Zeit, die erforderlich ist, um
2048 vertikal orientierte Bytes auszugeben. Die Dauer von Ti ist etwa 3,3 Millisekunden bei einer Räte von 1,6
Mikrosekunden je Byte. Der Zeitabschnitt %, 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 R
Am Ende eines Operations- oder Arbeitszyklus, ergibt sich eine Verzögerungszeit T2 bis das letzte gedrehte Byte für eine (externe) weitere Speicherung zur Verfügung steht
Am Ende eines Operations- oder Arbeitszyklus, ergibt sich eine Verzögerungszeit T2 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 Büdmanipulation oder -verarbeitung
in den meisten Anwendungsfällen eingeleitEit wird, sobald die gedrehten Bilddaten aufzutreten beginnen.
Hierzu 3 Blatt Zeichnungen
130240/273
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-Puffer- '"
speichermatrix (118; 122) mit π Zeilen zur Zwischenspeicherung
von m Wörtern je Zeile Obertragen werden, ferner durch eine Steuereinrichtung, die in
einem ersten Arbeitsspiel (T 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 bitparallel und wortseriell er'leert, in eine π ■ n-Bitspeichermatrix
(114) mit je emem Wort je Zeile einspeichert und. M
wenn der Ladevorgang beendet ist, die η ■ n-Bitipeichermatrix
spaltenweise ausliest und dabei η Wörter der Bitlänge η ausgibt, die gegenüber der
«rsprünglichen Konfiguration der Eingangsdaten ■m 90° gedreht sind.
2. Einrichtung nach Anspruch 1, dadurch gekennleichnet,
daß die Speicherstellen der η ■ m-Pufferipeiciiermatrix
(118; 122) im ersten Arbeitspiel (Ti) gemäß einem Adressenwort adressiert werden, das
lieh in einem ersten Adreßzähler (204) befindet, !0
wobei dieser, oeginnend mit seiner niedrigstelligen Position inkrementiert wird >nd schließlich im
tweiten Arbeitsspiel (T2) von einem Adressenwort in einem zweiten Adreßzähler (2>Γ Ί) 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 (126) 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 Speieherstellen in jenen
Pufferspeichern anzugeben, aus denen die
η · n-Bitspeichermatnx (114) geladen werden
soll und
~ einem Decodierer (240), der mit den niedrigstelll·
gen Stufen des zweiten Adreßzählers zur Adressier\''ig der ti · /j-Speichermatrix Verbunden
ist,
4. Einrichtung nach Anspruch 3, dadurch gekenn
40
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 DE2725395B2 (de) | 1980-10-30 |
DE2725395C3 true 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) |
Families Citing this family (55)
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 |
DE3051213C2 (de) * | 1979-08-10 | 1992-06-25 | Canon Kk | Kopierger{t |
JPS5672783A (en) * | 1979-11-20 | 1981-06-17 | Nec Corp | Character recognition system of optical character reader |
DE3177299T4 (de) * | 1980-04-11 | 1994-05-26 | Ampex | Bildverarbeitungssystem für räumliche Bildtransformation. |
GB2158674B (en) * | 1981-04-10 | 1986-05-29 | Ampex | Television video signal processor |
EP0076260B1 (de) * | 1981-04-10 | 1989-08-02 | Ampex Corporation | Gerät zur räumlichen transformation von bildern |
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 |
DE3418624A1 (de) * | 1983-05-19 | 1984-11-22 | Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka | Verfahren und einrichtung zur bilddatenverarbeitung unter anwendung von additions- und subtraktionsvorgaengen |
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 |
DE3650771D1 (de) * | 1985-12-13 | 2002-08-14 | Canon Kk | Bildverarbeitungsgerät |
JPS62256088A (ja) * | 1986-04-30 | 1987-11-07 | Toshiba Corp | 画像処理装置 |
JPS62256089A (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 |
SG47015A1 (en) * | 1994-02-24 | 1998-03-20 | 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 |
DE19611409C2 (de) * | 1996-03-22 | 2001-01-04 | Oce Printing Systems Gmbh | Verfahren und Schaltungsanordnung zum Ändern von Bilddaten |
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
Also Published As
Publication number | Publication date |
---|---|
DE2725395A1 (de) | 1978-01-05 |
FR2357000B1 (de) | 1980-07-11 |
JPS533743A (en) | 1978-01-13 |
GB1533833A (en) | 1978-11-29 |
JPS5760671B2 (de) | 1982-12-21 |
DE2725395B2 (de) | 1980-10-30 |
US4052699A (en) | 1977-10-04 |
FR2357000A1 (fr) | 1978-01-27 |
ES460165A1 (es) | 1978-05-16 |
CH620542A5 (de) | 1980-11-28 |
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 | |
DE2703578A1 (de) | Videospeicher | |
DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
DE2701328A1 (de) | Zeichengenerator | |
DE3406624C2 (de) | ||
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE3505314A1 (de) | Bitmusterwandler | |
DE2213953C3 (de) | Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes | |
DE2744321A1 (de) | Bildschirmgeraet | |
DE2234362C3 (de) | Einrichtung zur Verarbeitung digitaler Symbolinformation zur Darstellung von Texten auf einem Bildmonitor | |
DE2729361A1 (de) | Speicherschaltung | |
DE3603975A1 (de) | Software-programmierbare logikanordnung | |
DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE2946633A1 (de) | Speichervorrichtung mit hochgeschwindigkeits-speicherzellenwaehleinrichtung | |
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff | |
DE2325095C3 (de) | Anordnung zum Einschreiben der Koordinaten von auf dem Bildschirm eines Sichtgerätes darzustellenden Punkten | |
DE19743316C2 (de) | Cursorspeichervorrichtung | |
DE1474090B2 (de) | Datenverarbeitungsanlage | |
EP0108261B1 (de) | Logikanalysator | |
DE1474041C3 (de) | Anordnung zum Sortieren von in zufälliger Reihenfolge aufgenommener Informationsbit Gruppen | |
DE2538401C2 (de) | Verfahren und Anordnung zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer längeren Zeichenkette |
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 |