DE2536104A1 - Speicher fuer bildliche darstellungen betreffende daten - Google Patents

Speicher fuer bildliche darstellungen betreffende daten

Info

Publication number
DE2536104A1
DE2536104A1 DE19752536104 DE2536104A DE2536104A1 DE 2536104 A1 DE2536104 A1 DE 2536104A1 DE 19752536104 DE19752536104 DE 19752536104 DE 2536104 A DE2536104 A DE 2536104A DE 2536104 A1 DE2536104 A1 DE 2536104A1
Authority
DE
Germany
Prior art keywords
memory
matrix
module
address
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.)
Granted
Application number
DE19752536104
Other languages
English (en)
Other versions
DE2536104C3 (de
DE2536104B2 (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

Speicher für bildliche Darstellungen betreffende Daten
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 Bildpunkte gespeichert werden, wobei jedoch zu beachten ist, daß die verfügbaren Speichereinrichtungen mit
809828/0484
großer Speicherkapazität wortorganisiert aufgebaut sind. Die Zugriff seinrichtunt en eines derartigen Speichers sind deshalb nicht in der Lage, Adressenumrechnungen 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 Matri 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 [Jntermatrix. 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 einr 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
SA 974 010 - 2 -
609828/0484
Zeitpunkt zum Einschreiben oder Auslesen der Information nur in
eine Speicherzelle eines Moduls möglich. Die Zugriffseinrichtung : eines bekannten wortorganisierten Speichers verwendet die Adresse einer Speicherzelle, um gleichzeitig die so adressierten Spei- \
I f
f ;
jcherzellen mit gleicher Adresse in allen Speichermoduln parallel
janzusteuern. Diese Speicherzellen zusammen bilden ein sogenanntes Speicherwort, wodurch eine solche Speichereinrichtung nur
jden gleichzeitigen Zugriff zu Bildpunkten ermöglicht, die im
'gleichen Speicherwort gespeichert sind.
Ein digitales Bild kann durch eine Matrix von MxN Bildpunkten j t(*,*) dargestellt werden, wobei jeder Bildpunkt I(i, j) in den j
fcoordonatenbereichen 0<i<M und 0<j<N eine ganze Zahl oder eine j
Gruppe solcher Zahlen ist, die die Farbe und die Intensität eines !
. I
'solchen Teiles des Bildes verkörpert. Der Einfachheit halber wer- j iden nur Schwarz/Weiß-Bilder betrachtet, für die I (i,j) ein einzel4 nes Informationsbit ist. Beispielsweise verkörpert I (i, j) = 1
einen schwarzen Bildpunkt I (i, j)=0 einen weißen Bildpunkt.
Zu verarbeitende Bilder können beispielsweise durch optisches Abtasten von Vorlagen im DINA4-Format gewonnen werden. Die so gewonnenen digitalen Bilder können dann gespeichert, übertragen und ge-
SA 974 010 - 3 -
609828/0484
druckt werden oder auf dem Bildschirm eines optischen Ausgabegeräts angezeigt werden. Da die meisten Abtastgeräte und Drucker ein Bild von oben nach unten und von links nach rechts verarbeiten, werden gewöhnlich die Bilder in einem Zeilenraster in der Hauptzeilenfolge übertragen:
I (0,0), I (0,1),...,I (0,N-I), I (1,0),,..,I (M-I, N-I). Eine Speichereinrichtung für die Bildverarbeitung sollte daher mindestens den Zugriff zu einer Anzahl benachbarter Bildpunkte I (*,*) einer einzelnen Zeile gleichzeitig erlauben. Nur dann ist eine schnelle übertragung ganzer Bilder für die Bildverarbeitung möglich.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Speichereinrichtung für bildliche Darstellung betreffende Daten zu schaffen, die gleichzeitigen Zugriff zu rechteckigen Blöcken von gespeicherten Bildpunkten ermöglicht und außerdem den Zugriff sowohl zu horizontalen Polgen von Bildpunkten, als auch zu bestimmten rechteckigen Bereichen (Untermatrizen) von Bildpunkten ermöglicht.
Die erfindungsgemäße Lösung ergibt sich aus dem Kennzeichen des Patentanspruchs 1.
3ie Lösung ermöglicht bei einem wortorganisierten Speicher
SA 974 010 - 4 -
609828/0484
gleichzeitigen Zugriff zu rechteckigen Blöcken von Bildpunkten, um z.B. eine andere Art von Bildverarbeitungsoperationen zu
erreichen, wie das Einfügen von Blöcken, das Entnehmen von
Blöcken und das Abtasten von Konturen. So ist es z.B. möglich, alphanumerische Zeichen aus einem gespeicherten Wörterbuch dem Bild zuzufügen oder solche Zeichen zu löschen oder andere Zeichen auszugeben, bzw. rechteckige Blöcke eines Bildes auszugeben.
Die Erfindung wird anhand eines Auführungsbeispiels mit Hilfe der Zeichnungen näher beschrieben.
?ig. 1 zeigt den Systemaufbau einer wortorganisier
ten Speichereinrichtung, welche gemäß der Erfindung modifiziert ist.
Pign. 2A und 2B veranschaulichen die Zuordnung der Speicher-
SA 91k 010 - 5 -
moduln und der Adressen für den Fall, daß p=4,q=4,r=4 und S = 8.
· 3 zeigt schematisch Einzelheiten der Zugriffs
einrichtung.
Pign. 4, 5 und 6 zeigen Verknüpfungs schaltungen, die in der Zugriffs einrichtung nach Fig. 3 verwendet werden.'
Fign. 7, 8 und 9 zeigen Verknüpfungs schaltungen, die in der
Leitwegsteuerung nach Fig. 1 gebraucht werden.
SA 9Jh 010 - β -
609828/0484
Pig. 1 zeigt schematisch den Systemaufbau der modifizierten Speichereinrichtung. Die Schaltung enthält eine Anzahl pq von Speichermoduln, von denen die Moduln 2I3 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 ps Informationsbits entspricht. Die Adressensteuerung 7 ermög-Licht diesen Speichermoduln, eine rp χ sp Matrix von Bildpunkten I (*,"*) zu speichern und irgendeine Untermatrix der ?orm 1 χ pq oder ρ χ ρ von Bildpunkten für den Zugriff anzusteuern. Ein Datenregister 39 kann irgendeine Untermatrix mit ;>E Elementen aufnehmen, bevor die Information gespeichert
rd oder nachdem die Bildinformation aus den Speichermoduln ausgelesen wurde. Ferner sind Umordnungsschaltungen 47 und vorgesehen, welche das Umordnungen von binären Daten ermöglichen. In Verbindung mit der vorliegenden Erfindung dienen die Umordnungs schaltungen 47 und 48 dazu, Untermatrizen zyklisch nach rechts bzw. nach links zu vertauschen. Diese Schaltungen leiten die Elemente der Untermatrizen zu den entsprechenden Speichermoduln für das Einspeichern bzw. aus diesen heraus für
SA 974 010 - 7 -
609828/0484
das Auslesen. Die Steuereinrichtungen für die Umordnungsschaltungen befinden sich in der Adressensteuerung 7 und sind über den Datenweg damit verbunden. j
i „
i I
Wenn eine Untermatrix gespeichert werden soll, wird zunächst das t-Register 1 auf einen der Werte t = 0 oder t = 1 gesetzt, um anzuzeigen, ob die Gestalt der Untermatrix 1 χ pq oder ρ χ q ist. Das i-Register 3 und das j-Register 5 werden gesetzt, um die Koordinaten des Elementes I (i,j) oben links in der Untermatrix anzugeben. Die Untermatrix selbst wird in das Datenregister 39 in der Hauptzeilenfolge abgespeichert, so dass das Element I (i,j) sich in der am weitesten links befindlichen Position des Registers befindet. Ausgehend von den Werten für t, i und j erzeugt der Steuerteil der Adressensteuerung 7 ein Steuersignal auf der Leitung 15, welches die Umordnungsschaltung 47 veranlasst, 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 Adressen steuerung 7 berechnet seine Speicherstelle innerhalb des Moduls. Ein Schreibsignal von einer externen Lese/Schreib-Steuerung 17 •bewirkt schliesslich, dass die pq Elemente der Untermatrix gleichzeitig in den verschiedenen Speichermoduln gespeichert werden.
SA 9-74-010 - 8 -
609828/0484
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, i und j, um für jeden Speichermodul die Speicher stelle des einzelnen Elementes der Untermatrix zu berechnen, welches dieser Modul enthält. Nach Ausführung dieser Berechnungen veranlasst ein Lesesignal von der Lese/Schreib-Steuerung 17, dass die pq Elemente der Untermatrix aus den Speichermodjiln 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 veranlasst, die Elemente der Untermatrix in die Hauptzeilenfolge umzuordnen, so dass das Element I (i,j) in die äusserste linke Position des Datenregisters 39 geleitet wird.
Immer wenn eine Untermatrix von Bildpunkten I (*,*) der Gestalt 1 χ pq oder ρ χ q in die Speichereinrichtung gespeichert oder aus ihr ausgelesen werden soll, dann muss der Adressenteil der Adressensteuerung 7 für den Bereich Os k<pq die Speicherstelle I (i,j,_k,t) der einzelnen Elemente
SA 9-74-010 - 9 -
609828/0484
e (i,j,k,t) der Untermatrix berechnen, die im k-ten Speichermodul entweder vorhanden sind oder in ihn eingeschrieben werden sollen. Der Steuerteil der Adressensteuerung 7 muss in Zusammenarbeit mit den Um-
I
ordnungsschaltungen Ά7 und 49 dafür sorgen, dass jedes Element e (i,j,k, in die entsprechende Bitposition des Datenregisters 39 geleitet wird oder aus ihm entnommen wird. Die Tabelle 1 stellt schematisch die notwendigen Schritte zur Berechnung der Adresse und der Form des Leitwegs zusammen, um den Zugriff zu dem obersten linken Element der Untermatrix oder dem Bildpunkt I (i,j) zu ermöglichen. Die Angabe des Leitwegs bezeichnet, welche der pq Bitpositiönen d (0), d (1), ..., d (pq-1) des Datenregisters 39 die Information eines Elementes e (i,j,k,t) empfangen oder senden soll.
t Tabelle 1 erforderlicher
Gestalt Leitweq
der
Unter
matrix Berechnung der Adresse
1 χ pq 0 M(i,j)=(iq+j)//pq;
e(i, j,k,t><^d[g(i, j,k)]
ρ. χ q
1 M(i,j)=(iq+j)//pq;
■g(i,j,k)=[k-M(i,j)J//pq;
e(i, j,k,
[g(i, j,k)]
SA 9-74-010
- 10 -
609828/0484
Beispiele von Schaltkreisen für die Ausführung dieser Adressenberechnungen und Leitweg Steuerungen sind in den Fign. 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 I (*,*) speichern können, wobei die Koordinaten der Bildpunkte I (i^j) in den Bereichen Oc-i-crp und 0 ä j «c sq liegen. Weiter soll die Speichereinrichtung das Bild in einer Weise speichern können, dass Zugriff zu Bildpunkten I (*,*) in Untermatrizen der Form 1 χ pq oder ρ χ q möglich ist.
Wenn die Speichereinrichtung nach Fig. 1 eine Bildmatrix I (*,*) speichern soll, dann ist es für jeden Bildpunkt I (i,j) notwendig zu bestimmen, welcher der pq Moduln 21, 23 oder 25 die Information I (i,j) speichern soll. Es wurde festgestellt, dass 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 i und j
SA 9-74-010 - 11 -
609828/0484
in den Bereichen 0 -si-=-rp und 0-^.j -<sq liegt der Wert dieser Modul-Zuordnungsfunktion M (i,j) im Bereich Ο.ώΜ (i,j)-=pq. Jeder Bildpunkt I (i,j) ist dann im M-ten Speichermodul gespeichert.
Wenn die Speichereinrichtung nach Fig. 1 eine Bildmatrix I (*,*) in einer Weise speichern soll, dass 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, dass die Untermatrix die Gestalt von ρ χ q Elementen hat.
Es wurde unerwarteterweise herausgefunden, dass die genannte Bedingung des Speichems 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 + j)// pq, wobei der Wert (iq + j)// pq den Rest der ganzzahligen Division der Grosse (iq + j) durch die Grosse pq hat. Dann ist der gleichzeitige Zugriff zu pq Bildpunkten in den gewünschten Untermatrizen möglich.
JSA 9.-74-010 - 12 -
609828/0484
In der Fig. 2A ist die Modul-Zuordnung sfunktion M (i,j) = (iq + j)//pq für den Fall dargestellt, dass die Entwurfgrössen ρ = q = r = 4 und s = 8 sind. Die Hexadezimalzahl in der Stelle j der i-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, dass der Bildpunkt I (6,5) im 13-ten Modul gespeichert wird. Das kann gerechnet werden als M (i,j) = M (6,5) = (iq + j)// pq = (6 χ 4 + 5)// 4x4 = 29//Ϊ6 =13.
Man kann aus der Fig. 2A ersehen, dass die pq = 16~Bildpunkte in jeder Untermatrix der Form 1 χ pq = 1 χ "16 in verschiedenen Speichermoduln gespeichert werden. Die als Beispiel in der Fig. durch Einrahmen markierte horizontale Folge, zeigt, dass, die Bildpunkte I (6,13), I (6,14), ..., I (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 Fig. 2A entnehmen dass die pq = 16 Bildpunkte irgendeiner ρ χ q = 4 χ 4 Untermatrix in verschiedenen. Speichermoduln gespeichert werden. Der als Beispiel in der Fig. markierte 4x4 Block zeigt die Modul-Zuordnung der 4x4 Untermatrix, deren erstes Element links oben der Bildpunkt I (9,6) ist.
SA 9-74-010 ' - 13 -
609828/0484
Die Modul-Zuordnungsfunktion M (i,j) ordnet jedem der rs Bildpunkte einen der pq Speichermoduln zu, ohne jedoch die spezielle Speicher-
stelle oder Speicherzelle anzugeben, in welche die Bildpunkte gespeichert werden sollen. Es wurde unerwarteterweise herausgefunden , dass die Bildpunkte in passenden Speicherzellen A (i,j) der Speichermoduln M (i,j) gespeichert werden könnten, wenn die entsprechende Zuordnungsfunktion in folgender Weise abgewandelt wird: A (i,j) = (i/p) s + (j/q), wobei i/p und j/q ganzzahlige Quotienten sind.
In der Fig. 2B ist die Adressen-Zuordnungsfunktion A (i,j) für den Fall dargestellt, dass ρ = q — r = 4 und s = 8 sind. Die Dezimalzahl in jedem ρ χ q = 4 χ 4 Block zeigt die Adresse der zugehörigen pq = 16 Bildpunkte. Beispielsweise fällt die 5-te Stelle der 6-ten Zeile in den Block mit der Dezimalzahl 9. Das bedeutet, dass der Bildpunkt I (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. .
Adre s senberechnung
Wenn ein Zugriff zum Lesen oder Schreiben zu einer Untermatrix der Form 1 χ pq oder ρ χ q erfolgen soll, dann muss der Adressenberech-
SA 9-74rOlO . - 14 -
609828/0484
nungsteil der Adressen steuerung 7 in Fig. 1 für den Bereich 0 tr k -«. pq die Adresse des einzelnen Bildpunktes berechnen, der in k-ten Speichermodul zu speichern'ist.
Algebraisch kann das so ausgedrückt, werden, dass wenn das Element oben links der gewünschten 1 χ pq oder ρ χ q Untermatrix der Bildpunkt I (i, j) ist und Wenn die Boolesche Variable t auf einen der Werte t = 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 zu berechnende Adresse für den Modul k in der Form £(i,j,k,t) geschrieben werden. Die Form dieser Adressenfunktion ist in der Tabelle i verzeichnet. Sie kann in folgender Weise gerechtfertigt werden.
Es sei angenommen, dass der Zugriff zu einer Untermatrix der Form 1 χ pq erwünscht ist, so dass t = 0 ist. Die Modul-Zuordnungsfunktion M (i,j) B (iq + j)// pq stellt sicher, dass der Modul k einen der erwünschten Bildpunkte I (i,j), I (i,j + 1), ..., I (i,j + pq - 1) speichert Das ist dem gleichwertig, dass der Modul k den Bildpunkt I (i,j + b) speichert,' wobei b eine ganze Zahl im Bereich 0 =£ b «z pq ist. Die Aufteilung der Bildpunkte auf die Speichermoduln stellt sicher, dass der Bildpunkt I (i,J + b) in der Adresse A (i,j + b) = (i/p) s + (j + b)/ q
SA 9-74-010 - 15 -
609828/0484
-fades Speichermoduls M (i,j + b) = (iq + j + b)// pq gespeichert wird. Daraus folgt, dass k = M (i,j + b) und f(i,j,k,t) = A (i,j + b). Diese Beziehungen können
- iq - jj// pq =[k
benutzt werden, um zu zeigen , dass b = M[.(i,j + - iq - jj// Pq. Wir setzen g (i,j,k) = (k - iq -j)
// pq und schliessen daraus, dass b = g (i,j,k) und im Falle, dass t = 0, istf(i,j,k,t) = A (i,j + b) = (i/p) s + (j + b)/ q = (i/p) s + U + g (iJ,k)J/ q.
Es sei nun angenommen, dass der Zugriff zu einer Untermatrix ρ χ q erfolgen soll. In diesem Falle ist t = 1 . Als Konsequenz der Modul-Zuordnungsfunktion M (i,j) speichert der Modul k einen der erwünschten Bildpunkte I (i,j), I (i,j + 1), ..., I (i,j +' q -D, Γ (i + 1, j ), ..., I(i + p-l, j+q-i). In äquivalenter Form bedeutet das, dass 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^rb<q liegen. Die Verteilung der Bildpunkte unter die Speichermoduln stellt jedoch sicher, dass der Bildpunkt I (i + a, j + b) an eine Adresse A (i + a, j + b) = [(I + a)/ pj s + (j + b)/ q des Moduls M (i + a, j + b) = (iq + aq + j + b)// pq gespeichert wird. Daraus folgt deshalb, dass k = M (i + a, j + b) und Mi,j,k,t) = A (i + a, j + b) ist. Diese Beziehungen können dazu benutzt werden, zu zeigen, dass aq + b = QM (i,+ a, j + b) - iq
SA 9-7470l0 - 16 -
609828/0484
- ß// pq = (k - iq - j)// pq. Wir setzen g (i,j,k) = (k - iq - j)// pq und schliessen, dass a = g (i,j,k)/ q und b = g (i/j,k)// q, so dass im Falle t = 1 die Speicherstellen-Zuordnung -?(i,j,k*t) = A (i + a, j + b)
= C(i + a)/ pj s + (j + b)/ q = [(i + g (i,j,k)/ q)/p] s + fj + g (i,j,k) // q)/ q wird.
Leitweg steuerung
Immer wenn eine Untermatrix der Form 1 χ pq oder P χ q der Bildmatrix I (*/*) 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 Signale auf den Leitungen 15 gesteuert, welche durch den Steuerteil der Adressensteuerung geliefert werden.
In algebraischer Schreibweise bedeutet das, dass das erste Element oben links der Untermatrix der Form 1 χ pq oder P χ q der Bildpunkt I (i,j) ist.
SA 9-74-010 - 17 .-
609828/0484
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 χ pg oder ρ χ q erfolgen soll. Das einzelne Element der Untermatrix des Moduls k kann mit e (i,j,k,t) bezeichnet werden. Dieses Element muss zu einer oder aus einer der pq Bitpositioner. d (0), d (1), ..., d (pq - 1) des Datenregisters geleitet werden, wie in der Tabelle 1 angegeben.
Es werde angenommen, dass der Zugriff zu einer Untermatrix der Form 1 χ pq erfolgt, sodass t = 0 ist. Da das Datenregister die Information in der Hauptzeilenfolge enthält, sollte das Element I (i,j + b) der Untermatrix in die Bitposition d (b) des Datenregisters geleitet werden oder aus ihr entnommen. Wie im letzten Abschnitt beschrieben, wird der Bildpunkt I (i,j.+ b) in dem Speichermodul k gespeichert, wobei die ganzen Zahlen k und b nach der Formel b = (k - iq -.j)// pq = g (i/j/k) miteinander verknüpft sind. Deshalb wird das einzelne Element der 1 χ pq Untermatrix, das aus dem Modul k entnommen werden soll, nämlich I (i,j + b) = e (i,j,k,t), in die Bitposition d (b) = d (g (i,j,k)) des Datenregisters geleitet bzw. aus dieser Position im Falle des Einspeichere entnommen.
SA 9-74-010 - 18 -
609828/0484
Nun sei angenommen, dass der Zugriff zu einer ρ χ q Untermatrix erfolgen soll, so dass t = 1 ist. Da die Untermatrix in der Hauptzeilenfolge im Datenregistjer gespeichert wird, muss das Element I (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 Grossen a und b gemä'ss der Formel aq + b = (k - iq - j)// pq = g (i,j,k) verknüpft ist. Oeshalb wird das einzelne Element der ρ χ q Untermatrix, das vom Modul k ausgelesen oder in ihn eingespeichert werden soll, nämlich I (i + a ^ + b ) = Q. (i,j,k,t) von oder zu der Bitposition d (aq + b) = d (g (i,j,k) des Datenregisters geleitet.
Schaltkreise
Die Fig. 3 zeigt eine schematische Uebersicht der für die Adressensteue- Tung- 7 nach Fig. 1 notwendigen Schaltkreise. Die pq Speichermoduln 21, 23 bis 25 sind in ρ Zeilen mit je q Moduln angeordnet. Die Adres sensteuerung 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 Speicher-
modul. — .
SA 9-74-010 . - 19 -
609828/048 4
Die Grundsteuerung 51 verarbeitet die von den Registern 1, 3 und 5 gelieferten Signale für die Gestalt der Untermatrix t und die Anfangs-
i
koordinaten des ersten Bildelementes i und j, um daraus die Grossen M (i,j), R und iv (O)/ iv (1), ..., £v (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 Grosse R besteht aus Binärwerten, die von den Zeilensteuerungen 53, 55 und 57 gebraucht werden. Die Grossen Pv (0), Zv (1), ..., 6v (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 Grosse 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 Modul Steuerungen geliefert.
Jede der Modulsteuerungen 59, 61 bis 63 verarbeitet die Adressensignale, die durch eine der ZeilensteuerungenJ53, 55 bis 57 geliefert
SA 9-74^-010 - 20 -
609828/0484
werden und eines der Signale Pv (0), ί ν (1), ..., g ν ( q - 1), die durch die Grundsteuerung 51 geliefert werden, um daraus eine Speicherzellenadresse zu berechnen. Insbesondere berechnet die mit dem k-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 Fign. 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 fasst 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össen ρ, q, r und s. Die dargestellten Ausführungsbeispiele von Schaltkreisen gehören jedoch .zu dem speziellen Beispiel mit den Entwurf sgrös sen ρ = q = r = 4 und s = 8.
Fig.4 ist ein spezielles Beispiel der Grundsteuerung 51. Die Eingangssignale für diesen Schaltkreis sind die Bezeichnung der Gestalt der
SA 9-74-010 - 21 -
609828/0484
Untermatrix t und die Anfangskoordinaten i und j. Die Ausgangssignale sind die Grossen M (i,j), R und tv (θ), ev (l), ..., £v (q - 1). Wie aus der Fig. ersichtlich, besteht die Grosse R aus einem Bündel von
Steuersignalen mit djem Booleschen Werten t, xO, iO, y.O und zO. Jeder dieser Werte wird durch die Grundsteuerung nach den Formeln berechnet, die unten in der Fig. 4 angegeben sind.
Die beiden ersten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Grossen xO = i/p und iO = i// p, d. h. der Quotient und der Rest der ganzzahligen Division von i durch p. Da die BiIdkoordinate i eine binär codierte ganze Zahl ist und weil für das Ausführungsbeispiel der Fig. 4 ρ = 4 ist, wird iO gerade durch die beiden weniger signifikanten Bits der Binärzahl i und xO durch die übrigen Bits von i dargestellt.
Die beiden nächsten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Grossen yO = j/q und vO = j//q. Die Bildkoordinate y ist eine binär codierte ganze Zahl und im Ausführungsbeispiel nach Fig.4 'ist q = 4. Daher werden vO und yO durch die weniger signifikanten beider Bits von j und durch die übrigen Bits von j dargestellt.
SA 9-74-010 - 22 -
609828/0484
Ein weiterer zu berechnender Wert ist die Grosse uO = (iO + yO)//p, d.h. uO ist der Rest der ganzzahligen Division durch p, deren Dividend die Summe der beideh vorher berechneten Grossen iO und yO ist. In der Fig. werden die jWerte iO und yO der Addierschaltung 401 zugeführt, welche ihre Summe berechnet. Da in dem Ausführungsbeispiel ρ = 4 ist, wird der gewünschte uO = (iO + 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 M (i/j) = (iq + j)//pq zu berechnen. Diese Grosse kann aus den beiden vorher ermittelten Grossen uO und vO entsprechend der TJeziehung M (i,j) = uO · q + vO ermittelt werden. vO und uO sind Binärzahlen, und da vO «=■ q und für das Ausführungsbeispiel q = 4 ist, vereinfacht sich die Berechnung M (i, j) = uO · q + vO zur simplen Verkettung (Nebeneinanderstellen) der Werte uO und vO, die auf den Leitungen 407 und 421 erscheinen.
Ein weiteter durch die Grundsteuerung zu berechnender Wert ist die Gros-* se zO = t · uO + t (yO//p). Wenn das die Gestalt der Untermatrix definierende Bit t den Booleschen Wert t = 0 hat, dann hat sein logisches Komplement t den Wert t =1. In diesem Falle wird zO = uO'. Wenn anderer-
SA 9-74-010 - 23 -
609828/0484
seits t den Booleschen Wert t = 1 hat dann ist t = 0 und zO = yO//p. Im Ausführungsbeispiel nach Fig. 4 umfasst yO//p die beiden weniger signifikanten Bits dfer vorher berechneten Grosse yO. Der Wert yO//p
i
wird den UND-Gliedern 415 zugeführt. Der Wert t bildet ein zweites Eingangssignal zu den UND-Gliedern 415. Der durch die Inverter 411 gebildete Wert t wird den UND-Gliedern 409 zugeführt, deren anderes Eingangssignal die Grosse uO ist, welche durch die Addierschaltung gebildet wurde und auf den Leitungen 407 erscheint. Die Ausgangssignale der UND-Glieder 409 und 415 werden den ODER-Gliedern 419 zugeführt, dereja Ausgangs signale die erwünschte Grosse z0 bilden.
Als letzte Werte sind durch die Grundsteuerung die Grossen tv (O), £v (1), ..., Iν (q - 1) zu berechnen, Für ganzzahlige Werte der Grösse k im Bereich Os k*q ist die Grosse iν (k) durch die beiden Werte Iv (k) = 1 für k -s. vO und Zv (k) = 0 für k s~ v0 definiert. v0 ist die vorher berechnete Grosse, welche auf den Leitungen 421 erscheint. Symbolisch kann das als tv (k) = LT (k,v0) geschrieben werden. Die Grosse (ν (0) wird durch das ODER-Glied 423 berechnet und hat den Booleschen Wert tv (0) = 1, wenn eines der Bit von v0 den Wert 1 hat. Weiterhin ist Iv (1) =1, wenn das am meisten signifikante Bit von v0 den Wert 1 hat, und tv (2) = 1, wenn beide Bits von v0 den Wert 1
SA 9-74-OiO - 24 -
609828/0484
haben, was durch das UND-Glied 42 5 festgestellt wird. Schliesslich ist Ev (3) '= O, weil die zweistellige Bina'rzahl vO nicht grosser als 3 sein kann.
Fig. 5 zeigt Einzelheiten einer Zeilensteuerungs schaltung 53, wie sie in Blockform in der Fig. 3 mit den Bezeichnungen 53, 55 oder 57 dargestellt sind. Die gezeichnete Schaltung ist mit der u-ten Zeile von Speichermoduln verbunden, wobei u im Bereich 0 ;= u -* ρ liegt. Die Eingangssignale für diese Schaltung sind die Zeilennummer u und das Bündel der Signale R. R enthält die Werte t, xO, yO, iO und zO, welche durch die Grundsteuerschaltung 51 bereitgestellt werden. Die Ausgangssignale der Schaltung bestehen aus den Weiten t, 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 Zeilen steuerung zu berechnen ist, ist die Grosse, ζ = (u - zO)//p. Die Inverter 501 und die Addierschaltung 503 dienen dazu, zO von u zu subtrahieren, wobei die bekannte Beziehung u-z0~u + z0 +1 'verwendet wird. Da in dem Ausführungs-
SA 9-74T010 - 25 -
609828/0484
beispiel ρ = 4 ist, bilden die beiden weniger signifikanten Ausgabebits der Addierschaltung 503 die gewünschte Grosse z. Der Inverter 505 und die UND-Schaltungen 507 liefern die Grosse t'zan die Addierschaltung 509; sodass die Addierschaltung 509 und die Halbaddierschaltung 511 das Signal yu = yO + t · ζ berechnen.
Ein weiterer durch die Zeilensteuerung zu berechnender Wert ist die Grosse euf = EQ (z,0), d.h. eui ist eine Boolesche Variable mit dem Wert eue = 1 für ζ = 0 und mit dem Wert euß = 0 für ζ = 1. Das ODER-Glied 513 und der Inverter 515 bestimmen, ob ζ = 0 ist und liefern das Signal eu? = EQ (z,0) auf der Leitung 517.
Weitere durch die Zeilensteuerung zu berechnende Werte sind die Booleschen Variablen £u = LT (z,10) und eu2 = EQ (z, i0). Su = 1 für ζ -=■- und eu2 = 1 für ζ = i0. Die Inverter 519 und die Addierschaltung dienen dazu, den Wert i0 von der Grosse ζ nach der Beziehung ζ - i0 = ζ + i0 + 1 zu subtrahieren. Der Inverter 523 invertiert den von der Addierschaltung 521 gelieferten Uebertrag, um den Wert fu = LT (z - i0, Ό) = LT (z,.i0) zu berechnen, während das ODER-Glied 525 und der Inverter 527 das Signal eu2 = EQ (z - i0, 0) = EQ (z, i0) auf der Leitung 529 bereitstellen.
SA 9-74-010 - 26 -
609828/048A
Der letzte durch die Zeilensteuerung zu berechnende Wert ist die Boolesche Variable .eu = t · eui. + t · euC (tu + eu2). Diese Variable wird durch die ODER-Glieder 53|1 und 541, durch die Inverter 533 und 537 und durch die UND-Gliede 535 und 539 berechnet.
Fig. 6 zeigt Einzelheiten einer Modulsteuerungs schaltung 59, wie sie als Blöcke 59, 60 oder 63 in Fig. 3 dargestellt sind. Es ist im einzelnen die Modulsteuerung für den k-ten Speichermodul dargestellt, wobei k im Bereich Orsk-^pq liegt. Die Eingangssignale für diese Schaltung sind die Grosse £v (k//q), die von der Grundsteuerschaltung 51 berechnet wurde, und die Grossen t,x0,y0, Cu 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 Zellenandres se £(i,j,k,t), welche entsprechend den Verknüpfungen nach den Formeln in der Fig. 6 berechnet wurden.
Der erste durch die Modulsteuerung zu berechnende-Wert ist die Grosse χ = xO + t (Ι ν £u + ev . eu). Hier bezeichnet gv den Wert tv (k//q), • welcher von der Grundsteuerschaltung 51 empfangen wird. Der benötigte Boolesche Wert t (fv · £u + Iv · eu) wird mittels des Inverters 601, der UND-Glieder 603, 605 und 615 und des ODER-Gliedes 609 gewonnen.
SA 9-74-010 - 27 -
609828/OA84
Dieser Boolesche Wert wird dann zu xO mit Hilfe der Halbaddierschaltung 619 addiert. Das Signal χ erscheint auf den Leitungen 625.
i °
Der nächste durch die Modulsteuerung zu berechnende Wert ist die Grosse y='yu + p-t»eu«ßv + t«£v. Es ist entweder t = 0 oder t = 0. y wird deshalb dadurch gewonnen, dass man entweder 0,1 oder P zu yO addiert, wobei der zu addierende Wert durch die Booleschen Variablen t, eu und iv bestimmt wird. Die Variable t· tv wird durch das UND-Glied 607 berechnet und an die Halbaddierschaltung 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 617 geliefert. Wenn t · tv = 1 istT dann ist notwendig t = 1 und t = Q, so dass t» eu · Iv = 0 ist. In' diesem Falle addieren die Halbaddierschaltungen 621 und 618 t'Cv = 1 zu dem Wert yu, wobei ein durch die Halbaddierschaltung 621 erzeugte Uebertrag über das ODER-Glied 617 an die Halbaddierschaltung 618 geliefert wird. Andererseits ist notwendigerweise t = 0 und t = 1 im Falle dass t · eu iv = 1 ist, so dass t- Iv = 0 sein muss . In diesem Falle wird der 'Wert t«eu\(v = 1 über das ODER-Glied 617 an die Halbaddierschaltung 618 geliefert und auf diese Weise zu dem meist signifikanten Bit von yu addiert. Da die Halbaddierschaltung 621 den Wert t· iv =■ 0 zu den
SA 9-74-010 - 28 -
609 8 2 8/0484
25361
beiden weniger signifikanten Bits von yu addiert, hat das zur Folge, dass 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 + p«t«eu«fv + t · fv auf den Leitungen 627.
Der letzte durch die Modulsteuerschaltung für den Speichermodul k zu ermittelnde Wert ist die Speicherzellenadresse ?(i,j,k,t) = χ . s + y. In dem Ausführungsbeispiel der Fig. 6 ist s = 8 und y<8, so dass C(i,j,k,t) einfach so erhalten wird, dass 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 Fign. 7, 8 und 9 dienen zur- Illustration der Leitweg schaltung 8 der Fig. 1. Diese Schaltung dient dazu, die Information der Bildpunkte irgendeiner Untermatrix der Gestalt 1 χ pq oder ρ χ q in richtiger Weise zwischen den Speichermoduln 21, 23 bis 25 und dem Datenregister 39 zu verschieben. Die Schaltung muss 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 Um-
SA 9-74-010 - 29 -
60 9828/0 484
Ordnung s schaltung 47 und die nach links drehende Umordnung s scha ltung
49. Die Fign, 7 bis, 9 beschreiben die Arbeitsweise der Leitweg scha ltung
sowohl in Form der !Schaltalgebra als auch anhand eines Ausführungsbeispiels der Schaltung. Die algebraische Beschreibung passt für alle Kombinationen der Entwurfsgrössen p, q, r und s, während das dargestellte Ausführungsbeispiel für den speziellen Fall gilt, dass ρ = q = r = 4 und s = 8 sind.
Die Fig. 7 dient zur Erläuterung der nach rechts drehenden Umordnungsschaltung 4*7. Ein Eingangssignal dieser Schaltung ist die Grosse M (i,j) welche durch die Grundsteuerschaltung 51 berechnet und über die Leitungr 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 k-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) = Hk - M (i,j)J//pq definiert ist. Dieses Leiten der Daten erfolgt durch Umordnen des Registerinhaltes des Datenregisters 39 um M (i,j) Bitpositionen. ■'""*.·.
SA 9-74-010 - 30 -
609828/0484
- ΐΛ *
Die Schaltung gemäss Fig. 7 verwendet vier einfache Umordner 701, 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 Nichtverschiebenseiner Eingangssignale, falls das Bit eine 0 ist. Als Beispiel zeigt Fig. 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 1 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 809 an die entsprechenden Ausgänge geliefert.
SA 9-74-010 - 31. -
609828/0484
In Fig. 9 ist ein Ausfuhrungsbeispiel der nach links drehenden Umordnungsschaltung 49 dargestellt. Ein Eingangssignal dieser Schaltung ist die Grosse M (i,, j), welche durch die Grundsteuerungs schaltung 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 dieser Bildpunkte wird an das Datenregister 39 über die Leitungen 51, 53 und 55 nach der unten erläuterten Regel ausgegeben. Der vom k-ten Modul gelieferte Bildpunkt wird in die Bitposition g (i,j,k) des Datenregisters geleitet, wobei die Funktion g (i,j,k) durch die Verknüpfung g (i,j,k) = £k - M (i,j)j//pq definiert ist. Dieses Leiten erfolgt durch Umordnen der Folge der Bildpunkte, welche den Speichermoduln 21, 23 und 25 entnommen werden, mittels zyklischer Vertauschung um M (i,j) Bitpositionen. .
Das Ausführungsbeispiel der Fig. 9 verwendet vier einfache Umordner 901, 903, 905 und 907, um die erwünschte Drehung oder zyklische Vertauschung zu erreichen. Jeder dieser einfachen Umordner reagiert auf ein einzelnes Bit der Grosse M (i,j), indem er seine Eingangssignale um einen vorbestimmten Betrag zyklisch vertauscht, im Falle dass dieses Bit den Binärwert 1 hat, oder indem er seine Eingangssignale nicht ver-
SA 9-74-QlO - 32 -
609828/0484
tauscht, wenn das Bit den Binärwert 0 aufweist. Diese einfachen Umordner sind in ihrem Aufbau ähnlich den oben beschriebenen Umordnern 701, 703, 705, und 707, die in den Fign. 7 und 8 dargestellt sind.
Es wird eine Zugriffsmethode und die dazu geeignete Speichereinrichtung beschrieben, welche den Zugriff zu allen Untermatrizen der Form 1 χ pq oder ρ χ q innerhalb einer Bildpunktmatrix der Grosse rp χ sq ermöglicht.. welche in einer wortorganisierten Speichereinrichtung gespeichert ist und wenn diese Daten entsprechend vorbestimmten Verknüpfungen verteilt sind. Im wesentlichen erfordert diese Speichereinrichtung nur pq Speichermoduln, zwei Umordnungs schaltungen und zugehörige Verknüpfung; und Steuerschaltungen,um den Zugriff zu den Untermatrizen zu ermöglichen. Die beschriebene Speichereinrichtung für binäre Bildinformationen kann in leichter Weise durch mehrfache Zufügung dieser Schaltungen so erweitert werden, dass sie auch Bildpunkte für Halbtonbilder oder Farbbilder behandeln kann, wobei jeder einzelne Bildpunkt mehrere Bits an Speicherraum erfordert.
SA 9-74-010 - 33 -
60 9 8 28/0484

Claims (1)

  1. PATENTANSPRÜCHE
    Speichereinrichtung für bildliche Darstellungen betreffende Daten mit Adressierungsschaltungen, die innerhalb eines Speicherzyklus durch nur einen Zugriff das gemeinsame Speichern oder Auslesen von Daten einer Anzahl pxq Bildpunkte aus einer Matrix mit rp χ sq Bildpunkten I ( , ) ermöglicht, daß die Bildpunkte als Untermatrix in der Form einer Zeile 1 χ pq oder eines Rechtecks pxq gespeichert und verarbeitbar sind, wobei jeder Bildpunkt einen Bool'schen Wert annimmt, dadurch gekennzeichnet ,
    daß an sich bekannte Speichermoduln (21, 23, 25) vorhanden sind, daß jeder der genannten Speicherraoduln als Einheit die Anzahl von rs Bildpunkten speichert, wobei zu einem Zeitpunkt Zugriff zu jedem Speichermodul erfolgt, daß Schaltkreise (7, 39, 47, 49) zur Adreßumrechnung vorgesehen sind, wobei jeder Bildpunkt in eine Speichersteile eines Speicheriioduls mit einer Adressenzuordnungsfunktion A (i, j) geepeiehert oder ausgelesen wird, daß die Adr«|se eines Speiehermoduls durch eine Modulzuordnungfunktion M (if J) gegeben wird, wobei die genannten Adressenzuordnungsfunktionen ganzzahlige Punktionen sind, die in folgender Weise definiert sind: ;
    A (i, j) s (i/p)s + j/q, wobei i/p und j/q ganzzahlige Quotienten sind, und M (i, j) = (*<l-+ j)//pq)> wobei |
    SA 974 010
    609$28/0484
    ORfQfNAL INSPECTED
    25361Ö4
    (iq + j)//pq der Rest der ganzzahligen Divison von (iq + j)/pq ist.
    Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zwischen ρ χ q Speichermoduln (21, 23» 25) und einem Datenregister (39) mit einer Speicherkapazität von mindestens ρ χ q Bildpunkten eine Leitwegschaltung (8) angeordnet ist, die mit ihren Verknüpfungsgliedern die Zuordnung jedes Bildpunktes zu einem spezifischen 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. Speicheeinrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das Datenregister (39) mindestens die Speicherkapazität einer Untermatrix hat.
    it. 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.
    SA 974 010. - 35 -
    609 8-2 8/0484
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 true DE2536104A1 (de) 1976-07-08
DE2536104B2 DE2536104B2 (de) 1977-06-30
DE2536104C3 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
DE2536104C3 (de) 1978-03-16
DE2536104B2 (de) 1977-06-30
JPS5136030A (de) 1976-03-26
AU8257975A (en) 1977-01-06
SE403685B (sv) 1978-08-28
BR7505284A (pt) 1976-08-03

Similar Documents

Publication Publication Date Title
DE2536104A1 (de) Speicher fuer bildliche darstellungen betreffende daten
DE2549336C3 (de) Speichereinrichtung für bildliche Darstellungen betreffende Daten
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE2607107C2 (de) Wortorganisiertes Speichersystem
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
DE2852253A1 (de) Drehung der wiedergabe auf einem bildschirm
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE3309847A1 (de) Bildverarbeitungssystem
DE3713627C2 (de)
DE3043100C2 (de)
DE4227733A1 (de) Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher
DE69633716T2 (de) Hochgeschwindigkeitssystem zur Skalierung von Bildern
DE1499739A1 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Worte
DE3702613A1 (de) Geraet zum verschieben digitaler daten in einem speicher eines datenverarbeitungssystems
DE2012728B2 (de) Verfahren zur elektrooptischen Aufzeichnung von gerasterten Halbtonbildern
DE3705124A1 (de) Anzeigeprozessor und videoverarbeitungsuntersystem fuer computergraphik
DE4105193A1 (de) Datenschnittstelle zur ein- und ausgabe von daten bei parallelrechnern
DE2654010A1 (de) Fernsehanordnung
EP0009625A2 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE2712497C2 (de) Einrichtung zur zeilenweisen Darstellung von in einem Speicher mit wahlfreiem Zugriff gespeicherter Information
DE2349590A1 (de) Vorrichtung zur datenverarbeitung
DE3710696C2 (de)
DE3412714C2 (de)

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee