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
Application number
DE3631333A
Other languages
English (en)
Other versions
DE3631333A1 (de
Inventor
Gooitzen Siemen Van Der Lawrenceville N.J. Us Wal
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.)
RCA Corp
Original Assignee
RCA 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 RCA Corp filed Critical RCA Corp
Publication of DE3631333A1 publication Critical patent/DE3631333A1/de
Application granted granted Critical
Publication of DE3631333C2 publication Critical patent/DE3631333C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-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.
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)

  1. 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,
  2. 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.
DE19863631333 1985-09-16 1986-09-15 Anordnung zur programmierbaren signalverarbeitung in realzeit in mehreren aufloesungen Granted DE3631333A1 (de)

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)

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

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

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