DE2545825A1 - Rechner mit moeglichkeiten fuer die speicheradressrechnung - Google Patents
Rechner mit moeglichkeiten fuer die speicheradressrechnungInfo
- Publication number
- DE2545825A1 DE2545825A1 DE19752545825 DE2545825A DE2545825A1 DE 2545825 A1 DE2545825 A1 DE 2545825A1 DE 19752545825 DE19752545825 DE 19752545825 DE 2545825 A DE2545825 A DE 2545825A DE 2545825 A1 DE2545825 A1 DE 2545825A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- computer
- data
- registers
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Memory System (AREA)
Description
Die Erfindung betrifft einen Rechner, insbesondere einen Rechner mit Speicheradressrechenmöglichkeiten. Obwohl die Erfindung anhand
der Datenverarbeitung auf dem Gebiet der Stereophotogrammetrie
beschrieben wird, sind auch weitere Anwendungen möglich.
In der Stereophotogrammetrie werden Bilddaten auf zwei Lichtbildern
aufgezeichnet. Paarweise zugeordnete oder Koppelbildpunkte auf den Lichtbildern müssen wechselseitig aufeinander
bezogen und zusammen in jeder beliebigen Reihenfolge greifbar oder abrufbar sein. Herkömmliche digitale Allzweckrechner dienen
zur Verarbeitung der Bilddaten durch Speicherung der digitalen Datenelemente wie der photografischen Schwärzung in Speichern mit
direktem Zugriff. Ein einfaches Verhältnis von 1:1 gilt zwischen einem die Adresse enthaltenden Speicherstellenindex und den
60981 9/1078
Koordinatenwerten eines Bildpunktes auf einem Lichtbild in einem bestimmten Gitter nach der folgenden Gleichung:
m = i + η j (1)
Hierbei ist m die Zahl der Speicherstelle, an welcher der Bildschwärzungswert am Abszissenpunkt j, Koordinatenpunkt i gespeichert
ist und η die Anzahl der Ordinaten des Gitters.
Um die Gitterdatenelemente vom Speicher in der auf dem Gitter aufgezeichneten Reihenfolge abzurufen, wird der Rechner auf Zuwachs
der Speicheradresse programmiert. Die Indexmöglichkeiten des Rechners sind jedoch für die Ordnung der Speicherstellung
in strenger Reihenfolge begrenzt, und jede Speicherstelle oder jede n.Speicherstelle muß abgerufen werden.
Der Zugriff zum Speicher in einer speziellen Reihenfolge für Datenelemente, welche den Koppelbildpunkten von zwei Lichtbildern
entsprechen, ist verhältnismäßig langsam, weil der Rechner zuerst die einem Bildpunkt auf einem Lichtbild entsprechenden
Datenelemente und dann den Koppelbildpunkt des anderen Lichtbildes sequentiell vom Speicher abrufen muß. Für jedes Datenelement
muß die Adresse im Speicher zuerst nach Gleichung (1) berechnet werden. Diese Reihenfolge muß häufig wiederholt werden,
um alle Datenelemente vom Speicher in der gewünschten besonderen Reihenfolge abzurufen.
Die Aufgabe der Erfindung besteht darin, einen Rechner mit einem Adressenänderungs- oder Erganzungsregister zu schaffen, mit welchem
das vorerwähnte Verfahren vereinfacht wird und weniger zeitraubend ist. ~3~
6 0 9 8 19/1078
• - 3 - 254582$
Der erfindungsgemäße Rechner besitzt einen Speicher sowie ein Ädressenanderungsregister um Adressen für den Zugriff von Datenelementen
aus einem Speicher dadurch zu schaffen, daß Speicherstellen ein einer bestimmten Reihenfolge adressiert werden, welche
sich von der Reihenfolge unterscheidet, in welcher die Datenelemente gespeichert werden und bei welchem jedes Datenelement
durch mindestens einen Index gekennzeichnet ist. Erfindungsgemäß ist eine Adresseniitegcationsschaltung oder ein Adressenintegrierglied
für jeden zur Kennzeichnung eines Datenelements erforderlichen Index vorgesehen, wobei jedes Adressenintegrierglied Einrichtungen
zur Berechnung eines jedes Datenelement kennzeichnenden Index umfaßt, sowie Einrichtungen zur Steuerung jedes Adressenintegriergliedes,
um Adressen sequentiell in der speziellen Reihenfolge für den Zugriff zum Speicher abzurufen. Vorteilhafterweise
umfaßt jedes Adressenintegrierglied eine Anzahl von Registern, die jeweils durch ein Addierwerk mit dem Register der
nächst höheren Ordnung verbunden sind, wobei das höchste Register an den Speicher angeschlossen ist. Das Register der niedrigsten
Ordnung braucht nur ein einfaches Register zu sein, doch kann es auch ein Digitalfunktionsgeber sein. Dieser Digitalfunktionsgeber
kann eine Anzahl von Speichern umfassen, welche verschiedene zu verschiedenen Zeitpunkten gebrauchte Werte speichern.
Die Adressenintegration ermöglicht die Adressierung des Speichers mit Datenelementen, welche den Bildpunkten auf den Lichtbildern
in einer speziellen Reihenfolge entsprechen und erspart sequentielle Berechnungen der richtigen Adressen für den speziellen
Zugriff zu den Bilddaten. Die Adressenintegration kann in Ver-
-4-609819/1078
bindung mit einem Rechner in verschiedener Art für den Abruf von gespeicherten Datenelementen verwendet werden, welche durch einen
oder mehrere Stellenindizes gekennzeichnet sind. Beispielsweise können in der Stereophotogrammetrie vom Speicher abgerufene
Datenelemente photografische Schwärzungen sein, und die Adressenintegrierung
kann in einer bildverarbeitenden Schnittstelle, in einer peripheren Zentraleinheit für die Wechselbeziehung zwischen
den Bilddaten oder in einer Schnittstelle für Koordinatennetzwandlung mit oder ohne Interpolation enthalten sein. Ebenso kann
die Ädressenintegrierung auch in einem Sonderrechner für die Kreuzkorrelation von Bilddaten angewandt werden.
Die Erfindung wird nachstehend näher erläutert. Alle in der Beschreibung
enthaltenen Merkmale und Maßnahmen können von erfindungswesentlicher Bedeutung sein. Die Zeichnungen zeigen:
Fig. 1 ein Blockschaltbild mit Darstellung des Grundprinzips der erfindungsgemäßen zweidimensionalen Ädressenintegrierung
;
Fig. 2 ein Blockschaltbild der Ädressenintegrierung in Verbindung
mit einem Rechner in einer bildverarbeitenden Schnittstelle;
Fig. 3 ein Blockschaltbild eines Sonderrechners für die Kreuzkorrelation
von Bilddaten unter Verwendung der erfindungsgemäßen Ädressenintegrierung;
—5—
609819/1078
_5_ 2B4b82b
Fig. 4 ein Blockschaltbild eines peripheren Rechners für die Kreuzkorrelation von Bilddaten mit Adressenintegrierung
in Verbindung mit einem Rechner ,·
Fig. 5 ein Blockschaltbild einer erfindungsgemäßen Schnittstelle
für die Koordinatennetzwand'lung mit Interpolationsmöglichkeit
für Verwendung mit einem Rechner.
Die unter Vervendung der erfindungsgemäßen zweidimensionalen
Adressenxntegrierung erzeugte Speicheradresse (Fig. 1) bedient sich der Daten von den oberen Teilen der beiden Register 11 und
21. Den Registern 11 und 21 sind die Register 12 und 22 zugeordnet, deren Inhalt durch die Addierwerke 14 und 24 dem Inhalt der
Register 11 und 21 hinzuaddiert wird, um die nächste Speicheradresse
zu erhalten.
Ebenso sind den Registern 12 und 22 die Register 13 und 23 zugeordnet,
deren Inhalt durch die Addierwerke 15 und 25 dem Inhalt
der Register 12 und 22 immer dann hinzu addiert wird, wenn eine neue Speicheradresse gewonnen wird. Diese Konstruktion kann durch
v/eitere nicht gezeigte Register und Addierwerke beliebig oft wiederholt werden, um den Inhalt der letzten beiden Register zu
addieren. Der Anfangsinhalt aller Register wird durch externe Einrichtungen, entweder durch Rechnerbefehle für die Datenausgabe
oder durch andere Mittel, eingegeben. Die Register können von beliebiger Länge sein und brauchen nicht die gleiche Länge
zu besitzen, ebenso wenig wie alle Bits der Register bei jedem Additionsvorgang benützt zu werden brauchen. In einigen Fällen
-6-609819/1078
— D ~
müssen Bits höherer Ordnung der höheren Register nicht vom nächst niedrigeren Register einaddiert v/erden, mit Ausnahme der Überträge
der Bits niedrigerer Ordnung, und je nach Umständen brauchen einige Bits niedrigerer Ordnung der niedrigeren Register nicht
in das nächst höhere Register eingegeben zu werden.
Die oberen beiden Registerpaare 11, 12, 21 und 22 arbeiten wie zv/ei Integrierschaltungen eines digitalen Integriergerätes. Die
Speicheradresse kann unter Verwendung einer Sammlung von digitalen Integriergeräten und anderen Inkrementalrechnern so berechnet
werden, daß die gewünschten Adressenteile als Funktion der Zeit erzeugt v/erden. Die Rechenelemente können digitale Funktionsgeber
umfasse oder aus ihnen bestehen. Insbesondere können die Register 12 und 22 oder 13 und 23 durch digitale Funktionsgeber ersetzt
werden, welche eine Anzahl von Speicherregistern umfassen, in denen die verschiedenen Werte gespeichert sind, welche zu verschiedenen
Zeitpunkten den nächst höheren Registern eingegeben werden sollen.
Angenommen, die Register 11, 12, 13, 21, 22 und 23 seien von derselben
Länge, und der Inhalt eines jeden Registers wird vollständig dem nächst höheren Register aufaddiert, dann kann der Inhalt
aller Register leicht wie folgt berechnet werden:
Cn = Co (2)
Bn = Bo + Con (3)
A =A +Bn + C
η ο ο ο 2 (4)
η ο ο ο 2 (4)
609819/1078
An, Bn, Cn = Inhalt der Register 11, 12 und 13 (oder
der Register 21, 22 und 23) nach η Additionsgängen ;
A , B , C = Anfangsinhalt der Register 11, 12 und 13
(oder der Register 21, 22 und 23) vor der ersten Addition;
η = Anzahl der durchgeführten Additionsgänge.
Anfangswerte für B , die nicht gleich Null sind, und Nullanfangswerte
von C für beide Adressenteile bewirkeneine sequentielle Ordnung durch Bilddatenelemente, welche annähernd auf
einer Geraden liegen, die gegenüber dem Bilddatennetz schräg steht. Ein Anfangswert, der nicht gleich Null ist, von C für
einen der beiden Adressenteile und ein Anfangswert, der nicht gleich Null ist, von B für beide Adressenteile bewirkt eine
sequentielle Ordnung durch Bilddatenelemente, welche annähernd auf einer Kurve gegenüber dem Bilddatennetz liegen. Der gleiche,
von Null verschiedene Anfangswert von C für beide Adressenteile bewirkt eine sequentielle Ordnung durch Bilddatenelemente, welche
annähernd auf einer Geraden liegen, wobei sich jedoch die Geschwindigkeit oder Frequenz der sequentiellen Ordnung auf der
Geraden ändert.
Die in Fig. 1 gezeigte zweidimensionale Adressenintegration
ruft die Punkte des ursprünglichen Gitters ab, die am nächsten
-8-
609819/1078
- β - 254582$
den Punkten auf einer Linie des gewünschten Ausgabekoordinatennetzes
liegen. Dies erfordert, daß richtige Anfangswerte für die Adressenintegrierregister zur Verfügung stehen. Die Beziehung zwischen
dem ursprünglichen zweidimensionalen Ortskoordinaten und dem gewünschten Linienort ergibt sich wie folgt:
X = Ax + BxZ + CxZ2 (5)
Υ = Ay + ByZ + CyZ2 (6)
x, y = ursprüngliche zweidimensional Ortskoordinaten;
Z = gewünschte Stelle auf der Linie des Ausgabekoordinatennetzes;
A , B / C , A , B , C = willkürlich gewählte Konstanten
χ χ χ y y y
(diese Konstanten sind direkt auf die Anfangswerte A , B , und C der Adressenintegrationsregister in
den Gleichungen (2) bis (4) bezogen).
Fig. 2 zeigt eine bildverarbeitende Schnittstelle zum Abruf von
Bilddatenelementen vom Speicher eines Rechners 31 zur Blockübertragung von Bilddatenelementen zwischen dem Rechner und einem
Eingabe- oder Ausgabegerät 36, 38, wobei die Schnittstelle eine
Verarbeitung der Bilddaten durchführt, wenn diese Daten übertragen werden. Wenn die gewünschte Reihenfolge für die übertragung
der Bilddatenelemente an ein Eingabe- oder Ausgabegerät nicht dem Koordinatennetz folgt, in welchen Daten gespeichert sind, kann die
Adressenintegrierschaltung in der Schnittstelle verwendet werden.
609819/1078
-9- 254582b
Eine Schnittstelle mit Bildverarbeitungsmöglichkeiten spart rechnerzeit und Speicherplatz im Vergleich zu früheren Verfahren,
welche erfordern, daß der Rechner die Daten in der gewünschten Ausgabeform
berechnet und speichert.
Die Speicheradresse wird durch den nach Fig. 1 ausgeführten Adressenrechner
33 berechnet und gelangt an die direkten Speicheradresseneinrichtungen des Rechners für den Zugriff zum Speicher des
Rechners. Die vom Rechner abgerufenen Datenelemente werden beliebig von der durch die logische Steuerschaltung 37 beaufschlagten
Datenverarbeitungsstelle 35 verarbeitet, ehe sie an ein Ausgabegerät
36 gelangen. Die Eingabedaten vom Eingabegerät 38 werden beliebig von der Datenverarbeitungsstelle 35 bearbeitet und dann an
den Rechnerspeicher übertragen. Die Speicheradresse wird gleichzeitig oder sequentiell berechnet und dann dem Rechner eingegeben.
Dann ruft die Schnittstelle den Speicher des Rechners ab, um die Datenelemente zu erhalten. Die logische Steuerschaltung 37 steuert
die sequentielle Verarbeitung einer Anzahl von Datenelementen sowie die Berechnung der Adresse eines jeden Datenelements und alle
erforderlichen Eingabe- oder Ausgabefunktionen eines jeden Datenelements,
in dem sie die nötigen Arbeitsgänge entweder direkt durchführt oder ein gespeichertes Programm verwendet, das auf
die besonderen Arten der erforderlichen Arbeitsgänge zugeschnitten ist. Die Steuerschaltung 37 kann jedoch bis zu einem gewissen
Maße von der Programmsteuerung des Rechners 31 gesteuert und überwacht werden. In einigen Fällen kann es wünschenswert sein, Daten
vom Adressenrechner 33 zur Datenverarbeitungsstelle 35 und/oder von dieser zum Adressenrechner bzw. zur logischen Steuerschaltung
37 zu übertragen, um die Adreßrechnung zu steuern oder in dieser verwendet zu werden. -10-
60981 9/1078
Fig. 3 zeigt einen Sonderrechner für die Kreuzkorrelation von Bilddatenelementen
von zwei Lichtbildern, wobei entsprechende Bilddatenelemente multipliziert und die Produkte addiert werden. Die
Zentraleinheit verwendet zwei Adreßrechner 40 und 42, die nach Fig. 1 mit zweidimensionaler Adressenintegrierung arbeiten, um
vom Speicher entsprechende Datenelemente der beiden Bilder in einer Reihenfolge abzurufen, welche nicht dem Koordinatennetz
folgt. Der Adreßrechner 40 umfaßt die Register 45, 47 und 49, welche durch die Addierwerke 46 und 48 miteinander verbunden sind
und zu den durch die Addierwerke 52 und 54 verbundenen Registern 51, 53 und 55 parallel geschaltet sind. Der Adreßrechner 42 umfaßt
die durch die Addierwerke 58 und 60 miteinander verbundenen Register 57, 59 und 61, welche zu den durch die Addierwerke 64,
66 miteinander verbundenen Registern 63, 65 und 67 parallel geschaltet sind. Zwei eigene Datenspeicher 41, 43 dienen zur Speicherung
der Datenelemente der beiden Lichtbilder. Der Adreßrechner 40 gibt die Adressen dem Speicher 41 zum Abruf der Bilddatenelemente
ein, die sich auf ein Lichtbild beziehen. Der Adreßrechner 42 gibt Adressen dem Speicher 43 ein, um Bilddatenelemente
abzurufen, die sich auf ein zweites Lichtbild beziehen.
Ein Speicher 69 liefert Programmdaten. Bevor eine Rechenoperation
beginnt, werden Programmdaten vom Speicher 69 durch ein Register 75 in die Register der Adreßrechner 40 und 42 der Speicher 41 und
43 sowie in einen Befehlsfolgezähler 71 eingegeben, welcher die Anzahl der Wiederholungen der Rechenoperation festlegt. Ferner
gelangen die Programmdaten des Speichers 69 auch über das Register 75 an die logische Steuerschaltung 73, um die durchzuführende
-11-
609819/1078
» 11 - 254582b
Rechenoperation im einzelnen genau festzulegen. Programradaten vom
Speicher 69 können auch an ein Adressenregister 74 des Programm-Speichers
übertragen werden, um die Reihenfolge des Speicherzugriffs soxvie der Programmdurchführunc.' zu steuern. Ferner kann der
Speicher 69 auch Daten an die Zentraleinheit 77 zur Verarbeitung übertragen, wobei auch Daten von der Zentraleinheit 77 dem Register
75 zur Speicherung im Speicher 69 eingegeben werden können.
Die Speicher 41 und 43 sind mit den Registern 79 und 81 verbunden,
die ihrerseits an die Zentraleinheit 77 angeschlossen sind. Die Ausgangssignale der Register 79 und 81 werden im Multiplizierwerk
82 multipliziert, und das Produkt wird durch ein Addierwerk 84 in der Zentraleinheit 77 zu den in einem Register 83 der Zentraleinheit
gespeicherten Summen hinzuaddiert. Die Eingänge 85 und 87 sind vorgesehen, um die digital dargestellten Bilddatenelemente
in die Speicher 41 und 43 einzugeben. Ein weiterer Eingang 89 ist vorgesehen, um dem Speicher 69 Programmdaten einzugeben, und ein
Ausgang 91 des Speichers 69 oder ein Ausgang 93 der Zentraleinheit 77 liefert die Rechenergebnisse an ein Ausgabegerät. Das Ausgabegerät
kann ein Bilddrucker oder ein Schreiber sein, der Daten entweder direkt oder nach der Verarbeitung auf einem Gitter
braucht, das sich von dem im Rechner gespeicherten unterscheidet.
Fig. 4 zeigt einen Sonderrechner der als periphere Einheit eines
Rechners 1O1 arbeitet, um Bilddaten im Speicher des Rechners abzurufen.
Der periphere Rechner ist wie der in Fig. 3 gezeigte Sonderrechner ausgelegt, ausgenommen, daß er sich des Rechnerspeichers
bedient. Der periphere Rechner der Fig. 4 erfüllt die
-12-
609819/1078
gleiche Aufgabe wie der periphere Rechner der Fig. 3, d.h. er liest vom Speicher entsprechende Datenelemente von zwei Lichtbildern
aus, um sie zusammen zu verarbeiten, wenn beide Datenelemente in einer Reihenfolge abgerufen werden, welche nicht dem
Koordinatennetz entspricht. Die Verarbeitung umfaßt die Multiplikation der Produkte für die Kreuzkorrelation von zwei Lichtbildern.
Die Speicheradresse wird dem Rechner durch den Sonderrechner eingegeben, und die Speicherdaten werden fortgeschrieben
und durch den Rechner unter Verwendung seiner direkten Speicherzugriff smöglichkeiten geliefert.
Der wie Fig. 1 ausgeführte Adreßrechner 100 der Fig. 4 überträgt
an den Rechner 101 Adressen zum Abruf der auf ein Lichtbild bezogenen Bilddatenelemente. Der Adreßrechner 100 enthält die durch
die Addierwerke 104 und 106 verbundenen Register 103, 105 und 107, die zu den durch die Addierwerke 110 und 112 verbundenen Registern
109, 111 und 113 parallel geschaltet sind. Ebenso liefert der nach Fig. 1 ausgeführte Adreßrechner 102 Adressen zur
Adressierung des Rechnerspeichers, um die Bilddatenelemente
eines zweiten Lichtbildes abzurufen. Der Adreßrechner 102 umfaßt die durch die Addierwerke 116 und 118 verbundenen Register 115,
117 und 119, die zu den durch die Addierwerke 122 und 124 verbundenen
Registern 121, 123 und 125 parallel geschaltet sind. Wenn der Rechner 101 nur mit einem einzigen Speicher bestückt
ist, dann wird ein Satz entsprechender Bilddatenelemente sequentiell
gewonnen; wenn dagegen der Rechner mit zwei eigenen Speichern bestückt ist, von denen jeder einen direkten Speicherzugriff
besitzt, dann kann die Adresse des Adreßrechners 100
6 0 9 8 19/ 1 078
7um Abruf eines Speichers benutzt werden, und die Adresse des
Adreßrechners 102 kann zum Abruf des anderen Speichers verwendet werden, wobei ein Satz entsprechender Bilddatenelemente gleichzeitig
gewonnen werden kann.
Die Speicherdaten des Rechners 101 werden durch den Verteiler auf die Register 129 und 131 verteilt. Die Ausgabedaten der Register
werden durch ein Multiplizierwerk 133 multipliziert, und die Produkte durch ein Addierwerk 137 addiert und zeitweilig in
einem Register 139 des peripheren Rechners 135 gespeichert. Die Ergebnisse der korrelierten Daten werden dann dem Rechner 101
über den Eingabedatenkanal 141 eingegeben.
Ein Ausgabedatenkanal 143 ist an eine logische Steuerschaltung 145,
einen Befehlsfolgezähler 147 sowie an die Adreßrechner 100 und angeschlossen. Der Rechner 101 steuert den peripheren Rechner
über den Ausgabedatenkanal 143. Die Ausgabedaten des Rechners füllen die Register der Adreßrechner 100 und 102 mit Bilddatenadressen
vor dem Beginn einer Rechenoperation sowie dem Befehlsfolgezähler 147, welcher die Anzahl der Wiederholungen einer
Rechenoperation bestimmt. Ferner steuert der Rechner 101 auch die logische Steuerschaltung 145, in dem er sie beaufschlagt und
in im einzelnen vorschreibt, welche Rechenoperation durchzuführen ist. Die Daten des Registers 139 des peripheren Rechners 135
gelangen an den Rechner für weitere Verarbeitung bzw. Ausgabe. Die logische Steuerschaltung 145 meldet dem Rechner entweder
durch eine Zustandssignaländerung oder eine Programmunterbrechung (nicht gezeigt), wenn alle Datenelemente verarbeitet worden sind.
-14-609819/1078
- 14 - 254582S
Anstatt eine Rechenoperation eine bestimmte Anzahl von durch den Anfangsinhalt des Befehlsfolgezählers 147 vorgeschriebenen Malen
zu wiederholen, kann die logische Steuerschaltung 145 die Verarbeitung
beenden, wenn eine "Grenzadresse" erreicht ist. Dies kann je nachdem,was zuerst auftritt, zusätzlich zu oder anstelle der
Verminderung des Inhaltes des Befehlsfolgezählers erfolgen. Eine
oder mehrere "Grenzadressen" können vom Rechner 101 speziellen Ädreßrechenregistern vor Beaufschlagung des peripheren Rechners
eingegeben v/erden, wobei das sequentielle Ordnen unterbrochen wird, wenn die Adresse der entsprechenden "Grenzadresse" gleich
ist oder sie überschreitet.
Der Rechner 135 der Fig. 4 ist verhältnismäßig einfach aufgebaut,
und mit zusätzlichen Recheneinheiten kann er mehr Aufgaben erfüllen als in Fig. 4 gezeigt ist. Beispielsweise könnte der Rechner
135 nicht nur 5*~ ab berechnen, sondern auch 's* b, ^-.a und
*^__b , woring a und b die beiden vom Speicher gev/onnenen korrespondierenden
Größen sind. Die Ausgabedaten aller verarbeitenden Resultatregister könnten dann sequentiell dem Rechner 101 für
weitere Verarbeitung eingegeben werden. Der Rechner könnte auch die Aufgabe der in Fig. 3 gezeigten und vorstehenabeschriebenen
Koordinatennetzwandelschnittstelle erfüllen, indem er einen Weg direkt vom Register 139 zu einem nicht gezeigten Ausgabegerät
herstellt und die logische Steuerschaltung entsprechend modifiziert.
In Fig. 5 ist eine Schnittstelle für Koordinatennetzwandlung gezeigt,
welcher den Bildwert an jedem Punkt interpoliert. Die ursprünglichen Koordinatennetz- oder Gitterelemente, die das ge-
-15-
6098 19/1078
wünschte Ausgabegittereleraent umgeben, werden sequentiell vom
Speicher eines Rechners 191 gewonnen.
Die eine zweidimensional Adressenintegration verwendende Speicheradresse
wird durch einen Adreßrechner 192 mit den durch die Addierwerke 199 und 201 verbundenen Registern 193, 195 und 197
geliefert, die parallel zu dem durch die Addierwerke 209 und 211 verbundenen Registern 203, 205 und 207 geschaltet sind. Die
Speicheradresse des Adreßrechners 192 gelangt zu einem Addierwerk 213, in welchem verschiedene Inkremente eines Inkrementgebers
215 addiert werden, um die umgebenden Gitterpunkte zum Rechnerspeicher abzurufen. Wenn die einzelnen Werte der umgebenden
Gitterpunkte vom Rechnerspeicher gewonnen werden, werden sie
durch die Multiplizierwerke 217 und 219 mit den entsprechenden
Interplationsfaktoren multipliziert, die von den weniger signifikanten
Teilen oder nachgeordneten Stellen der beiden Register 193 und 203 nach der Umwandlung durch die Umsetzer 220 und 222
gewonnen werden. Die Produkte werden in einem Addierwerk 321 addiert und zeitweilig in einem Register 223 gespeichert, worauf
die Summen an ein Ausgabegerät 225 übertragen werden.
Der Rechner 191 steuert auch die logische Steuerschaltung 227,
indem er diese beaufschlagt und ihr vorschreibt, welche Rechenoperation durchzuführen ist; ferner füllt er einen Befehlsfolgezähler
229, welcher die Anzahl der Wiederholungen der Rechenoperation bestimmt.
609 819/1078
-ie- 254582S
j Die Verhältnisse von x/b und y/d v/erden berechnet, worin:
x, y = Lage des gewünschten Ausgabegitterpunktes in den ursprünglichen zweidimensionalen Lagekoordinaten;
b, d = Abstand der ursprünglichen Koordinatennetzpunkte in x- und y-Richtung in den ursprünglichen Lagekoordinaten
.
Die vier den gewünschten Ausgabekoordinatennetzpunk umgebenden Gitterpunkte sowie die richtige Bewertung der Faktoren für die
bi-lineare Interplation zwischen diesen Punkten sind:
Ganze Zahl (x/b) Ganze Zahl (y/d) [i-Bruch (x/b)] ji -Bruch (y/dj
Ganze Zahl (x/b) 1+Ganze Zahl (y/d) {j-Bruch (x/b| (Bruch (y/dj]
-{•Ganze Zahl (x/b) Ganze Zahl (y/d) [Bruch (x/b)] [i-Bruch (y/d)j
+Ganze Zahl (x/b) 1+Ganze Zahl (y/d) JBruch (x/b)) [Bruch (y/d|
Ganze Zahl (x/b) = ganzzahliger Teil des Quotienten aus x/b
Bruch (x/b) = Bruchteil des Quotienten aus x/b
Die Summe der Produkte der Interpolationsbewertungen multipliziert
mit den Werten der entsprechenden Koordinatennetzpunkte ergibt den richtigen interpolierten Viert.
Im Ausführungsbeispiel dieser Anordnung berechnen die Register und 203 x/b und y/d, so daß der ganzzahlige Teil eines jeden
60981 9/1078
Quotienten in dem Teil des Registers erscheint, der für die Speicheradresse benützt wird, während der Bruchteil des Quotienten
im Rest des Registers erscheint. Die Adressenregister werden zunächst vom Rechnerspeicher mit den erisprechenden Quotienten
für den Anfangspunkt gefüllt. Das nächste Registerpaar wird zunächst mit den Komponenten des Ausgabepunktabstandes gefüllt,
wobei jede Komponente einen Punktabstand im Originalkoordinatennetz bedeutet. Ebenso wird das folgende Registerpaar
zuerst mit den durch das Koordinatennetzpunktraster dividierten Abstandsdifferenzen des Ausgabepunktes zwischen einem Abstand
und dem nächsten aufgefüllt.
Obgleich die Erfindung anhand einer zweidimensionalen Adressenintegration
in Verbindung mit der Stereophotogrammetrie beschrieben worden ist, sei bemerkt, daß die Adressenintegration überall
dort angewandt werden kann, wo einer oder mehrere Lageindizes erforderlich sind, um Datenelemente zu kennzeichnen und wo Speicher
in einer Reihenfolge abgerufen werden müssen, welche nicht der Ordnung folgt, in welcher die Datenelemente unter Verwendung
einer Gruppe von Registern für jeden Lageindex gespeichert sind, wobei die Gruppen parallel geschaltet sind.
609819/1078
Claims (14)
- Patentansprüche.JRechner mit einem Speicher und einem Adressenänderungsregister zur Erzeugung von Adressen, um Datenelemente vom Speicher durchAdressierung von Speicherstellen in einer speziellen Reihenabzurufenfolge/ die sich von der Ordnung unterscheidet, in welcher die Datenelemente im Speicher gespeichert sind, und wobei jedes Datenelement mindestens durch einen Index identifiziert wird, dadurch gekennzeichnet, daß ein Adressenintegrierglied (33) für jeden zur Kennzeichnung eines Datenelementes erforderlichen Index vorgesehen ist, daß jedes Adressenintegrierglied (33) Vorrichtungen (11,12,13,14,15,21,22,23,24,25) zur Berechnung eines Kennzeichnungsindexes für jedes Datenelemert umfaßt sowie dadurch, daß eine Einrichtung (37) zur Steuerung eines jeden Adressenintegriergliedes (33) vorgesehen ist, um Adressen sequentiell in der speziellen Ordnung für den Zugriff zum Speicher (41,43) zu liefern.-19-609819/1078
- 2. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß jedes Dafcenelement durch mindestens zwei Indizes identifiziert wird und daß die Adressenintegrierglieder (33) parallel geschaltet sind sowie dadurch, daß die Einrichtung (37) zur Steuerung der Adressenintegrierglieder (33) entsprechende Indizes für jede Adresse gleichzeitig erzeugt.
- 3. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß jedes Adressenintegrierglied (33) eine Anzahl von Registern (11,12, 13,21,22,23) umfaßt, welche durch ein Addierwerk (14,15,24,25) mit dem nächst höheren Register verbunden sind sowie dadurch, daß das höchste Register (11,21) an den Speicher (41,43) angeschlossen ist.
- 4. Rechner nach Anspruch 3, dadurch gekennzeichnet, daß das niedrigste Register (13,23) eines jeden Adressenintegriergliedes (33) ein Funktionsgeber ist.
- 5. Rechner nach Anspruch 3, dadurch gekennzeichnet, daß jedes Adressenintegrierglied (33) drei Register (11,12,13,21,22,23) umfaßt, und daß der Inhalt der Register eines jeden Adressenintegriergliedes (33) wie folgt dargestellt wird:C = C
η οB = B +C
η ο ο- Ao + Bon + CoworinA , B , C = Inhalt der Register nach η Additionsgängen,BU9819/1078A, B , C= Anfangsinhalt der Register vor dem ersten Addition sgang.η = Anzahl der durchgeführten Additionsgänge. - 6. Rechner nach Anspruch 3, dadurch gekennzeichnet, daß das Adressenänderungsregister (40,42) Teil einer Schnittstelle (Fig. 2) ist/ die mit dem Rechner (31) zur Adressierung des Rechnerspeichers (41,43) verbunden ist.
- 7. Rechner nach Anspruch 6, dadurch gekennzeichnet, daß jedes Adressenintegrierglied (33) im Adressenänderungsregister (40,42) mit dem Rechner (31) verbunden ist und zuerst von diesem mit Daten aufgefüllt wird.
- 8. Rechner nach Anspruch 7, dadurch gekennzeichnet, daß er eine mit ihm (31) verbundene periphere Zentraleinheit (77) umfaßt, welche die vom Rechnerspeicher (41,43) abgerufenen Datenelemente verarbeitet.
- 9. Rechner nach Anspruch 6, gekennzeichnet durch eine Interpolationseinrichtung (213, 215) für die vom Rechnerspeicher (41,43) abgerufenen Datenelemente.
- 10.Rechner nach Anspruch 9, dadurch gekennzeichnet, daß die Interpolationseinrichtung einen Inkrementgeber (215) zur Erzeugung inkrementaler Indizes sowie ein Addierwerk (213) umfaßt, welches an die Adressenintegrierglieder (192) und an den Inkrementgeber (215) angeschlossen ist und die entsprechenden609819/ 1 078Indizes zu den Inkrementalindizes der Adresse hinzuaddiert.
- 11. Rechner nach Anspruch 10, dadurch gekennzeichnet, daß Multiplizierwerke (217, 219) mit ihm (191) sowie mit den Adressenintegriergliedern (192) verbunden sind und jedes vom Rechnerspeicher (41,43) abgerufene Datenelement mit Interpolationsfaktoren multiplizieren sowie dadurch, daß ein Addierwerk (221) an die Multiplizierwerke (217,219) angeschlossen ist, um die Produkte zu addieren und ein interpoliertes Ausgangssignal zur Steuerung eines Ausgabegerätes (225) abzugeben.
- 12. Rechner nach Anspruch 1 oder 3, dadurch gekennzeichnet, daß das Adressenänderungsregister (40, 42) zur Kreuzkorrelationvon Bilddaten als Teil einer peripheren Zentraleinheit (77) ausgelegt ist, sowie dadurch, daß die periphere Zentraleinheit (77) zur Berechnung der Adressen ein Adressenänderungsregister (40,42) für jedes Element eines zu korrelierenden Datensatzes umfaßt, um die aufeinander bezogenen Datenelemente vom Rechnerspeicher (41,43) abzurufen.
- 13. Rechner nach Anspruch 12, gekennzeichnet durch ein Multiplizierwerk (82) zur Multiplizierung der entsprechenden vom Speicher (41,43) abgerufenen Datenelemente sowie durch ein Addierwerk (04) zur Addierung der Produkte.
- 14. Rechner nach Anspruch 13, gekennzeichnet durch Einrichtungen (69,74) zur Eingabe der Summen in einen Speicher (83), um sie in einer gewünschten Reihenfolge zu speichern.609819/1078
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/514,872 US3973243A (en) | 1974-10-15 | 1974-10-15 | Digital image processor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2545825A1 true DE2545825A1 (de) | 1976-05-06 |
Family
ID=24049025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752545825 Pending DE2545825A1 (de) | 1974-10-15 | 1975-10-13 | Rechner mit moeglichkeiten fuer die speicheradressrechnung |
Country Status (7)
Country | Link |
---|---|
US (1) | US3973243A (de) |
JP (1) | JPS51115749A (de) |
CA (1) | CA1038965A (de) |
DE (1) | DE2545825A1 (de) |
FR (1) | FR2288353A1 (de) |
GB (1) | GB1517397A (de) |
IT (1) | IT1043344B (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4130868A (en) * | 1977-04-12 | 1978-12-19 | International Business Machines Corporation | Independently controllable multiple address registers for a data processor |
US4477802A (en) * | 1981-12-17 | 1984-10-16 | The Bendix Corporation | Address generator for generating addresses to read out data from a memory along angularly disposed parallel lines |
EP0132123A3 (de) * | 1983-07-13 | 1988-08-03 | Kabushiki Kaisha Toshiba | Steuergerät für Speicheradresse |
JPS60140470A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 画像情報処理装置 |
FR2566951B1 (fr) * | 1984-06-29 | 1986-12-26 | Texas Instruments France | Procede et systeme pour l'affichage d'informations visuelles sur un ecran par balayage ligne par ligne et point par point de trames video |
US4847750A (en) * | 1986-02-13 | 1989-07-11 | Intelligent Instrumentation, Inc. | Peripheral DMA controller for data acquisition system |
US4805121A (en) * | 1986-05-30 | 1989-02-14 | Dba Systems, Inc. | Visual training apparatus |
US5043924A (en) * | 1987-09-22 | 1991-08-27 | Messerschmitt-Bolkow-Blohm Gmbh | Method and apparatus for scanning an object |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3015444A (en) * | 1954-11-30 | 1962-01-02 | Bell Telephone Labor Inc | Digital data generator circuits for computer testing |
US3375353A (en) * | 1962-02-26 | 1968-03-26 | Gen Instrument Corp | Stereographic radar system |
US3554645A (en) * | 1966-01-24 | 1971-01-12 | Bunker Ramo | Automatic mapping system having a mechanically and electronically controlled scanning means for providing faster response |
US3794272A (en) * | 1967-02-13 | 1974-02-26 | Us Navy | Electro-optical guidance system |
US3564505A (en) * | 1968-01-16 | 1971-02-16 | Hughes Aircraft Co | Digital data reordering system |
US3597083A (en) * | 1969-04-16 | 1971-08-03 | Itek Corp | Method and apparatus for detecting registration between multiple images |
US3706071A (en) * | 1970-06-22 | 1972-12-12 | Information Int Inc | Binary image processor |
US3717756A (en) * | 1970-10-30 | 1973-02-20 | Electronic Communications | High precision circulating digital correlator |
-
1974
- 1974-10-15 US US05/514,872 patent/US3973243A/en not_active Expired - Lifetime
-
1975
- 1975-10-13 DE DE19752545825 patent/DE2545825A1/de active Pending
- 1975-10-14 IT IT28253/75A patent/IT1043344B/it active
- 1975-10-15 GB GB42311/75A patent/GB1517397A/en not_active Expired
- 1975-10-15 JP JP50123346A patent/JPS51115749A/ja active Pending
- 1975-10-15 CA CA237,620A patent/CA1038965A/en not_active Expired
- 1975-10-15 FR FR7531513A patent/FR2288353A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS51115749A (en) | 1976-10-12 |
CA1038965A (en) | 1978-09-19 |
FR2288353A1 (fr) | 1976-05-14 |
US3973243A (en) | 1976-08-03 |
FR2288353B1 (de) | 1978-04-07 |
GB1517397A (en) | 1978-07-12 |
IT1043344B (it) | 1980-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3750017T2 (de) | Prozessor für orthogonale Transformation. | |
DE3789116T2 (de) | Prozessor zur zweidimensionalen diskreten cosinustransformation. | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE202016107443U1 (de) | Berechnen von Faltungen mithilfe eines neuronalen Netzwerkprozessors | |
DE3890560C2 (de) | Verfahren und Vorrichtung zur Farb-Modifikation | |
DE4038240A1 (de) | Prozessor zum durchfuehren einer orthogonaltransformation | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE69426042T2 (de) | Verfahren und Gerät zur Erzeugung von phantomen Kontrollwerten einer B-spline Kurve | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE3632639A1 (de) | Einrichtung zum verarbeiten von bilddaten durch faltung | |
DE3751312T2 (de) | Verfahren und Einrichtung zur Verarbeitung von Bilddaten. | |
DE4215094C2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE2545825A1 (de) | Rechner mit moeglichkeiten fuer die speicheradressrechnung | |
DE3303269C2 (de) | ||
DE69521464T2 (de) | Paralleler Prozessor | |
DE69228036T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung mittels Kosinustransformation | |
DE3434777C2 (de) | ||
DE1499174B1 (de) | Dividiervorrichtung fuer Digitalrechner | |
DE69601935T2 (de) | Bildschraegung und bilddrehung mit anwendung der diskreten cosinusformation | |
DE19635114A1 (de) | Multiplizierer | |
DE2039228A1 (de) | Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage | |
EP0598112B1 (de) | Verfahren und anordnung zum bilden der summe einer kette von produkten | |
DE69424377T2 (de) | Rechner für die diskrete Cosinus-Transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHW | Rejection |