CH620542A5 - - Google Patents
Download PDFInfo
- Publication number
- CH620542A5 CH620542A5 CH757177A CH757177A CH620542A5 CH 620542 A5 CH620542 A5 CH 620542A5 CH 757177 A CH757177 A CH 757177A CH 757177 A CH757177 A CH 757177A CH 620542 A5 CH620542 A5 CH 620542A5
- Authority
- CH
- Switzerland
- Prior art keywords
- buffer memory
- bit
- words
- memory
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/602—Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
Die Erfindung betrifft eine Einrichtung zur Echtzeittransformation einer n • n Bitkonfiguration nach dem Oberbegriff des Anspruchs 1. Sie kann neben einer ganz allgemeinen Echtzeittransformation einer n • n Bitkonfiguration vor allem bei der Verarbeitung von Videodaten mit Erfolg verwendet werden.
Die heute gebräuchlichen Bildverarbeitungsverfahren, wie beispielsweise die optische Zeichenerkennung, arbeiten meist mit vertikal orientierten Segmenten eines abgetasteten Bildes, da die Lichtpunktabtaster im allgemeinen vertikal orientierte Bilddaten liefern. Neuere Abtastverfahren, die weniger aufwendig und auch zuverlässiger sind, da sie geringere Wartungsprobleme aufweisen, enthalten linienförmige 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 eine relative Bewegung erfolgt, ist oft rechtwinklig zur Orientierung des abgetasteten Bildes oder Zeichens, weshalb eine 90°-Drehung der Orientierung der gespeicherten Videodaten erforderlich ist, bevor weitere Schritte im Verarbeitungszyklus eingeleitet werden können.
Bekannte Vorschläge basieren darauf, die Videodaten mehrerer Abtastzeilen, die ein vollständiges Bild oder eine gesamte Zeichenzeile umfassen, zwischenzuspeichern und zu sammeln, 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, dass die Videobits aufeinanderfolgend seriell in mehrere Schieberegister geladen werden, die jeweils eine solche Kapazität haben, dass sie eine komplette Abtastzeile aufnehmen können. Wenn dann alle Register geladen sind, wird der Inhalt einer gegebenen Speicherstelle in jedem Register sequentiell ausgegeben. Ein Zugriff zu einer bestimmten Bitposition ist nur nach der vollständigen Durchführung einer solchen Anzahl von Verschiebungszyklen möglich, die notwendig ist, um den Inhalt der betrachteten Speicherstelle zu dem Ausgang des Schieberegisters zu transportieren. Ein selektives Zugreifen zu Bitpositionen ausserhalb 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 verfügen die heutigen Speicher mit wahlfreiem Zugriff über sehr kurze Zugriffszeiten. 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 von Bilddaten verwendet eine serielle Speicherung horizontaler Videodaten einer vollständigen Zeichenzeile in einem Speicher, der soviele Wortspeicherstellen aufweist, wie Abtastpunkte im Abtastsystem vorgesehen sind. Für diese Wörter muss viel Speicherraum vorgesehen sein, weil mehrere hori2
5
10
15
20
25
30
35
40
45
50
55
60
65
620542
zontale Abtastungen erforderlich sind, bis eine Zeile gedruckter Zeichen vollständig erfasst ist. Das parallele Auslesen des Speichers wird so durchgeführt, dass ein solcher Bitstrom zu der Auswerteschaltung geführt wird, der einem Datenstrom entspricht, der sich ergeben würde, wie wenn ein optischer s 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 gehal- 10 ten 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 15 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 Verarbei- 20 tung von Bilddaten 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 Patentanspruch 1 25 angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den abhängigen Patentansprüchen zu entnehmen.
Durch die vorliegende Erfindung wird der Vorteil erzielt, 30 dass die insbesondere bei der weiteren Verarbeitung von Videodaten oft erforderliche Drehung der Orientierungsrichtung der abgetasteten Videodaten mit einer solch hohen ' Geschwindigkeit durchgeführt werden kann, dass eine Echtzeitverarbeitung der anfallenden Videodaten erfolgt. Ferner 35 wird der an sich erforderliche hohe Aufwand an Speicherkapazität durch die Erfindung herabgesetzt und es werden die durch die erforderlichen Arbeitsspiele bedingten Verzögerungszeiten reduziert.
Im folgenden wird ein Ausführungsbeispiel der Erfindung *0 anhand der Zeichnungen näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild für die Erläuterung des erfin-dungsgemässen Konzepts,
Fig. 2 eine Darstellung der Hilfsspeicherbereiche,
Fig. 3 ein Blockschaltbild der Dreheinrichtung der Fig. 1, « Fig. 4 ein Blockschaltbild der Steuereinrichtung für den Hilfsspeicher der Fig. 2,
Fig. 5A ein Zeitdiagramm zur Erläuterung der Betriebsweise der Dreheinrichtung nach der Fig. 3 und
Fig. 5B einen vergrösserten Ausschnitt eines Abschnitts aus so der Fig. 5A.
Die horizontal abgetastete Bildmatrix 10 in Fig. 1 repräsentiert die seriellen Ausgangsdaten eines Abtasters, der beispielsweise bis zu 2048 Bits je Abtastung erzeugt. Der serielle Bitstrom 15 wird einer Drehrichtung 20 zugeführt, die Gegen- 55 stand der Erfindung ist und in sogenannter Echtzeit mit hoher Geschwindigkeit eine Transformation der horizontal orientierten Bits in vertikal orientierte Wörter 25 vornimmt. Diese vertikalen Wörter 25, die in einem externen Speicher gespeichert werden, sind hier als eine vertikale Bildmatrix 30 dargestellt. 60
Es sei in diesem Zusammenhange erwähnt, dass die Fig. 1 nur eine schematische Darstellung sein kann, da die Videodaten 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.
Für den Übergang der Bildinformation aus der horizontal abgetasteten Bildmatrix 10 in die vertikal orientierte Bildmatrix 30 ist eine Bilddrehung von 90° erforderlich. Zwischen den Bildmatrizen 10 und 30 besteht somit eine 1:1-Beziehung zwischen den entsprechenden Bitpositionen. Die in der Fig. 1 schematisch dargestellte Anordnung entwickelt also mit anderen Worten aus einer horizontal abgetasteten Vorlage zugreifbare Bilddaten so, als wenn diese Vorlage vertikal abgetastet worden wäre. Die abgegebenen Bilddaten sind dann Gegenstand weiterer Bildverärbeitungsschritte und entsprechender Einrichtungen. Grundsätzlich ist es möglich, die in der Fig. 1 dargestellte Anordnung in einer Technologie auszuführen, die höchste Integrationsdichten zulässt.
Für die Durchführung der Bilddrehung findet ein n« 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 Video-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 mit n Registern geladen. Der Verschiebevorgang wird immer dann eingeleitet, wenn der Umwandlungs-Schieberegisterblock völlig geladen ist. Die n vertikalen Ausgangswörter jedes Verschiebezyklus umfassen alle entsprechenden Bits jedes Wortes in der Spalte, so dass z. B. das erste herausgeschobene Wort alle Bits der Position 0 jedes Eingangswortes enthält.
Im folgenden Falle soll ein Byte ein Wort mit acht Bits bezeichnen. Es sind jedoch auch andere Bitlängen für andere Wortorganisationen möglich. Ausserdem bezieht sich die Beschreibung auf die Verwendung von Schieberegistern, obwohl es selbstverständlich auch möglich ist, äquivalente Schaltkreise zu verwenden, wie beispielsweise in zwei Koordinatenrichtungen ausführbare Speicheranordnungen.
Das Adressendrehschema geht deutlicher aus der Fig. 2 hervor. Der Speicher 40 enthält z. B. Speicherstellen für 2048 Bytes. Die Einrichtung besteht aus zwei derartigen Speichern.
Aus der Fig. 2 geht weiter hervor, dass der Speicher 40 so angeordnet ist, dass er über acht Zeilen und 256 Spalten verfügt. Jede Byteposition im Speicher ist mit Hilfe eines 11 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 dass 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, dass 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 Fig. 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 äus-sersten 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 schliesslich das Byte in der Speicherstelle 1792 zu dem Register 57 übertragen wird.
Wenn alle acht von oben ladbaren 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 äussersten 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
620542
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. Was den Datenfluss betrifft, 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-Schieberegi-sterblock 114, eingibt.
Die seriellen Videodaten des horizontal abgetasteten Bildes gelangen über die Leitung 110 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 Fig. 2 erläutert wurde. Die Adresse der entsprechenden Byte-Sp'eicher-stelle im Pufferspeicher A für den Empfang eines Bytes über die Leitung 116 wird über die Leitung 120 eingegeben.
Die Adresse der Byte-Speicherstelle für den Pufferspeicher B wird dagegen über die Leitung 124 eingegeben. Die Leitung 126 führt ein Signal, das Befehle angibt, wie «Schreibe Pufferspeicher A, lies Pufferspeicher B». In ähnlicher Weise überträgt auch die Leitung 128 ein Signal, das die Bedeutung «Schreibe Pufferspeicher B, lies Pufferspeicher A» 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 der Fig. 3 dargestellte Anordnung zeigt die Fig. 4. Die Impulse auf der Leitung 202 von einem (nicht dargestellten) Taktgenerator inkre-mentieren die Adresszähler 204 und 206 der Pufferspeicher. Jeder Adresszähler ist 11 stellig. Der Adresszähler 204 wird zur Ladung, der Adresszähler 206 dagegen zum Entleeren der Pufferspeicher A oder B verwendet.
Wenn der Adresszä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 «Schreibe A, lies B». Das von dieser Kippschaltung 208 auf der Leitung 128 erzeugte Signal hat dagegen die Bedeutung «Schreibe B, lies A». Die Pufferspeicherladeadresse vom Adresszähler 204 wird über die Leitung 210, die Pufferspeicherentleerungsadresse dagegen vom Adresszä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 B». Das UND-Tor 222 dagegen empfängt über die Leitung 212 die Adresse zum Leeren des Puffers und über die Leitung 128 das Signal «Schreibe B, lies A». Die Ausgangsleitungen der UND-Tore 220 und 222 sind mit einem ODER-Tor 225 verbunden, 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 B» 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 UND-Tore 226 und 227 sind zu dem ODER-Tor 230 geführt, dessen Ausgangsleitung 124 die Adresse zu dem Pufferspeicher B überträgt.
Die Leitung 235 führt die drei hochstelligen Bits des Adresszä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 Fig. 3 und 4 hervor. Es wird bei der folgenden Beschreibung der Betriebsweise angenommen, dass der Pufferspeicher A zuerst geladen wird. Die seriellen Videodaten gelangen über die Leitung 110 zu dem Serien-/Parallelwandler 112. Wenn acht Bits der Videodaten 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ässt.
In der Fig. 4 hat der 11 stellige Adressenvektor im Adresszähler 204 zur Ladung des Pufferspeichers seinen Maximalwert noch nicht erreicht, so dass 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 B» hat. Auf der Leitung 128 liegt dagegen kein Signal vor, dessen Bedeutung, wie bereits erwähnt wurde, «Schreibe Pufferspeicher B, lies Pufferspeicher A» ist Der 11 stellige Adressenvektor, der im Zähler 204 gebildet wird und die Adresse zum 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 Adresszähler 206 gebildet wird. Aufgrund der Tatsache, dass an der Leitung 126 ein Signal «Schreibe Pufferspeicher A, lies Pufferspeicher B» und an der Leitung 210 der Adressenvektor zum Laden des Pufferspeichers anliegen, entsteht am Ausgang des UND-Tores 220 auf dessen Ausgangsleitung ein Ausgangssignal. Da das Signal «Lies Pufferspeicher A, schreibe Pufferspeicher B» auf der Leitung 128 seinen niedrigen Pegelwert einnimmt, ist die Koinzidenzbedingung für das UND-Tor 222 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 des Pufferspeichers A geladen sind. Wenn dieses dann der Fall ist, erreicht der Adresszähler 204 seine maximale Zählstellung, so dass der nächste Taktimpuls ein Übertragssignal auf der Leitung 207 bewirkt, dass die Kippschaltung 208 umschaltet. Dieses wiederum bewirkt, dass 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.
Nun empfängt der Pufferspeicher B 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 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 B» auf der Leitung 126 seinen unteren Pegelwert einnimmt, ist auch die Koinzidenzbedingung für das UND-Tor 220 nicht erfüllt, so dass dieses Tor kein Ausgangssignal erzeugt. Das Signal «Lies Pufferspeicher A, schreibe Pufferspeicher B» auf der Leitung 128 und der Adressenvektor auf
4
5
10
15
20
25
30
35
40
45
50
55
60
65
5
der Leitung 212 zum Entleeren des Pufferspeichers sind jedoch vorhanden und gelangen zu dem UND-Tor 222, dessen Ausgangssignal zu dem ODER-Tor 225 übertragen wird. Daher ist das Ausgangssignal des ODER-Tores 225 auf der Leitung 120 der 11 stellige Adressenvektor für den Pufferspeicher A, wel- 5 eher Adressenvektor zum Adresszähler 206 erzeugt wird. Auch der Adresszähler 206 wird in der bereits im Zusammenhang mit Fig. 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 Adresszähler 206 io 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, dass das erste vom Pufferspeicher A ausgelesene Byte in das Ladeschieberegister 150 gelangt. Das 15 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 Steuer- 20 signale 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 über- 25 tragen 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 Adresszähler 204 angegeben werden. Da aber auf der Leitung 30 126 kein Signal mit der Bedeutung «Schreibe Pufferspeicher A, lies Pufferspeicher B» vorliegt, ist auch die Koinzidenzbedingung für das UND-Tor 226 nicht erfüllt, so dass dieses Tor kein Ausgangssignal liefert. Dagegen liegt aber das Signal «Schreibe Pufferspeicher B, lies Pufferspeicher A» auf der Lei- 35 tung 128 sowie die Ladepufferspeicheradresse auf der Leitung 210 vor, die am Eingang des UND-Tores 227 anliegen. Das Aus620542
gangssignal 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 Adresszä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 Videobytes 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 ZeitTi, 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 muss, 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 T2 ist etwa 3,3 Millisekunden bei einer Rate von 1,6 Mikrosekunden je Byte. Der Zeitabschnitt T2, der sogenannte Entleerungszyklus, ist ausführlich in Fig. 5B dargestellt. Er umfasst 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 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, dass eine Bildmanipulation oder -Verarbeitung in den meisten Anwendungsfällen eingeleitet wird, sobald die gedrehten Bilddaten aufzutreten beginnen.
G
3 Blatt Zeichnungen
Claims (5)
- 620542PATENTANSPRÜCHE1. Einrichtung zur Echtzeittransformation einer n • n Bitkonfiguration von n in Zeilenrichtung orientierten Wörtern in n in Spaltenrichtung orientierte Wörter, gekennzeichnet durch einen Serien-/Parallelwandler (112) zur Serien-/Parallelwand-lung der Eingangsdaten und Ausgabe derselben als parallele Wörter, weiter durch eine an diesen angeschlossenen Pufferspeicheranordnung (118,122) zur Zwischenspeicherung der parallelen Wörter, ferner durch eine Steuereinrichtung (Fig. 4) zum Laden der Pufferspeicheranordnung in einem ersten und zur Entleerung in einem zweiten Arbeitsspiel und schliesslich durch eine n*n Bitspeichermatrix (114), welche die beim Entleeren der Pufferspeicheranordnung erscheinenden n-Wörter in Orientierung nach der Zeilenrichtung aufnimmt und danach diese in Orientierung nach der Spaltenrichtung wieder ausgibt.
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Pufferspeicheranordnung (118,122) aus einer wort-adressierbaren Speichermatrix besteht und im ersten Arbeitsspiel in Zeilenrichtung bitseriell mit Daten gemäss einem Adressenwort geladen wird, das sich in einem ersten Adresszähler (204) befindet, wobei dieser Adresszähler aufwärts zählt und schliesslich im zweiten Arbeitsspiel derart entleert wird, dass in Spaltenrichtung die Daten bitseriell entnommen werden, gesteuert von einem Adressenwort eines zweiten Adresszählers (206), der abwärts zählt.
- 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, dass die Pufferspeicheranordnung aus einem ersten (118) und •einem zweiten Pufferspeicher (122) besteht, deren Speicherstellen jeweils in n-Zeilen und m-Spalten organisiert sind, wobei m ein ganzzahliges Vielfaches von n ist, und dass schliesslich die Steuereinrichtung (Fig. 4) aus folgenden Komponenten besteht: einer Kippschaltung (208) die, wenn der erste Adresszähler (204) seinen maximalen Zählwert erreicht, betätigt wird, um den Ladevorgang des ersten Pufferspeichers zu beenden und um das Entleeren des ersten Pufferspeichers und gleichzeitig das Laden des zweiten Pufferspeichers einzuleiten, einer ersten Torschaltungsanordnung mit zwei UND-Gliedern (220, 227), bei denen je ein Eingang mit dem ersten Adresszähler (204) und der andere Eingang des einen UND-Gliedes (220) mit dem einen Ausgang (126) und der andere Eingang des anderen UND-Gliedes (227) mit dem anderen Ausgang (128) der Kippschaltung verbunden ist, um diejenigen Speicherstellen in den Pufferspeichern anzugeben, welche Wörter vom Serien-/Paral-lelwandler empfangen sollen, einer zweiten Torschaltungsanordnung mit zwei UND-Gliedern (222,226), bei denen je ein Eingang mit dem zweiten Adresszähler (206) und der andere Eingang des einen UND-Gliedes (222) mit dem einen Ausgang (128) und der andere Eingang des anderen UND-Gliedes (226) mit dem anderen Ausgang (126) der Kippschaltung verbunden ist, um solche Speicherstellen in den Pufferspeichern anzugeben, aus denen die n • n Bitspeichermatrix (114) geladen werden soll und schliesslich einem Decodierer (240), der mit dem zweiten Adresszähler verbunden ist, damit die n • n Bitspeichermatrix selektiv Wörter aus den Pufferspeichern empfangen kann und das Auslesen nach jeweils dem vollständigen Laden der Bitspeichermatrix eingeleitet werden kann.
- 4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, dass der erste (118) und der zweite (122) Pufferspeicher jeweils 2048 Wörter, die in n = 8 Zeilen und m = 256 Spalten angeordnet sind, speichert, wobei der erste (204) und der zweite (206) Adresszä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 angeben und dass schliesslich die n • n Bitspeichermatrix (114) aus einem Block von acht achtstelligen Bitschieberegistern besteht, wobei 64 Bits als acht in Zeilenrichtung orientierte Wörter geladen und seriell als acht in Spaltenrichtung orientierte Wörter herausgeschoben werden.
- 5. Verwendung der Einrichtung nach den Ansprüchen 1 bis 4 in einem Echtzeit-Bildverarbeitungssystem, das eine wort-adressierbare Bildmatrix in einer Orientierung erfordert, die um 90° bezüglich der Orientierung der Eingangsvideodaten gedreht ist, dadurch gekennzeichnet, dass im Zuge der Verarbeitung von Videoeingangswörtern eine sukzessive Umorien-tierung der Daten in der genannten n-n Bitspeichermatrix (114) erfolgt
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 (1)
| Publication Number | Publication Date |
|---|---|
| CH620542A5 true CH620542A5 (de) | 1980-11-28 |
Family
ID=24817351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CH757177A CH620542A5 (de) | 1976-06-30 | 1977-06-21 |
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 (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1547119A (en) * | 1977-12-09 | 1979-06-06 | Ibm | Image rotation apparatus |
| US4426685A (en) | 1978-03-20 | 1984-01-17 | The United States Of America As Represented By The Secretary Of The Navy | Solid state delay device |
| 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 | ||
| DE3051213C2 (de) * | 1979-08-10 | 1992-06-25 | Canon Kk | Kopierger{t |
| US4562485A (en) * | 1979-08-10 | 1985-12-31 | Canon Kabushiki Kaisha | Copying apparatus |
| JPS5672783A (en) * | 1979-11-20 | 1981-06-17 | Nec Corp | Character recognition system of optical character reader |
| DE3177295T4 (de) * | 1980-04-11 | 1994-05-26 | Ampex | Vordezimierungsfilter für Bildveränderungssystem. |
| GB2158674B (en) * | 1981-04-10 | 1986-05-29 | Ampex | Television video signal processor |
| DE3177083D1 (en) * | 1981-04-10 | 1989-09-07 | Ampex | System for spatially transforming images |
| 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 |
| EP0597556B1 (de) * | 1985-12-13 | 2001-10-17 | Canon Kabushiki Kaisha | 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 |
| 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 |
|---|---|
| FR2357000A1 (fr) | 1978-01-27 |
| FR2357000B1 (de) | 1980-07-11 |
| JPS5760671B2 (de) | 1982-12-21 |
| GB1533833A (en) | 1978-11-29 |
| JPS533743A (en) | 1978-01-13 |
| ES460165A1 (es) | 1978-05-16 |
| US4052699A (en) | 1977-10-04 |
| DE2725395A1 (de) | 1978-01-05 |
| DE2725395C3 (de) | 1981-10-01 |
| DE2725395B2 (de) | 1980-10-30 |
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 | |
| DE4019135C2 (de) | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung | |
| DE69322998T2 (de) | Verfahren und Vorrichtung für die Umwandlung von Bilddaten in einem Printer | |
| DE2154106A1 (de) | Arbeitsspeicherwerk | |
| EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
| DE2523414A1 (de) | Hierarchische speicheranordnung | |
| DE1956604B2 (de) | Datenverarbeitungsanlage | |
| DE2844357A1 (de) | Speichererweiterung | |
| DE69332253T2 (de) | Dekodierschaltung für Huffman-Codes | |
| DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
| DE3852562T2 (de) | Datenschreibverfahren für EEPROM. | |
| DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
| DE1774052B1 (de) | Rechner | |
| DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
| DE69729818T2 (de) | Sortier- und Mischprozessor und Sortier- und Mischprozessanlage | |
| DE1296428B (de) | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern | |
| DE2729361A1 (de) | Speicherschaltung | |
| DE3039306A1 (de) | System zum empfang von seriellen daten | |
| DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
| DE1774849C3 (de) | Adressierungseinrichtung für eine Speicherabschnittkette | |
| DE2017879C3 (de) | Speicheranordnung mit freiem Zugriff | |
| DE1549454A1 (de) | Einrichtung zur abgerundeten Anzeige einer gespeicherten Zahl | |
| DE2946633A1 (de) | Speichervorrichtung mit hochgeschwindigkeits-speicherzellenwaehleinrichtung | |
| DE3341339A1 (de) | Befehlsfolgegenerator | |
| DE1474041C3 (de) | Anordnung zum Sortieren von in zufälliger Reihenfolge aufgenommener Informationsbit Gruppen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PL | Patent ceased | ||
| PL | Patent ceased |