DE3631333C2 - - Google Patents
Info
- Publication number
- DE3631333C2 DE3631333C2 DE3631333A DE3631333A DE3631333C2 DE 3631333 C2 DE3631333 C2 DE 3631333C2 DE 3631333 A DE3631333 A DE 3631333A DE 3631333 A DE3631333 A DE 3631333A DE 3631333 C2 DE3631333 C2 DE 3631333C2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- input
- logic unit
- output
- multiplexer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Image Processing (AREA)
- Picture Signal Circuits (AREA)
- Complex Calculations (AREA)
- Processing Or Creating Images (AREA)
- Analogue/Digital Conversion (AREA)
- Tests Of Electronic Circuits (AREA)
Description
Die Erfindung betrifft eine Anordnung zur digitalen Verarbeitung
von sequentiell auftretenden Datenworten eines periodisch abgetasteten
Zeitsignals gemäß dem Oberbegriff des Patentanspruchs 1.
Eine solche Anordnung, verarbeitet in
Realzeit Signale in mehreren Auflösungsebenen und eignet
sich für hierarchisch gegliederte Signalverarbeitung
nach Pyramiden-Algorithmen, um das Frequenzspektrum
einer ein- oder mehrdimensionalen Informationskomponente
eines gegebenen abgefragten Zeitsignals, dessen
höchste interessierende Frequenz nicht höher ist als
fO, zu zerlegen (Analyse) und/oder ein solches Zeitsignal
aus dem zerlegten Frequenzspektrum zusammenzusetzen
(Synthese).
In der DE-OS 34 23 484
ist eine in Pipeline-Architektur
aufgebaute Anordnung zur Signalverarbeitung nach
hierarchischen Pyramiden-Algorithmen beschrieben, die in
der Lage ist, in verzögerter Realzeit das Frequenzspektrum
einer Informationskomponente (mit einer oder mehreren
Dimensionen) eines gegebenen Zeitsignals zu zerlegen oder
in Realzeit ein solches Zeitsignal aus dem
zerlegten Frequenzspektrum zusammenzusetzen. Eine solche
Pipeline-Architektur eignet sich besonders zur Bildverarbeitung
der zweidimensionalen Raumfrequenzen von Fernsehbildern,
die durch ein zeitabhängiges Videosignal definiert
sind.
Die Anordnung nach der genannten Druckschrift benutzt
zur Realzeit-Signalverarbeitung in Pyramiden-Hierarchie
entweder den Burt'schen Pyramidenalgorithmus oder den Algorithmus
"Filterung-Subtraktion-Dezimierung" (FSD) und
kann entweder als Analysator zur Zerlegung des Frequenzspektrums
oder als Synthetisierer zum Zusammensetzen des
Frequenzspektrums ausgelegt werden. Im einzelnen arbeitet
die Anordnung entweder
als Burt-Pyramidenanalysator oder als Burt-Pyramidensynthetisierer
oder als FSD-Pyramidenanalysator.
Die in der genannten Druckschrift beschriebene Ausführungsform
des Realzeit-Pyramidenanalysators besteht aus
N getrennten, in Kaskade angeordneten Stufen, wobei N
eine gegebene ganze Zahl größer als 1 ist. In ähnlicher
Weise besteht die dort beschriebene
Ausführungsform des Realzeit-Pyramidensynthetisierers
aus N getrennten kaskadengeschalteten Stufen. Jede
dieser Stufen benötigt einen relativ großen Aufwand an
digitaler Hardware, insbesondere wenn die Informationskomponente
des Zeitsignals durch mehr als eine Dimension
definiert ist (wie z. B. ein Videosignal, das aus einem
seriellen Strom einzelner 8-Bit-Bildpunktwerte besteht,
die aufeinanderfolgende Vollbilder eines abgetasteten
zweidimensionalen Fernsehbildes definieren). Dadurch wird
der gesamte apparative Aufwand für eine Anordnung nach
der genannten Patentanmeldung ziemlich groß.
In diesem Zusammenhang sei auf die DE-OS
36 28 349 verwiesen,
in der eine Zeitmultiplextechnik beschrieben ist,
um den Aufwand an Hardware, der zur Realisierung eines
in Realzeit arbeitenden Pyramiden-Signalverarbeitungssystems
erforderlich ist, wesentlich zu vermindern. Die
beiden in Realzeit arbeitenden Pyramidensysteme nach den
genannten Druckschriften haben als erstes Merkmal gemeinsam,
daß sie völlig zeitsynchron sind. Der Ausdruck
"zeitsynchron" bedeutet hier, daß in einem Pyramidenanalysator
nach den genannten Druckschriften
bestimmte Verzögerungen vorhanden sind
zwischen dem Auftreten jedes einem Bildpunkt-Abtastwert des
eingangsseitigen seriellen Stroms von Bildpunktwerten zugeordneten Datenwortes und
dem Auftreten der diesem betreffenden Bildpunkt jeweils
entsprechenden Datenworte irgendwo innerhalb oder am
Ausgang irgendeiner der Analysatorstufen. Eine solche
völlig zeitsynchrone Beziehung gilt auch für das Auftreten
aller einander entsprechenden Bildpunkt-Datenworte in allen
Stufen des Pyramidensynthetisierers. Das heißt, für einwandfreien
Betrieb müssen sich alle einander entsprechenden
Datenworte perfekt durch die gesamte Pyramide bewegen
(d. h. ohne irgendwelche Zeitfehler) und zwar trotz
der langen Zeitverzögerung zwischen dem Auftreten eines
Eingangs-Bildpunkt-Datenwortes an einem solchen Pyramidenanalysator
und dem Auftreten des entsprechenden Bildpunkt-Datenwortes
an mindestens einem der Ausgänge für die analysierten
Teilspektren. Diese Verzögerung kann sich auf viele
Zehntausende einer Bildpunkt-Abtastperiode belaufen.
Wegen der strengen Zwänge, denen die Zeitsteuerung derartiger
völlig zeitsynchroner Pyramidensysteme unterworfen ist,
sind solche Systeme außerdem zum großen Teil auf
eine einzige vorbestimmte Betriebsart beschränkt, so daß
ein zeitsynchrones Pyramidensystem kaum programmiert werden
kann.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur
digitalen Verarbeitung in Realzeit von sequentiell auftretenden
Datenworten eines periodisch abgetasteten Zeitsignals zu schaffen,
bei der eine größere Unabhängigkeit in Bezug auf die Zeitsteuerung
und damit eine bessere Möglichkeit zur Programmierung besteht.
Diese Aufgabe wird durch eine Anordnung mit den Merkmalen des
Patentanspruchs 1 gelöst.
Die erfindungsgemäße Anordnung führt in jedem von aufeinanderfolgenden
Zeitzyklen Operationen in mehreren Auflösungen
durch, um einzelne Serien von Signalabtastwerten zu verarbeiten,
deren jede einen Block einer Informationskomponente
darstellt. Jeder dieser Zeitzyklen besteht aus einer
bestimmten Anzahl von Abtastperioden,
die mindestens so groß ist wie die Anzahl von Signalabtastwerte
in jeder der Serien.
Die vorliegende Erfindung eignet sich besonders zur Verwendung
bei der Verarbeitung "datenreduzierter" Bilder in
sogenannten "intelligenten" Fernsehkameras. Solche "intelligente"
Fernsehkameras sind nützlich in Überwachungssystemen,
Robotersystemen und dergleichen, worin die Kamera
häufig mit einem Rechner zusammenarbeitet. Für diesen
Rechner bedarf es im allgemeinen einer Reduzierung der
Kamera-Bilddaten, weil er die Geschwindigkeit des Datenflusses,
die zur Verarbeitung aller von der Kamera verfügbarer
Daten erforderlich ist, nicht bewältigen kann. Die
vorliegende Erfindung kann jedoch auch so realisiert werden,
daß ohne Datenreduzierung eine Verarbeitung aller
Bilddaten in einem Standard-Fernsehsignal (z. B. in einem
NTSC-Videosignal) möglich ist.
Die Erfindung wird nachstehend an Ausführungsbeispielen
anhand von Zeichnungen näher erläutert.
Fig. 1 zeigt ein Ausführungsbeispiel eines Signalverarbeitungssystems,
das eine erfindungsgemäße Pyramiden-
Verarbeitungseinrichtung enthält;
Fig. 2 ist ein Blockschaltbild einer bevorzugten Ausführungsform
der Pyramiden-Verarbeitungseinrichtung
nach der vorliegenden Erfindung;
Fig. 3 ist ein Blockschaltbild eines Moduls, von denen
einer oder mehrere die Filter-Logikeinheit nach
Fig. 2 bilden können;
Fig. 4a, 4b und 4c zeigen drei verschiedene funktionelle
Anordnungen der Filter-Logikeinheit nach
Fig. 2.
Für die nachfolgende Beschreibung der vorliegenden Erfindung
sei zur Veranschaulichung angenommen, daß die
erfindungsgemäße, in mehreren Auflösungsebenen wirkende
Verarbeitungseinrichtung in dem speziellen Signalverarbeitungssystem
nach Fig. 1 enthalten sei, da ein solches
System gebaut worden ist. Es sei jedoch betont, daß dieses
spezielle System kein Erfordernis ist und daß die
erfindungsgemäße Mehrauflösungs-Verarbeitungseinrichtung
auch in anderen Arten von Signalverarbeitungssystemen
enthalten sein kann, die sich in vieler Hinsicht vom
System nach Fig. 1 unterscheiden.
Das System nach Fig. 1 enthält eine (die Erfindung verkörpernde)
Mehrauflösungs-Verarbeitungseinrichtung 100,
die besonders zur Realisierung von Pyramidenalgorithmen
geeignet ist und daher im folgenden kurz als "Pyramidenprozessor"
bezeichnet wird. Es sei jedoch darauf hingewiesen,
daß die Einrichtung 100 neben einer Pyramiden-
Verarbeitung auch andere Arten von Mehrauflösungs-Verarbeitungen
durchführen kann. Das System nach Fig. 1 enthält
ferner drei externe Vollbildspeicher 102, eine externe
Abteilung 104 mit arithmetischer Logikeinheit
(ALE) und Multiplexer und einen externen Analogsignalprozessor
106. Alle externen Elemente 102, 104 und 106 des
Signalverarbeitungssystems nach Fig. 1 bestehen aus handelsüblichen
Einrichtungen.
Der Analogsignalprozessor 106 spricht auf ein analoges
Videosignal (z. B. ein NTSC-Videosignal) an, das aus einer
Fernsehkamera 108 (oder irgendeiner anderen Quelle analoger
Videosignale) kommt und dem Analogsignalprozessor 106
über die Verbindung 110 als Eingangssignal angelegt wird.
Der Analogsignalprozessor 106 enthält einen 10-MHz-Taktsignalgenerator
und eine Einrichtung zum Erfassen des
Auftretens eines jeden Exemplars aufeinanderfolgender
Vertikalrückstellsignale (im folgenden als V R bezeichnet),
das im analogen Videosignal enthalten ist, welches dem
Eingang des Analogsignalprozessors 106 über die Verbindung
110 zugeführt wird. Der 10-MHz-Takt und die V R -Signale
werden über eine Verbindung 111 als Steuersignale dem Multiplexer
104 und den drei Vollbildspeichern 102 zugeführt.
Außerdem werden über eine Vielfachschiene 112 Programmsteuersignale
von einer Zentraleinheit oder irgendeiner
anderen Programmierquelle an jede der externen Einrichtungen
102, 104 und 106 gelegt. Wie in Fig. 1 angedeutet,
kann der Pyramidenprozessor 100 (der die vorliegende Erfindung
verkörpert) wahlweise ebenfalls Programmsteuersignale
über die Vielfachschiene 112 empfangen.
Jeder der drei Vollbildspeicher in der Einrichtung 102
enthält einen Speicher mit wahlfreiem Zugriff (Randomspeicher
oder abgekürzt RAM), der die einzelnen Werte
aller Bildpunkt-Abfrageproben in einem digital abgefragten
Vollbild des Videosignals speichern kann. Einer der
Vollbildspeicher 102 ist ein Stamm- oder Haupt-Vollbildspeicher,
der Zeitgeber- und Steuereinrichtungen enthält,
um aus dem 10-MHz-Taktsignal und den V R -Signalen, die
über die Verbindung 111 zugeführt werden, und aus den
Programmsteuersignalen, die über die Vielfachschiene 112
zugeführt werden, eine Vielzahl von Zeit- und Steuersignalen
abzuleiten (einschließlich eines 5-MHz-Taktsignals).
Die anderen beiden Vollbildspeicher in der Einrichtung
102 sind Tochterspeicher, die durch die Zeit- und Steuersignale
aus dem Haupt-Vollbildspeicher gesteuert werden
(obwohl auch sie die V R -Signale und das 10-MHz-Taktsignal
über die Verbindung 111 empfangen).
Der Haupt-Vollbildspeicher liefert Zeit- und Steuersignale
(einschließlich des abgeleiteten 5-MHz-Taktsignals)
über eine Verbindung 113 an den Multiplexer 104 und ferner
Zeit- und Steuersignale über die Verbindung 114 an
den Analogsignalprozessor 106.
Der Analogsignalprozessor 106 enthält ferner einen Analog/Digital-Wandler
(A/D-Wandler), um das ihm über die
Verbindung 110 zugeführte analoge Videosignal mit einer
Bildpunkt-Taktfrequenz von 10 MHz abzufragen und den Abfragewert
jedes Bildpunktes durch eine 8-Bit-Binärzahl
darzustellen. Das so gewonnene digitale Videosignal wird
vom Analogsignalprozessor 106 über eine Verbindung 116
an ein bestimmtes Exemplar von mehreren Digital-Videosignaleingängen
des Multiplexers 104 gelegt. Das mit
10 MHz abgefragte Videosignal vom Analogsignalprozessor
106 wird durch die arithmetische Logikeinheit in der Einrichtung
104 mit einer Abfragefrequenz von 5 MHz unterabgetastet.
Der Multiplexer 104 kann unter Steuerung
durch die Programmsteuerinformation, die ihm über die
Vielfachschiene 112 zugeführt wird, selektiv jedes beliebige
Exemplar seiner Vielzahl von Videoausgängen mit
jedem beliebigen Exemplar seiner Vielzahl von Videoeingängen
koppeln, wobei das bei einer solchen Kopplung gewählte
Videoeingangssignal entweder direkt oder nach Verarbeitung
in der arithmetischen Logikeinheit der Einrichtung
104 zum gewählten Videoausgang übertragen wird. Die
jeweilige Verarbeitung in der arithmetischen Logikeinheit
wird ebenfalls durch die über die Vielfachschiene
112 zugeführte Programmsteuerinformation bestimmt.
Im einzelnen kann das Videosignal, das dem Multiplexer
104 über die Verbindung 116 zugeführt wird, vom Multiplexer
wahlweise wie folgt übertragen werden: über eine Verbindung
118 zu einem ersten der drei Vollbildspeicher 102;
über eine Verbindung 120 zu einem zweiten der drei Vollbildspeicher
102; über eine Verbindung 122 sowohl an den
dritten der drei Vollbildspeicher 102 als auch an einen
ersten von zwei Videoeingängen des Pyramidenprozessors
100; über eine Verbindung 124 auf den zweiten Videoeingang
des Pyramidenprozessors 100; über eine Verbindung
126 auf einen Eingang des Analogsignalprozessors 106. Der
Analogsignalprozessor 106 enthält schließlich noch einen
Digital/Analog-Wandler (D/A-Wandler), um das digitale
Videoeingangssignal, das ihm über die Verbindung 126 zugeführt
wird, in ein analoges Videoausgangssignal umzuwandeln,
das dann über eine Verbindung 130 einem Fernsehmonitor
128 (oder irgendeinem anderen Gerät zur Nutzung
des Videosignals) zugeführt wird.
An seinen verschiedenen anderen Videoeingängen werden dem
Multiplexer 104 ferner folgende Signale angelegt: über
eine Verbindung 132 ein aus dem ersten der drei Vollbildspeicher
102 ausgelesenes Videosignal; über eine Verbindung
134 ein aus dem zweiten der drei Vollbildspeicher 102
ausgelesenes Videosignal; über eine Verbindung 136 ein aus
dem dritten der drei Vollbildspeicher 102 ausgelesenes
Videosignal und über eine Verbindung 138 ein Videoausgangssignal
des Pyramidenprozessors 100.
Außerdem liefert der Haupt-Vollbildspeicher 102, der die
Zeitgeber- und Steuereinrichtungen enthält, über eine Verbindung
140 Zeit- und Videosteuersignale an den Pyramidenprozessor
100.
Ein Blockschaltbild einer bevorzugten Ausführungsform des
die vorliegende Erfindung verkörpernden Pyramidenprozessors
100 ist in Fig. 2 dargestellt. Wie in der Fig. 2 angegeben,
handelt es sich bei den Zeit- und Videosteuersignalen,
die dem Pyramidenprozessor über die Verbindung
140 angelegt werden, um folgende Signale: das 5-MHz-Bildpunkttaktsignal;
ein Teilbildunterscheidungssignal TB 0/1
(zeigt, ob das laufende Teilbild eines im Zeilensprung
verflochtenen NTSC-Videosignals das erste oder das zweite
Teilbild eines verflochtenen Fernseh-Vollbildes ist); das
Vertikalaustastsignal V B und ein sogenanntes E-Austastsignal
E B (bei dem es sich um ein phasenversetztes Horizontalsynchronsignal
handelt, das mit der Horizontalzeilenfrequenz
des Videosignals auftritt und jeweils eine
feste vorbestimmte Zeitspanne vor dem Erscheinen des im
Videosignal enthaltenen Horizontalsynchronsignals erscheint).
Der Pyramidenprozessor 100 läßt sich in vier Hauptabteilungen
gliedern. Die erste dieser Abteilungen ist eine
Filter-Logikeinheit 200. Die Filter-Logikeinheit 200 besteht
aus einem oder mehreren Modulen, die den in Fig. 3
dargestellten (und weiter unten beschriebenen) Aufbau
haben. Wie in Fig. 2 gezeigt, hat die Filter-Logikeinheit
200 einen Steuereingang 202, einen Bildpunkttakteingang
204, einen ersten Videoeingang IN 1, einen zweiten Videoeingang
IN 2, einen ersten Videoausgang OUT 1 und einen
zweiten Videoausgang OUT 2. Die zweite Hauptabteilung des
Pyramidenprozessor 100 besteht aus einer Gruppe von vier
Multiplexern (abgekürzt MUX) 206, 208, 210 und 212. Wie
gezeigt, ist jeder dieser Multiplexer 206, 208, 210 und
212 jeweils einem anderen Exemplar der Videoeingänge oder
Videoausgänge der Filter-Logikeinheit 200 individuell zugeordnet.
Im einzelnen führt der Ausgang des Multiplexers
206 zum ersten Videoeingang IN 1, der Ausgang des Multiplexers
208 zum zweiten Videoeingang IN 2, der zweite Videoeingang
OUT 2 zu einem Eingang des Multiplexers 210 und
der erste Videoausgang OUT 1 zu einem Eingang des Multiplexers
212.
Die dritte Hauptabteilung des Pyramidenprozessors 100 besteht
aus einer Speicheranordnung, die einen ersten RAM-
Speicher (RAM 1) 214 und einen zweiten RAM-Speicher (RAM 2)
216 enthält. Die Speicheranordnung dient zur Zwischenspeicherung
von Videosignalen, die während der Pyramiden-Verarbeitung
auftreten. Wie angezeigt, kann der erste RAM-
Speicher 214 seine einzuschreibenden Eingangssignale entweder
vom Multiplexer 210 oder vom Multiplexer 212 empfangen,
oder er kann seine ausgelesenen Signale über eine
Videosignalschiene 218 entweder an den Multiplexer 206
oder den Multiplexer 208 liefern. Dem zweiten RAM-Speicher
216 werden seine einzuschreibenden Signale entweder vom
Multiplexer 210 oder vom Multiplexer 212 zugeführt, und
seine ausgelesenen Signale werden über eine Videosignalschiene
220 entweder dem Multiplexer 206 oder dem Multiplexer
208 zugeführt. Wie in Fig. 2 angedeutet, ist jede
der Schienen 218 und 220 eine 8-Bit-Schiene, die jeweils
nur ein digitales 8-Bit-Videosignal auf einmal übertragen
kann. Die Schiene 22 ist eine 16-Bit-Schiene und
kann jedes der beiden digitalen 8-Bit-Videosignale, die
entsprechenden Eingängen des Pyramidenprozessors 100 zugeführt
werden (vgl. Fig. 1) an einen Eingang des Multiplexers
206 oder des Multiplexers 208 übertragen. Wenn
also ein erstes der beiden 8-Bit-Videoeingangssignale des
Pyramidenprozessors 100 an einen Eingang des Multiplexers
206 gelegt wird, kann das andere der beiden Videoeingangssignale
gleichzeitig an einen Eingang des Multiplexers
208 gelegt werden oder nicht. In ähnlicher Weise kann,
wenn das zweite der beiden 8-Bit-Videoeingangssignale des
Pyramidenprozessors an einen Eingang des Multiplexers 206
gelegt wird, das andere der beiden Videoeingangssignale
gleichzeitig an einen Eingang des Multiplexers 208 gelegt
werden oder nicht. Eine 8-Bit-Videosignalschiene 224 kann
entweder nur das Videoausgangssignal vom Multiplexer 210
oder das Videoausgangssignal vom Multiplexer 212 jeweils
auf einmal übertragen, um es über eine programmierbare
Verzögerungseinrichtung 228 auf die 8-Bit-Videoausgangsschiene
226 (vgl. Fig. 1) des Pyramidenprozessors 100 zu
geben.
Die vierte Hauptabteilung des Pyramidenprozessors 100 (die
den Rest des Blockdiagramms der Fig. 2 ausmacht) ist eine
Zeitgeber- und Steuereinheit zur Programmierung des Betriebs
jeder der (vorstehend beschriebenen) ersten drei
Hauptabteilungen des Pyramidenprozessors 100, damit dieser
während jeder der aufeinanderfolgenden Bildpunkt-Abfrageperioden
eine gewünschte Pyramiden-Verarbeitungsfunktion
durchführt.
Die Zeitgeber- und Steuereinheit des Pyramidenprozessors
100 enthält einen Befehlsspeicher 230, der durch das Ausgangssignal
eines Adressenzählers 231 adressierbar ist,
das ihm über eine 11-Bit-Adressenschiene 232 angelegt
wird. Der Befehlsspeicher 230 kann entweder ein RAM-Speicher
oder ein programmierbarer Festwertspeicher (PROM-
Speicher) sein. Der Adressenzähler 231 ist ein 12-Bit-
Zähler (d. h. seine Zählkapazität beträgt 2¹²), für die
Adressen werden jedoch nur die unteren 11 Bits benutzt.
Falls der Befehlsspeicher 230 ein RAM-Speicher ist, kann
von der Zentraleinheit über die Vielfachschiene 112 (Fig.
1) und ein zugehöriges Interface 234 eine Menge von Befehlen
in den Befehlsspeicher 230 eingespeichert werden.
Das Zentraleinheit-Interface 234 decodiert und ordnet
die über die Vielfachschiene 112 zugeführte Information,
um daraus passende Steuersignale, Adressensignale und Befehlsdatensignale
für den RAM-Befehlsspeicher 230 abzuleiten.
Die Steuersignale enthalten ein Rückstellsignal,
das einem Eingang des Adressenzählers 231 angelegt wird,
ein Lese/Schreib-Steuersignal R/, ein Chip-Wählsignal
, das einem Eingang des Befehlsspeichers 230 angelegt
wird, und ein Sperrsignal, das jeweils einem Eingang des
Adressenzählers 231 und eines Befehlsdecoders 238 angelegt
wird. Die Adresseninformation vom Zentraleinheit-
Interface 234 wird dem Befehlsspeicher 230 über die 11-
Bit-Adressenschiene 232 und die -Leitung angelegt, während
die eigentlichen Befehlscodes über eine 16-Bit-Datenschiene
236 vom Interface 234 zum Befehlsspeicher 230 gegeben
werden. Auf diese Weise kann ein Befehlsspeicher
230, wenn er in Form eines RAM-Speichers vorliegt, mit
einer Gruppe passender Befehlscodes bespeichert werden,
deren jeder eine passende Adresse bekommt.
Ist der Befehlsspeicher 230 ein programmierbarer Festwertspeicher
(PROM-Speicher) anstatt ein RAM-Speicher,
dann braucht man das Zentraleinheit-Interface 234 und die
von ihm gelieferten Ausgangssignale nicht, weil ein PROM-
Speicher als fester Speicher für Befehle verwendet wird.
Dies ist der Grund, warum das Interface 234 in der Fig. 2
als "wahlweise" angegeben ist. Jedoch ist es im Falle
eines PROM-Speichers möglich, daß eine Initialisierungsschaltung
(nicht dargestellt) gebraucht wird, um eine Anfangsadresse
im Adressenspeicher 231 einzustellen, oder
die Anfangsadresse könnte eines aus den im PROM-Speicher
gespeicherten mehreren Programmen auswählen.
Mit dem Befehlsspeicher 230 und dem Adressenzähler 231
wirkt der Befehlsdecodierer 238, eine zwischenspeichernde
Halteschaltung (Latch-Schaltung) 240, ein Zyklus-Zeitgeber
242 und ein Schleifenzähler 244 zusammen. Im einzelnen
werden 4 Bits der 16-Bit-Datenschiene 236 an den Befehlsdecodierer
238 gelegt, und höchstens 12 Bits von dieser
Schiene 236 werden jeweils an den Adressenzähler 231, an
die Latch-Schaltung 240, an den Zyklus-Zeitgeber 242 und
an den Schleifenzähler 244 gelegt. Der Adressenzähler 231
kann über die Datenschiene 236 zwangsweise auf eine neue
12-Bit-Adresse eingestellt werden.
Der Befehlsdecodierer 238 empfängt außerdem die drei Zeit-
und Videosteuersignale TB o /1 (das bereits oben erwähnte
Teilbild-Anzeigesignal für Gerade/Ungerade), V B und E B ,
während das Bildpunkttaktsignal entweder direkt oder in
invertierter Form an den Adressenzähler 231, den Befehlsdecodierer
238 und den Zyklus-Zeitgeber 242 gelegt wird.
Es sei nun beschrieben, wie der Befehlsspeicher 230, der
Adressenzähler 231, der Befehlsdecodierer 238, die Latch-
Schaltung 240, der Zyklus-Zeitgeber 242 und der Schleifenzähler
244 miteinander zusammenwirken. Die oberen (höchstwertigen)
4 Bits des aus dem Befehlsspeicher 230 ausgelesenen
16-Bit-Befehlscodes geben 16 verschiedene mögliche
Klassen an. Die Folge der Befehlscodes, die aus dem Befehlsspeicher
230 während jeder der aufeinanderfolgenden
Bildpunkttaktperioden auszulesen sind, wird durch den
Adressenzähler 230 angegeben (der etwa äquivalent dem Programmzähler
eines Mikroprozessors ist). Der Adressenzähler
231 schaltet gewöhnlich während jedes Befehlszyklus (Bildpunkttaktperiode)
um jeweils einen Zählschritt weiter,
rückt also fortschreitend vor, um Befehle hintereinander
der Reihe nach auszulesen. Der Adressenzähler 231 kann
jedoch auch zum Springen auf eine spezielle neue Adresse
veranlaßt werden, indem die neue Adresse, gleich den unteren
12 Bits des Befehlscodes, in den Adressenzähler 231
zwangsgeladen wird.
Bildverarbeitung ist ein dynamischer Vorgang, bei welchem
Befehle und/oder andere Daten, die in einer Bildpunkttaktperiode
benutzt werden, auch während der nächsten Bildpunkttaktperiode
verwendet werden können. Es können sich
jedoch Fälle ergeben, in denen es ratsam ist, aus irgendeinem
Grund zu warten (z. B. um das Eintreten irgendeines
erwarteten Ereignisses abzuwarten). Für diese Fälle ist
der Zyklus-Zeitgeber 242 vorgesehen. Der Zyklus-Zeitgeber
242 ist ein Zähler, der mit den unteren (niedrigstwertigen)
8 Bits eines Befehls zwangsgeladen werden kann. Dieser
Zähler schaltet mit jeder Bildpunkttaktperiode um einen
Zählschritt weiter und läuft am Ende aus, wenn der Zählwert
256 erreicht ist. Wenn der Zähler 242 zum Ende gezählt
hat, legt er über den "Zeitgeber"-Ausgang vom
Schleifenzähler 244 ein Kennzeichensignal an den Befehlsdecodierer
238; hiermit wird der Betrieb des Befehlsdecodierers
238 abhängig vom Kennzeichensignal selektiv in einer
Weise beeinflußt, die auch vom jeweiligen Befehl abhängt,
der gerade aus dem Befehlsspeicher 230 ausgelesen wird.
Eine brauchbare Kontrolle für die Bildverarbeitung ist der
Schleifenzähler 244. Dieser Zähler registriert bestimmte
Ereignisse, die während der Bildverarbeitung eintreten.
Der Schleifenzähler 244 wird zunächt mit den unteren 8
Bits eines Befehls zwangsgeladen und anschließend jedesmal
weitergeschaltet, wenn eines der Ereignisse eintritt.
Die Weiterschaltung des Zählers 244 erfolgt durch einen
Impuls "Takt 1" vom Befehlsdecodierer 238. Der Decodierer
238 liefert diesen Impuls "Takt 1", wenn ein bestimmter
Befehlstyp in ihm decodiert wird. Wenn der Schleifenzähler
244 zu seinem Ende gezählt hat (beim Zählwert 256 angekommen
ist), legt er über seinen Ausgang "Zähler" ein
Kennzeichensignal an den Befehlsdecodierer 238. Die Antwort
des Decodierers 238 auf dieses Kennzeichensignal beeinflußt
die Operationen, die anschließend von ihm (und
daher auch vom Rest des Prozessors) durchgeführt werden.
Das zwangsweise Laden der Latch-Schaltung 240, des Zyklus-
Zeitgebers 242, des Schleifenzählers 244 und des Adressenzählers
231 wird durch Ausgangssignale L 1, L 2, L 3 und L 4
des Befehlsdecodierers 238 gesteuert. Im einzelnen werden
die unteren 12 Bits, die im Augenblick gerade auf der Datenschiene
236 erscheinen, zwangsweise in die Latch-Schaltung
240 gegeben, wenn das Ausgangssignal L 1 vom Befehlsdecodierer
238 erscheint, und zwangsweise in den Adressenzähler
231 geladen, wenn das Ausgangssignal L 4 vom Befehlsdecodierer
238 erscheint. Die unteren 8 Bits, die
im Augenblick gerade auf der Datenschiene 236 vorhanden
sind, werden beim Erscheinen des Ausgangssignals L 2 des
Befehlsdecodierers 238 in den Zyklus-Zeitgeber 242 und
beim Auftreten des Ausgangssignals L 3 des Befehlsdecodierers
238 in den Schleifenzähler 244 zwangsgeladen.
Die 12 Bits, die an der Latch-Schaltung 240 auf der Schiene
246 austreten, bestehen aus vier Adressenbits und acht
Datenbits. Alle 12 Bits auf der Schiene 246 werden auf
den Steuereingang 202 der Filter-Logikeinheit 200 gegeben.
Außerdem werden die vier Adressenbits auf der Schiene 246
dem Eingang eines "3 bis 8"-Decodierers 248 angelegt. Eines
dieser 4 Bits wird zum Steuern der Aktivierung des
Decodierers 248 benutzt, während die restlichen drei
Adressenbits in acht mögliche Aktivierungs-Steuersignale
decodiert werden. Tatsächlich benutzt werden jedoch nur
fünf dieser acht möglichen Aktivierungs-Steuersignale.
Im einzelnen wird von den fünf benutzten Aktivierungs-
Steuersignalen, die vom Decodierer 248 auf eine Schiene
249 gegeben werden, ein jedes an ein individuell zugeordnetes
Exemplar von fünf Latch-Schaltungen 250, 252, 254,
256 und 258 gelegt. Die acht Datenbits auf der Schiene
246 werden allen Latch-Schaltungen 250, 252, 254, 256 und
258 zugeführt. Sobald irgendeine dieser Latch-Schaltungen
aktiviert wird, wird das in diesem Augenblick auf der Datenschiene
246 vorhandene 8-Bit-Datensignal in die betreffende
Latch-Schaltung eingespeichert. Die in der Latch-
Schaltung 250 eingespeicherten Daten werden dazu benutzt,
den selektiven Betrieb eines oder mehrerer der vier Multiplexer
206, 208, 210 und 212 zu steuern. Die Daten in
der Latch-Schaltung 252 werden dazu benutzt, NAND-Glieder
260 und 262, Schalter S 1 und S 2 und Schalter S 3 und S 4
selektiv zu aktivieren. Die Daten in der Latch-Schaltung
254 werden dazu verwendet, einen Spaltenzähler 264 und
einen Reihenzähler 266, die dem ersten RAM-Speicher 214
zugeordnet sind, selektiv zurückzustellen und einen Spaltenzähler
268 und einen Reihenzähler 270, die dem zweiten
RAM-Speicher 216 zugeordnet sind, selektiv zurückzustellen.
Die in der Latch-Schaltung 256 gespeicherten Daten werden
benutzt, um den ersten RAM-Speicher 214 gemeinsam mit seinen
Spalten- und Reihenzählern 264 und 266 wahlweise zu
aktivieren und den zweiten RAM-Speicher 216 gemeinsam
mit seinen Spalten- und Reihenzählern 268 und 270 wahlweise
zu aktivieren. Die in der Latch-Schaltung 258 gespeicherten
Daten werden dazu benutzt, das Maß der durch
eine programmierbare Verzögerungseinrichtung 228 eingeführten
Verzögerung wahlweise zu programmieren.
Der Spaltenzähler 264 und der Reihenzähler 266 dienen
zur Adressierung des ersten RAM-Speichers 214, und der
Spaltenzähler 268 und der Reihenzähler 270 dienen zur
Adressierung des zweiten RAM-Speichers 216.
Der Befehlsdecodierer 238 liefert ein Reihentaktsignal
mit einer Reihentaktfrequenz, die durch die Gruppe von
Befehlen bestimmt wird. Diese Reihentaktfrequenz kann
gleich der Zeilenabtastfrequenz des Videosignals sein,
oder es kann sich um irgendeine andere Frequenz handeln,
die von der Programmierung abhängt (zum Zwecke der Erläuterung
sei hier jedoch der erstere Fall angenommen).
Die Reihentaktfrequenz wird durch einen 1 : 2-Untersetzer
272 auf die Hälfte reduziert. In ähnlicher Weise wird
durch einen 1 : 2-Untersetzer 274 eine auf die Hälfte reduzierte
Bildtaktfrequenz erzeugt. Je nach dem Zustand
der Schalter S 1 und S 3 wird ein Reihentaktsignal entweder
mit seiner ursprünglichen Frequenz oder mit seiner
halbierten Frequenz an die Takteingänge CLK der Reihenzähler
266 und 270 gelegt. In ähnlicher Weise wird abhängig
vom Zustand der Schalter S 2 und S 4 das Bildpunkttaktsignal
entweder mit seiner ursprünglichen Frequenz oder
mit seiner halbierten Frequenz an die Takteingänge CLK
der Spaltenzähler 264 und 268 gelegt. Ein Schreibzyklus-
Taktsignal (bestehend aus dem Bildpunkttaktsignal nach
Phasenverzögerung in einer Phasenverzögerungseinrichtung
274) wird an den Lese/Schreib-Steuereingang R/ des ersten
RAM-Speichers 214 gelegt, wenn das NAND-Glied 260
aktiviert ist, und an den Lese/Schreib-Steuereingang R/
des zweiten RAM-Speichers 216, wenn das NAND-Glied 262
aktiviert ist.
Die Fig. 3 ist ein Blockschaltbild, das den Aufbau eines
Moduls für die Filter-Logikeinheit in etwas vereinfachter
Form zeigt. Wenn auch in dieser Figur nicht in struktureller
Form dargestellt, werden die zum Steuereingang 202
der Filter-Logikeinheit 200 gelieferten vier Adressenbits
und acht Datenbits in geeigneter Weise decodiert und in
Latch-Schaltungen (nicht gezeigt) gespeichert, die sich
im Modul befinden. Außerdem enthielt die Filter-Logikeinheit
in einer tatsächlich gebauten Ausführungsform andere
programmierbare Einrichtungen, einschließlich Nachschlagetabellen
in Form adressierbarer Festwertspeicher
und programmierbarer Pipeline-Register. In jedem Fall wird
eine Vielzahl von Steuersignalen abgeleitet (in der Fig. 3
mit C bezeichnet). Unter diesen Steuersignalen sind auch
welche, die einem Eingang eines mit m × m Anzapfungen versehenen
zweidimensionalen Digitalfilters 300 angelegt
werden (wobei m eine ganze Zahl größer als 1 ist, vorzugsweise
mindestens gleich 5). Das zweidimensionale Digitalfilter,
das in einer gebauten Ausführungsform des Pyramidenprozessors
benutzt wurde, war ein trennbares Filter,
bestehend aus einem Vertikalfilter mit bewerteten Ausgangsanzapfungen
(ausgangsseitige Gewichtung) und einem
nachgeschalteten digitalen Horizontalfilter mit bewerteten
Eingangsanzapfungen (eingangsseitige Gewichtung). Wie in
Fig. 3 angegeben, werden die dem digitalen Filter 300
über die Schiene 302 angelegten Steuersignale C zur Verzögerungssteuerung
verwendet sowie dazu, m × m programmierbare
Koeffizienten für die Kern-Gewichtsfunktion des vertikalen
und des horizontalen Teilfilters zu liefern, die
beide das zweidimensionale Digitalfilter 300 bilden.
Das an den Eingang IN 1 des Moduls der Filter-Logikeinheit
gelegte Videosignal wird auf einen Eingang eines
Multiplexers 304 gegeben, dessen zweiter Eingang das Ausgangssignal
eines "Nullwort"-Generators 306 empfängt. Das
dem Multiplexer 304 angelegte Steuersignal C bestimmt,
welches der beiden Eingangssignale des Multiplexers zum
Multiplexerausgang gesendet wird und das Eingangssignal
des Digitalfilters 300 bildet.
Bekanntlich enthält ein ausgangsseitig gewichtetes Vertikal-
Digitalfilter eine Verzögerungseinrichtung mit
programmierbarer Verzögerungsdauer (z. B. ein Schieberegister),
um den zum Eingang des Filters gesendeten Strom
von Bildpunktwerten um ein gewähltes Maß zu verzögern.
Zum Zwecke der Erläuterung sei angenommen, daß dieses gewählte
Verzögerungsmaß mindestens gleich dem (m-1)-fachen
eines Horizontalzeilenintervalls H ist, damit die jeweils
vertikal miteinander ausgerichteten Bildpunkte von m aufeinanderfolgenden
Zeilen gleichzeitig verfügbar sind, bevor
sie mit den zugehörigen m Koeffizienten der Kern-
Gewichtsfunktion des Vertikalfilters multipliziert werden
und anschließend summiert werden (ein Blockschaltbild der
Struktur eines derartigen ausgangsseitig gewichteten digitalen
Vertikalfilters findet sich in der oben an erster
Stelle genannten Patentanmeldung). Die vorliegende Erfindung
nutzt mit Vorteil die schon vorhandene Verzögerungseinrichtung
in dem das Vertikalfilter bildenden Teil des
zweidimensionalen Digitalfilters 300, um den zum Filter
300 gelangenden eingangsseitigen Strom von Bildpunktwerten
um eine wählbare vorbestimmte Anzahl von Horizontalzeilenperioden
H zu verzögern. Obwohl man Hardware einspart,
wenn man zur Verzögerung des Filtereingangssignals
die im Vertikalfilterteil des zweidimensionalen Digitalfilters
300 vorhandene Verzögerungseinrichtung verwendet
(was deswegen zweckmäßig ist), kann das verzögerte Filter-
Eingangssignal alternativ auch von einer Verzögerungseinrichtung
abgeleitet werden, die nicht Teil des zweidimensionalen
Digitalfilters 300 ist.
Die Kern-Gewichtsfunktionen, die in den Tiefpaßfiltern benutzt
werden, welche zur Realisierung der Burt-Pyramide
und der FSD-Pyramide nach der oben an erster Stelle genannten
Patentanmeldung verwendet werden, sind räumlich lokalisiert
und symmetrisch. Außerdem sind die relativen Werte
der Koeffizienten der Kernel-Gewichtsfunktionen so gewählt,
daß sich eine sogenannte "Gleichverteilung" ergibt. Aus diesem
Grund ist die Anzahl m von Anzapfungen in jeder Dimension
praktisch immer eine ungerade Zahl (z. B. 5). Im einzelnen
ist die Zeit, um die das Filtereingangssignal verzögert
wird, durch ein Verzögerungssteuersignal wählbar
zwischen einem ersten Wert (m-1)H/2 und einem zweiten Wert
(m-1)H. Im Fall m = 5 ist also die Verzögerungszeit
entweder gleich zwei Horizontalzeilenperioden oder gleich vier
Horizontalzeilenperioden, je nach der Programmierung des
an das Digitalfilter 300 gelegten Verzögerungssteuersignals.
Ein weiterer Multiplexer 308 empfängt an seinem ersten Eingang
das zweite Videoeingangssignal IN 2 und an seinem zweiten
Eingang das vom Digitalfilter 300 abgeleitete verzögerte
Filtereingangssignal. Je nach dem programmierten Wert
des dem Multiplexer 308 angelegten Steuersignals wird entweder
das Signal vom ersten Eingang oder das Signal vom
zweiten Eingang des Multiplexers 308 zum Ausgang des Multiplexers
gesendet. Das Ausgangssignal des Multiplexers
300 wird durch eine Verzögerungseinrichtung 310 um (m-1)/2
Bildpunktperioden verzögert und dann auf den ersten Eingang
eines Multiplexers 312 und auf den ersten Eingang
einer arithmetischen Logikeinheit 314 gegeben. Das gefilterte
Ausgangssignal vom Digitalfilter 300 wird auf
einen zweiten Eingang der arithmetischen Logikeinheit
314 gegeben und an die Ausgangsklemme OUT 1 des in Fig. 3
gezeigten Moduls der Filter-Logikeinheit gelegt. Wie in
Fig. 3 angegeben, bringt das mit m × m Anzapfungen arbeitende
zweidimensionale Digitalfilter 300 im Idealfall
eine Verzögerung gleich (m-1)H/2 + (m-1)/2 zwischen einander
entsprechenden Bildpunkten des gefilterten Ausgangssignals
und des Filtereingangssignals. (In der Praxis
kann diese Verzögerung etwas länger sein, und zwar wegen
der Pipeline-Anordnung der getrennten Vertikal- und Horizontalfilter.)
Bei m = 5 ist also die ideale Verzögerung
gleich zwei Horizontalzeilenperioden plus zwei Bildpunktperioden.
Das Ausgangssignal der arithmetischen Logikeinheit
(ALE) 314 wird an den zweiten Eingang des Multiplexers
312 gelegt. Je nach dem programmierten Wert des
an die arithmetische Logikeinheit 314 gelegten Steuersignals
arbeitet diese Einheit entweder als Summierer,
um an ihrem Ausgang einen Bildpunktwert zu liefern, der
gleich ist der Summe der gleichzeitig an ihren beiden
Eingängen liegenden Bildpunktwerte, oder sie arbeitet
als Subtrahierschaltung, um an ihrem Ausgang einen Bildpunktwert
zu liefern, der gleich ist dem an ihren zweiten
Eingang gelegten Bildpunktwert subtrahiert von dem
gleichzeitig an ihren ersten Eingang gelegten Bildpunktwert.
Der Multiplexer 312 liefert je nach dem programmierten
Wert des ihm angelegten Steuersignals entweder das
seinem ersten Eingang oder seinem zweiten Eingang zugeführte
Signal zum Ausgang OUT 2 des in Fig. 3 dargestellten
Moduls der Filter-Logikeinheit.
Die Fig. 4a, 4b und 4c zeigen, wie die Filter-Logikeinheit
200 (die aus einem oder zwei Modulen nach Fig. 3
besteht) programmiert werden kann, um als Stufe eines
Burt-Pyramidenanalysators oder als Stufe eines FSD-Pyramidenanalysators
oder als Stufe eines Pyramidensynthetisierers
zu arbeiten. Die in den Fig. 4a, 4b und 4c stehenden
Bezeichnungen für die Eingangs- und Ausgangssignale
entsprechen den Bezeichnungen, wie sie in der oben an erster
Stelle genannten Patentanmeldung benutzt werden.
Wie in der erwähnten Patentanmeldung beschrieben, besteht
ein Burt-Pyramidenanalysator oder ein FSD-Pyramidenanalysator
oder ein Pyramidensynthetisierer aus N Stufen, wobei
N eine ganze Zahl größer als 1 ist. Das Gaußsche Eingangssignal
für irgendeine Stufe K (wobei K ein beliebiger
Wert zwischen 1 und N ist) eines Burt- oder eines FSD-
Pyramidenanalysators wird mit G K-1 bezeichnet; das Gaußsche
Ausgangssignal einer Stufe K eines Burt- oder FSD-
Pyramidenanalysators wird mit G K bezeichnet, und das
Laplacesche Ausgangssignal einer Stufe K eines Burt- oder
FSD-Pyramidenanalysators wird mit L K -1 bezeichnet.
Das Gaußsche Eingangssignal zur Stufe K eines Pyramidensynthetisierers
wird mit G′ K bezeichnet; das Laplacesche
Eingangssignal zur Stufe K eines Pyramidensynthetisierers
wird mit L′ K -1 bezeichnet, und das Gaußsche Ausgangssignal
der Stufe K eines Pyramidensynthetisierers wird mit G′ K -1
bezeichnet. Jedes der Eingangssignale G K -1, G′ K und L′ K -1
in den Fig. 4a, 4b und 4c bildet ein Eingangssignal
der Filter-Logikeinheit 200 nach Fig. 2, während jedes
der Ausgangssignale G K , L K -1 und G′ K -1 der Fig. 4a, 4b
und 4c ein Ausgangssignal der Filter-Logikeinheit 200 nach
Fig. 2 darstellt.
Wie in der Fig. 4a gezeigt, besteht eine Stufe K eines
Burt-Pyramidenanalysators aus zwei Filterlogikeinheit-
Modulen 400-1 a und 400-2 a gemäß der Fig. 3. Das Eingangssignal
G K -1 wird an den Eingang IN 1 des Moduls 400-1 a gelegt.
Das Ausgangssignal G K , das vom Ausgang OUT 1 des Moduls
400-1 a abgeleitet wird, wird auch direkt auf den Eingang
IN 1 des Moduls 400-2 a gegeben. Das Signal vom Ausgang
OUT 2 des Moduls 400-1 a wird direkt zu einem Eingang
IN 2 des Moduls 400-2 a gegeben. Das Ausgangssignal L K -1
wird am Ausgang OUT 2 des Moduls 400-2 a abgeleitet.
Wie ferner in der Fig. 4a angedeutet ist, sind die Elemente
300, 304, 308, 312 und 314 im Modul 400-1 a anders programmgesteuert
als im Modul 400-2 a. Im Modul 400-1 a ist
der Multiplexer 304 so programmgesteuert, daß er jeden
G K -Bildpunkt, der seinem ersten Eingang angelegt wird,
auf den Eingang des Filters 300 koppelt. Im Modul 400-2 a
ist der Multiplexer 304 so programmgesteuert, daß er abwechselnd
zwischen seinem ersten und zweiten Eingang umschaltet
und dadurch nur jedes zweite Exemplar der seinem
ersten Eingang angelegten G K -Bildpunkte zum Eingang des
Filters 300 sendet, während er die dazwischenliegenden
G K -Bildpunkte durch Nullwerte am Filtereingang ersetzt.
Der Multiplexer 308 des Moduls 400-1 a ist so programmgesteuert,
daß er das verzögerte Filtereingangssignal auf
die Verzögerungseinrichtung 310 dieses Moduls gibt, während
der Multiplexer 308 im Modul 400-2 a so programmiert
ist, daß er den Eingang IN 2 dieses Moduls mit der Verzögerungseinrichtung
310 koppelt. Die Verzögerungssteuerung
des Filters 300 im Modul 400-1 a ist so programmiert,
daß eine Verzögerung von (m-1)H bewirkt wird (vier Horizontalzeilenperioden
beim angenommenen Beispiel), während
die Programmierung der Verzögerungssteuerung des Filters
300 im Modul 400-2 a unerheblich ist, weil das verzögerte
Filtereingangssignal in diesem Modul nicht benutzt wird.
Der Multiplexer 312 des Moduls 400-1 a ist so programmiert,
daß er den Ausgang der zugehörigen Verzögerungseinrichtung
310 mit dem Ausgang OUT 2 dieses Moduls koppelt, während
der Multiplexer 312 des Moduls 400-2 a so programmiert
ist, daß er das Ausgangssignal der arithmetischen Logikeinheit
314 dieses Moduls zum Ausgang OUT 2 des Moduls
sendet. Die Programmierung der arithmetischen Logikeinheit
314 im Modul 400-1 a ist unerheblich, weil diese Einheit
dort nicht benutzt wird. Die arithmetische Logikeinheit
314 des Moduls 400-2 a jedoch ist so programmiert,
daß sie als Subtrahierschaltung arbeitet (d. h., der Wert
jedes L K -1-Bildpunktes, der vom Ausgang OUT 2 des Moduls
300-2 a abgeleitet wird, ist gleich dem Wert jedes Bildpunktes,
der vom Ausgang des Filters 300 des Moduls 400-2 a
an den zweiten Eingang der arithmetischen Logikeinheit
314 dieses Moduls gelegt wird, subtrahiert von demjenigen
Bildpunktwert, der gleichzeitig damit an den ersten Eingang
der arithmetischen Logikeinheit 314 des Moduls 400-2 a
gelegt wird).
Abgesehen von einer Ausnahme führt die in Fig. 4a gezeigte
Stufe K des Burt-Pyramidenanalysators alle Funktionen
durch, die von jeder Stufe des Burt-Pyramidenanalysators
nach der DE-OS 34 25 484
durchgeführt werden. Genauer gesagt arbeitet das Filter
300 des Moduls 400-1 a als Faltungsfilter der Burt-Pyramidenanalysatorstufe
K, der Multiplexer 304 und das Filter
300 des Moduls 400-2 a bilden gemeinsam das Erweiterungs-
und Interpolationsfilter der Burt-Pyramidenanalysatorstufe
K, die Verzögerung für das Eingangssignal des Filters
300 des Moduls 400-1 a stellt gemeinsam mit den Verzögerungseinrichtungen
310 beider Module 400-1 a und 400-2 a
die Verzögerungseinrichtung der Burt-Pyramidenanalysatorstufe
K dar, und die arithmetische Logikeinheit 314 des
Moduls 400-2 a spielt die Rolle der Subtraktionseinrichtung
der Burt-Pyramidenanalysatorstufe K. Jedoch enthält
die in Fig. 4a dargestellte Burt-Pyramidenanalysatorstufe
keine Dezimierungseinrichtung zur Unterabtastung des
gefalteten Ausgangssignals vom Filter 300 des Moduls 400-1 a
(dieses Signal ist das Signal G K am Ausgang OUT 1 des
Moduls 400-1 a). Wie es ausführlicher später noch erläutert
wird, wird dieses G K -Signal jedoch an einen späteren
Punkt in der Anordnung nach Fig. 2 dezimiert, der außerhalb
der Filter-Logikeinheit 200 liegt. Andererseits wird
das Ausgangssignal vom Multiplexer 304 des Moduls 400-2 a,
das als Eingangssignal an das Interpolationsfilter 300
des Moduls 400-2 a gelegt wird, im Effekt gleichzeitig
dezimiert, wenn es durch das Einsetzen von Nullwerten an
die Stelle abwechselnder Exemplare von Bildpunktwerten
gedehnt bzw. erweitert wird, wie es bei dem G K -Signal geschieht,
das auf den ersten Eingang des Multiplexers 304
des Moduls 400-2 a gegeben wird.
Außerdem ist die Gesamtverzögerung, die durch die Verzögerung
des Eingangssignals für das Filter 300 des Moduls
400-1 a, durch die Verzögerungseinrichtung 310 des
Moduls 400-1 a und durch die Verzögerungseinrichtung 310
des Moduls 400-2 a bewirkt wird, gleich (m-1)H + (m-1), also
im angenommenen Fall gleich vier Horizontalzeilenperioden
plus vier Bildpunktperioden. Dieses Maß ist gerade gleich
der vom Filter 300 des Moduls 400-1 a und vom Filter 300
des Moduls 400-2 a eingeführten Gesamtverzögerung, was
sicherstellt, daß einander entsprechende Bildpunkte am
ersten und am zweiten Eingang der arithmetischen Logikeinheit
314 des Moduls 400-2 a immer zeitlich koinzident
miteinander erscheinen.
Im Falle eines FSD-Pyramidenanalysators braucht man für
eine Stufe nur ein einziges Modul 400- b, wie es in Fig. 4b
dargestellt ist. Die Multiplexer 304 und 308 des Moduls
400- b sind in genau der gleichen Weise programmiert wie
die Multiplexer 304 und 308 des Moduls 400-1 a, und die
arithmetische Logikeinheit 314 des Moduls 400- b ist genauso
programmiert wie die arithmetische Logikeinheit 314
des Moduls 400-2 a. Die Verzögerungssteuerung des Filters
300 ist jedoch so programmiert, daß sie für das verzögerte
Eingangssignal eine Verzögerung von (m-1)H/2 bringt.
Somit ist die Gesamtverzögerung, die vom verzögerten Eingang
und von der Verzögerungseinrichtung 310 bewirkt wird,
gleich (m-1)H/2 + (M-1)/2, im angenommenen Fall also zwei
Horizontalzeilenperioden plus zwei Bildpunktperioden. Diese
Gesamtverzögerung (die gerade gleich der vom Filter
300 eingeführten Verzögerung ist) stellt sicher, daß
an den ersten und den zweiten Eingang der arithmetischen
Logikeinheit 314 des Moduls 400- b jeweils einander entsprechende
Bildpunkte angelegt werden.
Die in Fig. 4c dargestellte Stufe eines Pyramidensynthetisierers
besteht ebenfalls aus nur einem einzigen Modul
400- c. Die jeweils einander entsprechenden Bildpunkte
der beiden Eingangssignale G′ K und L′ K -1 an den Eingängen
IN 1 und IN 2 des Moduls 400- c erscheinen nicht gleichzeitig,
sondern sind zeitlich zueinander versetzt. Genauer
gesagt ist jeder L′ K -1-Bildpunkt gegenüber dem entsprechenden
G′ K -Bildpunkt um (m-1)H/2 verzögert (d. h.
im angenommenen Fall um zwei Horizontalzeilenperioden).
Diese Zeitversetzung findet jedoch nicht im Modul 400- c
statt, sondern an irgendeinem anderen Punkt im Signalverarbeitungssystem
(wie weiter unten noch beschrieben wird).
Die Multiplexer 304, 308 und 312 des Moduls 400- c sind
genauso programmiert wie die Multiplexer 304, 308 und
312 des oben beschriebenen Moduls 400-2 a. Da im Modul
400- c das vom Filter 300 kommende verzögerte Eingangssignal
nicht benutzt wird, ist es unerheblich, wie die Verzögerungssteuerung
programmiert ist. Die arithmetische
Logikeinheit 314 des Moduls 400- c ist jedoch als Summierschaltung
und nicht als Subtrahierschaltung programmiert.
Als erstes Beispiel für den Betrieb des Pyramidenprozessors
nach Fig. 2 sei angenommen, daß die Filter-Logikeinheit
200 aus dem einzigen Modul 400- b besteht (Fig. 4b),
welches so programmiert ist, daß es als FSD-Pyramidenanalysatorstufe
arbeitet. Außerdem sei angenommen, daß das
Videoeingangssignal zum Pyramidenprozessor 100 ein digitales
8-Bit-Videosignal ist, welches nur das jeweils erste
der beiden verflochtenen Teilbilder eines jeden der aufeinanderfolgenden
Vollbilder eines analogen NTSC-Videosignals
darstellt, das von der Fernsehkamera 108 kommt
und über die Verbindung 110 auf einen Eingang des externen
Analogsignalprozessors 106 gegeben wird (vgl. Fig. 1).
Für die Bildverarbeitung in Überwachungs- und Robotersystemen
ist die geringere Bildauflösung, die sich durch
die Verwendung nur eines der beiden verflochteten Teilbilder
jedes Vollbildes ergibt, gewöhnlich ausreichend.
Wenn Bilder geringerer Auflösung genügen, ergibt sich
als weiterer Vorteil, daß es nicht notwendig ist, jedes
im Zeilensprung verflochten abgetastete Vollbild des Videosignals
in ein Format für fortlaufende Abtastung umzuwandeln,
bevor es im Pyramidenprozessor 100 verarbeitet
wird. Diese Einsparung an Hardware vermindert die Kompliziertheit
und die Kosten derartiger Systeme.
Wenn die vorstehend genannten Voraussetzungen gelten,
dann besteht das Videoeingangssignal natürlich nicht
aus einem kontinuierlichen Strom von Bildpunktwerten.
Stattdessen bildet die Reihe der Bildpunktewerte, die während
der ersten Teilbildperiode (1/60 Sekunden) eines jeden
Vollbildes des Videosignals erscheinen, einen Block
von Bildinformation. Aufeinanderfolgende Blöcke von Bildinformation
sind durch leere Intervalle voneinander getrennt,
die während jeder zweiten Teilbildperiode jedes
Vollbildes des Videosignals erscheinen, das als Videoeingangssignal
dem Pyramidenprozessor 100 angelegt wird.
Der Pyramidenprozessor 100 verarbeitet jedoch diese eingangsseitige
Bildinformation sowohl während der ersten
als auch während der zweiten Teilbildperiode eines jeden
Vollbildes des Videosignals.
Die Multiplexer 206 und 208, die Demultiplexer 210 und 212 und der erste und
zweite RAM-Speicher 214 und 216 sind beim hier behandelten
Beispiel so programmiert, daß sie wie folgt arbeiten:
Während des ersten Teilbildes eines jeden Vollbildes wird eine Serie von Bildpunktwerten, die den Block der Bildinformation dieses Vollbildes definieren, als Videoeingangssignal an den Multiplexer 206 gelegt, der eine Serie von Bildpunktwerten an den Eingang IN 1 der Filter-Logikeinheit 200 überträgt. Zu dieser Zeit arbeitet die Filter- Logikeinheit 200 als erste Stufe der Pyramide, und die dabei auf den Eingang IN 1 der Filter-Logikeinheit 200 gegebene Serie von Bildpunktwerten stellt das G₀-Eingangssignal der Pyramide dar. Die Folge ist, daß am Ausgang OUT 1 der Filter-Logikeinheit 200 (Konfiguration nach Fig. 4b) das Signal G₁ und am Ausgang OUT 2 das Signal L₀ abgeleitet wird.
Während des ersten Teilbildes eines jeden Vollbildes wird eine Serie von Bildpunktwerten, die den Block der Bildinformation dieses Vollbildes definieren, als Videoeingangssignal an den Multiplexer 206 gelegt, der eine Serie von Bildpunktwerten an den Eingang IN 1 der Filter-Logikeinheit 200 überträgt. Zu dieser Zeit arbeitet die Filter- Logikeinheit 200 als erste Stufe der Pyramide, und die dabei auf den Eingang IN 1 der Filter-Logikeinheit 200 gegebene Serie von Bildpunktwerten stellt das G₀-Eingangssignal der Pyramide dar. Die Folge ist, daß am Ausgang OUT 1 der Filter-Logikeinheit 200 (Konfiguration nach Fig. 4b) das Signal G₁ und am Ausgang OUT 2 das Signal L₀ abgeleitet wird.
Der Demultiplexer 210 überträgt das Signal L₀ vom Ausgang
OUT 2 über die programmierbare Verzögerungseinrichtung
228 zum Videoausgang 226 des Pyramidenprozessors 100 (wonach
es vom Signalverarbeitungssystem nach Fig. 1 weiter
verarbeitet werden kann, wie weiter unten beschrieben).
Die Serie von G₁-Bildpunktwerten am Ausgang OUT 1 (die
noch nicht dezimiert worden sind) wird über den Demultiplexer
212 als einzuschreibendes Signal zum ersten RAM-
Speicher 214 gegeben. Jedoch werden der Spaltenzähler
264 und der Reihenzähler 266 durch Taktsignale fortgeschaltet,
die von den 1 : 2-Untersetzern 274 und 272 kommen
(d. h., der Spaltenzähler 264 wird mit der halben
Bildpunkttaktfrequenz und der Reihenzähler 266 mit der
halben Reihentaktfrequenz fortgeschaltet). Dies führt
dazu, daß von den G₁-Bildpunktwerten nur jedes zweite
Exemplar in nur jeder zweiten Horizontalzeile in den ersten
RAM-Speicher 214 eingespeichert werden (wodurch die
notwendige Dezimierung sowohl in der horizontalen als
auch der vertikalen Bilddimension erfolgt). Es wird also
nur ein Viertel aller G₁-Bildpunktwerte, die am Ausgang
OUT 1 der Filter-Logikeinheit 200 erscheinen, im ersten
RAM-Speicher 214 gespeichert. Dieser Prozeß dauert jeweils
bis zum Ende der ersten Teilbildperiode eines jeden
Vollbildes des Videosignals. Am Beginn der zweiten
Teilbildperiode eines jeden Vollbildes werden der Spaltenzähler
264 und der Reihenzähler 266 mit der vollen
Bildpunkttaktfrequenz bzw. der vollen Reihentaktfrequenz
angesteuert, um alle gespeicherten G₁-Bildpunktwerte aus
dem ersten RAM-Speicher 214 während nur des ersten Viertels
dieser zweiten Teilbildperiode seriell auszulesen.
Der Multiplexer 206 ist dann so programmiert, daß er
diese ausgelesenen G₁-Bildpunktwerte vom ersten RAM-
Speicher 214 an den Eingang IN 1 der Filter-Logikeinheit
200 überträgt. Die Folge ist, daß am Ausgang OUT 1 der
Filter-Logikeinheit G₂-Bildpunktwerte und am Ausgang OUT 2
L₁-Bildpunktwerte erscheinen.
Der Demultiplexer 210, der in der gleichen Weise betrieben
wird, wie es oben in Verbindung mit dem L₀-Signal beschrieben
wurde, überträgt das L₁-Signal über die programmierbare
Verzögerungseinrichtung 228 zum Videoausgang 226.
Der Demultiplexer 212 jedoch ist zu dieser Zeit so programmiert,
daß er die G₂-Bildpunktproben vom Ausgang OUT 1
als einzuschreibendes Signal an den zweiten RAM-Speicher
216 (anstatt an den ersten RAM-Speicher 214) überträgt.
Der zweite RAM-Speicher 216 wird während seiner Schreib-
und Lesezyklen in der gleichen Weise betrieben, wie es
oben für den ersten RAM-Speicher 214 beschrieben wurde.
Somit werden zuerst G₂-Proben gespeichert, die in Horizontalrichtung
und in Vertikalrichtung dezimiert sind
(und in ihrer Anzahl nur einem Sechzehntel der Anzahl der
G₀-Bildpunktwerte entsprechen), und dann werden die gespeicherten
G₂-Werte in einem Sechzehntel der zweiten
Teilbildperiode ausgelesen und über den Multiplexer 206
zum Eingang IN 1 der Filter-Logikeinheit 200 übertragen.
Dieser Prozeß setzt sich über jede der aufeinanderfolgenden
Stufen der Pyramide fort, wobei der erste und der
zweite RAM-Speicher 214 und 216 abwechselnd benutzt werden,
um die Gaußschen Ausgangs-Bildpunktwerte, die ihnen
vom Ausgang OUT 1 der Filter-Logikeinheit 100 über den
Demultiplexer 212 zugeführt werden, zu dezimieren und dann
zu speichern.
Wie es ausführlich in der oben an erster Stelle genannten
Patentanmeldung beschrieben ist, besteht das von einem
N-stufigen Pyramidenanalysator zerlegte oder "analysierte"
Signal aus den Teilen L 0, L 1...L N -1 und G N .
Soweit beschrieben, liefert der Pyramidenprozessor 100
also nacheinander alle die Laplaceschen Teilspektrum-
Signale L 0, L 1...L N -1 zu seinem Videoausgang 226. Zur
gleichen Zeit, wie das Signal L N -1 vom Ausgang OUT 2 der
Filter-Logikeinheit 200 über den Demultiplexer 210 und die
programmierbare Verzögerungseinrichtung 228 zum Videoausgang
226 läuft, wird das Rest-Teilspektrumsignal G N
vom Ausgang OUT 1 der Filter-Logikeinheit 200 über den
Demultiplexer 212 gesendet, um in dezimierter Form in einem
der beiden RAM-Speicher 214 und 216 eingespeichert zu
werden. Nun ist es notwendig, die gespeicherten dezimiertem
G N -Bildpunktwerte auszulesen und sie, ohne weitere
Verarbeitung, zum Videoausgang 226 zu übertragen. Hierzu
bedarf es einer etwas anderen Programmierung, als sie beschrieben
wurde.
Im einzelnen werden die Multiplexer 308 und 312 des Filter-
Logikeinheitsmoduls 400- b jetzt so programmiert, daß
sie ihre Ausgänge mit ihren jeweiligen Eingängen koppeln
und dadurch einen Weg vom Eingang IN 2 zum Ausgang OUT 2
der Filter-Logikeinheit 200 über die Bildpunkt-Verzögerungseinrichtung
310 herstellen. Außerdem wird der Multiplexer
208 so programmiert, daß er die ausgelesenen dezimierten
G N -Bildpunktproben zum Eingang IN 2 der Filter-
Logikeinheit 200 überträgt, und der Multiplexer 210 wird
so programmiert, daß er den Ausgang OUT 2 über die programmierbare
Verzögerungseinrichtung 228 mit dem Videoausgang
226 koppelt. Auf diese Weise erreicht das dezimierte
Restsignal G N den Videoausgang 226 des Pyramidenprozessors
100.
Allgemein gesagt ist der Betrieb eines Signalverarbeitungssystems
(z. B. des Gesamtsystems nach Fig. 1), in dem
der Pyramidenprozessor 100 verwendet wird, nicht Teil
der vorliegenden Erfindung. In den meisten Fällen wird
jedoch das zerlegte Videoausgangssignal vom Pyramidenprozessor
100, das aus den Teilsignalen L₀, L₁...L N -1
und G N besteht (und auf der Verbindung 138 in Fig. 1 erscheint),
gewöhnlich über das Element 104 an ein ausgewähltes
Exemplar der Vollbildspeicher 102 geliefert, um
darin gespeichert zu werden (entweder in seiner ursprünglichen
Form oder nach Änderung oder Modifizierung durch
die arithmetische Logikeinheit des Elementes 104). Die
Tatsache, daß das im Pyramidenanalysator zerlegte Signal
L₀, L₁...L N -1 und G₀ gespeichert werden, macht es
möglich, daß der Pyramidenprozessor 100 später als Pyramidensynthetisierer
betrieben werden kann, um ein Signal
G′₀ zu rekonstruieren. Der Pyramidenprozessor 100 arbeitet,
wenn er eine Analyse nach dem Burt-Pyramidenalgorithmus
durchführt, in allen wesentlichen Punkten
genauso, wie es oben in Verbindung mit der FSD-Pyramidenanalyse
beschrieben wurde, nur daß im Falle einer Burt-
Pyramidenanalyse die Filter-Logikeinheit 200 aus zwei
Modulen 400-1 a und 400-2 a gemäß Fig. 4a besteht (anstatt
aus dem einzigen Modul 400- b gemäß Fig. 4b).
Ein zweites Beispiel für den Betrieb des Pyramidenprozessors
100 ist die Verwendung der Filter-Logikeinheit
200 in einer Konfiguration, wie sie mit dem einzigen Modul
400- c in Fig. 4c gezeigt ist, um eine n-stufige Pyramidensynthese
durchzuführen. Zur Beschreibung eines solchen
Falles sei angenommen, daß die zerlegten Signale
G′ N , L′ N -1...L 1 und L 0 in einem der drei externen Vollbildspeicher
102 der Fig. 1 gespeichert sind. Der Prozeß
beginnt damit, daß das Restsignal G′ N aus dem betreffenden
Exemplar der externen Vollbildspeicher 102 zum
ersten RAM-Speicher 214 gegeben wird. Dies geschieht durch
Übertragung der Bildpunktwerte des Restsignals G′ N über
den Multiplexer 104 und Anlegen dieser Werte an einen der
8-Bit-Eingänge des Pyramidenprozessors 100 über die Verbindung
122 oder 124 (vgl. Fig. 1). Zur gleichen Zeit
wird der Multiplexer 312 im Modul 400- c der Filter-Logikeinheit
200 vorübergehend so programmiert, daß sein
erster Eingang mit seinem Ausgang gekoppelt ist (wodurch
ein direkter Weg vom Eingang IN 2 über die Verzögerungseinrichtung
300 zum Ausgang OUT 2 eingerichtet wird), während
der Multiplexer 208 so programmiert wird, daß er das
G′ N -Videoeingangssignal zum Eingang IN 2 überträgt, und
der Demultiplexer 210 so programmiert wird, daß er das den
Ausgang OUT 2 erreichende Restsignal G′ N als ein mit voller
Spalten- und Reihentaktfrequenz einzuschreibendes
Eingangssignal zum RAM-Speicher 214 überträgt. Sobald
diese vorbereitende Funktion durchgeführt ist, wird der
Multiplexer 312 so programmiert, daß er seinen zweiten
Eingang mit seinem Ausgang koppelt (wie es die in Fig.
4c dargestellte Konfiguration des Moduls 400- c zeigt).
Als nächstes wird das im ersten RAM-Speicher 214 gespeicherte
G′ N -Signal mit jeweils halber Spalten- und Reihentaktfrequenz
ausgelesen und über den Multiplexer 206 an
den Eingang IN 1 gelegt, während gleichzeitig das im externen
Vollbildspeicher 102 gespeicherte Signal L N -1 mit
voller Spalten- und Reihentaktfrequenz ausgelesen wird und
über die Videoeingangsschiene 222 und den Multiplexer 208
an den Eingang IN 2 übertragen wird. Jedoch ist die Auslese-
Zeitsteuerung des Vollbildspeichers 102 und des ersten
RAM-Speichers 214 nun so, daß das aus dem ersten
RAM-Speicher 214 ausgelesene Signal G′ N um exakt zwei
Horizontalzeilenperioden gegenüber dem aus dem Vollbildspeicher
102 ausgelesenen Signal L′ N -1 verzögert wird.
Dies stellt sicher, daß jeder Bildpunktwert des gefilterten
G′ N -Ausgangssignals des Filters 300 am zweiten Eingang
der Summierschaltung 314 zur gleichen Zeit erscheint
wie der dazu entsprechende Bildpunktwert am ersten Eingang
der Summierschaltung 314 (in Fig. 4c dargestellt).
Die Folge ist, daß die Filter-Logikeinheit 200 an ihrem
Ausgang OUT 2 das Signal G′ N -1 liefert. Der zweite RAM-
Speicher 216 und der Demultiplexer 210 sind dann so programmiert,
daß dieses Signal G′ N -1 in den zweiten RAM-
Speicher 216 eingeschrieben wird.
Der gesamte Prozeß wird nun mit dem gespeicherten Signal
L′ N -2 wiederholt, indem dieses Signal aus dem Vollbildspeicher
102 ausgelesen und über die Videoeingangsschiene
202 und den Multiplexer 208 zum Eingang IN 2 übertragen
wird, und indem das gespeicherte Signal G′ N -1 aus
dem zweiten RAM-Speicher 216 ausgelesen und über den Multiplexer
206 an den Eingang IN 1 gelegt wird. Die Folge
ist, daß nun am Ausgang OUT 2 das Signal G′ N -2 abgeleitet
und über den Demultiplexer 210 als einzuschreibendes Signal
an den ersten RAM-Speicher 214 gelegt wird.
Der vorstehend beschriebene Prozeß kann dann weiter wiederholt
werden (wobei der erste und der zweite RAM-Speicher
214 und 216 abwechselnd verwendet werden, um jedes
der am Ausgang OUT 2 abgeleiteten G′-Signale fortschreitend
niedrigerer Ordnung zu speichern und den betreffenden
RAM-Speicher anschließend auszulesen und das gespeicherte
Signal G′ K über den Multiplexer 201 an den Eingang IN 1
zu übertragen, während gleichzeitig das zugeordnete Signal
L′ K -1 aus dem Vollbildspeicher 102 ausgelesen und über
die Schiene 222 und den Multiplexer 208 an den Eingang
IN 2 übertragen wird). Dieser sich wiederholende Prozeß
geht so lange weiter, bis am Ende das Signal G′₀ am Ausgang
OUT 2 der Filter-Logikeinheit 200 abgeleitet wird
(womit ein völlig wiederhergestelltes Signal synthetisiert
ist). Wenn dies eintritt, wird der Demultiplexer 210 so programmiert,
daß er das Signal G′₀ über die programmierbare
Verzögerungseinrichtung 228 zum Videoausgang 226 des Pyramidenprozessors
100 überträgt, damit es vom Rest des
Signalverarbeitungssystems nach Fig. 1 verarbeitet wird.
Das synthetisierte Signal G′₀ kann z. B. dazu verwendet
werden, das wiederhergestellte Bild auf dem Monitor 128
wiederzugeben, und zwar mit oder ohne weitere Verarbeitung
durch die arithmetische Logikeinheit im Element 104
und mit oder ohne weitere Verzögerung im Vollbildspeicher
102. Das synthetisierte Signal G′₀ kann alternativ aber
auch irgendeiner anderen Nutzeinrichtung (nicht gezeigt)
zugeführt werden.
Bisher wurde angenommen, daß der Pyramidenprozessor ein
Videoeingangssignal verarbeitet, das von jedem der aufeinanderfolgenden
Vollbilder eines NTSC-Videosignals nur
jeweils das erste Teilbild enthält. Diese Einschränkung ist
jedoch nicht notwendig.
In manchen Fällen, in denen die Menge der benötigten Bildinformation
noch kleiner ist, kann das Videoeingangssignal
für den Pyramidenprozessor aus nur einem Teilbild eines
jeden zweiten Vollbildes eines NTSC-Signals bestehen
(d. h. nach jeder Teilbildperiode von 1/60 Sekunden, in
der eine neue Information geliefert wird, folgt ein leeres
Intervall von 3/60 Sekunden). In solchen Fällen ist mehr
Zeit als genug, um mit Hilfe von Zeitmultiplexverfahren
einen Burt-Pyramidenanalysator zu realisieren, der als
Filter-Logikeinheit 200 nur ein einziges Modul enthält.
Im einzelnen wird dann dieses einzige Modul zunächst wie
das Modul 400-1 a gemäß Fig. 4a programmiert, um ein G K -
Signal zu liefern, das in einem der beiden RAM-Speicher
214 und 216 gespeichert wird. Anschließend wird das einzige
Modul wie das Modul 400-2 a gemäß Fig. 4a programmiert,
und das gespeicherte G K -Signal wird aus dem betreffenden
RAM-Speicher ausgelesen und als Eingangssignal an das
in der Konfiguration 400-2 a programmierte einzige Modul
gelegt, so daß am Ausgang dieses Moduls das Signal L K -1
abgeleitet wird.
Der Pyramidenprozessor 100 kann auch so ausgeführt werden,
daß er ein vollständiges NTSC-Videosignal verarbeitet,
nachdem dieses Signal in ein Format umgewandelt ist, in
welchem die digitalen Bildpunktwerte gemäß fortlaufender
Abtastung erscheinen. Es gibt zwei Wege, um dies zu erreichen.
Der erste Weg besteht darin, daß ein für fortlaufende
Abtastung ausgebildetes Videosignal in einen ersten
und einen zweiten Kanal aufgeteilt wird, wobei der
erste Kanal nur abwechselnde Exemplare der aufeinanderfolgenden
Vollbilder des fortlaufend abgetasteten Videosignals
enthält, während der andere Kanal die restlichen Vollbilder
enthält. Die Bildpunktwerte jeweils aufeinanderfolgender
Vollbilder stellen ein Videosignal G₀ in fortlaufender Abtastung
dar, das während lückenlos aufeinanderfolgender
Vollbildintervalle von jeweils 1/60 Sekunden erscheint.
Jedem der Kanäle wird ein eigener Pyramidenprozessor 100
zugeordnet (wobei der Betrieb des Pyramidenprozessors für
den einen Kanal um eine Teilbildperiode gegenüber dem Betrieb
des Pyramidenprozessors für den anderen Kanal verzögert
abläuft). Der zweite Weg besteht darin, das fortlaufend
abgetastete Videosignal G₀ durch einen Datenpresser
zu senden, so daß jedes der aufeinanderfolgenden Vollbilder
am Ausgang des Datenprozessors jeweils während eines
ersten Intervalls von 1/120 Sekunden erscheint, dem ein
zweites leeres Intervall von 1/120 Sekunden folgt. Dies
gestattet die Verwendung eines einzigen, jedoch mit doppelter
Taktfrequenz zu betreibenden Pyramidenprozessors
100.
Die Erfindung wurde bisher in Verbindung mit der Verarbeitung
eines Bildes beschrieben, das Bildinformation in zwei
räumlichen Dimensionen enthält. Die Erfindung kann jedoch
auch zur Verarbeitung einer Informationskomponente eines
abgefragten Zeitsignals mit weniger oder mehr als zwei
Dimensionen realisiert werden. Allgemein sind die Prinzipien
der vorliegenden Erfindung auf programmierbare
Pyramidenprozessoren anwendbar, die unter Benutzung der Digitaltechnik
während aufeinanderfolgender Zeitzyklen jeweils
eine Serie von Abfragewerten eines Zeitsignals verarbeiten,
welche mindestens einen Block einer n-dimensionalen Informationskomponente
definieren, wobei n eine gegebene ganze
Zahl mindestens gleich 1 ist und wobei jeder der genannten
Zeitzyklen aus einer bestimmten Anzahl von Abfrageperioden
besteht, die mindestens so groß ist wie die Anzahl der Abfrageproben
des Zeitsignals in der genannten Serie.
Außerdem ist der Pyramidenprozessor 100 nicht darauf beschränkt,
nur solche Algorithmen zu realisieren, die den
Burt-Pyramidenanalysator oder den FSD-Pyramidenanalysator
oder den Pyramidensynthetisierer, wie sie oben ausführlich
beschrieben sind, ausmachen.
Der Pyramidenprozessor 100 kann auch zur Realisierung beliebiger
anderer gewünschter Pyramidenalgorithmen verwendet
werden, indem eine programmierbare Filter-Logikeinheit
benutzt wird, um eines oder mehrere abgefragte Ausgangssignale
als wählbare Funktionen eines oder mehrerer abgefragter
Eingangssignale abzuleiten, wobei die genannten
Funktionen durch die Werte digitaler Steuersignale bestimmt
werden, die der programmierbaren Filter-Logikeinheit
angelegt werden. Die Filter-Logikeinheit kann aus
einem oder mehreren programmierbaren Modulen bestehen, die
den in Fig. 3 gezeigten Aufbau haben, oder sie kann durch
ein oder mehrere Module gebildet sein, die einen anderen
als den in Fig. 3 dargestellten Aufbau haben.
Außerdem eignet sich die programmierbare Technik der vorliegenden
Erfindung nicht nur für Pyramiden-Signalverarbeitungen,
sondern auch für andere Arten der Mehrauflösungs-
Signalverarbeitung. So kann die vorliegende Erfindung z. B.
benutzt werden, um einen gewählten Teilbereich eines Bildes
mit einer Auflösung abzutasten, die sich als inverse Funktion
der Größe dieses Teilbereichs ändert.
Claims (2)
- Anordnung zur digitalen Verarbeitung in Realzeit von sequentiell auftretenden Datenworten eines periodisch abgetasteten Zeitsignals, die Blöcke einer n-dimensionalen Informationskomponente definieren, mit n einer ganzen Zahl mindestens gleich 1,
wobei während jedes von aufeinanderfolgenden Zeitzyklen Operationen für mehrere Auflösungen durchgeführt werden, um jeweils eine Serie der Datenworte zu verarbeiten, und jede dieser Serien einen Block der Informationskomponente darstellt
und wobei jeder der genannten Zeitzyklen aus einer bestimmten Anzahl von Abtastperioden besteht, die mindestens so groß ist wie die Anzahl der Datenworte des Zeitsignals in jeder der Serien, gekennzeichnet durch:
eine programmierbare Filter-Logikeinheit (200) zur Ableitung eines oder mehrerer Ausgangssignale (z. B. L o ), die eine bestimmte wählbare Funktion eines oder mehrerer Eingangssignale darstellen, wobei die jeweilige Funktion durch Werte erster digitaler Steuersignale bestimmt ist;
mehrere adressierbare Lese/Schreib-Speicher (214, 216), von denen jeder in jeder der n-Dimensionen getrennt adressierbar ist und durch die Werte zweiter digitaler Steuersignale steuerbar ist;
eine programmierbare Koppeleinrichtung mit einer ersten Gruppe von Demultiplexern (210, 212), von denen jeder einem gesonderten Ausgang (OUT 1, OUT 2) der Filter-Logikeinheit zugeordnet ist, und einer zweiten Gruppe von Multiplexern (206, 208), von denen jeder einem gesonderten Eingang (IN 1, IN 2) der Filter-Logikeinheit zugeordnet ist, wobei die Multiplexer wahlweise folgende Kopplungen herstellen können:- 1) von einem Ausgang der Filter-Logikeinheit über den diesem Ausgang zugeordneten Multiplexer der ersten Gruppe zum Schreibeingang eines von mindestens zweien der Speicher;
- 2) vom Leseausgang eines der mindestens zwei Speicher zu einem der Eingänge der Filter-Logikeinheit über den diesem Eingang zugeordneten Multiplexer der zweiten Gruppe;
- 3) von einem Ausgang der Filter-Logikeinheit zu einem der Eingänge der Filter-Logikeinheit über den dem betreffenden Ausgang zugeordneten Multiplexer der ersten Gruppe und den dem betreffenden Eingang zugeordneten Multiplexer der zweiten Gruppe;
- 4) einer von außen angelegten (bei 222) Serie von Datenworten des Zeitsignals auf einen der Eingänge der Filter-Logikeinheit über den diesem Eingang zugeordneten Multiplexer der zweiten Gruppe,
- wobei alle diese Kopplungen gemäß den Werten dritter digitaler Steuersignale erfolgen, und
eine Zeitgeber- und Steuereinrichtung, welche die ersten, die zweiten und die dritten digitalen Steuersignale erzeugt und der Filter-Logikeinheit bzw. den Speichern bzw. den Multiplexern zuführt und welche eine adressierbare Befehlsspeichereinrichtung (230) enthält, um die jeweiligen Werte der ersten, zweiten und dritten digitalen Steuersignale während jeder Abtastperiode zu bestimmen.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/776,474 US4703514A (en) | 1985-09-16 | 1985-09-16 | Programmed implementation of real-time multiresolution signal processing apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3631333A1 DE3631333A1 (de) | 1987-03-26 |
| DE3631333C2 true DE3631333C2 (de) | 1988-09-08 |
Family
ID=25107471
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19863631333 Granted DE3631333A1 (de) | 1985-09-16 | 1986-09-15 | Anordnung zur programmierbaren signalverarbeitung in realzeit in mehreren aufloesungen |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US4703514A (de) |
| JP (1) | JPH0738562B2 (de) |
| KR (1) | KR900005458B1 (de) |
| CA (1) | CA1254659A (de) |
| DE (1) | DE3631333A1 (de) |
| FR (1) | FR2587521B1 (de) |
| GB (1) | GB2180676B (de) |
| HK (1) | HK82294A (de) |
| SG (1) | SG17092G (de) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4703514A (en) | 1985-09-16 | 1987-10-27 | Rca Corporation | Programmed implementation of real-time multiresolution signal processing apparatus |
| US5148497A (en) * | 1990-02-14 | 1992-09-15 | Massachusetts Institute Of Technology | Fractal-based image compression and interpolation |
| US5359674A (en) * | 1991-12-11 | 1994-10-25 | David Sarnoff Research Center, Inc. | Pyramid processor integrated circuit |
| US5325449A (en) * | 1992-05-15 | 1994-06-28 | David Sarnoff Research Center, Inc. | Method for fusing images and apparatus therefor |
| US5276513A (en) * | 1992-06-10 | 1994-01-04 | Rca Thomson Licensing Corporation | Implementation architecture for performing hierarchical motion analysis of video images in real time |
| DE69434657T2 (de) * | 1993-06-04 | 2007-02-15 | Sarnoff Corp. | System und Verfahren zur elektronischen Bildstabilisierung |
| TW321748B (de) * | 1994-02-23 | 1997-12-01 | Rca Thomson Licensing Corp | |
| US5594853A (en) * | 1995-01-03 | 1997-01-14 | University Of Washington | Method and system for editing the general sweep and detail of a figure with a curve |
| US5892554A (en) * | 1995-11-28 | 1999-04-06 | Princeton Video Image, Inc. | System and method for inserting static and dynamic images into a live video broadcast |
| US20010017658A1 (en) | 1996-02-29 | 2001-08-30 | Toshihisa Kuroiwa | Frame memory device and method |
| US6124864A (en) * | 1997-04-07 | 2000-09-26 | Synapix, Inc. | Adaptive modeling and segmentation of visual image streams |
| US6084590A (en) * | 1997-04-07 | 2000-07-04 | Synapix, Inc. | Media production with correlation of image stream and abstract objects in a three-dimensional virtual stage |
| US6160907A (en) * | 1997-04-07 | 2000-12-12 | Synapix, Inc. | Iterative three-dimensional process for creating finished media content |
| US5920495A (en) * | 1997-05-14 | 1999-07-06 | Cirrus Logic, Inc. | Programmable four-tap texture filter |
| US6188381B1 (en) * | 1997-09-08 | 2001-02-13 | Sarnoff Corporation | Modular parallel-pipelined vision system for real-time video processing |
| US6266053B1 (en) | 1998-04-03 | 2001-07-24 | Synapix, Inc. | Time inheritance scene graph for representation of media content |
| US6297825B1 (en) | 1998-04-06 | 2001-10-02 | Synapix, Inc. | Temporal smoothing of scene analysis data for image sequence generation |
| US6249285B1 (en) | 1998-04-06 | 2001-06-19 | Synapix, Inc. | Computer assisted mark-up and parameterization for scene analysis |
| US6584235B1 (en) * | 1998-04-23 | 2003-06-24 | Micron Technology, Inc. | Wide dynamic range fusion using memory look-up |
| JP3773155B2 (ja) * | 1998-06-26 | 2006-05-10 | 富士写真フイルム株式会社 | ズームレンズ |
| US6662200B2 (en) | 2001-01-03 | 2003-12-09 | Intel Corporation | Multiplierless pyramid filter |
| US20020174154A1 (en) * | 2001-03-26 | 2002-11-21 | Tinku Acharya | Two-dimensional pyramid filter architecture |
| US6766286B2 (en) | 2001-03-28 | 2004-07-20 | Intel Corporation | Pyramid filter |
| US20020184276A1 (en) * | 2001-03-30 | 2002-12-05 | Tinku Acharya | Two-dimensional pyramid filter architecture |
| US6889237B2 (en) * | 2001-03-30 | 2005-05-03 | Intel Corporation | Two-dimensional pyramid filter architecture |
| US7317841B2 (en) * | 2003-12-22 | 2008-01-08 | Ge Medical Systems Global Technology Company, Llc | System and method for image noise reduction using a minimal error spatiotemporal recursive filter |
| EP2670130B1 (de) * | 2012-06-01 | 2019-03-27 | Alcatel Lucent | Verfahren und Vorrichtung zum mischen eines ersten Videosignals und eines zweiten Videosignals |
| GB2511073B (en) * | 2013-02-22 | 2017-03-08 | Phabrix Ltd | Monitoring video waveforms |
| CN111413725B (zh) * | 2020-03-27 | 2022-03-29 | 南华大学 | 一种利用虚拟仪器技术实现γ-γ数字符合测量的系统及方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4083035A (en) * | 1976-09-10 | 1978-04-04 | Rockwell International Corporation | Binary image minutiae detector |
| US4622632A (en) * | 1982-08-18 | 1986-11-11 | Board Of Regents, University Of Washington | Data processing system having a pyramidal array of processors |
| US4602285A (en) * | 1983-04-08 | 1986-07-22 | Ampex Corporation | System and method for transforming and filtering a video image |
| ES8606665A1 (es) * | 1983-06-27 | 1986-04-16 | Rca Corp | Perfeccionamientos introducidos en un aparato de tratamiento de senal para analizar el espectro de frecuencia de una componente de informacion |
| US4674125A (en) | 1983-06-27 | 1987-06-16 | Rca Corporation | Real-time hierarchal pyramid signal processing apparatus |
| GB8317407D0 (en) | 1983-06-27 | 1983-07-27 | Rca Corp | Image transform techniques |
| GB2143046B (en) | 1983-06-27 | 1986-12-10 | Rca Corp | Real-time hierarchal signal processing apparatus |
| GB8329109D0 (en) * | 1983-11-01 | 1983-12-07 | Rca Corp | Perceived signal-to-noise ratio of displayed images |
| US4709394A (en) | 1985-08-23 | 1987-11-24 | Rca Corporation | Multiplexed real-time pyramid signal processing system |
| US4703514A (en) | 1985-09-16 | 1987-10-27 | Rca Corporation | Programmed implementation of real-time multiresolution signal processing apparatus |
-
1985
- 1985-09-16 US US06/776,474 patent/US4703514A/en not_active Expired - Lifetime
-
1986
- 1986-09-05 GB GB8621445A patent/GB2180676B/en not_active Expired
- 1986-09-11 JP JP61215566A patent/JPH0738562B2/ja not_active Expired - Lifetime
- 1986-09-11 CA CA000517994A patent/CA1254659A/en not_active Expired
- 1986-09-15 KR KR1019860007735A patent/KR900005458B1/ko not_active Expired
- 1986-09-15 DE DE19863631333 patent/DE3631333A1/de active Granted
- 1986-09-16 FR FR868612945A patent/FR2587521B1/fr not_active Expired - Lifetime
-
1992
- 1992-02-20 SG SG170/92A patent/SG17092G/en unknown
-
1994
- 1994-08-11 HK HK82294A patent/HK82294A/xx not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| DE3631333A1 (de) | 1987-03-26 |
| KR900005458B1 (ko) | 1990-07-30 |
| US4703514A (en) | 1987-10-27 |
| FR2587521A1 (fr) | 1987-03-20 |
| SG17092G (en) | 1993-03-12 |
| GB2180676B (en) | 1989-08-23 |
| KR870003437A (ko) | 1987-04-17 |
| JPH0738562B2 (ja) | 1995-04-26 |
| HK82294A (en) | 1994-08-19 |
| FR2587521B1 (fr) | 1994-06-17 |
| GB8621445D0 (en) | 1986-10-15 |
| GB2180676A (en) | 1987-04-01 |
| JPS6276312A (ja) | 1987-04-08 |
| CA1254659A (en) | 1989-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3631333C2 (de) | ||
| DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
| DE68909425T2 (de) | Videoprozessorsystem sowie Abbildungssystem und Bildspeichersystem mit einem derartigen Videoprozessorsystem. | |
| DE3780567T2 (de) | Vorrichtung zur auswahl eines fernsehkanals mit verwendung einer mehrfachbildwiedergabe. | |
| DE3689926T2 (de) | Einrichtung zur sequenziellen Bildtransformation. | |
| DE3628349C2 (de) | ||
| DE3688353T2 (de) | Nichtrekursiver zweidimensionaler digitalfilter. | |
| DE68921847T2 (de) | Verfahren und Anordnung zur Filterung des Bilddarstellungssignals. | |
| DE3223658C2 (de) | System und Verfahren zur Umwandlung eines zwischenzeilenlosen Videosignals in ein Zwischenzeilenvideosignal | |
| DE2845533C2 (de) | ||
| DE69519145T2 (de) | Parallelprozessorvorrichtung | |
| DE69320689T2 (de) | Vorrichtung und Verfahren zur Verarbeitung von Bilddaten | |
| DE2652709A1 (de) | Verfahren und vorrichtung zur verringerung von verwischungserscheinungen bei ladungsgekoppelten bildwandlerelementen | |
| DE2746285A1 (de) | Bildverarbeitungssystem fuer das fernsehen | |
| DE2640157A1 (de) | Verfahren und anordnung zum redundanzvermindernden codieren von bildern | |
| DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
| DE3209073A1 (de) | Anordnung zum umsetzen der zahl von abtastlinien | |
| DE3038195A1 (de) | Vorrichtung zur verarbeitung von visueller information | |
| DE3628147C1 (de) | Verfahren zum Aufnehmen und Speichern von Bildern in schneller Folge | |
| DE3788898T2 (de) | Vertikalfilter für Videosignale. | |
| DE69031317T2 (de) | Bearbeitung von einem zweidimensionalen Teilchen eines digitalen Bildsignals | |
| DE3603552C2 (de) | ||
| DE69519276T2 (de) | Digitale videokamera | |
| DE69827540T2 (de) | Signalverarbeitungssystem | |
| EP0333273A2 (de) | Steuersignalgenerator für die Verarbeitung eines Videosignales |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8320 | Willingness to grant licences declared (paragraph 23) | ||
| 8339 | Ceased/non-payment of the annual fee |