DE2545825A1 - Rechner mit moeglichkeiten fuer die speicheradressrechnung - Google Patents

Rechner mit moeglichkeiten fuer die speicheradressrechnung

Info

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
Application number
DE19752545825
Other languages
English (en)
Inventor
John Aubrey Hornbuckle
Arliss Eugene Whiteside
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bendix Corp
Original Assignee
Bendix Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bendix Corp filed Critical Bendix Corp
Publication of DE2545825A1 publication Critical patent/DE2545825A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements 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/785Arrangements 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory 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)
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:
Koordinatennetzpunkt Ordinatenzahl Abszissenzahl Interpolationsbewertung
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)

  1. Patentansprüche
    .JRechner mit einem Speicher und einem Adressenänderungsregister zur Erzeugung von Adressen, um Datenelemente vom Speicher durch
    Adressierung von Speicherstellen in einer speziellen Reihenabzurufen
    folge/ 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. 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. 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. 4. Rechner nach Anspruch 3, dadurch gekennzeichnet, daß das niedrigste Register (13,23) eines jeden Adressenintegriergliedes (33) ein Funktionsgeber ist.
  5. 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 + Co
    worin
    A , B , C = Inhalt der Register nach η Additionsgängen,
    BU9819/1078
    A, B , C= Anfangsinhalt der Register vor dem ersten Addition sgang.
    η = Anzahl der durchgeführten Additionsgänge.
  6. 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. 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. 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. 9. Rechner nach Anspruch 6, gekennzeichnet durch eine Interpolationseinrichtung (213, 215) für die vom Rechnerspeicher (41,
    43) abgerufenen Datenelemente.
  10. 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 entsprechenden
    609819/ 1 078
    Indizes zu den Inkrementalindizes der Adresse hinzuaddiert.
  11. 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. 12. Rechner nach Anspruch 1 oder 3, dadurch gekennzeichnet, daß das Adressenänderungsregister (40, 42) zur Kreuzkorrelation
    von 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. 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. 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
DE19752545825 1974-10-15 1975-10-13 Rechner mit moeglichkeiten fuer die speicheradressrechnung Pending DE2545825A1 (de)

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)

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

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

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