DE2536104C3 - Speicher für bildliche Darstellungen betreffende Daten - Google Patents
Speicher für bildliche Darstellungen betreffende DatenInfo
- Publication number
- DE2536104C3 DE2536104C3 DE2536104A DE2536104A DE2536104C3 DE 2536104 C3 DE2536104 C3 DE 2536104C3 DE 2536104 A DE2536104 A DE 2536104A DE 2536104 A DE2536104 A DE 2536104A DE 2536104 C3 DE2536104 C3 DE 2536104C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- matrix
- module
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
- Image Analysis (AREA)
Description
Die Erfindung betrifft einen Speicher nach dem Oberbegriff des Patentanspruchs 1.
In der Bildverarbeitung ist es zweckmäßig, selektiven Zugriff auch zu einzelnen Bildbereichen zu haben, die
zellenförmige oder rechteckige Ausschnitte aus einem größeren Bereich sind. Zur Bildspeicherung müssen
viele Rilrlpiinkte gespeichert werden, wohei ieHorh 711
beachten ist, daß die verfügbaren Speichereinrichtungen mit großer Speicherkapazität wortorganisiert
aufgebaut sind. Die Zugriffseinrichtungen eines derartigen Speichers sind deshaib nicht in der Lage,
Adi essenumrechungen in der Weise vorzunehmen, daß ein gleichzeitiger Zugriff zu Bereichen möglich wird,
deren Daten in verschiedenen Wörtern gespeichert sind. Ein digitales Bild besteht aus einer zweidimensionalen
Matrix von Bildpunkten, deren jede eine ganze Zahl oder eine Gruppe solcher ganzen Zahlen
. verkörpert. Bildverarbeitung schließt auch die Fähigkeit ein, eine Matrix von Bildpunkten in einem Speicher zu
speichern und selektiv mit solchen Daten gleichzeitig zu arbeiten, die zu einem Bildbereich gehören. Solch ein
Bildbereich, der gleichzeitig verarbeitet werden kann, enthält beispielsweise eine Folge von Punkten aus einer
Zeile der Matrix oder Punkte innerhalb einer kleinen rechteckigen Untermatrix. Die Speichereinrichtung
muß daher den gleichzeitigen Zugriff zu einer ganzen Gruppe von Bildpunkten in einem Speicherzyklus
erlauben. In einer bitorganisierten Speichereinrichtung würde dies zwar kein Problem bedeuten, jedoch würde
die Verwendung einer rein bitorientierten Speichereinrichtung eine viel zu lange Zugriffszeit bedeuten.
Bekannte wortorganisierte Speichereinrichtungen mit wahlfreiem Zugriff bestehen gewöhnlich aus einer
Vielzahl von Speichermoduln, wobei jeder Speichermodul eine Speichereinrichtung für sich ist mit einer
Vielzahl von Speicherzellen, die beliebig ansteuerbar sind. Obwohl jede Speicherzelle einen Bildpunkt als
Binärwert speichern kann, ist der Zugriff zu einem Zeitpunkt zum Einschreiben oder Auslesen der Information
nur in einer Speicherzelle eines Moduls möglich. Die Zugriffseinrichtung eines bekannten wortorgani-
.15 sierten Speichers verwendet die Adresse einer
Speicherzelle, um gleichzeitig die so adressierten Speicherzellen mit gleicher Adresse in allen Speichermoduln
parallel anzusteuern. Diese Speicherzellen zusammen bilden ein sogenanntes Speicherwort, wo·
-ίο durch eine solche Speichereinrichtung nur den gleichzeitigen
Zugriff zu Bildpunkten ermöglicht, die im gleichen Speicherwort gespeichert sind.
Ein digitales Bild kann durch eine Matrix von MxN
Bildpunkten / (*, *) dargestellt werden, wobei jeder Bildpunkt l(i,j)'m den KoordonatenbereichenO^/sM
und O<y</Veine ganze Zahl oder eine Gruppe solcher
Zahlen ist, die die Farbe und die Intensität eines solchen Teiles des Bildes verkörpert. Der Einfachheit halber
werden nur Schwarz-Weiß-Bilder betrachtet, für die l(i,
j) ein einzelnes Informationsbit ist. Beispielsweise verkörpert / (i, j) = 1 einen schwarzen Bildpunkt / (i,
J) = O einen weißen Bildpunkt.
Zu verarbeitende Bilder können beispielsweise durch optisches Abtasten von Vorlagen im DIN-A4-Format
ss gewonnen werden. Die so gewonnenen digitalen Bilder
können dann gespeichert, übertragen und gedruckt werden oder auf dem Bildschirm eines optischen
Ausgabegeräts angezeigt werden. Da die meisten Abtastgeräte und Drucker ein Bild von oben nach unten
ho und von links nach rechts verarbeiten, werden
gewöhnlich die Bilder in einem Zeilenraster in der Hauptzeilenfolge übertragen:
/(0,0), /(0, 1) /(0, N- 1), /(1,0) /(M-I, N- 1).
Eine Speichereinrichtung für die Bildverarbeitung sollte
fis daher mindestens den Zugriff zu einer Anzahl
benachbarter Bildpunkte / (*, *) einer einzelnen Zeile gleichzeitig erlauben. Nur dann ist eine schnelle
Übertragung ganzer Rüder für die Bildverarbeitung
möglich.
Durch die USA.-Patentschrift 35 31 757 ist eine Speichereinrichtung bekannt, bei der zweidimensionale
Felder von Informationswerten in einem einzigen Zugriff ausgelesen werden können. Diese Speichereinrichtung
enthält neben den Adressicrungsschaltungen auch einen Adressenumrechner, die beide innerhalb
eines Speicherzyklus durch nur einen Zugriff das gemeinsame Speichern oder Auslesen von Daten, die in
zweidimen-jonalen Feldern angeordnet sind, ermöglichen. Obwohl nun hier gezeigt ist, daß man innerhalb
eines Speichers zweidimensionale Felder speichern kann und diese auch durch geeignete Adressierungsschaltungen auslesen kann, hat dieser Speicher jedoch
de:n Nachteil, daß die gezeigte Ansteuerung der zweidimensionalen Felder zwar für eine Magnetkernspeichervorrichtung,
wie in der genannten USA.-Patfcfitschrift gezeigt, vorteilhaft ist, jedoch für Halbleiterspeicher
die konsequent in Modultechnik aufgebaut sind, große schaltungstechnische Nachteile bringt. Diese
liegen vor allem darin, daß nach der USA.-Patentschrift jedem Speicher getrennte Register, nämlich das k- und
da.s /-Register zugeordnet sind.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Speichereinrichtung in Modultechnik für bildliche
Darstellung betreffende Daten zu schaffen, die gleichzeitigen
Zugriff zu rechteckigen Blöcken vor. gespeicherten Bildpunkten ermöglicht und außerdem den
Zugriff sowohl zu horizontalen Folgen von Bildpunkten als auch zu bestimmten rechteckigen Bereichen
(Untermatrizen) von Bildpunkten, wobei die einzelnen Speichermoduln ohne Register ausgeführt sein sollen.
Die erfindungsgemöße Lösung ergibt sich aus dem Kennzeichen des Patentanspruchs 1.
Die beschriebene Speichereinrichtung ermöglicht einen konsequenten Aufbau in der modernen Modultechnik
für Halbleiterspeicher, ohne daß in den Moduln ein besonderer Registeraufwand getrieben wird. Der
Speicher erlaubt trotzdem gleichzeitigen Zugriff zu rechteckigen Blöcken von Bildpunkten, und es ist
außerdem möglich, Blöcke in die gespeicherten Felder einzufügen bzw. zu entnehmen. Damit ist eine
Organisation für einen Speicher für flächenhafte Bildpunktspeicherung geschaffen worden, der aus
besonders einfach strukturierten und gleichstrukturiertem Halbleiterspeichermoduln aufgebaut ist.
Die Erfindung wird anhand eines Ausführungsbeispiels mit Hilfe der Zeichnungen näher beschrieben.
F i g. 1 zeigt den Systemaufbau einer wortorganisierten Speichereinrichtung, welche gemäß der Erfindung
modifiziert ist;
F i g. 2A und 2B veranschaulichen die Zuordnung der Speichermoduln und der Adressen für den Fall, daß
ρ = 4, q = 4, r = 4 und 5 = 8;
F i g. 3 zeigt schematisch Einzelheiten der Zugriffseinrichtung;
F i g. 4, 5 und 6 zeigen Verknüpfungsschaltungen, die in der Zugriffseinrichtung nach F i g. 3 verwendet
werden;
F i g. 7, 8 und 9 zeigen Verknüpfungsschaltungen, die in der Leitwegsteuerung nach F i g. 1 gebraucht werden.
Fig. 1 zeigt schematisch den Systemaufbau der modifizierten Speichereinrichtung. Die Schaltung enthält
eine Anzahl pq von Speichermoduln, von denen die Moduln 21, 23 und 25 für die Modul-Nummer 0,1 und
pq— 1 dargestellt sind. Jeder Modul kann rs Bildpunkte speichern, was bei diesem Ausführungsbeispiel rs
Inlormationsbits entspricht. Die Adressensteuerung 7 ermöglicht diesen Speichermoduln, eine rp χ sp Matrix
von Bildpunkten / (*, *) zu speichern und irgendeine Untermatrix der Form 1 χ pq oder ρ χ ρ von
Bildpunkten für den Zugriff anzusteuern. Ein Datenregi-
> ster 39 kann irgendeine Untermatrix mit pq Elementen
aufnehmen, bevor die Information gespeichert wird oder nachdem die Bildinformation aus den Speichermoduln
ausgelesen wurde. Ferner sind Uinordungsschaltungen 47 und 49 vorgesehen, welche das Umordnen
ίο von binären Daten ermöglichen. In Verbindung mit der
vorliegenden Erfindung dienen die Umordnungsschaltungen 47 und 49 dazu, Untermatrizen zyklisch nach
rechts bzw. nach links zu vertauschen. Diese Schaltungen leiten die Elemente der Untermatrizen zu den
is entsprechenden Speichermoduln für das Einspeichern
bzw. aus diesen heraus für das Auslesen. Die Steuereinrichtungen für die Umordnungsschaltungen
befinden sich in der Adressensteuerung 7 und sind über den Datenweg 15 damit verbunden.
zo Wenn eine Untermatrix gespeichert werden soll, wird
zunächst das /-Register 1 auf einen der Werte t = 0 oder t = 1 gesetzt, um anzuzeigen, ob die Gestalt der
Untermatrix 1 χ pq oder ρ χ gist. Das/-Register 3 und
das/Register 5 werden gesetzt, um die Koordinaten des
^5 Elementes / (i, j) oben links in der Untermatrix
anzugeben. Die Untermatrix selbst wird in das Datenregister 39 in der Hauptzeilenfolge abgespeichert,
so daß das Element I (i,j) s\ch in der am weitesten links
befindlichen Position des Registers befindet. Ausgehend von den Werten für r, /und j erzeugt der Steuerteil der
Adressensteuerung 7 ein Steuersignal auf der Leitung 15, welches die Umordnungsschaltung 47 veranlaßt,
jedes Element der Untermatrix über die Leitungen 27, 31 und 35 zu dem Speichermodul zu leiten, in welchem
es gespeichert werden soll. Der Adressenteil der Adressensteuerung 7 berechnet seine Speichersteiie
innerhalb des Moduls. Ein Schreibsignal von einer externen Lese/Schreib-Steuerung 17 bewirkt schließlich,
daß die pq Elemente der Untermatrix gleichzeitig in den verschiedenen Speichermoduln gespeichert werden.
Wenn eine spezielle Untermatrix aus der Speichereinrichtung ausgelesen werden soll, werden die Register
1, 3 und 5 in gleicher Weise geladen wie oben beschrieben, um die Gestalt der Untermatrix zu
bezeichnen und die Koordinaten ihres ersten Elementes in der oberen linken Ecke. Der Adressenteil der
Adressensteuerung 7 benutzt die Werte von t, /und j, um für jeden Speichermodul die Speicherstelle des einzelnen
Elementes der Untermatrix zu berechnen, welches dieser Modul enthält. Nach Ausführung dieser Berechnungen
veranlaßt ein Lesesignal von der Lese/Schreib-Steuerung 17, daß die pq-Elemente der Ur.termatrix aus
den Speichermoduln entnommen werden und durch die Umordnungsschaltung 49 über die Leitungen 51,53 und
55 zum Datenregister 39 geleitet werden. Der Steuerteil der Adressensteuerung 7 erzeugt auf der Leitung 15 ein
Steuersignal, welches die Umordnungsschaltung 49 veranlaßt, die Elemente der Untermatrix in die
Hauptzeilenfolge umzuordnen, so daß das Element I(i,j) in die äußerste linke Position des Datenregisters 39
geleitet wird.
Immer wenn die eine Untermatrix von Bildpunkten / (*, *) der Gestalt 1 χ pq oder ρ χ q in die
fts Speichereinrichtung gespeichert oder aus ihr ausgelesen
werden soll, dann muß der Adressenteil der Adressensteuerung 7 für den Bereich O
<k<pq die Speicherstelle / (i. i. k. t) der einzelnen Elemente e (i. i. k. t) der
Untermatrix berechnen, die im ir-ten Speichermodul entweder vorhanden sind oder in ihn eingeschrieben
werden sollen. Der Steuerteil der Adressensteuerung 7 muß in Zusammenarbeit mit den Umordnungsschaltungen
47 und 49 dafür sorgen, daß jedes Element e(i,j, k, t) in die entsprechende Bitposition des Datenregisters 39
geleitet wird oder aus ihm entnommen wird. Die Tabelle stellt schematisch die notwendigen Schritte zur
Berechnung der Adresse und der Form des Leitwegs zusammen, um den Zugrift zu dem obersten linken
Element der Untermatrix oder dem Bildpunkt I (i,j) zu ermöglichen. Die Abgabe des Leitwegs bezeichnet,
welche der pq Bitpositionen d(0), d(\) d(pq— I) des
Datenregisters 39 die Information eines Elementes c(i,j, k, ^empfangen oder senden soll.
Gestalt der ι
Untermatrix
Untermatrix
Berechnung der Adresse
Hrlorderlicher Leitweg
M(Lj)= (iq+j)llpq
iff/../, k) = \k-M(Uj)\llpq
Ki../, k. t) = (i/p)s + [/ + ad.j. k)]/q
M(Uj) = (iq+j)/lpq
ü(i,./, AJ = [A- - M(U jftllpq
Ki../, A, I) = [0 + g(U ./. k)lq)lp\s + (i + k(U ./. k)lllq)lq
cd.j. A.
cd.j. k. i)*-*il[ii(U i. Aj]
Beispiele von Schaltkreisen für die Ausführung dieser Adressenberechnungen und Leitwegsteuerungen sind in ,?
den Fig.3 bis 9 dargestellt und werden unten ausführlich beschrieben. Diese Schaltungen sind nur
Ausführungsbeispiele, denn auch andere Arten von Schaltkreisen sind möglich, welche die gleichen
Berechnungen beispielsweise durch Tabellensuche leisten.
Die Speichereinrichtung nach der Erfindung soll eine rp χ sq Matrix von Bildpunkten / (*, *) speichern
können, wobei die Koordinaten der Bildpunkte I (i. j) in Bereichen 0</<rpund 0<j<sq liegen. Weiter soll die
Speichereinrichtung das Bild in einer Weise speichern können, daß Zugriff zu Bildpunkten / (*, *) in
Untermatrizen der Form 1 χ pqoderp χ qmöglich ist.
Wenn die Speichereinrichtung nach Fig. 1 eine Bildmatrix / (*, *) speichern soll, dann ist es für jeden
Bildpunkt / (i. j) notwendig zu bestimmen, welcher der pq Modulen 21, 23 oder 25 die Information / (i. j)
speichern soll. Es wurde festgestellt, daß die Aufteilung
der Bildpunkte auf die einzelnen mit 0, 1 pq— 1
bezeichneten Speichermoduln nach Fig. 1 kurz und
bündig mit einer ganzzahligen Modul-Zuordnungsfunktion M(i, j) beschrieben werden kann. Für irgendwelche
ganze Zahlen / und j in den Bereichen 0<i<rp und
0<j<sp liegt der Wert dieser Modul-Zuordnungsfunktion
M(I j)\m Bereich 0< M(i, j)
<pq. Jeder Bildpunkt / (ij)'isl dann im M-ten Speichermodul gespeichert.
Wenn die Speichereinrichtung nach F i g. 1 eine Bildmatrix /(*, *) in einer Weise speichern soll, daß der
gleichzeitige Zugriff zu pq Bildpunkten in irgendeiner Untermatrix der Gestalt 1 χ pq möglich sein soll, dann
müssen diese Bildpunkte in verschiedenen Speichermoduln gespeichert sein. Das ist deshalb, weil zu einem
gegebenen Zeitpunkt nur eine Speicherzelle jedes Speichermoduls angesteuert werden kann. Das gleiche
gilt für den Fall, daß die Untermatrix die Gestalt von ρ χ q Elementen hat.
Es wurde unerwarteterweise herausgefunden, daß die genannte Bedingung des Speichers von pq Bildpunkten
jeder Untermatrix der Gestalt 1 χ pq oder ρ χ q in
verschiedenen Speichermoduln dann erfüllt ist, wenn die Modul-Zuordnungsfunktion die Form hat: M (i,
j) = (iq + jy/pq, wobei der Wert (iq + j)//pq den Rest
der ganzzahligen Division der Größe (iq + j) durch die
Größe pq hat. Dann ist der gleichzeitige Zugriff zu pq Bildpunkten in den gewünschten Untermatrizen möglich.
In der Fig.2A ist die Modul-Zuordnungsfunktion M
(i, j) = (iq + j)//pq für den Fall dargestellt, daß die Entwurfgrößen ρ = q — r = 4 und s = 8 sind. Die
Hexadezimalzahl in der Stelle j der /-ten Zeile der 16 χ 32 Matrix der Fig.2A bezeichnet den Speichermodul
M (i, j) zum Speichern des Bildpunktes i (i, j).
Beispielsweise bedeutet der mit einem Kreis versehene Eintrag D in der 5-ten Stelle der 6-ten Zeile die
hexadezimale Schreibweise für die Dezimalzahl 13. Das
bedeutet, daß der Bildpunkt /(6,5) im 13-ten Modul gespeichert wird. Das kann gerechnet werden als M
(Lj)=M {6,5) = (iq+j)// ρ<7=(6χ4 + 5)//4χ4 =
29//16 = 13.
Man kann aus der F i g. 2A ersehen, daß die pq = 16
Bildpunkte in jeder Untermatrix der Form 1 χ pq = 1 χ 16 in verschiedenen Speichermoduln
gespeichert werden. Die als Beispiel in der Figur durch Einrahmen markierte horizontale Folge zeigt, daß die
Bildpunkte /(6,13), /(6, 14),..., /(6,28) in den Moduln 5
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4 gespeichert werden. Man kann ebenfalls der F i g. 2A entnehmen
daß die pq = 16 Bildpunkte irgendeiner ρ χ q = 4 χ 4
Untermatrix in verschiedenen Speichermoduln gespeichert werden. Der als Beispiel in der Figur markierte
4x4 Block zeigt die Modul-Zuordnung der 4x4
Untermatrix, deren erstes Element links oben dei Bildpunkt/(9,6) ist.
Die Modul-Zuordnungsfunktion M (i,j) ordnet jederr der rs Bildpunkte einen der pq Speichermoduln zu, ohn«
jedoch die spezielle Speicherstelle oder Speicherzelle anzugeben, in welche die Bildpunkie gespeicher
werden sollen. Es wurde unerwarteterweise herausge funden, daß die Bildpunkte in passenden Speicherzellei
A (i, j) der Speichermoduln M (i, j) gespeichert werdei
könnten, wenn die entsprechende Zuordnungsfunktioi in folgender Weise abgewandelt wird: A (i, j) =(i/p)±
+ (j/q)· wobei i/p und j/q ganzzahlige Quotienten sind
In der Fig.2B ist die Adressen-Zuordnungsfunktioi
A (i, j) für den Fall dargestellt, daß ρ = q = r = 4 um
5=8 sind. Die Dezimalzahl in jedem ρ χ q = 4 χ <
Block zeigt die Adresse der zugehörigen pq = 1 < Bildpunkte. Beispielsweise fällt die 5-te Stelle der 6-tei
Zeile in den Block mit der Dezimalzahl 9. Das bedeutet, daß der Bildpunkt /(6,5) in der 9-ten Speicherzelle des
Speichermoduls M (6, 5) zu speichern ist. Das kann berechnet werden als A (i, j) = A (6, 5) = (6/4
8 + (5/4) = (1)8 + (1) = 9.
Adressenberechnung
Wenn ein Zugriff zum Lesen oder Schreiben zu einer Untermatrix der Form 1 χ pq oder ρ χ q erfolgen soll,
dann muß der Adressenberechnungsteil der Adressensteuerung 7 in Fig. 1 für den Bereich 0>k<pq die
Adresse des einzelnen Bildpunktes berechnen, der in λ-ten Speichermodul zu speichern ist.
Algebraisch kann das so ausgedrückt werden, daß wenn das Element oben links der gewünschten 1 χ pq
oder ρ χ ς Untermatrix der Bildpunkt / (i, j) ist und
wenn die Boolesche Variable t auf einen der Werte f = 0 oder t = 1 gesetzt ist, um anzuzeigen, ob der
Zugriff zu einer Untermatrix der Form 1 χ pq oder ρ χ q erfolgen soll, dann kann die zuberechnende
Adresse für den Modul k in der Form / (i, j, k, t) geschrieben werden. Die Form dieser Adressenfunktion
ist in der Tabelle verzeichnet. Sie kann in folgender Weise verifiziert werden.
Es sei angenommen, daß der Zugriff zu einer Untermatrix der Form 1 χ pq erwünscht ist, so daß
f = 0 ist. Die Modul-Zuordnungsfunktion M (i, j) = (iq + jy/pq stellt sicher, daß der Modul Jt einen de:
erwünschten Bildpunkte / (i, j), I (i, j + 1), .., / (i, j
+ pq — 1) speichert Das ist dem gleichwertig, daß der Modul k den Bildpunkt / (i, j + b) speichert, wobei b
eine ganze Zahl im Bereich 0< b<pq ist. Cz Aufteilung
der Bildpunkte auf die Speichermoduln stellt sicher, daß der Bildpunkt / (i, j + b) in der Adresse A (i,
j + b) = (i/p) s + (j + b)/q des Speichermoduls M (i,
j + b) = (iq + j + b)//pq gespeichert wird. Daraus folgt, daß Jt - M (i, j + b) und / (i, j. k, t) = A (i, j + b)
Diese Beziehungen können benutzt werden, um zu zeigen, daß b = M[(i. j + b — iq — j)]//
pq = [k■ - iq - j]//pq- Wir setzen g (i, j, k) = (k — iq — j)//pq und schließen daraus, daß b = g
(i, j, k) und im Falle, daß / = 0, ist / (i, j, k, t) = A (i,
j + b) = (i/p) s + (j + b)/ q = (i/p) s+[j + g (i, j,
Es sei nun angenommen, daß der Zugriff zu einer Untermatrix ρ x q erfolgen soll. In diesem Falle ist
f = 1. Als Konsequenz der Modul-Zuordnungsfunktion M (i, j) speichert der Modul Ar einen der erwünschten
Bildpunkte I(i,j),l(i,j + 1),.., l(i,j + q - 1), l(i + 1,
j), .., / (i + ρ — 1, j + g — 1). In äquivalenter Form
bedeutet das, daß der Modul k den Bildpunkt I (i + a, j τ- b) speichert, wobei die ganzen Zahlen a und b in den
Bereichen 0< a<p und 0<b<q liegen. Die Verteilung
der Bildpunkte unter die Speichermoduln stellt jedoch sicher, daß der Bildpunkt I(i + a,j + b)&n eine Adresse
A(i + a,j fb)= [(i + a)/p]s + (j + fyq des Moduls
M (i + a, j + b) = (iq + aq + j + b)//pq gespeichert
wird. Daraus folgt deshalb, daß k = M(i + a,j + b)und
I (i, j, k, t) — A (i + a, j + b) ist Diese Beziehungen
können dazu benutzt werden, zu zeigen, daß aq + b- [M (i + a,j + b) - iq - j]//pq =
(k- iq - jy/pq. Wir setzen g (i, j, k) = (Ic — iq — jy/pq und schließen, daß a = g(i,j, k)/q
und b = g (i, j, ky/q, so daß im Falle f = 1 die Speicherstellen-Zuordnung / (i, j, k, X) = A (i + a,
j + b)" [(i + aypjs + (j+ byq = [i + g(i.j, kyq)/p] s+ 0+ g(i,j,ky/qyqw\ra.
Leitwegsteuerung
Immer wenn eine Untermatrix der Form 1 χ pqoder
ρ χ q der Bildmatrix /(*, *) in die Speichereinrichtung
'der Fig. 1 geschrieben wird oder aus ihr gelesen, empfängt oder sendet jeder Speichermodul 21, 23 und
25 ein einzelnes Element der Untermatrix. Entsprechend leitet die Umordnungsschaltung 47 die Elemente
dieser Untermatrix aus dem Datenregister 39 in die
ίο Speichermoduln für Schreiboperationen. Entsprechend
leitet die Umordnungsschaltung 49 die Elemente der Untermatrix aus den Speichermoduln heraus in das
Datenregister für Leseoperationen. Die Arbeitsweise der Umordnungsschaltungen 47 und 49 wird durch
is Signale auf den Leitungen 15 gesteuert, «veiehe durch
den Steuerteil der Adressensteuerung 7 geliefert werden.
In algebraischer Schreibweise bedeutet das, daß das erste Element oben links der Untermatrix der Form
1 χ pq oder ρ χ q der Bildpunkt l(i,j)isl,zu welchem
der Zugriff erfolgt. Die Boolesche Variable t wird auf einen der Werte t — 0 oder t = 1 gesetzt, um
anzugeben, ob der Zugriff zu einer Untermatrix der Form 1 χ pq oder ρ χ q erfolgen soll. Das einzelne
:s Element der Untermatrix des Moduls k kann mit e(i, j, k,
t) bezeichnet werden. Dieses Element muß zu einer oder aus einer der pq Bitpositionen d(0), d(\),..^ d(pq - 1)
des Datenregisters geleitet werden, wie in der Tabelle 1 angegeben.
Es werde angenommen, daß der Zugriff zu einer Untermatrix der Form 1 χ pq erfolgt, so daß t = 0 ist.
Da das Datenregister die Information in der Hauptzeilenfolge enthält, sollte das Element / (i, j + b) der
Untermatrix in die Bitposition d (b) des Datenregisters geleitet werden oder aus ihr entnommen. Wie im letzte
Abschnitt beschrieben, wird der Bildpunkt I (i,j + b)\n dem Speichermodul k gespeichert, wobei die ganzen Zahlen k und b nach der Formel b = (k - ig - jy/pq = g(i,j, /^miteinander verknüpft sind. Deshalb wird das einzelne Element der 1 χ pq Untermatrix, das aus dem Modul k entnommen werden soll, nämlich / (i, j + b) = e (i,j, k, t) in die Bitposition dfb) = d[g(i,j, k)J des Datenregisters geleitet bzw. aus dieser Position im Falle des Einspeicherns entnommen.
Abschnitt beschrieben, wird der Bildpunkt I (i,j + b)\n dem Speichermodul k gespeichert, wobei die ganzen Zahlen k und b nach der Formel b = (k - ig - jy/pq = g(i,j, /^miteinander verknüpft sind. Deshalb wird das einzelne Element der 1 χ pq Untermatrix, das aus dem Modul k entnommen werden soll, nämlich / (i, j + b) = e (i,j, k, t) in die Bitposition dfb) = d[g(i,j, k)J des Datenregisters geleitet bzw. aus dieser Position im Falle des Einspeicherns entnommen.
Nun sei angenommen, daß der Zugriff zu einer ρ + q Untermatrix erfolger soll, so daß t = 1 ist. Da die
Untermatrix in der Hauptzeilenfolge im Datenregister gespeichert wird, muß das Element / (i + a, j + b) der
Untermatrix von oder zur Bitposition d (aq + b) des Datenregisters geleitet werden. Wie oben beschrieben,
wird der Bildpunkt I(i + a,j + b) in dem Speichermodul
k gespeichert, wobei k mit den Größen a und b
gemäß der Formel aq + b -> (k — iq — jy/pq = g (i, j,
k) verknüpft ist Deshalb wird das einzelne Element der ρ x q Untermatrix, das vom Modul k ausgelesen oder in
ihn eingespeichert werden soll, nämlich / (i + a, j + b)ü = e (i, j, k, t) von oder zu der Bitposition d
(aq + b) *= d[g(ij,k)]des Datenregisters geleitet
^0 Schaltkreise
Die F i g. 3 zeigt eine schematische Übersicht der für die Adressensteuerung 7 nach Fig. 1 notwendigen
Schaltkreise. Die pq Speichermoduln 21,23 bis 25 sind in ρ Zeilen mit je q Moduln angeordnet Die Adressensteuerung
enthält eine Anzahl von Baueinheiten, nämlich eine einzelne Grundsteuerung 51, ρ gleichartig
aufgebaute Zeilensteuerungen 53,55 bis 57, je eine für jede Zeile von Speichermoduln, und pq gleichartig
aufgebaute Modulsteuerungen 59, 61 bis 63, je eine für jeden Speichermodul.
Die Grundsteuerung 51 verarbeitet die von den Registern 1, 3 und 5 gelieferten Signale für die Gestalt
der Untermatrix t und die Anfangskoordinaten des ersten Bildeiementes /und/ um daraus die Größen M(i,
j), R und Iv (0), Iv (1) Iv (q - 1) zu bilden. Die
Modul-Zuordnungsfunktion M (i, j) wird dazu gebraucht, die Umordnungsschaltungen 47 und 49 über die
Leitungen 15 zu steuern, wie ebenfalls in Fig. 1 gezeigt ist. Die Größe R besteht aus Binärwerten, die von den
Zeilensteuerungen 53,55 und 57 gebraucht werden. Die
Größen Iv (0), Iv (1), ..., Iv (q — 1), werden von den
Modulsteuerungen 59,61 und 63 gebraucht.
Jede der Zeilensteuerungen 53, 55 bis 57 verarbeitet als Eingangssignale eine der fest bezeichneten Zeilen-Nummern
0 bis ρ — 1 und die Größe R, die von der Grundsteuerung 51 geliefert wird, um daraus eine
Adresseninformation zu berechnen für die Speicherzellen in den Speichermoduln, die zu der entsprechenden
Zeile gehören. Diese Adresseninformationen werden über Leitungen 65, 67 und 69 an die entsprechenden
Modulsteuerungen geliefert.
Jede der Modulsteuerungen 59, 61 bis 63 verarbeitet die Adressensignale, die durch eine der Zeilensteuerungen
53,55 bis 57 geliefert werden und eines der Signale /v(0), Iv(\),..., Iv(q — 1), die durch die Grundsteuerung
51 geliefert werden, um daraus eine Speicherzeüenadresse zu berechnen. Insbesondere berechnet die mit
dem Jt-ten Speichermodul verbundene Steuerung die Speicherzellenadresse / (i, j, k, t). Diese Speicherzellenadressen
werden an die entsprechenden Speichermoduln über Leitungen 9,11 bis 13 geliefert.
Die Fig.4 bis 6 dienen zur Erläuterung der Grundsteuerung 51, einer der Zeilensteuerungen 53 bis
57 und einer der Modulsteuerungen 59 bis 63. Die Arbeitsweise jeder Baueinheit wird sowohl nach den
Regeln der Schaltalgebra als auch anhand einer beispielsweisen Verknüpfungsschaltung beschrieben.
Die algebraische Beschreibung faßt die Eingangssignale, die Ausgangssignale und die Berechnungen oder
Verknüpfungen zusammen, die von jeder Baueinheit ausgeführt werden. Diese algebraische Beschreibung ist
geeignet für jede Kombination der Entwurfsgrößen p, q, r und s. Die dargestellten Ausführungsbeispiele von
Schaltkreisen gehören jedoch zu dem speziellen Beispiel mit den Entwurfsgrößen ρ = q = r = 4 und
s=8.
F i g. 4 ist ein spezielles Beispiel der Grundsteuerung 51. Die Eingangssignale für diesen Schaltkreis sind die
Bezeichnung der Gestalt der Untermatrix t und die Anfangskoordinaten / und j. Die Ausgangssignale sind
die Größen M(i,j), R und /^(0), /v(l), ..Jv(q -\). Wie
aus der Figur ersichtlich, besteht die Größe R aus einem Bündel von Steuersignalen mit dem Booleschen Werten
U *0, Λ, yd und 20. Jeder dieser Werte wird durch die
Grundsteuerung nach den Formeln berechnet, die unten in der F i g. 4 angegeben sind.
Die beiden ersten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Größen λΟ = i/p
und Λ = i//p, d. h. der Quotient und der Rest der
ganzzahligen Division von /durch p. Da die Bildkoordinate /eine binär codierte ganze Zahl ist und weil für das
Ausführungsbeispiel der F i g. 4 ρ = 4 ist, wird Λ durch
die übrigen Bits von /dargestellt
Die beiden nächsten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Größen
jO = j/q und v0 = j//q. Die Bildkoordinate y ist eine
binär codierte ganze Zahl und im Ausführungsbeispiel nach F i g. 4 ist q = 4. Daher werden v0 und y0 durch die
weniger signifikanten beiden Bits von j und durch die übrigen Bits von j dargestellt.
> Ein weiterer zu berechnender Wert ist die Größe
(K) + y0)//p, d. h. u0 ist der Rest der ganzzahligen
Division durch p, deren Dividend die Summe der beiden vorher berechneten Größen K) und y0 ist. In der Figur
werden die Werte K) und yO der Addierschaltung 401
ίο zugeführt, welche ihre Summe berechnet. Da in dem
Ausführungsbeispiel ρ = 4 ist, wird der gewünschte u0 = (i0 + yO)//p gerade durch die beiden weniger
signifikanten Bits der Summe dargestellt, welche durch die Addierschaltung 104 über die Leitungen 407
ι ς ausgegeben wird.
Weiterhin ist durch die Grundsteuerung die Modul-Zuordnungsfunktion
Xf (i, j) = (iq + jy/pq zu berechnen. Diese Größe kann aus den beiden vorher
ermittelten Größen u0 und v0 entsprechend der Beziehung M (i, j) = uO ■ ρ + v0 ermittelt werden. v0
und ü0 sind Binärzahlen, und das v0<p und für das
Ausführungsbeispiel q = 4 ist, vereinfacht sich die Berechnung M (i, j) = u0 ■ q + v0 zur simplen Verkettung
(Nebeneinanderstellen) der Werte ü0 und v0, die auf den Leitungen 407 und 421 erscheinen.
Ein weiterer durch die Grundsteuerung zu berechnender Wert ist die Größe zO = t ■ uO + t (yO//p).
Wenn das die Gestalt der Untermatrix definierende Bit t den Booleschen Wert f = 0 hat, dann hat sein logisches
Komplement t den Wert t = 1. In diesem Falle wird zO = uO. Wenn andererseits t den Booleschen Wert
t = 1 hat dann ist t = 0 und 2O = >O//p. Im Ausführungsbeispiel
nach Fig.4 umfaßt y0//p die beiden weniger signifikanten Bits der vorher berechneten
Größe >O. Der Wert )O//p wird den UND-Gliedern 415
zugeführt. Der Wert r bildet ein zweites Eingangssignal zu den UND-Gliedern 415. Der durch die Inverter 411
gebildete Wert f wird den UND-Gliedern 409 zugeführt, deren anderes Eingangssignal die Größe uO ist, welche
durch die Addierschaltung 401 gebildet wurde und auf den Leitungen 407 erscheint. Die Ausgangssignale der
UND-Glieder 409 und 415 werden den ODER-Gliedern 419 zugeführt, deren Ausgangssignale die erwünschte
Größe ZQ bilden.
Als letzte Werte sind durch die Grundsteuerung die Größen Iv (0), Iv (1), ..., Iv (q - 1) zu berechnen. Für
ganzzahlige Werte der Größe k im Bereich 0<Ar<
q ist die Größe Iv (k) durch die beiden Werte Iv (k) = 1 für
k< vO und Iv (k) = 0 für jt>»O definiert. vO ist die
vorher berechnete Größe, welche auf den Leitungen 421 erscheint. Symbolisch kann das als Iv (k) = LT (k, vO)
geschrieben werden. Die Größe Iv (0) wird durch das ODER-Glied 423 berechnet und hat den Booleschen
Wert Iv(O) = 1, wenn eines der Bit von vO den Wert 1
hat Weiterhin ist Iv (1) = 1, wenn das am meisten signifikante Bit von vO den Wert I hat, und Iv (2) = 1,
wenn beide Bits von vO den Wert 1 haben, was durch das UND-Glied 425 festgestellt wird. Schließlich ist Iv
(3) = 0, weil die zweistellige Binärzahl vO nicht größer als 3 sein kann.
Fig.5 zeigt Einzelheiten einer Zeilensteuerungsschaltung
53, wie sie in Blockform in der F i g. 3 mit den Bezeichnungen 53, 55 oder 57 dargestellt sind. Die
gezeichnete Schaltung ist mit der u-ten Zeile von Speichermodulen verbunden, wobei u im Bereich
0<u<p liegt Die Eingangssignale für diese Schaltung sind die Zeilennummer u und das Bündel der Signale R.
R enthält die Wert t, xO, yO, Λ und zO, welche durch die
Grundsteuerschaltung 5t bereitgestellt werden. Die Ausgangssignale der Schaltung bestehen aus den
Werten /, xO, yu, Iu und eu, welche nach den
Verknüpfungen berechnet werden, deren Formeln in der Fig. 5 angegeben sind. Diese Werte enthalten
Adresseninformation, welche für die Berechnung der Speicherzellenadressen in den Speichermoduln der
u- ten Zeile von Moduln gebraucht werden.
Ein erster Wert, der durch die Zeilensteuerung zu berechnen ist, ist die Größe ζ = (u - zö)//p. Die
Inverter 501 und die Addierschaltung 503 dienen dazu, zO von u zu substrahieren, wobei die bekannte
Beziehung u — zO = u + zO + 1 verwendet wird. Da in dem Ausführungsbeispiel ρ = 4 ist, bilden die beiden
weniger signifikanten Ausgabebits der Addierschaltung 503 die gewünschte Größe z. Der Inverter 505 und die
UND-Schaltungen 507 liefern die Größe i-zan die
Addierschaltung 509, so daß die Addierschaltung 509 und die Halbaddierschaltung 511 das Signal
yu = yO + t ■ ζ berechnen.
Ein weiterer durch die Zeilensteuerung zu berechnender
Wert ist die Größe eul = EQ (z, 0), d. h. eul ist eine Boolesche Variable mit dem Wert eul = 1 für ζ = 0 und
mit dem Wert eul = 0 für ζ = 1. Das ODER-Glied 513
und der Inverter 515 bestimmen, ob ζ = 0 ist und liefern das Signal eul = EQ (z, 0) auf der Leitung 517.
Weitere durch die Zeilensteuerung zu berechnende Werte sind die Booleschen Variablen Iu = LT(z, X)) und
eu2 = EQ(z, X)). Iu = 1 für z< X) und eu2 = 1 für ζ = X).
Die Inverter 519 und die Addierschaltung 521 dienen dazu, den Wert X) von der Größe ζ nach der Beziehung
z—/0 = z+ /0 + 1 zu subtrahieren. Der Inverter 523
invertiert den von der Addierschaltung 521 gelieferten Übertrag, um den Wert Iu = LT(z - X), 0) = LT(z, X))
zu berechnen, während das ODER-Glied 525 und der Inverter 527 das Signal eu2 = EQ (z - X), 0) = EQ (z,
X)) auf der Leitung 529 bereitstellen.
Der letzte durch die Zeilensteuerung zu berechnende Wert ist die Boolesche Variable eu = t ■ eul + t ■ eul
(Iu + eü2). Diese Variable wird durch die ODER-Glieder 531 und 541, durch die Inverter 533 und 537 und
durch die UND-Glieder 535 und 539 berechnet.
Fig.6 zeigt Einzelheiten einer Modulsteuerungsschaltung
59, wie sie als Blöcke 59,60 oder 63 in F i g. 3 datgestellt sind. Es ist im einzelnen die Modulsteuerung
für den jt-ten Speichermodul dargestellt, webe k im
Bereich 0<k<pq liegt. Die Eingangssignale für diese Schaltung sind die Größe Iv (k//q), die von der
Gnindsteuerschaltung 51 berechnet wurde, und die Größen t, xO, yO, Iu und eu, welche durch die
Zeilensteuerungsschaltung für die u-te Zeile von Speichermoduln berechnet wurden, wobei u = k/q ist.
Die Ausgangssignale der Modulsteuerung bilden die Zellenadresse / (i, j, k, t), weiche entsprechend den
Verknüpfungen nach den Formeln in der Fig.6 berechnet wurden.
Der erste durch die Modulsteuerung zu berechnende Wert ist die Größe χ = x0 + t (Iv ■ Iu + ■ euj. Hier
bezeichnet Iv den Wert Jv (k//q), welcher von der
Gmndsteuerschaltung51 empfangen wird. Der benötigte
Boolesche Wert t (Iv ■ Iu + Jv - eu) wird mittels des
Inverters 601, der UND-Glieder 603, 605 und 615 und des ODER-Gliedes 609 gewonnen.
Dieser Boolesche Wert wird dann zu xQ mit Hilfe der
Halbaddierschaltung 619 addiert. Das Signal χ erscheint
auf den Leitungen 625.
Der nächste durch die Modulsteuerung zu berechnende Wert ist die Größe y = yu + ρ ■ t ■ eu ■ Iv + t ■ Iv.
Es ist entweder t = 0 oder r = 0. y wird deshalb dadurch gewonnen, daß man entweder 0,1 oder ρ zu y0
addiert, wobei der zu addierende Wert durch die Booleschen Variablen t, eu und Iv bestimmt wird. Die
Variable t ■ Iv wird durch das UND-Glied 607 berechnet und an die HalbadJierschaltung 621 geliefert.
Die Boolesche Variable t ■ eu ■ Iv wird durch die UND-Glieder 605 und 613 in Verbindung mit dem
Inverter 611 berechnet und dann an das ODER-Glied
lu 617 geliefert. Wenn t ■ Iv = 1 ist, dann ist notwendig
t = 1 und t = 0, so daß t · cu ■ Iv = 0 ist. In diesem
Falle addieren die Halbaddierschaltungen 621 und 618 t ■ Iv = 1 zu dem Wert yu, wobei ein durch die
Halbaddierschaltung 621 erzeugte Übertrag über das
ι-, ODER-Glied 6!7 an die Halbaddierschaltung 618
geliefert wird. Andererseits ist notwendigerweise t — 0 und t = 1 im Falle daß t ■ eu ■ Iv = 1 ist, so daß
r · Iv = 0 sein muß. In diesem Falle wird der Wert t ■ eu ■ Iv = 1 über das ODER-Glied 617 an die
Halbaddierschaltung 618 geliefert und auf diese Weise zu den meist signifikanten Bit von yu addiert. Da die
Halbaddierschaltung 621 den Wert t ■ Iv = 0 zu den beiden weniger signifikanten Bits yu addiert, hat das zur
Folge, daß die Halbaddierschaltungen 621 und 618 den Wert ρ = 4, wie gewünscht, zu yu addieren. In all diesen
Fällen erscheint der erwünschte Wert y = yu + ρ ■ t ■ eu ■ Iv + t ■ Iv auf den Leitungen 627.
Der letzte durch die Modulsteuerschaltung für den
Speichermodul Jt zu ermittelnde Wert ist die Speicherzellenadresse
/ (i, j, k, t) — χ ■ s + y. In dem Ausführungsbeispiel der F i g. 6 ist s = 8 und
>■< 8, so daß / (i. j. k, t) einfach so erhalten wird, daß man die auf den
Leitungen 625 und 627 erscheinenden Werte von χ und y
nebeneinander setzt Die Speicherzellenadresse / (i, j, k.
t) wird über die Leitungen 629 an den Speichermodul k
geliefert.
Die Fig.7, 8 und 9 dienen zur Illustration der Leitwegschaltung 8 der Fig. 1. Diese Schaltung dient
dazu, die Information der Bildpunkte irgendeiner Untermatrix der Gestalt 1 χ pq oder ρ χ qin richtiger
Weise zwischen den Speichermoduln 21, 23 bis 25 und dem Datenregister 39 zu verschieben. Die Schaltung
muß dabei auf entsprechende Steuersignale M (i, j) auf
den Leitungen 15 reagieren, um die Bildpunkte zwischen den Speichermoduln und den entsprechenden Bitpositionen
des Datenregisters zu leiten. Die Leitwegschaltung 8 enthält die nach rechts drehende Umordnungsschaltung
47 und die nach links drehende Umordnungsschaltung 49. Die F i g. 7 bis 9 beschreiben die
Arbeitsweise der Leitwegschaltung sowohl in Form der Schaltalgebra als auch anhand eines Ausführungsbeispiels
der Schaltung. Die algebraische Beschreibung paßt für alle Kombinationen der Entwurfsgrößen p, q, r
und s, während das dargestellte Ausführungsbeispiel für
den speziellen Fall gilt daß ρ = q = r = 4 und s = 8
sind.
Die F i g. 7 dient zur Erläuterung der nach rechts drehenden Umordnungsschaltung 47. Ein Eingangssignal
dieser Schaltung ist die Größe M (ij) welche durch die Grundsteuerschaltung 51 berechnet und über
die Leitung 15 geliefert wird. Die anderen Eingangssignale
sind die pq Bildpunkte, welche im Datenregister 39 gehalten werden und über die Leitungen 41, 43 bis 45
geliefert werden. Diese Bildpunktinformation wird an die entsprechenden Speichermoduln über die Leitungen
27, 31 und 35 nach weiter unten erläuterten Regeln ausgegeben. Der Ar-te Speichermodul erhält einen
Bildpunkt der in der Bitposition g (i, j, k) des
Datenregisters gehalten wird, wobei die Funktion g(i.j. k) durch die Verknüpfung g (i. j, k) = [k-M (i, jjy/pq
definiert ist. Dieses Leiten der Daten erfolgt durch Umordnen des Registerinhaltes des Datenregisters 39
um Affty^Bitpositionen.
Die Schaltung gemäß Fi g. 7 verwendet vier einfache Urr.ordner 70t, 703, 705 und 707, um die erwünschte
zyklische Vertauschung der Daten zu erreichen. Jeder dieser einfachen Umordner reagiert auf ein bestimmtes
Bit der Funktion M (i, j) durch zyklischen Vertauschen seiner Eingangssignale um einen vorbestimmten Betrag,
falls das Bit auf der Leitung 15 eine 1 ist und durch Nichtverschieben seiner Eingangssignale, falls das Bit
eine 0 ist. Als Beispiel F i g. 8 den einfachen Umordner 701, der auf das am wenigsten signifikante Bit der
Funktion M (I j) reagiert, das ihm über die Leitung 709
geliefert wird. Wenn das Bit auf der Leitung 709 eine binäre 0 ist, dann werden die UND-Glieder 805
blockiert und der Inverter 801 liefert eine binäre 1 auf der Leitung 803, welche die UND-Glieder 807
vorbereitet. Die Eingangssignale auf den Leitungen 41, 43 und 45 werden daher ohne Drehung oder zyklische
Vertauschung zu den Ausgängen über die UND-Glieder 807 und die ODER-Glieder 809 durchgeschaltet.
Umgekehrt, wenn das Bit auf der Leitung eine binäre t ist, dann bereitet dieses Signal die UND-Glieder 805
vor, während der Inverter 801 ein blockierendes Signal auf der Leitung 803 an die UND-Glieder 807 liefert.
Daher werden die Eingangssignale auf den Leitungen 41, 43 und 45 nach rechts um eine Bitposition
verschoben und über die UND-Glieder 805 und die ODER-Glieder 8U9 an die entsprechenden Ausgänge
geliefert.
In Fig 9 ist ein Ausführungsbeispiel der nach links
drehenden Umordnungsschaltung 49 dargestellt. Ein Eingangssignal dieser Schaltung ist die Größe M (i, jj
weiche durch die Grundsteuerungsschaltung 51 erzeugt und über die Leitungen 15 geliefert wird. Die übrigen
Eingangssignale sind die pq Bildpunkte, welche über die Leitungen 29,33 und 37 von den Speichermoduln 21, 23
und 25 geliefert werden. Die Information diese Bildpunkte wird an das Datenregister 39 über d
Leitungen 51, 53 und 55 nach der unten erläuterte; Regel ausgegeben. Der vom Jt-ten Modul geliefert!
Bildpunkt wird in die Bitposition g (i, j, k) de Datenregisters geleitet, wobei die Funktion g (i, j. k
durch die Verknüpfung g (i, j, k)=[k — M (i, i/J//p<
definiert ist. Dieses Leiten erfolgt durch LJmordnen de Folge der Bildpunkte, weiche den Speichermoduln 2
ίο 23 und 25 entnommen werden, mittels zyklische
Vertauschung um M(i, j) Bitpositionen.
Das Ausführungsbeispiel der F i g. 9 verwendet vie einfache Umordner 901, 903, 905 und 907, um di(
erwünschte Drehung oder zyklische Venauschung zi erreichen. Jeder dieser einfachen Umordner reagiert au
ein einzelnes Bit der Größe M (i, j), indem er seim
Eingangssignale um einen vorbestimmten Betra zyklisch vertauscht, im Falle daß dieses Bit de
Binärwert 1 hat, oder indem er seine Eingangssigna!
nicht vertauscht, wenn das Bit den Binärwert 0 aufweis
Diese einfachen Umordner sind in ihrem Aufbau ähnlic den oben beschriebenen Umordnern 701, 703, 705 un
707, die in den F i g. 7 und 8 dargestellt sind.
Es wird eine Zugriffsmethode und die dazu geeignet
-1^ SpeichereinrichtL g beschrieben, welche den Zugriff ζ
allen Untermatrizen der Form 1 xpq oder ρ χ
innerhalb einer Bildpunktmatrix der Größe rpxs*
ermöglicht, welche in einer wortorganisierten Speicher einrichtung gespeichert ist und wenn diese Date
}o entsprechend vorbestimmten Verknüpfungen verteil
sind. Im wesentlichen erfordert diese Speichereinrich tung nur pq Speichermoduln, zwei Umordnungsschal
tungen und zugehörige Verknüpfungs- und Steuerschal tungen, um den Zugriff zu den Untermatrizen ζ
.vs ermöglichen. Die beschriebene Speichereinrichtung füi
binäre Bildinformationen kann in leichter Weise durch mehrfache Zufügung dieser Schaltungen so erweiter
werden, daß sie auch Bildpunkte für Halbtonbilder odei
Farbbilder behandeln kann, wobei jeder einzeln Bildpunkt mehrere Bits an Speicherraum erfordert.
Hierzu IO Blatt Zeichnungen
Claims (4)
1. Speichereinrichtung für bildliche Darstellungen betreffende Daten mit Adressierungsschaltungen
und Adressenumrechnern, die innerhalb eines Speicherzyklus durch nur einen Zugriff das gemeinsame
Speichern oder Auslesen von Daten einer Anzahl ρ χ q Bildpunkte aus einer Matrix mit
rp χ s/>-Bildpunkten / (*, *) ermöglicht, die als
Untermatrix in der Form einer Zeile 1 χ pq oder eines Rechtecks ρ χ q gespeichert und verarbeitbar
sind, wobei jeder Bildpunkt einen Booleschen Wert annimmt, dadurch gekennzeichnet, daß an
sich bekannte Speichermoduln (21, 23, 25) angeordnet sind, daß jeder der genannten Speichermoduln
als Einheil die Anzahl von rs Bildpunkten speichert, wobei zu einem Zeitpunkt Zugriff zu jedem
Speichermodul erfolgt, daß die Adresse eines Speichermoduls durch eine Modulzuordnungsfunktion
M (i, j) gegeben ist, daß mit dem Adreßumrechner (7, 39, 47, 49) jeder Bildpunkt in einer
Speicherstelle eines Speichermoduls mittels einer Adressenzuordnungsfunktion A (i, j) gespeichert
oder ausgelesen wird, wobei die Adressenzuordnungsfunktionen ganzzahlige Funktionen sind, die in
folgender Weise definiert sind:
A (i, j) = (i/p)s + j/q, wobei i/p und j/q ganzzahlige
Quotienten sind, und M (i, j) = (iq + j)//pq), wobei (iq + j)//pq der Rest der ganzzahligen Division von
(iq + j)/pq ist.
2. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zwischen ρ χ q Speichermoduln
(21, 23, 25) und einem Datenregister (39) mit einer Speicherkapazität von mindestens ρ χ ς-Bildpunkten
eine Leitwegschaitung (8) angeordnet ist, die mit ihren Verknüpfungsgliedern die Zuordnung
jedes Bildpunktes zu einem rpezifischen Speichermodul durchführt und daß eine Schaltung (7) für die
Adressensteuerung angeordnet ist, die mit der Leitwegschaltung (8) die Zuordnung der Adressen
von Speicherzellen in den Speichermoduln durch logische Verknüpfungen ermittelt und durch Signale
über Verbindungsleitungen (9, 11,13,15) steuert, so daß jeder Bildpunkt in die errechnete Speicherzelle
des zugeordneten Speichermoduls gelangt oder aus ihr ausgelesen wird.
3. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Datenregister (39) mindestens
die Speicherkapazität einer Untermatrix hat.
4. Speichereinrichtung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Leitwegschaltung
(8) Umordnungsschaltungen (47, 49) enthält, die Daten von Bildpunkten nach Steuersignalen
der von der Schaltung (7) zur Adressensteuerung ermittelten Zuordnungsfunktionen durch zyklische
Vertauschung umordnet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/498,352 US3938102A (en) | 1974-08-19 | 1974-08-19 | Method and apparatus for accessing horizontal sequences and rectangular sub-arrays from an array stored in a modified word organized random access memory system |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2536104A1 DE2536104A1 (de) | 1976-07-08 |
DE2536104B2 DE2536104B2 (de) | 1977-06-30 |
DE2536104C3 true DE2536104C3 (de) | 1978-03-16 |
Family
ID=23980723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2536104A Expired DE2536104C3 (de) | 1974-08-19 | 1975-08-13 | Speicher für bildliche Darstellungen betreffende Daten |
Country Status (10)
Country | Link |
---|---|
US (1) | US3938102A (de) |
JP (1) | JPS5439098B2 (de) |
BR (1) | BR7505284A (de) |
CA (1) | CA1031869A (de) |
CH (1) | CH607134A5 (de) |
DE (1) | DE2536104C3 (de) |
FR (1) | FR2282695A1 (de) |
GB (1) | GB1504602A (de) |
IT (1) | IT1039151B (de) |
SE (1) | SE403685B (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3996559A (en) * | 1974-11-07 | 1976-12-07 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system |
US3995253A (en) * | 1975-03-03 | 1976-11-30 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system |
GB1524850A (en) * | 1975-12-23 | 1978-09-13 | Ferranti Ltd | Data processing apparatus |
US4052699A (en) * | 1976-06-30 | 1977-10-04 | International Business Machines Corporation | High speed real time image transformation |
US4090174A (en) * | 1976-11-01 | 1978-05-16 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system |
US4128872A (en) * | 1977-06-20 | 1978-12-05 | Motorola, Inc. | High speed data shifter array |
US4460958A (en) * | 1981-01-26 | 1984-07-17 | Rca Corporation | Window-scanned memory |
US4434502A (en) | 1981-04-03 | 1984-02-28 | Nippon Electric Co., Ltd. | Memory system handling a plurality of bits as a unit to be processed |
EP0085210A1 (de) * | 1982-01-29 | 1983-08-10 | International Business Machines Corporation | Bildverarbeitungssystem |
GB2123998B (en) * | 1982-07-21 | 1986-10-22 | Marconi Avionics | Data memory arrangment |
WO1984000629A1 (en) * | 1982-07-21 | 1984-02-16 | Marconi Avionics | Multi-dimensional-access memory system |
JPS5930156A (ja) * | 1982-08-09 | 1984-02-17 | Sharp Corp | マイクロコンピユ−タシステム |
US4606066A (en) * | 1982-09-09 | 1986-08-12 | Hitachi, Ltd. | Programmable image processor |
JPS59110086A (ja) * | 1982-12-14 | 1984-06-25 | Nippon Telegr & Teleph Corp <Ntt> | 集積記憶回路 |
JPS60172085A (ja) * | 1984-02-17 | 1985-09-05 | 株式会社日立製作所 | 図形処理装置 |
JPS60160780A (ja) * | 1984-01-31 | 1985-08-22 | Nec Corp | 特殊効果用画像記憶装置 |
GB8415602D0 (en) * | 1984-06-19 | 1984-07-25 | Secr Defence | Raster image manipulator |
GB2165066B (en) * | 1984-09-25 | 1988-08-24 | Sony Corp | Video data storage |
JPS62131289A (ja) * | 1985-12-03 | 1987-06-13 | 日本電気株式会社 | 図形表示装置用の記憶回路 |
GB8618060D0 (en) * | 1986-07-24 | 1986-12-17 | Gec Avionics | Data processing apparatus |
EP0255280A3 (de) * | 1986-07-24 | 1990-10-24 | Gec Avionics Limited | Datenspeicherung |
CA1272312A (en) * | 1987-03-30 | 1990-07-31 | Arthur Gary Ryman | Method and system for processing a two-dimensional image in a microprocessor |
US5109348A (en) * | 1987-09-14 | 1992-04-28 | Visual Information Technologies, Inc. | High speed image processing computer |
US5129060A (en) * | 1987-09-14 | 1992-07-07 | Visual Information Technologies, Inc. | High speed image processing computer |
US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
US5146592A (en) * | 1987-09-14 | 1992-09-08 | Visual Information Technologies, Inc. | High speed image processing computer with overlapping windows-div |
US4916654A (en) * | 1988-09-06 | 1990-04-10 | International Business Machines Corporation | Method for transfer of data via a window buffer from a bit-planar memory to a selected position in a target memory |
US6028612A (en) * | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
US6252576B1 (en) | 1998-08-06 | 2001-06-26 | In-System Design, Inc. | Hardware-efficient system for hybrid-bilinear image scaling |
JP2000122919A (ja) * | 1998-10-13 | 2000-04-28 | Mitsubishi Electric Corp | プロセッサ及びメモリ制御方法 |
US6753988B1 (en) | 2002-03-29 | 2004-06-22 | Cypress Semiconductor Corp. | Apparatus and method for color data conversion |
US20110157194A1 (en) * | 2009-12-31 | 2011-06-30 | Omri Eisenbach | System, data structure, and method for processing multi-dimensional video data |
US10268885B2 (en) | 2013-04-15 | 2019-04-23 | Microsoft Technology Licensing, Llc | Extracting true color from a color and infrared sensor |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3766520A (en) * | 1971-11-10 | 1973-10-16 | Regonition Equipment Inc | Character reader with handprint capability |
-
1974
- 1974-08-19 US US05/498,352 patent/US3938102A/en not_active Expired - Lifetime
-
1975
- 1975-05-21 GB GB21869/75A patent/GB1504602A/en not_active Expired
- 1975-05-27 FR FR7517196A patent/FR2282695A1/fr active Granted
- 1975-06-18 CA CA229,601A patent/CA1031869A/en not_active Expired
- 1975-06-20 IT IT24580/75A patent/IT1039151B/it active
- 1975-07-17 JP JP8675375A patent/JPS5439098B2/ja not_active Expired
- 1975-07-24 SE SE7508428A patent/SE403685B/xx not_active IP Right Cessation
- 1975-08-07 CH CH1030175A patent/CH607134A5/xx not_active IP Right Cessation
- 1975-08-13 DE DE2536104A patent/DE2536104C3/de not_active Expired
- 1975-08-19 BR BR7505284*A patent/BR7505284A/pt unknown
Also Published As
Publication number | Publication date |
---|---|
CA1031869A (en) | 1978-05-23 |
CH607134A5 (de) | 1978-11-30 |
US3938102A (en) | 1976-02-10 |
JPS5439098B2 (de) | 1979-11-26 |
FR2282695A1 (fr) | 1976-03-19 |
IT1039151B (it) | 1979-12-10 |
SE7508428L (sv) | 1976-02-20 |
FR2282695B1 (de) | 1980-06-27 |
GB1504602A (en) | 1978-03-22 |
DE2536104B2 (de) | 1977-06-30 |
JPS5136030A (de) | 1976-03-26 |
AU8257975A (en) | 1977-01-06 |
DE2536104A1 (de) | 1976-07-08 |
SE403685B (sv) | 1978-08-28 |
BR7505284A (pt) | 1976-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2536104C3 (de) | Speicher für bildliche Darstellungen betreffende Daten | |
DE2549336C3 (de) | Speichereinrichtung für bildliche Darstellungen betreffende Daten | |
DE3804938C2 (de) | Bildverarbeitungseinrichtung | |
DE3407983C2 (de) | Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen | |
DE2747075C2 (de) | Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2350225C2 (de) | ||
DE3338345C2 (de) | ||
DE2607107A1 (de) | Wortorganisiertes speichersystem | |
DE2852253A1 (de) | Drehung der wiedergabe auf einem bildschirm | |
DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
DE3713627C2 (de) | ||
DE1499739C3 (de) | Datenspeicher zur gleichzeitigen Entnahme mehrerer Wörter | |
DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
DE3811145C2 (de) | ||
DE3702613A1 (de) | Geraet zum verschieben digitaler daten in einem speicher eines datenverarbeitungssystems | |
DE4230327A1 (de) | Multi-port speicher und digitales interpoliergeraet | |
DE4105193A1 (de) | Datenschnittstelle zur ein- und ausgabe von daten bei parallelrechnern | |
DE2349590A1 (de) | Vorrichtung zur datenverarbeitung | |
DE10048860B4 (de) | Ablaufsteuerung, die Durchmischungsmuster kleiner Größe in einem ATM-Netzwerk verwendet | |
DE3340078A1 (de) | Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung | |
EP0039796B1 (de) | Steuerschaltung für einen Metallpapierdrucker-Schreibkopf mit auf einer Schräge angeordneten Elektroden | |
DE1774181C3 (de) | Datenspeichereinnchtung | |
DE3007381A1 (de) | Verfahren und system zum verarbeiten von videodaten | |
DE3710696C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |