DE2536104A1 - Speicher fuer bildliche darstellungen betreffende daten - Google Patents
Speicher fuer bildliche darstellungen betreffende datenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
- Image Analysis (AREA)
Description
Die Erfindung betrifft einen Speicher nach dem Oberbegriff des Patentanspruchs 1.
In der Bildverarbeitung ist es zweckmäßig, selektiven Zugriff auch
zu einzelnen Bildbereichen zu haben, die zellenförmige oder rechteckige Ausschnitte aus einem größeren Bereich sind. Zur Bildspeicherung
müssen viele 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- \
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.
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.
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.
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. .
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.
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.
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.
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.
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·
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)
- PATENTANSPRÜCHESpeichereinrichtung 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 010609$28/0484ORfQfNAL INSPECTED25361Ö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
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3996559A (en) * | 1974-11-07 | 1976-12-07 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system |
US3995253A (en) * | 1975-03-03 | 1976-11-30 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system |
GB1524850A (en) * | 1975-12-23 | 1978-09-13 | Ferranti Ltd | Data processing apparatus |
US4052699A (en) * | 1976-06-30 | 1977-10-04 | International Business Machines Corporation | High speed real time image transformation |
US4090174A (en) * | 1976-11-01 | 1978-05-16 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system |
US4128872A (en) * | 1977-06-20 | 1978-12-05 | Motorola, Inc. | High speed data shifter array |
US4460958A (en) * | 1981-01-26 | 1984-07-17 | Rca Corporation | Window-scanned memory |
US4434502A (en) | 1981-04-03 | 1984-02-28 | Nippon Electric Co., Ltd. | Memory system handling a plurality of bits as a unit to be processed |
EP0085210A1 (de) * | 1982-01-29 | 1983-08-10 | International Business Machines Corporation | Bildverarbeitungssystem |
GB2123998B (en) * | 1982-07-21 | 1986-10-22 | Marconi Avionics | Data memory arrangment |
WO1984000629A1 (en) * | 1982-07-21 | 1984-02-16 | Marconi Avionics | Multi-dimensional-access memory system |
JPS5930156A (ja) * | 1982-08-09 | 1984-02-17 | Sharp Corp | マイクロコンピユ−タシステム |
US4606066A (en) * | 1982-09-09 | 1986-08-12 | Hitachi, Ltd. | Programmable image processor |
JPS59110086A (ja) * | 1982-12-14 | 1984-06-25 | Nippon Telegr & Teleph Corp <Ntt> | 集積記憶回路 |
JPS60172085A (ja) * | 1984-02-17 | 1985-09-05 | 株式会社日立製作所 | 図形処理装置 |
JPS60160780A (ja) * | 1984-01-31 | 1985-08-22 | Nec Corp | 特殊効果用画像記憶装置 |
GB8415602D0 (en) * | 1984-06-19 | 1984-07-25 | Secr Defence | Raster image manipulator |
GB2165066B (en) * | 1984-09-25 | 1988-08-24 | Sony Corp | Video data storage |
JPS62131289A (ja) * | 1985-12-03 | 1987-06-13 | 日本電気株式会社 | 図形表示装置用の記憶回路 |
GB8618060D0 (en) * | 1986-07-24 | 1986-12-17 | Gec Avionics | Data processing apparatus |
EP0255280A3 (de) * | 1986-07-24 | 1990-10-24 | Gec Avionics Limited | Datenspeicherung |
CA1272312A (en) * | 1987-03-30 | 1990-07-31 | Arthur Gary Ryman | Method and system for processing a two-dimensional image in a microprocessor |
US5109348A (en) * | 1987-09-14 | 1992-04-28 | Visual Information Technologies, Inc. | High speed image processing computer |
US5129060A (en) * | 1987-09-14 | 1992-07-07 | Visual Information Technologies, Inc. | High speed image processing computer |
US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
US5146592A (en) * | 1987-09-14 | 1992-09-08 | Visual Information Technologies, Inc. | High speed image processing computer with overlapping windows-div |
US4916654A (en) * | 1988-09-06 | 1990-04-10 | International Business Machines Corporation | Method for transfer of data via a window buffer from a bit-planar memory to a selected position in a target memory |
US6028612A (en) * | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
US6252576B1 (en) | 1998-08-06 | 2001-06-26 | In-System Design, Inc. | Hardware-efficient system for hybrid-bilinear image scaling |
JP2000122919A (ja) * | 1998-10-13 | 2000-04-28 | Mitsubishi Electric Corp | プロセッサ及びメモリ制御方法 |
US6753988B1 (en) | 2002-03-29 | 2004-06-22 | Cypress Semiconductor Corp. | Apparatus and method for color data conversion |
US20110157194A1 (en) * | 2009-12-31 | 2011-06-30 | Omri Eisenbach | System, data structure, and method for processing multi-dimensional video data |
US10268885B2 (en) | 2013-04-15 | 2019-04-23 | Microsoft Technology Licensing, Llc | Extracting true color from a color and infrared sensor |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3766520A (en) * | 1971-11-10 | 1973-10-16 | Regonition Equipment Inc | Character reader with handprint capability |
-
1974
- 1974-08-19 US US05/498,352 patent/US3938102A/en not_active Expired - Lifetime
-
1975
- 1975-05-21 GB GB21869/75A patent/GB1504602A/en not_active Expired
- 1975-05-27 FR FR7517196A patent/FR2282695A1/fr active Granted
- 1975-06-18 CA CA229,601A patent/CA1031869A/en not_active Expired
- 1975-06-20 IT IT24580/75A patent/IT1039151B/it active
- 1975-07-17 JP JP8675375A patent/JPS5439098B2/ja not_active Expired
- 1975-07-24 SE SE7508428A patent/SE403685B/xx not_active IP Right Cessation
- 1975-08-07 CH CH1030175A patent/CH607134A5/xx not_active IP Right Cessation
- 1975-08-13 DE DE2536104A patent/DE2536104C3/de not_active Expired
- 1975-08-19 BR BR7505284*A patent/BR7505284A/pt unknown
Also Published As
Publication number | Publication date |
---|---|
CA1031869A (en) | 1978-05-23 |
CH607134A5 (de) | 1978-11-30 |
US3938102A (en) | 1976-02-10 |
JPS5439098B2 (de) | 1979-11-26 |
FR2282695A1 (fr) | 1976-03-19 |
IT1039151B (it) | 1979-12-10 |
SE7508428L (sv) | 1976-02-20 |
FR2282695B1 (de) | 1980-06-27 |
GB1504602A (en) | 1978-03-22 |
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 |