CH620542A5 - - Google Patents

Download PDF

Info

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
Application number
CH757177A
Other languages
English (en)
Inventor
William Frank Micka
Thomas Scott Robinson
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of CH620542A5 publication Critical patent/CH620542A5/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof 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

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)

  1. 620542
    PATENTANSPRÜCHE
    1. 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. 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. 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. 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. 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
CH757177A 1976-06-30 1977-06-21 CH620542A5 (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 (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 (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
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
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
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
EP0582824A2 (de) * 1992-07-31 1994-02-16 E.I. Du Pont De Nemours And Company Orthogonale Umdrehung eines Bildes mittels Matrixtransponierung
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
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)

* 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
DE2725395C3 (de) 1981-10-01
ES460165A1 (es) 1978-05-16
GB1533833A (en) 1978-11-29
DE2725395B2 (de) 1980-10-30
US4052699A (en) 1977-10-04
FR2357000B1 (de) 1980-07-11
JPS533743A (en) 1978-01-13
DE2725395A1 (de) 1978-01-05
FR2357000A1 (fr) 1978-01-27
JPS5760671B2 (de) 1982-12-21

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
DE2154106A1 (de) Arbeitsspeicherwerk
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2523414A1 (de) Hierarchische speicheranordnung
DE2844357A1 (de) Speichererweiterung
DE69332253T2 (de) Dekodierschaltung für Huffman-Codes
DE2432608C3 (de) Speicheranordnung fur eine Datenverarbeitungseinrichtung
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE3852562T2 (de) Datenschreibverfahren für EEPROM.
DE2353635C2 (de) Vorrichtung zur Datenverarbeitung
DE1774052B1 (de) Rechner
DE69331027T2 (de) Drehungsschaltung für numerische Bilder
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
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
DE1549454A1 (de) Einrichtung zur abgerundeten Anzeige einer gespeicherten Zahl
DE2946633A1 (de) Speichervorrichtung mit hochgeschwindigkeits-speicherzellenwaehleinrichtung
DE2017879B2 (de) Speicheranordnung mit freiem Zugriff
DE1474041C3 (de) Anordnung zum Sortieren von in zufälliger Reihenfolge aufgenommener Informationsbit Gruppen

Legal Events

Date Code Title Description
PL Patent ceased