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 n

Info

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
Application number
DE2725395A
Other languages
English (en)
Other versions
DE2725395A1 (de
DE2725395B2 (de
Inventor
Thomas Scott Rochester Minn. Robinson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2725395A1 publication Critical patent/DE2725395A1/de
Publication of DE2725395B2 publication Critical patent/DE2725395B2/de
Application granted granted Critical
Publication of DE2725395C3 publication Critical patent/DE2725395C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T3/602Block rotation, e.g. by recursive reversing or rotating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T3/606Rotation by memory addressing or mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image 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
HilmttnmnArlAHton H<*i* ÄnnrHrmncr mn ^pripn./Paral-
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 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 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 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
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
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)

Patentansprüche:
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
DE2725395A 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 Expired DE2725395C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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