DE69031865T2 - Ein SIMD-Prozessor als digitales Filter - Google Patents

Ein SIMD-Prozessor als digitales Filter

Info

Publication number
DE69031865T2
DE69031865T2 DE69031865T DE69031865T DE69031865T2 DE 69031865 T2 DE69031865 T2 DE 69031865T2 DE 69031865 T DE69031865 T DE 69031865T DE 69031865 T DE69031865 T DE 69031865T DE 69031865 T2 DE69031865 T2 DE 69031865T2
Authority
DE
Germany
Prior art keywords
processing
data samples
digital filter
processing elements
ordered sequence
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 - Fee Related
Application number
DE69031865T
Other languages
English (en)
Other versions
DE69031865D1 (de
Inventor
Gerard Chauvel
Jimmie D Childers
Hiroshi Miyaguchi
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69031865D1 publication Critical patent/DE69031865D1/de
Publication of DE69031865T2 publication Critical patent/DE69031865T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/0132Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color Television Systems (AREA)

Description

    [TECHNISCHES GEBIET DER ERFINDUNG]
  • Diese Erfindung bezieht sich allgemein auf Einzelbefehl- Mehrfachdaten-Prozessoren und insbesondere auf einen solchen Prozessor, der programmierbar ist und eine hohe Verarbeitungsdurchsatzgeschwindigkeit erreicht.
  • [HINTERGRUND DER ERFINDUNG]
  • Einzelbefehl-Mehrfachdaten-Prozessoren (SIND-Prozessoren) sind dadurch gekennzeichnet, daß sie eine Matrix von Prozessoren besitzen, die an jedem Element einer Datenmatrix gleichzeitig die gleiche Operation ausführen. Bei der Vektorverarbeitung als einer Anwendung von SIND-Prozessoren werden Vektorbefehle verwendet, die die auszuführende Operation spezifizieren und die Liste der Operanden, d. h. den Datenvektor, auf den diese anzuwenden ist, spezifizieren.
  • Die Verwendung von Prozessormatrizen und der Vektorverarbeitung kann eine weitreichende Parallelität zur Folge haben, die hohe Ausführungsgeschwindigkeiten zur Folge hat. Trotz beeindruckender Ausführungsgeschwindigkeiten kann aber die Dateneingabe in den Prozessor oder die Datenausgabe aus dem Prozessor ein Problem darstellen. Ausführungsgeschwindigkeiten sind weniger nützlich, wenn die Eingabe/Ausgabegeschwindigkeiten nicht Schritt halten können.
  • In vielen Anwendungen wie Videoverarbeitung ist eine Echtzeitverarbeitungsgeschwindigkeit erwünscht. Ein Hindernis bei der Echtzeitverarbeitung ist aber die große Datenmenge, die zum Erzeugen der Pixel, Geraden und Vollbilder eines Videobildes verarbeitet werden muß.
  • Es besteht ein Bedarf an einfach hergestellten SIND-Prozessoren, die die Dateneingaberaten maximieren, ohne daß die Herstellungskosten wachsen. Obgleich sich der Bedarf an solchen Prozessoren nicht auf das Fernsehen beschränkt, umfaßt die digitale Fernsehverarbeitung Verarbeitungsaufgaben wie die Abtastratenwandlung und verschiedene Filterprozesse, für die ein Prozessor mit einem schnellen Durchsatz erwünscht ist.
  • In Hinsicht auf die Abtastraten beruht das Fernsehen auf dem Konzept, daß ein Bild in ein zur Übertragung geeignetes Mosaik zerlegt und dann zum Erzeugen eines Fernsehbildes wieder zusammengebaut wird. Dieser Prozeß wird mit einer linearen Abtastung erreicht. Das Fernsehbild wird sowohl bei dem sendenden als auch bei dem empfangenden Ende des Fernsehsystems in einer aufeinanderfolgende Reihe horizontaler Zeilen abgetastet.
  • Verschiedene geopolitische Gebiete haben unterschiedliche Abtaststandards. Die Vereinigten Staaten verwenden den Standard des Nationalen Komitees für Fernsehsysteme (NTSC-Standard). Jedes Bild, d. h. jedes Vollbild, hat 525 Zeilen. Diese Zeilen werden so verschachtelt, daß zwei Halbbilder mit jeweils 262,5 Zeilen erzeugt werden, und jedes Halbbild wird mit einer Rate von 60 Halbbildern pro Sekunde abgetastet. Einige Länder verwenden ein System der zeilenweisen Phasenänderung (PAL-System), das ähnliche Merkmale hat. Andere Länder verwenden ein sequentielles Farben- und Speichersystem (SECAM-System), bei dem ein Vollbild aus 625 Zeilen besteht. Die Zeilen werden so verschachtelt, daß zwei Halbbilder mit jeweils 312,5 Zeilen erzeugt werden, und jedes Halbbild wird mit einer Rate von 50 Halbbildern pro Sekunde abgetastet.
  • Ist eine Abtastrate zu langsam, bemerkt der Betrachter ein starkes Flächenflimmern. Die Standardabtastraten von 60 Hz und 50 Hz sollen, ohne teure technologische Anforderungen an das Empfangssystem zu stellen, über einer Rate liegen, bei der sich das Flimmern störend bemerkbar macht. Trotzdem sind für eine verbesserte Ansicht schnellere Abtastraten erwünscht.
  • Zusätzlich zu den Abtastraten ist die Anzahl der Zeilen pro Vollbild, d. h. die vertikale Auflösung, ein weiterer Faktor für die Bildqualität. Bei zu wenig Zeilen ist der Unterschied zwischen jeder Zeile wahrnehmbar. Wie bei den Abtastratenstandards soll die Wahl einer Standardzeilenzahl pro Halbbild ohne übermäßig belastende Technologiekosten über dem Niveau liegen, das der Betrachter als störend empfindet. Für eine verbesserte Ansicht sind ebenso wie schnellere Abtastraten auch höhere Zeilen-pro-Halbbild-Verhältnisse wünschenswert.
  • Zu den neuen Entwicklungen bei den Fernsehsystemen gehört die digitale Verarbeitung im Empfänger zur Umwandlung der Abtastratencharakteristiken wie Abtastraten und Zeilen pro Halbbild. Die existierenden Digitalempfänger verarbeiten die Daten noch seriell, und wegen des begrenzten Verarbeitungsdurchsatzes serieller Systeme ist die Pixelauflösung begrenzt. Es besteht ein Bedarf an einem Fernsehempfangssystem, das ein ankommendes Signal mit einem Satz von Abtastcharakte ristiken empfängt und ein Bild mit anderen Abtastcharakteristiken erzeugt. Der Verarbeitungsdurchsatz sollte das Niveau der Pixelauflösung nicht übermäßig einengen.
  • Eine weitere Fernsehanwendung von digitalen Verarbeitungsvorrichtungen sind digitale Filter. Zum Beispiel wird die Kammfilterung verwendet, um das Helligkeitssignal von dem Farbwertsignal zu trennen. Im allgemeinen werden digitale Filter als Z-Transformationsfunktionen dargestellt, in denen die Ausdrücke gewichtete Zeitverzögerungen darstellen.
  • Ein Problem der existierenden digitalen Filtertechniken besteht darin, daß die Berechnungen Abtastwert für Abtastwert und Abgriff für Abgriff mit seriellen Verarbeitungsalgorithmen und -vorrichtungen ausgeführt werden. Neue Filteranwendungen fordern aber mehr Verarbeitungsleistung, als diese Techniken zur Verfügung stellen. Bei einigen Zugängen zur digitalen Filterung wurde die Verarbeitungsgeschwindigkeit mit kundenspezifischen Schaltungen verbessert, diesem Zugang fällt aber die Flexibilität der Programmierung zum Opfer. Das Ergebnis ist eine langsame und primitive Systementwicklung. Es besteht ein Bedarf an einem digitalen Filter, das nicht nur einen schnellen Durchsatz erreicht, sondern auch leicht an verschiedene Filteralgorithmen angepaßt werden kann.
  • Die Erfindung betrifft ein in Anspruch 3 angegebenes Verfahren zum digitalen Filtern und ein diesbezügliches digitales Verarbeitungssystem, das einen Einzelbefehl-Mehrfachdaten- Prozessor verwendet, der mehrere Verarbeitungselemente zum Empfangen von Datenabtastwerten in einer geordneten Folge sowie Arithmetikeinheiten, die jeweils einem der Verarbeitungselemente zugeordnet sind, um Berechnungen auszuführen, besitzt, und das Nächster-Nachbar-Kommunikationen zwischen den Verarbeitungselementen, eine Prozessorsteuereinheit für die Erzeugung von Takt- und Steuersignalen für den Einzelbefehl-Mehrfachdaten-Prozessor, einen Befehisgenerator für die Erzeugung von Befehlen für den Einzelbefehl-Mehrfachdaten- Prozessor einschließlich Befehlen zum Ausführen der Berechnungen, ein Eingangsregister zum seriellen Empfangen der geordneten Folge von Datenabtastwerten und zum parallelen Übertragen sämtlicher Datenabtastwerte an entsprechende Prozessoren sowie ein Ausgangsregister zum parallelen Empfangen der in den entsprechenden Verarbeitungselementen gespeicherten Datenabtastwerte und zum seriellen Übertragen der Datenabtastwerte in einer geordneten Folge aus dem Einzelbefehl-Mehrfachdaten-Prozessor enthält, wobei jedes Verarbeitungselement einen ihm zugeordneten Speicher besitzt, wobei ein horizontales digitales Filter gebildet wird, das enthält:
  • den in der Weise programmierten Einzelbefehl-Mehrfachdaten-Prozessor, daß er das horizontale digitale Filter bildet, indem er die Verarbeitungselemente als Abgriffe einer horizontalen digitalen Filterfunktion verwendet, die dem horizontalen digitalen Filter entspricht, so daß die Datenabtastwerte aus den Verarbeitungselementen in der geordneten Folge ausgegeben werden,
  • eine Einrichtung zum Zuordnen von Abgriffen der horizontalen digitalen Filterfunktion an Verarbeitungselemente des Einzelbefehl-Mehrfachdaten-Prozessors, wobei die Anzahl der Abgriffe der horizontalen digitalen Filterfunktion die Anzahl der benachbarten Prozessoren bestimmt, die verwendet werden, um jeden Abtastwert eines ankommenden Datensignais zu verarbeiten;
  • eine Einrichtung zum wortseriellen Laden der geordneten Folge von Datenabtastwerten in das Eingangsregister;
  • eine Einrichtung zum Übertragen der geordneten Folge von Abtastwerten vom Eingangsregister an die entsprechenden Verarbeitungselemente;
  • eine Einrichtung zum Verwenden jedes Verarbeitungs-elements, um jeden der Datenabtastwerte parallel zu verarbeiten, um in jedem Verarbeitungselement ein erstes Zwischenergebnis zu erzeugen;
  • eine Einrichtung zum Übermitteln jedes der Zwischenergebnisse an ein benachbartes Verarbeitungselement jedes Verarbeitungselements;
  • eine Einrichtung zum Speichern der Zwischenergebnisse in dem dem benachbarten Verarbeitungselement zugeordneten Speicher;
  • eine Einrichtung zum Verarbeiten des ersten Zwischener gebnisses unter Verwendung des benachbarten Verarbeitungselements, um wenigstens ein zusätzliches Zwischenergebnis zu erzeugen;
  • eine Einrichtung zum Wiederholen der Verarbeitungs-, Kommunikations- und Speicherschritte, bis sämtliche Abgriffe der horizontalen digitalen Filterfunktion ausgeführt worden sind;
  • eine Einrichtung zum parallelen Übertragen jedes der zusätzlichen Zwischenergebnisse von den Verarbeitungselementen an das Ausgangsregister; und
  • eine Einrichtung zum wortseriellen Ausgeben der zusätzlichen Zwischenergebnisse vom Ausgangsregister, wobei die geordnete Folge für eine gemäß der horizontalen digitalen Filterfunktion gefilterte Version des Eingangssignals beibehalten wird.
  • Eine hierin beschriebene Vorrichtung ist eine programmierbare digitale Filtereinheit. Die Datenabtastwerte werden in einen Einzelbefehl-Mehrfachdaten-Prozessor mit einer Anzahl von Verarbeitungselementen geladen, wobei jeder Abtastwert von einem entsprechenden Verarbeitungselement empfangen wird. Die Verarbeitungselemente entsprechen Abgriffen einer Filterfunktion. Zum Ausführen der Berechnungen der Filterfunktion werden jedem Verarbeitungselement zugeordnete Arithmetikeinheiten und die Nächster-Nachbar-Kommunikationen zwischen den Verarbeitungselementen verwendet. Die verarbeiteten Abtastwerte werden an den entsprechenden Verarbeitungselementen ausgegeben, so daß die Daten in einer Abtastzeile geordnet bleiben.
  • Ein technischer Vorteil der Erfindung besteht darin, daß die Eingabe, die Filterberechnungen und die Ausgabe als parallele Operationen ausgeführt werden, wodurch schnelle Ausführungszeiten erreicht werden. Der Prozessor ist auch programmierbar, was schnellere Entwicklungszeiten für die Filteralgorithmen zuläßt.
  • [KURZBESCHREIBUNG DER ZEICHNUNG]
  • Fig. 1 ist ein Blockschaltplan eines repräsentativen Einzelbefehl-Mehrfachdaten-Prozessors.
  • Fig. 2 ist ein Blockschaltplan eines Verarbeitungselements des Prozessors aus Fig. 1.
  • Fig. 3 ist ein Ablaufplan des Prozessors aus Fig. 1
  • Fig. 4 zeigt die Nächster-Nachbar-Kommunikationen zwischen den Verarbeitungselementen des Prozessors aus Fig. 1.
  • Fig. 5 ist ein Blockschaltplan einer digitalen Verarbeitungseinheit, die den Prozessor nach Fig. 1 enthält.
  • Die Fig. 6A-6c zeigen einen zur Abtastwertwandlung verwendeten vertikalen Filterprozeß.
  • Fig. 7 zeigt den Prozeß der Verwendung eines Einzelbefehl- Mehrfachdaten-Prozessors zur Realisierung eines digitalen Filters.
  • Fig. 8 zeigt die Verwendung von Registerablagen eines Einzelbefehl-Mehrfachdaten-Prozessors zum Erzeugen einer Zeilenspeicher-Rotation.
  • Fig. 9 zeigt einen Fernsehdemodulationsprozeß unter Verwendung eines horizontalen digitalen Filters.
  • Fig. 10 zeigt die Beziehung zwischen einem ankommenden Signal und den Prozessorelementen eines zur horizontalen digitalen Filterung verwendeten Einzelbefehl-Mehrfachdaten-Prozessors.
  • Fig. 11 zeigt ein erstes Verfahren der Verwendung eines Einzelbefehl-Mehrfachdaten-Prozessors zur Realisierung eines horizontalen Filters mit fünf Abgriffen.
  • Fig. 12 zeigt ein zweites Verfahren der Verwendung eines Einzelbefehl-Mehrfachdaten-Prozessors zur Realisierung eines horizontalen Filters mit fünf Abgriffen.
  • Fig. 13 zeigt ein Verfahren der Verwendung eines Einzelbefehl-Mehrfachdaten-Prozessors zur Realisierung eines horizontalen Filters mit drei Abgriffen.
  • [AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN] [Verwandte Anmeldungen]
  • Diese Anmeldung ist verwandt mit den US-Patenten Nr. 5.321.510 (TI-13166 D), erteilt am 14. Juni 1994, und Nr. 4.939.575 (TI-13117 C), erteilt am 30. Juli 1990. Diesen US-Patent-Nummern entspricht eine Europäische Patentanmeldung Nr. 0 318 218, eingereicht am 11. November 1988 und veröffentlicht am 24. Mai 1989 (TI-13116 EU), erteilt am 23. April 1994.
  • Diese Anmeldung ist auch verwandt mit dem US-Patent Nr. 5.163.120 (TI-13496), erteilt am 10. November 1992. Diese Patente und Anmeldungen sind auf den Bevollmächtigten des Anmelders übertragen, und ihr Inhalt ist hiermit durch Literaturverweis eingefügt.
  • Serieller Videoprozessor
  • Fig. 1 zeigt ein Beispiel eines seriellen Videoprozessors (SVP) 10, der auch als ein synchroner Vektorprozessor (auch SVP) bezeichnet wird. Der SVP 10 aus Fig. 1 bildet den Gegenstand der obenerwähnten gleichzeitig anhängigen Anmeldungen. Die nachfolgenden Abschnitte dieser Anmeldung richten sich auf Vorrichtungen und Prozesse, die den SVP 10 verwenden. Diese Vorrichtungen und Prozesse sind aber nicht notwendig auf die Verwendung mit diesem individuellen SVP 10 eingeschränkt, und es können Abwandlungen des SVP 10 verwendet werden.
  • Die "seriellen Video"-Aspekte des SVP 10 ergeben sich aus der Tatsache, daß er besonders für die Videoverarbeitung geeignet ist, bei der diskrete Pakete ankommender Daten einer einheitlichen Größe in einer wortseriellen Weise ein- und ausgegeben werden, aber parallel verarbeitet werden. Die "synchronen Vektor"-Aspekte des SVP 10 ergeben sich aus der Tatsache, daß er die Datenvektoren synchronisiert mit einer Echtzeit-Datenquelle empfängt und verarbeitet. Im wesentlichen arbeitet der SVP 10 unter Verwendung feinkörniger Parallelitätstechniken, bei denen viele Verarbeitungselemente an den Daten gleichzeitig operieren.
  • Der SVP 10 ist eine maskenprogrammierbare Mehrzweck-Einzelbefehl-Mehrfachdaten-Rechenvorrichtung (Mehrzweck-SIMD-Rechenvorrichtung) mit reduziertem Befehlssatz (RISC). In Übereinstimmung mit der SIMD-Charakteristik hat der SVP 10 eine Anzahl von Verarbeitungselementen (PE), die zur gleichen Zeit den gleichen Befehl ausführen. Die primitiven Logik- und Arithmetikfunktionen für jeden Taktzyklus werden durch externe Mikrobefehle gesteuert.
  • In den Fig. 1 und 2 ist der SVP 10 eine eindimensionale Anordnung von Einbit-PES 20. Jedes PE 20 hat die folgenden Grundkomponenten: Ein Dateneingangsregister (DIR) 11, zwei unabhängig adressierte Registerablagen (R0 und R1) 12 und 15, einen Satz Arbeitsregister (WR) 13, eine Einbit-Arithmetikeinheit (ALU) 14 und ein Datenausgangsregister (DOR) 16. Diese sind kurz in diesem Abschnitt beschrieben, und der Literaturverweis auf die obenerwähnten verwandten Patente liefert eine weitere Beschreibung insbesondere in bezug auf die Befehle und den Zeitablauf.
  • Das DIR 11 kann als die "Eingabeschicht" betrachtet werden. Die R0 12 und R1 15 , die WR 13 und die ALU 14 bilden die "Rechenschicht". Das DOR 16 ist die "Ausgabeschicht". Obgleich jede Schicht über jede Schicht unabhängig getaktet werden kann, operieren alle PE 20 in jedem Taktzyklus im Einklang. Die Eingabe an DIR 11 ist wortseriell in dem Sinn, daß Wörter eines ankommenden Datenpakets in DIR 11 Wort für Wort empfangen werden. Ahnlich erfolgt die Ausgabe von DIR 16 wortseriell.
  • Obgleich die Eingabe und die Ausgabe wortseriell sind, erfolgt die Verarbeitung jedes Datenpakets parallel. Wegen des "Schicht"-Zugangs zur Verarbeitung können die Dateneingabe, die Berechnung und die Datenausgabe auch gleichzeitige Operationen sein, die jeweils unabhängig getaktet sind. Jedes PE 20 führt diese Operationen mit einem ganzen Datenvektor gleichzeitig aus und ist damit eine "Pipeline", die mehrere Operationen in verschiedenen Phasen gleichzeitig zuläßt. Bei der Ausführung eines Vektorbefehis werden die Elemente des Vektors, verzögert um die Zeit zum Vervollständigen einer Phase der Pipeline, einzeln in die passende Pipeline eingespeist. Die Eingabe und die Ausgabe erfolgen synchron mit der Datenquelle wie z. B. einer Videokamera und mit der Datensenke wie z. B. einem Rasterbildschirm.
  • Zu Illustrationszwecken hat der SVP 10 N PES 20, wobei N = 1440 ist. Die Speichergröße beträgt für jedes PE 20 256 Bits mit jeweils 128 Bits für R0 und R1, DIR 11 ist 40 Bits breit und DOR 16 ist 24 Bits breit. Diese Größen sind jedoch willkürlich und können geändert werden, ohne das Wesen der Erfindung zu ändern. Um verschiedene Eingangs/Ausgangsund Vorrichtungs-Größenverhältnisse zu zeigen, sind die Eingangs- und Ausgangsbitgrößen in den Fig. 1 und 2 enthalten. Gemäß der Anwendung können diese Bitgrößen jedoch geändert werden.
  • Unter Verwendung dieser Werte kann ein einzelner SVP 10 Datenpakete von 1 bis 1440 Wörtern zu 40 Bits verarbeiten. Typischerweise haben die Pakete gleiche Größen und stellen periodisch wiederkehrende Daten wie Zeilen eines Fernsehbildes dar, bei dem jedes Paket in N Datenabtastwerte digitalisiert ist und bei dem jeder Abtastwert S(i), i = 1, ..., N, ein zum Erzeugen eines Ausgangswortes verwendetes Datenwort ist. In Fernsehanwendungen, wo der SVP 10 N PEs 20 hat, stellt N auch die Anzahl der Datenabtastwerte pro Zeile dar.
  • Fig. 2 veranschaulicht ein einzelnes PE 20(i) und dessen zugeordnete Komponenten, wobei i = 1, ..., 1440 ist. Ein vertikaler Schnitt durch den SVP 10 aus Fig. 1 ergibt ein individuelles PE 20 aus Fig. 2, so daß hier auf jedes PE 20(i) und seine Komponenten in bezug auf die Gesamtanordnung des SVP 10 als eine "Spalte" Bezug genommen wird.
  • Das DIR 11 und das DOR 16 sind die Haupt-E/A-Vorrichtungen des SVP 10. Das DIR 11 und das DOR 16 sind Anordnungen sequentiell adressierter Dualportspeicherzellen. In dieser Beschreibung bezieht sich "DIR 11" auf die Gesamtanordnung und "DIR 11(i)" auf die Spalte des DIR 11, die den Datenabtastwert S(i) empfängt.
  • In den Fig. 1 und 2 beträgt die von DIR 11 erlaubte Größe der Eingabeanordnung für den SVP 10 1440 Wörter x 40 Bits. Jeweils ein Port des DIR 11 ist in 1440 Wörtern zu 40 Bits organisiert und erlaubt, in DIR 11 aus einer Eingangszeile parallel 40 Bits zu schreiben. Damit emuliert dieser erste Port von DIR 11 den Schreibport eines 1440-Wörter Zeilenspeichers, der wortserielle Eingaben ermöglicht. Der zweite Port des DIR 11 ist in 40 Wörtern zu je 1440 Bits organisiert, wobei jedes Bit einem PE 20(i) entspricht. Dieser zweite Port schafft eine Schnittstelle zwischen dem DIR 11 und den PE 20. Physikalisch ist er ein Teil des absoluten Adressenraumes von R0 12, in den er abgebildet wird. Dies erlaubt, den Inhalt von DIR 11 zur Schreibauswahl in den Speicher zu adressieren und parallel zu lesen.
  • So wie das DIR 11 ist auch das DOR 16 eine Dualportvorrichtung. Es schafft in ähnlicher Weise wie DIR 11 einen 1-Bit- Zugriff auf jede ALU 14(i) und einen 24-Bit-Ausgang von dem SVP 10. Ein Port von DOR 16 ist in 1440 Wörtern zu je 24 Bits organisiert. Funktional emuliert dieser Port den Leseport eines 1440-Wörter-Zeilenspeichers und wird zur wortseriellen Ausgabe verwendet. Der zweite Port des DOR 16 ist in 24 Wörtern zu je 1440 Bits organisiert, wobei jedes Bit einem PE(i) entspricht. Dieser zweite Port ist an die R1 15 gekoppelt und wird parallel beschrieben.
  • Die Schreib- und Lesesteuersignale zu DIR 11 und von DOR 16 sind ausführlich in den folgenden Abschnitten dieser Anmeldung beschrieben, aber im allgemeinen haben das DIR 11 und das DOR 16 jeweils einen 1440-Bits-Wortauswahlkommutator, der das Laden in und das Lesen aus DIR 11 und DOR 16 steuert. Das DIR 11 und das DOR 16 haben auch jeweils ein Freigabe- und ein Rücksetzsignal.
  • Die Dateneingaben zu DIR 11 werden durch das Schreibfreigabesignal (WE-Signal), das Schreibrücksetzsignal (RSTW-Signal) und das serielle Schreibtaktsignal (SWCK-Signal) gesteuert. WE steuert synchron mit SWCK, dem Datenabtasttakt-Eingangssignal, sowohl die Schreibfunktion als auch die Adressenzeiger-Inkrementierungsfunktion. Wenn RSTW hoch ist, setzt es auf der nächsten Anstiegsflanke von SWCK den Adressenzeiger auf das erste Wort in DIR 11 zurück. Die Steuersignale für DOR 16 sind das Lesefreigabesignal (RE-Signal), das Leserücksetzsignal (RSTR-Signal) und das serielle Lesetaktsignal (SRCK-Signal), die in einer ähnlichen Weise arbeiten.
  • Die RO 12 und Rl 15 haben pro PE 20 jeweils einen Lese/Schreibspeicher von 128 Wörtern zu 1 Bit. Die R0 12 und R1 15 werden durch unterschiedliche Adressierungsstrukturen erfaßt. Dennoch benutzen die R0 12 und R1 15 das gleiche Steuer- und Taktgeberschaltsystem. Die R0 12 und R1 15 enthalten Schreib- Lese-Speicherzellen (RAM-Zellen). Bei Verwendung dynamischer RANS müssen diese aufgefrischt werden, typische digitale Fernsehanwendungen führen das Auffrischen aber dadurch aus, daß sie mit einer Zykluszeit arbeiten, die schneller als die erforderliche Auffrischperiode ist.
  • Jede R0 12(i) und R1 15(i) ist unabhängig adressierbar und ist zu 1-Bit-Lese-Modifikations-Schreibzyklen fähig, so daß sie in einem einzigen Taktzyklus ausgelesen werden kann, die ALU 14 mit den Daten operiert und das Ergebnis in sie zurückgeschrieben werden kann. Die R0 12 und R1 15 lesen Daten gleichzeitig, schreiben aber separat.
  • Der Arbeitsregistersatz (WR-Satz) 13(i) enthält für jedes PE 20(i) vier Register: M, A, B und C. Abgesehen von ihren Datenquellen und -zielen sind diese Register gleich. Jedes WR 13(i) ist einem Eingangsmultiplexer zur Bereitstellung von Daten an die vier Eingänge jeder ALU 14(i) zugeordnet. Das M- Register wird für die Division, die Multiplikation und logische und bedingte Operationen verwendet. Die Register A, B und C sind der Addend, der Minuend bzw. das Übertrags/Borgeregister.
  • Die ALU 14 ist ein einfacher Volladdierer/subtrahierer und ein Einbitmultiplizierer. Die Eingaben an die ALU 14 sind von den WR 13. Diese ALUs führen jeden durch die Steuereinheit des SVP 10 spezifizierten Befehl aus. Ein Merkmal des SVP 10 besteht darin, daß jede ALU 14 Befehle von einem Befehlssatz ausführt, der direkt mit den Daten operiert. Eine Steuereinheit, die einen Befehisstrom zu dem SVP 10 speist, hat einen zusätzlichen Befehlssatz, der die grundlegende Ausführungssteuerung schafft. Die Steuereinheit ist unten in Verbindung mit Fig. 5 weiter beschrieben.
  • Fig. 3 ist ein Ablaufplan eines einzelnen Zyklus des SVP 10. Ein Verarbeitungstakt (PCLK) ist einer von drei Takten des SVP 10, wobei jeder Takt einer Eingabe-, Berechnungs oder Ausgabeschicht entspricht. Obgleich die Takte asynchron sind, um gleichzeitige Operationen dieser drei Schichten zuzulassen, hören die Eingabe- und Ausgabetakte so auf, daß sie Datenübertragungen in die und aus der Berechnungsschicht erlauben.
  • In Fig. 3 hat ein PCLK-Zyklus N eine Periode T. Die bezeichneten Taktpunkte zeigen Sperrflanken an, wobei NCGATE und PCGATE Steuersignale für (nicht gezeigte) Leseverstärker sind und YSEL 0/1 ein Auswahisignal für R0 12 oder R1 15 bezeichnet. Die Leseverstärker verstärken und steuern die BITLINES für die Übertragungen der R0 12 und R1. Um Einzyklus-1440- Bits-Parallelberechnungen zu erreichen, sind die Datenübertragungen zwischen den R0 12, R1 15 und der ALU 14 zeitlich genau aufeinander abgestimmt. Jede solche Datenübertragung ist durch eine Berechnungssperrschaltung verzögert, bis das Ende der Berechnung angezeigt ist. Diese Technik erzielt eine schnelle Speicher/Prozessor-Datenübertragungsrate.
  • Fig. 4 zeigt die Nächster-Nachbar-Kommunikationen zwischen den PE 20. Ein Links/Rechtsbus (L/R-Bus) 41 stellt für jeden PE 20 ein direktes Speicher- und Registerlesen/Schreiben zu seinen vier Nächster-Nachbar-PES 20, d. h. den beiden linken PES 20 und den beiden rechten PES 20 bereit. Um eine solche Kommunikation zu erreichen, erzeugt jedes PE 20 ein Ausgangssignal, das sich zu seinen vier Nachbar-PES 20 ausbreitet. Dieses Ausgangssignal kann aus irgendeiner von vier Quellen stammen: eine logische 0, der Inhalt des B-Registers von WR 13 oder eine Stelle von entweder R0 12 oder R1 15. Jedes PE 20 empfängt auch vier Signale, eines von jedem seiner vier nächsten Nachbarn.
  • Wie unten erläutert wird, umfassen viele digitalen Signalverarbeitungsaufgaben die Verwendung von Filteralgorithmen zum Beseitigen unerwünschter Signalartefakte. Die L/R-Kommunikationen aus Fig. 4 sind besonders nützlich für Mehrabgriffs- FIR-Filter, die in fünf oder weniger Abgriffe faktorisiert werden können.
  • SVP-Videoanwendungen
  • Wie oben gezeigt, ist der SVP 10 besonders nützlich für die digitale Videoverarbeitung. Jeder Signalabschnitt, der eine horizontale Zeile eines ankommenden Fernsehsignals darstellt, ist als ein aus Datenabtastwerten bestehendes Daten"paket" digitalisiert Der SVP 10 lädt, verarbeitet und gibt Daten für jedes Pixel auf einer horizontalen Zeile parallel aus. Die Architektur des SVP 10 erlaubt die parallele Verarbeitung von Datenvektoren von mehreren Pixeln, mehreren Zeilen oder mehreren Halbbildern, so daß der SVP 10 die für das digitale Fernsehen benötigte "dreidimensionalen Verarbeitung" ausführen kann.
  • Ein besonderer Vorteil der Verwendung von SVP 10 besteht darin, daß keine diskreten Zeilenspeicher benötigt werden. Das Zeile-für-Zeile-Speichern ist unter Verwendung eines als "globale Rotation" bezeichneten Softwareverfahrens in der Verarbeitung des SVP 10 emuliert. Dieses Verfahren ist in der obenerwähnten US-Patentanmeldung mit der lfd. Nr. 421.499 und unten in Verbindung mit Fig. 13 erläutert.
  • Fig. 5 zeigt ein elementares Prozessorsystem 50a mit einem einzelnen SVP 10. Fig. 5B zeigt auch die Dateneingabe an den SVP 10. Fig. 5 zeigt im Gegensatz dazu die Steuer-, Adressenund Befehiseingaben an den SVP 10 und kann durch die Beschreibung der gleichen Schaltungen in der obenerwähnten US- Patentanmeldung mit der lfd. Nr. 421.499 ergänzt werden.
  • Wie in Fig. 5 gezeigt ist, sind die Grundkomponenten des Prozessorsystems 50a der SVP 10, eine SVP-Steuereinheit 51 und ein Befehisgenerator 52. Die Verwendung eines SVP 10 gegenüber mehr als einem SVP 10 hängt von der Komplexität der Verarbeitungsaufgaben und damit von der Ausführungszeit ab. Für die Vollbild-Echtzeit-Videoverarbeitung müssen die mit einer Buddatenzeile ausgeführten Operationen in einer einzelnen 1H-Periode ausgeführt werden, wobei H die Periode einer horizontalen Abtastzeile darstellt. Reicht die Zeit von 1H jedoch nicht aus, können mehr als ein SVP 10 zusammengeschaltet und die Verarbeitungsaufgaben zwischen ihnen aufgeteilt werden.
  • Nicht jeder SVP 10 muß die genaue Konfiguration der Fig. 1 und 2 haben. Wie bereits dargelegt worden ist, ist das charakteristische Merkmal eines SVP 10 die Fähigkeit, ein Datenpaket, das ein aus einer ganzen Zeile eines Fernsehbildes bestehendes Datenpaket darstellt, unter Verwendung eines Verarbeitungselements für jedes Pixel parallel zu verarbeiten.
  • Eine Eingabesteuereinheit 54a kann in Abhängigkeit von den auszuführenden Aufgaben mehr als einen Typ von Eingabesteuerungen gleichzeitig ausführen. Zum Laden von DIR 11 enthält die Steuerschaltung 10a eine Einrichtung zum Steuern des WE Signais, die so getriggert ist, daß sie am Ende der horizontalen Austastperiode beginnt, und die so getaktet ist, daß alle Spalten von DIR 11 während einer horizontalen Abtastperiode geladen werden. Die Eingabesteuereinheit 54a steuert auch, welcher Datentyp in dem SVP 10 empfangen wird. Eine Eingabesteuerschaltung eines besonderen, speziell für hohe Dateneingaberaten entworfenen individuellen Typs ist im nächsten Abschnitt dieser Anmeldung beschrieben. Eine Ausgabesteuerschaltung 54b kann unter Verwendung ähnlicher Techniken konfiguriert werden.
  • Die SVP-Steuereinheit 51 hat mehrere Komponenten: Einen Controller 51a, einen vertikalen Taktgenerator 51b, einen horizontalen Taktgenerator 51c und einen Konstantengenerator 51d. Im Idealfall ist jede dieser Vorrichtungen programmierbar und greift auf ihren eigenen Programmablagespeicher zu. In Fig. 5 hat jede dieser Komponenten ihren eigenen Nur-Lese- Speicher (ROM). Um die Entwicklung von Programmieraufgaben zu erleichtern, können Programme auf einem (nicht gezeigten) Host-System entwickelt werden und unter Verwendung von Standard-Schnittstellentechniken auf jeden ROM heruntergeladen werden. Eine Host-Schnittstelle 53 kann entweder für parallele oder serielle Datenübertragungen ausgelegt und z. B. eine RS-232C-Schnittstelle sein.
  • Im Betrieb erzeugt die SVP-Steuereinheit 51 Steuersignale für den SVP 10, die mit dem vertikalen Synchronisiersignal und dem horizontalen Synchronisiersignal der ankommenden Fernsehübertragung synchronisiert sind. Diese Steuersignale enthalten Operationskonstanten, Befehle und Taktsignale. Um eine Übersicht über den Taktbetrieb der SVP-Steuereinheit 51 zu geben, wird angemerkt, daß der Controller 51a die Videosignalverarbeitung mit einer Halbbild- oder Vollbudrate steuert, der vertikale Taktgenerator 51b die Verarbeitung mit einer Zeilenrate steuert und der horizontale Taktgenerator 51c die Verarbeitung mit einer Pixeirate steuert.
  • Die SVP-Steuereinheit 51 stellt auch die Takt- und Steuersignale für andere Systemkomponenten wie die horizontale und vertikale Synchronisation bereit. Diese letzteren Taktsignale sind "extern" in dem Sinn, daß sie nicht das Prozessorsystem 50A steuern. Statt dessen steuern sie wie in den nachfolgenden Abschnitten dieser Anmeldung beschrieben Vorrichtungen wie Halbbildspeicher.
  • Der Controller 51a empfängt und interpretiert externe Befehle von einer (in Fig. 5B gezeigten) Haupt-Fernsehempfänger- Steuereinheit. Er erzeugt eine Reihe von Steuerschlüsseln für den vertikalen Taktgenerator 51b und den horizontalen Taktgenerator 51c. Der Controller 51a ist mit einer Vielzahl von Befehlen programmierbar, zu denen bedingte Sprünge und Vektorsprünge zählen.
  • Der vertikale Taktgenerator 51b stellt die Steuerschlüssel für den horizontalen Taktgenerator 51c, den Konstantengenerator 51d und den Befehisgenerator 52 bereit. Er stellt die Taktgebung für die externen Schaltungen bereit, die eine Zeitauflösung von einer horizontalen Zeile benötigen.
  • Der horizontale Taktgenerator 51c erzeugt die Taktsignale für Schaltungen wie DIR 11, DOR 16, Halbbildspeicher und A/D- und D/A-Wandler, die Zeitflanken mit den gleichen Taktraten wie das DIR 11 benötigen. Er kann Zeitflanken mit einer Auflösung von bis zu einem Abtastwert-Takt erzeugen.
  • Ahnlich stellt der Konstantengenerator 51d die konstanten Werte für die individuellen PE 20 bereit. Es gibt zwei Hauptgründe für die Verwendung solcher Konstanten. Erstens ist es möglich, Schwingungsformen auf die PES 20 abzubilden. Zweitens unterscheiden die lokalen Konstanten das I-Farbwert- Signal von dem Q-Signal und erlauben es den PES 20, das Farbwertsignal zu multiplexieren und zu demultiplexieren und beim Vereinigen zweier Bilder die Algorithmen in der horizontalen Richtung zu modifizieren.
  • Der Befehlsgenerator 52 empfängt von dem vertikalen Taktgenerator 51b Algorithmen-Spezifikatorcodes und von dem horizon talen Taktgenerator 51c Zustandsmerker. Er gibt an die ALU 14 Mikrobefehle und an die R0 12 und R1 15 Adressen aus. Der Befehisgenerator 52 stellt auch die grundlegenden Ablauf- Steuerbefehle wie Sprünge, Aufrufe und Rücksetzbefehle, Prüfmerker und globale Rotationen bereit. Dem Befehlsgenerator 52 ist eine Programmablage, z. B. ein ROM, zugeordnet, auf die Befehle von einem (nicht gezeigten) Host-System heruntergeladen werden können.
  • Zu den verschiedenen von dem Prozessorsystem 50a ausgeführten digitalen Fernsehverarbeitungsaufgaben kann die Abtastwandlung, die Bewegungsmeldung, die Helligkeits- und Farbwertsignalverarbeitung und die Interpolation und das Dezimieren zählen. Viele dieser Aufgaben umfassen die Verwendung von Filteralgorithmen zur Beseitigung unerwünschter Signalartefakte. Spezielle Konfigurationen und die Programmierung zur Abtastwandlung und Filterung sind in den nachfolgenden Abschnitten dieser Anmeldung erläutert.
  • Die Fig. 6A-6C zeigen einen vertikalen Filterprozeß, der eine 4:3-Dezimierung erreicht. Das Filter hat fünf Abgriffe und verwendet deshalb fünf Datenzeilen. Die Filterfunktion hat 3 Koeffizientensätze, die Sätze A, B und C. Die Koeffizientenwerte für jeden Satz, deren Werte unter Verwendung von Entwurfstechniken für digitale Filter bestimmt werden, sind a&sub0;- a&sub4;, b&sub0;-b&sub4; und c&sub0;-c&sub4;.
  • In Fig. 6A sind die Linien L'n-L'n-4 ankommende Zeilen, wobei die Zeile darstellt, die zeitlich zuerst kommt. Die Zeilen L'n-L'n-4 stellen vom Standpunkt der Verarbeitung her fünf gleiche Datenzeilen dar. Von diesem Standpunkt her ist die zuerst ankommende Zeile L'n, gegenüber der momentan ankommenden Zeile Ln um fünf Zeilen verzögert. Die Datenzeilen erzeugen eine Ausgangszeile yn.
  • In Fig. 6B sind die Linien L'n-L'n-4 wiederum ankommende Zeilen, wobei aber eine neue Eingangszeile die Stelle der früheren fünften Datenzeile einnimmt. Tatsächlich ist dies eine "Rotation", bei der für den Filterprozeß immer die fünf zeitlich spätesten Zeilen zur Verfügung stehen. Für diesen Schritt verwendet die Filterfunktion zum Erzeugen des näch sten yn, den Koeffizientensatz B.
  • In Fig. 6C sind die Eingangsdatenzeilen wiederum verdreht, so daß für die Filterfunktion die fünf zeitlich spätesten Zeilen zur Verfügung stehen. Dieser Schritt erzeugt eine dritte Ausgangszeile yn, die den Koeffizientensatz c verwendet. Eine vierte Zeile würde mit der gleichen Funktion, aber unter Verwendung eines vierten Datenzeilensatzes und des Koeffizientensatzes A erzeugt.
  • Fig. 7 zeigt den Prozeß der Verwendung des SVP 10 zur vertikalen Filterung. Während des ersten Schrittes empfängt der SVP 10 Daten, die eine horizontale Zeile eines ankommenden Fernsehsignals darstellen. Wenn auch die Abtastrate gewandelt wird, werden die Daten in Übereinstimmung mit den obenbeschriebenen Abtastwandlungstechniken eingegeben. Gleichzeitig mit der Eingabe der Daten in DIR 11 wird eine verarbeitete horizontale Zeile von DOR 16 ausgegeben.
  • Im zweiten Schritt werden die Inhalte von DIR 11 auf R1 übertragen. Im dritten Schritt werden die zuvor von R0 12 gespeicherten Zeilen und die neue Zeile von R1 für die von der ALU 14 ausgeführten Filterberechnungen verwendet. Bei einem Filter mit fünf Abgriffen ist die Anzahl der für die Berechnungen verwendeten zuvor gespeicherten Zeilen vier. Im vierten Schritt wird die verarbeitete Zeile an das DOR 16 übertragen.
  • Der letzte Schritt verwendet einen globalen Rotationsprozeß, bei dem eine individuelle Zeilenspeicheruntermenge von R0 und R1 nicht über die Speicherbank verschoben, sondern zirkulär gedreht wird. Dieser globale Rotationsprozeß ist einer der Vorteile der Verwendung des SVP 10, der die Notwendigkeit externer Zeilenspeicher beseitigt.
  • Fig. 8 zeigt den globalen Rotationsprozeß. Fünf Abgriffe von einem Eingangssignal stellen die Eingangsdaten-Abtastwerte für eine einzelne Registerablage eines PE 20, entweder R0 12 oder R1 15 dar. Jeder Abgriff ist um eine horizontale Zeitperiode verzögert, so daß die Abgriffe Abtastwerte von entsprechenden Abtaststellen aufeinanderfolgender Zeilen darstellen. Ein Teil des 128-Bit-Speichers von R0 12 oder R1 15 ist als globaler Rotationsspeicherraum zugeordnet. Bei einem Filter mit fünf Abgriffen, bei dem jeder Abtastwert 8 Bits besitzt, wird ein 40-Bit-Raum verwendet. Dieser 40-Bit-Raum wird so konfiguriert, daß jedes Bit eines Abtastwertes von einer Zeilenstelle zu den entsprechenden Bitstellen der nächsten Zeilenstelle verschoben werden kann. Die Zeilenräume werden als Zeilenräume A-E bezeichnet.
  • Während einer globalen Rotation besteht der erste Schritt in einer Verschiebung jedes 8-Bit-Abtastwertes auf den nächsten höher adressierten 8-Bit-Zeilenraum. Dann werden neue Abtastwertdaten in den ersten Raum, d. h. den Raum A geschrieben. Die zuvor in dem Raum E befindlichen Daten können überschrieben werden, da sie nicht mehr benötigt werden.
  • Finite-Impulse-Response-Filter
  • Der SVP 10 ist nicht notwendig auf die Fernsehverarbeitung beschränkt und für andere Filterprozesse von Nutzen. Insbesondere gibt es viele Anwendungen, bei denen eine horizontale Filterung zwischen Datenabtastwerten eines einzelnen Datenpakets gewünscht ist. Die folgende Beschreibung richtet sich auf die Verwendung eines Einzelbefehl-Mehrfachdaten-Prozessors wie des SVP 10 für einen horizontalen Finite-Impulse Response-Filterprozeß (FIR-Filterprozeß oder Filterprozeß mit begrenztem Ansprechen auf einen Impuls).
  • Obgleich zu Beispielzwecken ein Tiefpaßfilter beschrieben ist, kann die gleiche Technik zur Realisierung irgendeines Typs von horizontalen FIR-Filtern verwendet werden. Auch zu Erläuterungszwecken wird ein Beispiel der Filterung des Farbwertsignals einer PAL-Übertragung verwendet. Fig. 9 zeigt die Grundschritte des Trennungs- und Demodulationsprozesses einschließlich des Tiefpaß-Filterschrittes.
  • Fig. 10 zeigt den SVP 10 in Verbindung mit einer Zeile eines Eingangssignals Va. Zu Beispielzwecken hat Va 1024 Abtastwerte, die mit S(i), i = 1, ..., 1024, bezeichnet sind. Der SVP 10 hat eine entsprechende Anzahl von PES 20(i), i = 1, ..., 1024. Fig. 10 dient lediglich der Darstellung des Prozesses und dient nicht der expliziten Erläuterung der verschiedenen Komponenten der Eingangsseite des Empfangssysterns vor der Eingabe in den SVP 10.
  • Va wird wortseriell in DIR 11 empfangen. In diesem Beispiel werden während jeder 1H-Periode 1024 Abtastwerte in DIR 11 geladen. Durch Übertragungen von Abtastwerten zwischen den Registerablagen R0 12 und R1 15 und die Operationen der ALU werden die Abtastwertverzögerungen und Berechnungen der Filterfunktionen erreicht. Die Datenübertragungen von DIR 11 zu dem Speicher R0 12 und R1 15 erfolgen über die ALU 14 und sind in den obenerwähnten US-Patentanmeldungen mit der lfd. Nr. 435.864 und der lfd. Nr. 421.499 erläutert.
  • Das allgemeine Konzept der Verwendung des SVP 10 zur horizontalen Filterung besteht darin, Filterabgriffe an die PES 20 anzupassen. Die Ausdrücke für die Filterfunktion werden realisiert, indem die für jeden Abgriff berechneten Werte zum Speicher der rechten Nächster-Nachbar-Prozessoren addiert werden. Für jede Ausgangsabtastung endet der gewünschte Wert in dem richtigen PE 20.
  • Ein erstes Verfahren der Verwendung des SVP 10 zur horizontalen Filterung ist in Fig. 16 gezeigt. Ein Beispiel einer gewünschten Filterfunktion ist
  • H(z) = (1 + z&supmin;¹)² (1 + z-²) (1 + z&supmin;¹ + z&supmin;²)/24,
  • wobei die Bezeichnung z-n eine Verzögerung um n Abtastwerte darstellt. Für die Berechnung der Koeffizientenwerte zum Erhalt einer gewünschten Filterausgangsantwort existieren viele Algorithmen. Der Quotient 24 sichert eine Einheitsverstärkung und wird in Ausdrücken der Digitalverarbeitung benötigt, da jeder Ausdruck der Funktion die Anzahl der Bits erhöht. Er ergibt sich beim Ausmultiplizieren der Filterfunktion aus der Beobachtung, daß die Summe der Koeffizienten bei der Null-Frequenz 24 ist.
  • Fig. 11 ist ein Prozeßdiagramm, das die Rechenschritte des Filterprozesses veranschaulicht. Fig. 16 stellt aber nur die Berechnungen eines Abschnitts des SVP 10, genauer PE 20(n-2), 20(n), ..., 20(n+2) dar, wobei (n-2), (n) und (n+1) die PES 20 kennzeichnen, die Abtastwerte von der Zeile x mit einer entsprechenden Abtastwertzahl empfangen. Die gesamte Parallelberechnung zur Filterung eines Eingangsabtastwertes S(n) von der Zeile X führt zu einem Ausgangsabtastwert S(n)'.
  • Zu Beginn der Berechnung für die Zeile X werden 5(1) bis S(1024) parallel von DIR 11 auf das jenem PE 20 entsprechende R1 12 übertragen. Somit enthält die R1 15(n) von PE(n) S(n). Der linke Nachbar PE(n-1) enthält den vorausgehenden Abtastwert, d. h. S(n-1). Der rechte Nachbar PE(n+1) enthält den nächsten Abtastwert, d. h. S(n+1).
  • Die Berechnungen zum Erzeugen eines einzelnen gefilterten Abtastwertes beginnen damit, daß ein erster Abtastwert zu dem ihm vorausgehenden Abtastwert addiert wird. Somit wird S(n) zu S(n-1) addiert. Die Parallelität der Berechnung erfordert, daß sich S(n-1) in PE 20(n-1) befindet. Das Ergebnis der Addition ist SUM 1(n). Im nächsten Schritt wird SUM 1(n) zu SUM 1(n-1) addiert um SUM 2(n) zu erhalten.
  • Jeder der obigen Summationsschritte umfaßt nur eine Einprozessorverzögerung. Um die Zweiprozessorverzögerung des nächsten Ausdrucks der Systemfunktion zu erhalten, wird SUM 2 (n) zu SUM 2(n-2) addiert, um SUM 3(n) zu erhalten.
  • Es gibt zwei alternative Verfahren, um diesen Prozeß zu vervollständigen. Bei dem ersten Verfahren wird SUM 3(n-2) in R0 12 (n-1) übertragen und dann zu SUM 3(n-1) in R0 addiert, um SUM 4(n) zu erhalten. Dann wird SUM 4(n) zu SUM 3(n) addiert, um SUM S(n) zu erhalten. Bei dem zweiten, in Fig. 16 durch punktierte Linien bezeichneten Verfahren wird SUM 3(n-2) zu SUM 3(n-1) addiert, um SUM 4(n-1) zu erhalten. Dann wird SUM 4(n-1) zu SUM 3(n) addiert, um SUM S(n) zu erhalten.
  • SUM S(n) wird durch eine vorbestimmte Konstante dividiert. In diesem Beispiel ist die wie oben erläutert abgeleitete Konstante 24.
  • Es ist selbstverständlich, daß jedes PE 20 die Filterfunktion gleichzeitig ausführt. Zum Beispiel bearbeitet in einer Filterfunktion eines Filters mit fünf Abgriffen jedes PE 20(n) einen Abgriff und erzeugt so das Ergebnis des Filters parallel. Jedes PE 20(n) überlappt um vier Abgriffe mit dem nächsten PE 20 (n+1). Mit anderen Worten, die Daten des Filters werden relativ zu jedem PE 20(n) genommen. Vier von fünf der von jedem PE 20(n) bearbeiteten Abtastwerte überlappen mit den von ihrem Nachbarn PE 20(n+1) verarbeiteten Abtastwerten.
  • Das Filter aus Fig. 11 erfordert, daß die Filterfunktion in die obenbeschriebene Form faktorisiert wird. Doch nicht alle Filteroperationen können in dieser Weise faktorisiert werden.
  • Das gleiche Tiefpaßfilter wie oben beschrieben kann mit der folgenden Funktion
  • H(z) = (1 + 3z&supmin;¹ + 5z&supmin;² + 6z&supmin;³ + 5z&supmin;&sup4; + 3z&supmin;&sup5; + z&supmin;&sup6;)/24
  • realisiert werden. Um diese Funktion abzuleiten, wurde die zuvor beschriebene Funktion in Ausdrücke niedrigerer Ordnung faktorisiert. Wie in Fig. 4 gezeigt, können die L- und 2L- Nächster-Nachbar-Kommunikationen zur Realisierung von Verzögerungen um einen oder zwei Abtastwerte verwendet werden.
  • Fig. 12 zeigt die Additions-Multiplikations-Berechnungen für dieses zweite Filter mit fünf Abgriffen:
  • y(n) = x(n) + 3x(n-1) + 5x(n-2) + 6x(n-3) + Sx(n-4) + 3x(n-5) + x(n-6),
  • wobei die x(n), ..., x(n-6) die um 0, ..., 6 1H-Perioden verzögerten Datenabtastwerte darstellen. Obgleich willkürlich nur die Berechnungen für die Pes 20(9) und 20(10) herausgegriffen und gezeigt wurden, werden für alle PES 20(n) gleichzeitig völlig gleiche Berechnungen ausgeführt.
  • Mit den folgenden vier Gleichungen kann die obige Filterfunktion effektiv in vier Phasen realisiert werden:
  • y1(n) = x(n) + x(n-1)
  • y2(n) = x(n) + x(n-1)
  • y3(n) = x(n) + x(n-2)
  • y4(n) = x(n) + x(n-1) + x(n-2).
  • Diese Gleichungen enthalten Verzögerungen von nicht mehr als zwei Abtastwerten. Auf einen um zwei Abtastwerte verzögerten Operanden kann wie in Fig. 4 gezeigt über den 2L-Kommunikationseingang jedes PE 20(n) zugegriffen werden.
  • Für PE 20(10) ist die erste Phase: x10b(n) x10a(n) + x10a(n-1),
  • und wegen der inhärenten Verzögerung wegen der Datenstruktur ist x10a(n-1) dasselbe wie xga(n). Somit ist
  • x10b (n) x10a (n) + x10b (n).
  • Wie in Fig. 12 gezeigt, wird der Wert in R0 12(10) zu dem in R0 12(9) gespeicherten Wert des linken Nachbar-PE 20 addiert, und die Werte werden in R1 15(10) summiert.
  • Die zweite Phase ist die gleiche wie die erste Phase, so daß
  • x10c(n) = x10b(n) + x9b(n)
  • ist. Beide Operanden für diese Operation sind aus der R1 15, da diese das Ergebnis der vorausgehenden Operation enthält.
  • Abgesehen davon, daß Bits mit dem Akkumulator von dem 2L- Nachbarn summiert werden, ist die dritte Phase ähnlich der zweiten Phase. Die Gleichung ist:
  • x10d(n) = x10c(n) + x8c(n).
  • Dies stellt die Verzögerung der dritten Gleichung des aus vier Gleichungen bestehenden Systems um zwei Abtastwerte dar.
  • Die vierte Phase erfordert eine Zwischensumme in R0 12 von den Operanden in den 2L- und L-Nachbarn. Diese wird zu dem zuvor in R1 15(10) akkumulierten Ergebnis addiert. Die in Phase vier realisierte Funktion ist
  • x10e(n) = x8d(n) + x9d(n) + x10d(n).
  • Dies bezieht sich direkt auf die vierte Gleichung.
  • Um die obigen Gleichungen zu überprüfen, können die Werte folgendermaßen eingesetzt werden:
  • y(10) = 7 + 3(6) + 5(5) + 6(4) + 5(3) + 3(2) + 1 = 96,
  • wobei x(n), x(n-1), ..., x(n-6) die Eingangswerte von PE 20(4)-PE 20(10) sind.
  • Wie in den Fig. 11 und 12 gezeigt, realisiert der SVP 10 ein Mehrabgriffsfilter, ohne daß anderen parallelen Signaipfaden Verzögerungen auferlegt werden müßten. Der Mittelabgriff des Filters wird als ein Bezugspunkt vorausgesetzt und den momentanen Daten zugeordnet. Die PEs 20 rechts und links der Mittel-PE 20 sind entsprechend älteren oder neueren Daten zugeordnet. So sind z. B. bei einem Filter mit fünf Abgriffen fünf Abgriffe erforderlich, um zwei PES links und 2 PEs rechts zu erreichen. Dabei kommt es zu keiner Verzögerung in horizontaler Richtung, und das Ausgangssignal ist in Phase mit dem Bezugseingabesignal in der Mitte des Filters.
  • Fig. 13 zeigt ein anderes Verfahren der Verwendung eines Einzelbefehl-Mehrfachdaten-Prozessors wie des SVP 10 zur Realisierung eines horizontalen FIR-Filters. Zu Vereinfachungszwecken wird ein Beispiel mit nur drei Koeffizienten angenommen:
  • H(z) = 1 + 3z&supmin;¹ + z&supmin;².
  • Dies ist ein Filter mit drei Abgriffen, das wie in Fig. 18 gezeigt bei jedem Schritt nur eine Einprozessorverzögerung benötigt. Im Unterschied zu den "Zweiprozessor-Verzögerungsverfahren" der Fig. 16 und 17 wird hier auf dieses Verfahren deshalb als das "Einprozessor-Verzögerungsverfahren" Bezug genommen.
  • Wie in den Zweiprozessor-Verzögerungsverfahren wird der SVP 10 mit einer Zeile von Abtastwerten S(1), ..., S(1024) geladen, wobei die Länge 1024 des Abtastwertes nur als ein Beispiel dient. Fig. 18 zeigt die Berechnungen nur hinsichtlich dreier PES 20, d. h. PE 20(n-2), PE 20(n-1) und PE 20(n). Die Register R0 12 und R1 15 werden als Akkumulatoren zum Halten von Zwischenergebnissen verwendet.
  • Als erstes werden S(n-2) und S(n-1) addiert, was auf SUM 1(n-1) führt. Dann wird diese Summe zum doppelten Wert von S(n-1) addiert. Das Ergebnis ist SUM 2(n-1). Schließlich wird SUM 2(n-1) zu S(n) addiert, was SUM 3(n) ergibt. Wie gewünscht steht SUM 3 (n) am Ende im Akkumulator von PE 20 (n).
  • Der gleiche Vorgang kann leicht auf andere Filter, die mehr oder weniger Abgriffe benötigen, erweitert werden. Für Echtzeitanwendungen ist die Länge primär durch die Verarbeitungszeit begrenzt. Um z. B. eine Echtzeit-Fersehverarbeitung zu schaffen, sollte der Algorithmus nicht länger brauchen als die horizontale Periode für eine Zeile, d. h. 1H. Ein besonderer Vorteil des hier beschriebenen Filters besteht darin, daß die Verarbeitungseinheit 50a verwendet werden kann, so daß Programme auf einem Host-System entwickelt werden können und auf die Steuereinheit 51 und den Befehisgenerator 52 heruntergeladen werden können.
  • Andere Ausführungsformen
  • Obgleich die Erfindung mit Bezug auf spezifische Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht in einem begrenzenden Sinne ausgelegt werden. Fachleuten werden verschiedene Modifikationen der offenbarten Ausführungsformen sowie alternative Ausführungsformen der Erfindung offensichtlich sein.

Claims (3)

1. Digitales Verarbeitungssystem, das einen Einzelbefehl- Mehrfachdaten-Prozessor (10) verwendet, der mehrere Verarbeitungselemente (20) zum Empfangen von Datenabtastwerten in einer geordneten Folge sowie Arithmetikeinheiten (14), die jeweils einem der Verarbeitungselemente zugeordnet sind, um Berechnungen auszuführen, besitzt, und das Nächster-Nachbar-Kommunikationen (L, L2, R, R2) zwischen den Verarbeitungselementen, eine Prozessorsteuereinheit (51) für die Erzeugung von Takt- und Steuersignalen für den Einzelbefehl-Mehrfachdaten-Prozessor (10), einen Befehisgenerator (52) für die Erzeugung von Befehlen für den Einzelbefehl-Mehrfachdaten-Prozessor (10) einschließlich Befehlen zum Ausführen der Berechnungen, ein Eingangsregister (11) zum seriellen Empfangen der geordneten Folge von Datenabtastwerten und zum parallelen Übertragen sämtlicher Datenabtastwerte an entsprechende Prozessoren sowie ein Ausgangsregister (16) zum parallelen Empfangen der in den entsprechenden Verarbeitungselementen gespeicherten Datenabtastwerte und zum seriellen Übertragen der Datenabtastwerte in einer geordneten Folge aus dem Einzelbefehl-Mehrfachdaten-Prozessor enthält, wobei jedes Verarbeitungselement einen ihm zugeordneten Speicher besitzt, wobei das Verarbeitungssystem dadurch gekennzeichnet ist, daß es ein horizontales digitales Filter bildet, das enthält:
den in der Weise programmierten Einzelbefehl-Mehrfachdaten-Prozessor (10), daß er das horizontale digitale Filter bildet, indem er die Verarbeitungselemente als Abgriffe einer horizontalen digitalen Filterfunktion verwendet, die dem horizontalen digitalen Filter entspricht, so daß die Datenabtastwerte aus den Verarbeitungselementen in der geordneten Folge ausgegeben werden,
eine Einrichtung zum Zuordnen von Abgriffen der hon zontalen digitalen Filterfunktion an Verarbeitungselemente des Einzelbefehl-Mehrfachdaten-Prozessors (10), wobei die Anzahl der Abgriffe der horizontalen digitalen Filterfunktion die Anzahl der benachbarten Prozessoren bestimmt, die verwendet werden, um jeden Abtastwert eines ankommenden Datensignais zu verarbeiten;
eine Einrichtung zum wortseriellen Laden der geordneten Folge von Datenabtastwerten in das Eingangsregister;
eine Einrichtung zum Übertragen der geordneten Folge von Abtastwerten vom Eingangsregister an die entsprechenden Verarbeitungselemente;
eine Einrichtung zum Verwenden jedes Verarbeitungselements, um jeden der Datenabtastwerte parallel zu verarbeiten, um in jedem Verarbeitungselement ein erstes Zwischenergebnis zu erzeugen;
eine Einrichtung zum Übermitteln jedes der Zwischenergebnisse an ein benachbartes Verarbeitungselement jedes Verarbeitungs elements;
eine Einrichtung zum Speichern der Zwischenergebnisse in dem dem benachbarten Verarbeitungselement zugeordneten Speicher;
eine Einrichtung zum Verarbeiten des ersten Zwischenergebnisses unter Verwendung des benachbarten Verarbeitungselements, um wenigstens ein zusätzliches Zwischenergebnis zu erzeugen;
eine Einrichtung zum Wiederholen der Verarbeitungs-, Kommunikations- und Speicherschritte, bis sämtliche Abgriffe der horizontalen digitalen Filterfunktion ausgeführt worden sind;
eine Einrichtung zum parallelen Übertragen jedes der zusätzlichen Zwischenergebnisse von den Verarbeitungselementen an das Ausgangsregister; und
eine Einrichtung zum wortseriellen Ausgeben der zusätzlichen Zwischenergebnisse vom Ausgangsregister, wobei die geordnete Folge für eine gemäß der horizontalen digitalen Filterfunktion gefilterte Version des Eingangssignals beibehalten wird.
2. Digitales Verarbeitungssystem nach Anspruch 1, ferner mit einer Schnittstelle zum Herunterladen der Befehle von einem Host-Abwicklungssystem.
3. Verfahren zum digitalen Filtern in einem Einzelbefehl- Mehrfachdaten-Prozessor (10) mit mehreren Verarbeitungselementen (20) zum Empfangen von Datenabtastwerten in einer geordneten Folge und Arithmetikeinheiten (14), die jedem der Verarbeitungselemente zugeordnet sind, um Berechnungen auszuführen, Nächster-Nachbar-Kommunikationen (L, L2, R, R2) zwischen Verarbeitungselementen, einer Prozessorsteuereinheit (51) zum Erzeugen von Takt- und Steuersignalen für den Einzelbefehl-Mehrfachdaten-Prozessor, einem Befehisgenerator (52) zum Erzeugen von Befehlen für den Einzelbefehl-Mehrfachdaten-Prozessor (10) einschließlich Befehlen zum Ausführen der Berechnungen, einem Eingangsregister (11) zum seriellen Empfangen der geordneten Folge von Datenabtastwerten und zum parallelen Übertragen sämtlicher Datenabtastwerte an entsprechende Prozessoren sowie einem Ausgangsregister (16) zum parallelen Empfangen sämtlicher in den entsprechenden Verarbeitungselementen gespeicherter Datenabtastwerte und zum seriellen Übertragen der Datenabtastwerte in einer geordneten Folge aus dem Einzelbefehl-Nehrfachdaten-Prozessor (10), wobei jedes Prozessorelement einen ihm zugeordneten Speicher besitzt, wobei das Verfahren gekennzeichnet ist durch:
Zuordnen von Abgriffen der horizontalen digitalen Filterfunktion an Verarbeitungselemente des Einzelbefehl-Mehrfachdaten-Prozessors (10), wobei die Anzahl der Abgriffe der horizontalen digitalen Filterfunktion die Anzahl der benachbarten Prozessoren bestimmt, die verwendet werden, um jeden Abtastwert von ankommenden Datensignalen zu verarbeiten;
Übertragen der geordneten Folge von Datenabtastwerten vom Eingangsregister an die entsprechenden Verarbeitungselemente;
Verwenden jedes Prozessorelements, um jeden der Datenabtastwerte parallel zu verarbeiten, um in jedem Verarbeitungselement ein erstes Zwischenergebnis zu erzeugen;
Übermitteln jedes der Zwischenergebnisse an ein benachbartes Verarbeitungselement jedes Verarbeitungselements;
Speichern der Zwischenergebnisse in dem dem benach barten Verarbeitungselement zugeordneten Speicher;
Verarbeiten der ersten Zwischenergebnisse unter Verwendung des benachbarten Verarbeitungselements, um wenigstens ein zusätzliches Zwischenergebnis zu erzeugen;
Wiederholen der Verarbeitungs-, Übermittlungs- und Speicherschritte, bis sämtliche Abgriffe der horizontalen digitalen Filterfunktion erzeugt worden sind;
Übertragen jedes der zusätzlichen Zwischenergebnisse parallel von den Verarbeitungselementen an das Ausgangsregister; und
wortserielles Ausgeben der zusätzlichen Zwischenergebnisse vom Ausgangsregister, wobei die geordnete Folge für eine gemäß der horizontalen digitalen Filterfunktion gefilterte Version des Eingangssignals beibehalten wird.
DE69031865T 1990-02-28 1990-02-28 Ein SIMD-Prozessor als digitales Filter Expired - Fee Related DE69031865T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP90400560A EP0444368B1 (de) 1990-02-28 1990-02-28 Ein SIMD-Prozessor als digitales Filter

Publications (2)

Publication Number Publication Date
DE69031865D1 DE69031865D1 (de) 1998-02-05
DE69031865T2 true DE69031865T2 (de) 1998-08-06

Family

ID=8205687

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69031865T Expired - Fee Related DE69031865T2 (de) 1990-02-28 1990-02-28 Ein SIMD-Prozessor als digitales Filter

Country Status (3)

Country Link
US (2) US5128760A (de)
EP (1) EP0444368B1 (de)
DE (1) DE69031865T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1042282C (zh) * 1989-10-13 1999-02-24 德克萨斯仪器公司 用于同步矢量处理机的第二最近邻通讯网络、***和方法
KR100224054B1 (ko) * 1989-10-13 1999-10-15 윌리엄 비. 켐플러 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법
US5262858A (en) * 1990-12-05 1993-11-16 Deutsche Itt Industries Gmbh Method of converting the clock rate of a digitized signal
US5390262A (en) * 1991-10-03 1995-02-14 Ncr Corporation Method for splitting and configuring a multi-channel image processing system
US5274372A (en) * 1992-10-23 1993-12-28 Tektronix, Inc. Sampling rate conversion using polyphase filters with interpolation
KR0140674B1 (ko) * 1993-04-12 1998-06-15 모리시다 요이치 영상신호처리장치 및 처리방법
JP3527259B2 (ja) * 1993-04-12 2004-05-17 松下電器産業株式会社 映像信号処理装置及び処理方法
US5557734A (en) * 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
JPH0877002A (ja) * 1994-08-31 1996-03-22 Sony Corp 並列プロセッサ装置
US5587742A (en) * 1995-08-25 1996-12-24 Panasonic Technologies, Inc. Flexible parallel processing architecture for video resizing
TW376642B (en) 1996-05-07 1999-12-11 Matsushita Electric Ind Co Ltd Video signal processing apparatus
US6177922B1 (en) 1997-04-15 2001-01-23 Genesis Microship, Inc. Multi-scan video timing generator for format conversion
US6118486A (en) * 1997-09-26 2000-09-12 Sarnoff Corporation Synchronized multiple format video processing method and apparatus
KR100538605B1 (ko) 1998-03-18 2005-12-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치, 행렬 변환 방법 및 컴퓨터 판독가능한 매체
GB2381338B (en) * 2001-10-26 2006-04-26 Hewlett Packard Co Improvements in or relating to processing data
KR100966912B1 (ko) * 2002-06-27 2010-06-30 톰슨 라이센싱 필터 계수 ram을 위한 자동 뱅크 스위칭을 검출 및수행하기 위한 방법 및 시스템
US6894726B2 (en) * 2002-07-05 2005-05-17 Thomson Licensing S.A. High-definition de-interlacing and frame doubling circuit and method
US7312816B2 (en) 2002-07-24 2007-12-25 Freestone Systems, Inc. Digital observation system
US7298397B2 (en) * 2002-07-24 2007-11-20 Freestone Systems, Inc. Digital transmission system
GB2400195B (en) 2003-03-31 2005-06-29 Micron Technology Inc Active memory processing array topography and method
US7509626B1 (en) * 2004-03-31 2009-03-24 Sprint Communications Company Demonstrating proof of concept of a project with requirements component providing weights on importance and tracking with use cases
GB0419870D0 (en) * 2004-09-08 2004-10-13 Koninkl Philips Electronics Nv Apparatus and method for processing video data
US8656143B2 (en) 2006-03-13 2014-02-18 Laurence H. Cooke Variable clocked heterogeneous serial array processor
US20070226455A1 (en) * 2006-03-13 2007-09-27 Cooke Laurence H Variable clocked heterogeneous serial array processor
JP4909779B2 (ja) * 2006-04-17 2012-04-04 パナソニック株式会社 画像データ転送方法、画像処理装置、及び撮像システム
WO2008152546A2 (en) * 2007-06-11 2008-12-18 Nxp B.V. Removing 2fh cross talk for tv

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
DE3128727C1 (de) * 1981-07-21 1983-02-24 Standard Elektrik Lorenz Ag, 7000 Stuttgart Verfahren und Anordnung zum Erhoehen der Bildwiedergabefrequenz
US4727474A (en) * 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
US4558347A (en) * 1983-08-26 1985-12-10 Rca Corporation Progressive scan television system employing vertical detail enhancement
US4550336A (en) * 1983-08-26 1985-10-29 Rca Corporation Progressive scan speed-up processor
US4602275A (en) * 1984-03-19 1986-07-22 Rca Corporation Television memory system
US4658293A (en) * 1984-08-08 1987-04-14 Sanyo Electric Co., Ltd. Scanning conversion method and scan converter unit employing the conversion method
JPS61141264A (ja) * 1984-12-14 1986-06-28 Canon Inc 画像処理装置
US4603350A (en) * 1984-12-21 1986-07-29 Rca Corporation Interlaced digital video input filter/decimator and/or expander/interpolator filter
JPS621067A (ja) * 1985-02-25 1987-01-07 Hitachi Ltd ベクトル処理装置
US4901224A (en) * 1985-02-25 1990-02-13 Ewert Alfred P Parallel digital processor
EP0196171B1 (de) * 1985-03-23 1991-11-06 International Computers Limited Integrierte digitale Schaltungen
US4860248A (en) * 1985-04-30 1989-08-22 Ibm Corporation Pixel slice processor with frame buffers grouped according to pixel bit width
US4972314A (en) * 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US4791677A (en) * 1985-12-16 1988-12-13 Matsushita Electric Industrial Co., Ltd. Image signal processor
US4773038A (en) * 1986-02-24 1988-09-20 Thinking Machines Corporation Method of simulating additional processors in a SIMD parallel processor array
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
GB2211638A (en) * 1987-10-27 1989-07-05 Ibm Simd array processor
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
EP0294958B1 (de) * 1987-06-09 1995-08-23 Sony Corporation Bewegungskompensierte Interpolation von digitalen Fernsehbildern
JP2679994B2 (ja) * 1987-08-14 1997-11-19 株式会社日立製作所 ベクトル処理装置
DE3856124T2 (de) * 1987-11-13 1998-06-10 Texas Instruments Inc Serieller Videoprozessor und Verfahren
US4939575A (en) * 1987-11-13 1990-07-03 Texas Instruments Incorporated Fault-tolerant serial video processor device
DE3803605A1 (de) * 1988-02-08 1989-08-17 Thomson Brandt Gmbh Wiedergabeverbesserung eines bildsignals
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
US5327541A (en) * 1989-10-13 1994-07-05 Texas Instruments Inc. Global rotation of data in synchronous vector processor
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system

Also Published As

Publication number Publication date
EP0444368A1 (de) 1991-09-04
DE69031865D1 (de) 1998-02-05
EP0444368B1 (de) 1997-12-29
US5659776A (en) 1997-08-19
US5128760A (en) 1992-07-07

Similar Documents

Publication Publication Date Title
DE69031865T2 (de) Ein SIMD-Prozessor als digitales Filter
DE69020724T2 (de) Schneller interpolationsfilter für fernsehnormenumsetzung.
DE3888005T2 (de) Zoomvorrichtung für Fernsehbild.
US5210705A (en) Digital filtering with single-instruction, multiple-data processor
DE3850117T2 (de) Für einen videosignalprozessor geeignete pixelinterpolationsschaltung.
DE3688353T2 (de) Nichtrekursiver zweidimensionaler digitalfilter.
DE3177299T4 (de) Bildverarbeitungssystem für räumliche Bildtransformation.
DE69728247T2 (de) Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem
DE3044915C2 (de) Vorrichtung zur Veränderung der Größe eines Fernsehbildes
DE69429377T2 (de) Halbpixelinterpolation für ein bewegungskompensiertes Digitalvideosystem
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE69028981T2 (de) Fernsehen mit verbesserter Auflösung
DE3888221T2 (de) Speichersystem für bemusterte Daten, zum Beispiel für ein Bildvergrösserungssystem in einem Fernsehempfänger.
DE69329332T2 (de) Fernsehbilderdekodierarchitektur zur Ausführung eines 40 ms-Prozessalgorithmus in HDTV
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE3789731T2 (de) Digitaler Videosignalprozessor.
US4984286A (en) Spatial filter system
DE3240906A1 (de) Digitale filteranordnung mit zwei ausgaengen
DE69430093T2 (de) Signalprozessor
DE3788925T2 (de) Interpolator für Fernsehtricksystem.
EP2052550A2 (de) Bildverarbeitungsvorrichtung für farb-bilddaten und verfahren zur bildverarbeitung von farb-bilddaten
DE3720163A1 (de) Verfahren und anordnung zum einfrieren eines fernsehbildes
DE69419167T2 (de) Digitale vorrichtung zur änderung der grösse eines bildes und verwendungsmethode desgleichen
DE3851230T2 (de) Steuergerät für gespeicherte programme mit einer möglichkeit für bedingte abzweigung wie in einem videosignalverarbeitungssystem.
DE69516494T2 (de) Vorrichtung zum Umsetzen des Formats eines Videosignals

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee