DE2536104C3 - Speicher für bildliche Darstellungen betreffende Daten - Google Patents

Speicher für bildliche Darstellungen betreffende Daten

Info

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
Application number
DE2536104A
Other languages
English (en)
Other versions
DE2536104B2 (de
DE2536104A1 (de
Inventor
Thomas Harvey Morrin
David Curtis Van Voorhis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2536104A1 publication Critical patent/DE2536104A1/de
Publication of DE2536104B2 publication Critical patent/DE2536104B2/de
Application granted granted Critical
Publication of DE2536104C3 publication Critical patent/DE2536104C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing 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
Tabelle
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
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.
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)

Patentansprüche:
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.
DE2536104A 1974-08-19 1975-08-13 Speicher für bildliche Darstellungen betreffende Daten Expired DE2536104C3 (de)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766520A (en) * 1971-11-10 1973-10-16 Regonition Equipment Inc Character reader with handprint capability

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