DE3545106C2 - - Google Patents

Info

Publication number
DE3545106C2
DE3545106C2 DE3545106A DE3545106A DE3545106C2 DE 3545106 C2 DE3545106 C2 DE 3545106C2 DE 3545106 A DE3545106 A DE 3545106A DE 3545106 A DE3545106 A DE 3545106A DE 3545106 C2 DE3545106 C2 DE 3545106C2
Authority
DE
Germany
Prior art keywords
data
line
fft
bit
circuit according
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
DE3545106A
Other languages
English (en)
Other versions
DE3545106A1 (de
Inventor
Valery Dipl.-Ing. Axelrad
Walter Dipl.-Ing. Stechele
Ingolf Dr.-Ing. 8000 Muenchen De Ruge
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.)
AXELRAD E 8000 MUENCHEN DE
RUGE I PROF DR
STECHELE J 8900 AUGSBURG DE
Original Assignee
AXELRAD E 8000 MUENCHEN DE
RUGE I PROF DR
STECHELE J 8900 AUGSBURG DE
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 AXELRAD E 8000 MUENCHEN DE, RUGE I PROF DR, STECHELE J 8900 AUGSBURG DE filed Critical AXELRAD E 8000 MUENCHEN DE
Priority to DE19853545106 priority Critical patent/DE3545106A1/de
Publication of DE3545106A1 publication Critical patent/DE3545106A1/de
Application granted granted Critical
Publication of DE3545106C2 publication Critical patent/DE3545106C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8092Array of vector units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Die Erfindung bezieht sich auf eine Schaltung zur Verar­ beitung eines zweidimensionalen Bildmusters mit N Zeilen und N Spalten, die einer Fast-Fourier-Transformation (FFT) unterzogen werden.
Die schnelle diskrete Fourier Transformation hat in den letzten Jahren stetig an Bedeutung gewonnen. Hierzu wird auf die Literaturstelle "Reduced Data Re-Order Complexity Properties of Polynomial Transform 2D Convolution and Fourier Transform Methods" von Thomas A. Kriz in IBM J. Res. Develop., Vol. 26, 1982, S. 708 bis 714 verwiesen.
Mit steigenden Rechnerleistungen sind immer neue Anwen­ dungsmöglichkeiten eröffnet worden. Bis heute sind jedoch Echtzeitanwendungen vor allem in der Bildverarbeitung, aber auch in anderen Gebieten, wie Mustererkennung, linea­ rer Filterung und Verschlüsselung mit großen Schwierigkei­ ten verbunden.
Darüberhinaus ist bislang auch keine VLSI-Realisierung der mehrdimensionalen FFT, die auch für Transformationen großer Länge eine hohe Arbeitsgeschwindigkeit aufweist und kostengünstig herstellbar ist, bekannt geworden.
Ferner ist in der Vergangenheit die Datenreduktion in mehrdimensionalen orthogonalen Funktionsräumen (Transfor­ mationscodierung) mittels FFT nicht in der Praxis reali­ siert worden.
Vor allem für Datenreduktionsmethoden sind deshalb in der Vergangenheit fast ausschließlich sogenannte Differenz­ pulscodemodulations-Verfahren (BTCM) eingesetzt worden, bei denen eine Redundantenreduktion im Ortsbereich er­ folgt. Jedoch kann im Ortsbereich nur eine relativ schwa­ che Datenreduktion erreicht werden. So erzielt man mit einer eindimensionalen DPCM lediglich einen Datenreduk­ tionsfaktor von weniger als 1,6, während eine zweidimensi­ onale DPCM einen Faktor von weniger als 2 und die sehr speicheraufwendige dreidimensionale DPCM einen Reduktions­ faktor von weniger als 2,7 aufweist. Eine darüberhinausge­ hende Datenreduktion war bei den bislang bekannten Syste­ men stets mit räumlicher und/oder zeitlicher Auflösungs­ verminderung verbunden: hierzu wird beispielsweise auf folgende Literaturstellen verwiesen:
  • 1. H. G. Musmann, "Predictive image coding", in W. K. Pratt (Editor), "Image transmission techniques", Academic Press 1979, pp. 73-112
  • 2. H. J. Grallert, A. Starck, "Component encoding of color television signals for transmission in 34, 70 and 140 Mbit/s channels", Proc. 1984 Int. Zurich Seminar on Digital Communications, March 6-8, pp. Cl.1-Cl.6
  • 3. D. Westerkamp, "Adaptive intra-/interframme DPCM-coding for transmission of color TV-signals with 34 Mbit/s" Proc. 1984 Int. Zurich Seminar on Digital Communications, March 6-8, pp. C2.1-C2.7
Die bislang vorgestellten Transformationscodierungssysteme (TC-Systeme) benutzen nur vergleichsweise kleine TC-Blöcke und sind daher sehr aufwendig aufgebaut; darüberhinaus stellen sie hohe Anforderungen an die Bauelemente, so daß mit ihnen keine sehr hohen Datenreduktionsfaktoren erreicht werden können (M. Ghanbari, D. E. Pearson, "Fast cosine transform implementation for television signals", IEE Proc., Part F, Vol.129, pp. 59-68, Feb 1982).
Eine weitere vor kurzem veröffentlichte Realisierung (W. H. Chen, W. K. Pratt, "Scene adaptive coder", IEEE Trans. Comm., Vol. COM-32, pp. 225-232, March 1984) nimmt eine Reduktion der zeilichen Auflösung in Kauf, um die Ge­ schwindigkeitsanforderungen erfüllen zu können, d. h. um 30 Bilder/s nach dem NTSC-Verfahren an Stelle bisher möglicher 15 Bilder/s zu realisieren.
Alle bisher vorgestellten Datenreduktionssysteme, und zwar sowohl die nach dem DTCM-Verfahren als auch die nach dem TC-Verfahren arbeitenden Systeme haben - wie erfindungsgemäß erkannt worden ist - einen gemeinsamen, entscheidenden Nachteil: sie benutzen serielle Verarbeitungsarchitekturen. Auf Grund der enormen Datenraten und der gleichzeitig steigenden Zahl von Operationen/Bildpunkt mit zunehmender Datenreduktion (Blockgröße) wird die Qualität derselben durch die Bauelemente des seriellen Rechenbergs begrenzt.
Der Erfindung liegt die Aufgabe zu Grunde, eine Schaltung zur Verarbeitung eines zweidimensionalen Bildmusters mit N Zeilen und N Spalten, die einer Fast-Fourier-Transforma­ tion unterzogen werden, anzugeben, mit der z. B. aus einer Bildfolge die redundanten und irrelevanten Daten mit hoher Geschwindigkeit und qualitativ befriedigend extrahiert werden können.
Eine erfindungsgemäße Lösung dieser Aufgabe ist in den Patentansprüchen gekennzeichnet.
Erfindungsgemäß ist erkannt worden, daß die bisher verwendeten Transformationsmethoden auf Grund der seriellen Verarbeitung nicht in der Lage sind, die erfindungsgemäß gestellte Aufgabe zu erfüllen. Vielmehr ist es notwendig, um eine effektive Datenreduktion durchführen zu können, eine Vorrichtung zur schnellen diskreten Fourier Transformation zu verwenden. Mit einem Prozessor, der dies leistet, läßt eine Folge von Bewegtbildern in Echtzeit effektiv von der darin enthaltenen Redundanz und Irrelevanz befreien und damit eine starke Datenreduktion erreichen. Hierzu muß das System in der Lage sein, auch große Pixel- Blöcke in Echtzeit zu transformieren, um eine ausgeglichene Bildstatistik zu erhalten.
Bei der erfindungsgemäßen Lösung dieses Problems wird eine Parallelisierung der Verarbeitung angewendet: die wachsende Gesamtzahl von Rechenoperationen wird durch eine Aufteilung des Datenstroms auf viele einfach aufgebaute Einzelprozessoren, die jedoch für den speziellen Zweck ausgelegt sind, bewältigt.
Hierbei werden die Eingangsdaten zeilen- oder spaltenwei­ se abgearbeitet. Die Daten einer Zeile oder Spalte sind an ein Rechenwerk angelegt, das aus ld(N) in Art einer Pipe­ line betriebenen Stufen besteht, von denen jede N Register und N/2 Butterfly-Operatoren aufweist, die die an ihnen anliegenden Eingangsdaten multiplizieren und addieren. In jedem Butterfly-Operator werden sämtliche Rechenoperatio­ nen mit wenigstens einem Addierer ausgeführt. Die einzel­ nen Zeilen oder Spalten werden nacheinander in Art einer Pipeline abgearbeitet. Nach dem vollständigen Abarbeiten der Zeilen oder Spalten werden die Eingangsdaten spalten- bzw. zeilenweise abgearbeitet.
Durch die Steigerung des Parallelisierungsgrades und die Verwendung von Butterfly-Operatoren - wie sie beispiels­ weise in J. W. Cooley and J. W. Tukey: "An Algorithm for the Machine Calculation of Complex Fourier Serie" in "Math. Comput., April 1965, p. 297-301 beschrieben sind - läßt sich überraschender Weise die Verarbeitung eines Bildes, die bei Fernsehbildern beispielsweise insgesamt in einer 1/25 s abgeschlossen sein muß, auch mit relativ langsamen Bauelementen realisieren, die beispielsweise in CMOS- Technologie aufgebaut sein können. Trotzdem läßt sich durch ein breites Parallel-Rechenwerk der sehr schnelle serielle Datenstrom, der beispielsweise bei sogenannten hochauflösenden Fernsehbildern (PCM-HDTV) 875 Mbit/s beträgt, bewältigen.
Erfindungsgemäß wird dabei ein TC-System mit einem Parallel- Rechenwerk realisiert. Dieses ist im Gegensatz zu allen bisher vorgestellten Systemen in der Lage, beliebig große Blöcke zu verarbeiten, wobei mit steigender Blockgröße die Geschwindigkeitsanforderungen an die Bauelemente immer weiter herabgesetzt werden.
Der erfindungsgemäße Grundgedanke besteht dabei darin, einige wenige Rechenwerke beim Stand der Technik, die sehr schnell sein müssen, durch eine große Anzahl von parallel­ arbeitenden Recheneinheiten zu ersetzen. Durch diese Arbeitsaufteilung ergeben sich eine Reihe von Vorteilen:
Die Geschwindigkeitsanforderungen an die einzelnen Rechen­ werke werden drastisch abgesenkt, dadurch können diese in vergleichsweise kostengünstiger CMOS-(Speicher)Technologie ausgeführt werden.
Durch die regelmäßige Anordnung von gleichartigen Rechenwerken (Butterfly-Operatoren) erhält man außerdem eine reguläre Logik, die leichter realisierbar ist als Höchstgeschwindigkeits- optimierte Bausteine von seriellen Systemen, beispielsweise DPCM-Bausteine.
Aus den genannten Gründen - das Rechenwerk ist regulär und in CMOS-Technologie herstellbar - läßt sich der erfindungsgemäß vorgeschlagene Prozessor als Ein-Chip-Prozessor mit den bekannten Vorzügen - wie kostengünstige Herstellung, zuverlässiger Betrieb, kleiner und leistungsarmer Aufbau etc. - realisieren. Das erfindungsgemäße System ermöglicht es im Gegensatz zu den bisher vorgeschlagenen TC-Systemen, große Blöcke bis hin zu Vollbild-Interframes zu verarbeiten. Auf Grund der damit verbundenen stabilen Bildstatistik ist die ohne Qualitätseinbußen erreichbare Datenreduktion sehr hoch. So läßt sich beispielsweise ein digitales HDTV-Signal (875 Mbit/s) mit einer Blockgröße von 64 × 64 Intraframe bereits um den Faktor 6,5 auf 135 Mbit/s reduzieren. Dabei werden keine hohen Geschwindigkeitsanforderungen an die Bauelemente gestellt.
Die vorgeschlagene Redundanz- und Irrelevanz eleminierende Codierstruktur im Fourierbereich ist auf Grund der gutartigen Bildstatistik, die bei großen Blöcken gegeben ist, deterministisch und mit geringem Zusatzaufwand adaptiv ausführbar. In dem nachfolgend beschriebenen Hardware- Aufbau kann die Codierstruktur des Gesamtsystems unabhängig beispielsweise in einem externen Speicher (ROM, EPROM oder dgl.) vorgesehen werden. Damit läßt sich eine Änderung des Datenreduktionsgrades oder eine Anpassung an eine geänderte Normierung durch ein einfaches Auswechseln des Festwertspeichers im Sender und Empfänger durchführen.
Die Anwendung der Erfindung ist jedoch nicht allein auf die Bewegtbildübertragung begrenzt. Neben allgemeinen Anwendungen in der Bilddatenreduktion ist die Echtzeit- FFT-Realisierung auch in Mustererkennungssystemen einsetzbar.
Ferner läßt sich die Erfindung bei einer Vielzahl von Echtzeit und Nicht-Echtzeit-Anwendungen der FFT, die im wesentlichen unter dem Begriff "lineare Filterung" zusammenfaßbar sind, mit großen Vorteilen beispielsweise in der Radartechnik, in der Akustik, der Computer-Tomographie etc.
Auf Grund der nachstehend näher erläuterten flexiblen Realisierung der Bitzuteilung in TC-Systemen kann der Codierer als Verschlüsseler verwendet werden, da der Empfänger über das richtige Bitzuteilungsmuster, das beispielsweise in einem Festwertspeicher niedergelegt ist, verfügen muß. Damit läßt sich das erfindungsgemäße TC- System auch als Verschlüsselungssystem für Bewegtbildkanäle verwenden.
In jedem Fall hat das Großblock-TC-System den Vorteil in Echtzeit ohne große Anforderungen an die Bauelemente große Bitraten, wie sie beispielsweise bei einer HDTV-Übertragung auftreten, effektiv zu reduzieren.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher beschrieben, in der zeigen:
Fig. 1 ein Blockschaltbild eines Parallelsystems,
Fig. 2 den Aufbau einer FFT-Pipeline,
Fig. 3 den Registeraufbau,
Fig. 4 schematisch die Umsortierung der durch Parallelverarbeitungserhaltenen Ergebnisse,
Fig. 5 schematisch die Aufteilung eines HDTV-Bildes,
Fig. 6 das Prinzip der Zwischenspeicherung
Fig. 7 ein Blockschaltbild einer VLSI-Version,
Fig. 8 den Aufbau eines Empfängers,
Fig. 9 eine mögliche Bildzuteilung,
Fig. 10 den Aufbau eines Parallelrechenwerks zur schnellen Faltung, und
Fig. 11 ein 2D-Mustererkennungssystem.
Im folgenden soll zunächst die Parallelausführung einer 2D- FFT von der Ordnung N×N erläutert werden, wobei N eine ganzzahlige Potenz von 2 ist (4, 8, 16, 32, 64, 128, 256. . .).
Fig. 1 zeigt ein Blockschaltbild des Parallelsystems zur Berechnung einer zweidimensionalen FFT. Die Blöcke I (Pipeline) und II (Register) werden weiter unter näher erläutert.
Die Grundidee des vorzuschlagenden Systems besteht in einer Aufteilung der anfallenden Operationen, deren Anzahl mit N ansteigt, auf viele einfach aufgebaute Einzelrechenwerke. Diese müssen die ihnen zugeteilten Aufgaben gleichzeitig (parallel) erledigen. Eine Grundvoraussetzung dafür ist, daß die Eingabe-Daten allen Rechenwerken des Parallelsystems gleichzeitig zur Verfügung gestellt werden. Geht man von einer Wortlänge von M bit pro Zahlenwert der zu transformierenden Eingabematrix aus, ergibt sich 2×M×N als Busbreite am Eingang des Parallelrechenwerks (Pipeline). Dabei werden zwei Transformationsblöcke als Real- und Imaginärteil einer komplexen Eingabematrix gleichzeitig bearbeitet.
Die ausführende 2D-FFT wird durch die row-column Methode auf 2×N eindimensionale FFT's von jeweils der Ordnung N zurückgeführt. Dabei werden zunächst in den Zeilen und anschließend in den Spalten der Matrix FFT's "in place" durchgeführt. Die anfallenden eindimensionalen FFT's werden durch die Pipeline berechnet und die dabei notwendigen Umsortieroperationen sowie eine Transponierung der Matrix zur Zeilen/Spalten-Bearbeitung mit Hilfe des Registers ausgeführt.
Die Eingabematrix wird zeilenweise mit jeweils 2×M×N bits an die Pipeline I übergeben. Nach 1d(N) Verarbeitungsschritten wird das Transformationsergebnis von der Pipeline ausgegeben und parallel als Zeile in das Register übernommen (Bus 1). Nachdem alle N Zeilentransformationen durchgeführt sind und im Register zeilenweise die Zeilen- FFT's stehen, werden aus dem Register die Spalten in die Pipeline nacheinander übernommen (Bus 2). Aus der Pipeline wieder herauskommende FFT-Spalten werden parallel in das Register übernommen (Bus 3).
Dabei ist zu berücksichtigen, daß nach einer FFT pro Zahlenwerk 1d(N)/2 Binärstellen (bits) mehr zur Verfügung gestellt werden müssen. Daher sind die Busbreiten (1) und (2) um 1d(N)/2×N×2 und die Busbreite (3) um 1d(N)×N×2 größer als die parallele Eingangsbusbreite.
Fig. 2 zeigt den prinzipiellen Aufbau einer FFT-Pipeline für die parallele Echtzeit-Ausführung einer schnellen diskreten Fourier Transformation (FFT).
Dazu werden, wie bereits erwähnt, alle Zahlenwerte des zu transformierenden Vektors gleichzeitig am Eingang der Pipeline zur Verfügung gestellt. Nach Durchlauf von 1d(N) FFT-Stufen, die zur Berechnung erforderlich sind, erscheint am Ausgangsbus der Pipeline der Ergebnisvektor. Den Elementen dieses Vektors müssen pro Element (Zahlenwert) 1d(N)/2 Binärstellen mehr zur Verfügung gestellt werden, als die Elemente des Eingangsvektors belegen. Dies liegt daran, daß die einzelnen "Butterfly Operation", die in jeder der 1d(N) Stufen auszuführen sind, im ungünstigsten Fall die Zahlenwerte verdoppeln können. Nach einer Normierung der FFT auf Quadratwurzel von N bleibt 1d(N)/2 an Zusatzbinärstellen übrig.
Die am Eingangsdatenbus angelegten insgesamt N komplexen Zahlen (2N reelle) werden von einer Stufe zur nächsten durch jeweils eine Vektoranordnung von Butterfly Operatoren (BO) durchgeschoben. Nachdem die am Eingang angelegten Werte durch den ersten Operatoren-Vektor übernommen wurden, kann bereits der nächste Datensatz an den Eingang gelangen. Dadurch werden die Eingabevektoren pipelineartig durch das Parallelrechenwerk durchgelassen.
Jede der insgesamt 1d(N) FFT-Stufen enthält N/2 parallel festverdrahtete BO die alle aus je zwei komplexen Eingabewerten zwei komplexe Ausgabewerte errechnen. Diese werden an dieselben Positionen im Vektor zurückgeschrieben, an denen die zwei Eingabewerte standen. Ein Vorteil dieser Realisierung besteht darin, daß die Butterfly-Faktoren eines jeden BO fest verdrahtet werden können, da sie während der Berechnung unverändert bleiben. Fig. 2 zeigt den Aufbau eines Pipeline-Parallelprozessors. Dieser enthält insgesamt N/2 × 1d(N) komplexe BO's. Eine komplexe Butterfly Operation wird durch 4 reelle Multiplikationen und 6 reelle Additionen ausgeführt. Die Operatoren können je nach Geschwindigkeitsanforderungen und Komplexitätsüberlegungen mit minimal einem Addierer aufgebaut werden. Die Bitbreite dieses Addierers muß bei einer 2D-FFT die Bitbreite der Eingangszahlen um 1d(N) übersteigen.
Am Ausgang wird parallel die FFt eines vor 1d(N) Berechnungsschritten in die Pipeline gelangten Eingabevektors ausgegeben. Dabei ist zu beachten, daß die Werte der FFT nicht in der natürlichen, sondern in der sogenannten "bit- reversed" Reihenfolge im Ausgabevektor zu finden sind. Die notwendige Umsortierung geschieht praktisch ohne zusätzlichen Hardware-Aufwand während der Transponierung der Daten, die ohnehin für die Ausführung der 2D-FFT mit der "row-column" Methode notwendig ist.
Im folgenden soll die Bedeutung des Parallelprozessors näher erläutert werden: Das Register des Parallelprozessors (s. Fig. 1) erfüllt zwei wichtige Funktionen.
Die Spalten/Zeilen Vorgehensweise ("row/column method") bei der Berechnung einer 2D-FFT verlangt nach der Durchführung einer 1D-FFT in allen Zeilen der Eingabematrix eine 1D-FFT in den Spalten des Zwischenergebnisses. Dies ist einem Transponieren der Zwischenergebnismatrix und nochmaliger zeilenweisen 1D-FFT Ausführung äquivalent. In diesem Fall muß das Ergebnis vor der Ausgabe nochmals transportiert werden, um die Matrix in ihrer ursprünglichen Form zeilenweise zu erhalten (s. Fig. 1).
Eine andere notwendige Funktion, die durch die Verwendung eines speziellen Registers ermöglicht wird, ist das Umsortieren der FFT-Ergebnisvektoren aus der "reversed-bit order" in die natürliche Reihenfolge.
Diese beiden Aufgaben können durch einen Register-Aufbau gemäß Fig. 3 gelöst werden. Das wesentliche Merkmal davon ist die Möglichkeit, sowohl Bit-Zeilen als auch Bit- Spalten als Datenworte zu adressieren und somit parallel auszulesen. Dies geschieht durch eine Verwendung von zwei Adreß-Decodern, zwei Schreib/Lese-Verstärker Sätzen und zwei Wort- und Bit-Leitungen durch jede Speicherzelle.
Somit ist es möglich, durch eine Ansteuerung des Zeilen- Decoders eine Zeilen Wortleitung zu aktivieren und an den Spalten-Bitleitungen gleichzeitig alle zu dieser Zeile gehörenden Bits auszulesen.
Diese Aufgabe wird zusätzlich dadurch erleichtert, daß nach dem Auslesen der (wahrscheinlich) dynamischen Speicherzellen die zerstörte Information nicht wieder zurückgeschrieben zu werden braucht. Damit ergeben sich pro Bit extrem kurze Speicherzugriffszeiten, die der prallelen Verarbeitungspipeline angepaßt sind; ein Datenwort von mehreren hundert Bits Länge kann in ca. 30-40 ns gelesen werden.
Insgesamt läßt sich feststellen, daß im Parallelprozessor bei einem ebenfalls parallel lesbaren Speicher das Rechenwerk als das langsamste Glied der Kette praktisch allein die Verarbeitungsgeschwindigkeit bestimmt, da eine Butterfly- Stufe je nach Realisierung bis ca. 500 ns benötigt. Dies ist bei der vorgeschlagenen Register-Realisierung mehr als ausreichend, um ein neues Datenwort zu lesen und aus der Pipeline an seine Stelle ein Ergebnis-Datenwort zu übernehmen.
Die zweite von Register zu lösende Aufgabe, nämlich die aus der Pipeline herauskommenden Ergebnisse in die natürliche Reihenfolge umsortieren, läßt sich durch eine Ausführung der Spalten/Zeilen Decoder als "reversed-bit counder" beim Lesen der Daten aus dem Register durchführen. Fig. 4 soll diesen Vorgang verdeutlichen: die zeilenweise in das Register geschriebene Zwischenergebnis- Datenmatrix enthält Spalten in der bit-vertauschten Reihenfolge. Nun braucht man lediglich die Spalten in bit- vertauschter Reihenfolge auszulesen, was der Spaltendecoder der Speichermatrix leicht erledigen kann. Der äquivalente Vorgang geschieht beim zeilenweise Auslesen des Endergebnisses.
Im folgenden soll ein 2D-FFT Coder/Decoder für HDTV beschrieben werden:
Digitale Bewegtbildübertragung resultiert in enormen Bitraten, welche an das Übertragungssystem sehr hohe, häufig nicht erfüllbare technische Anforderungen stellen. Aufgrund hohe Redundanz- und Irrelevanzanteile ist eine starke Datenreduktion möglich.
Das digitale HDTV-Signal (High Definition Television) scheint für die vorzuschlagende Parallel-Pipeline Realisierung des 2D-FFT Prozessors eine natürliche Anwendung und Prüfstein zu sein, da mit konventioneller Technik (serielle DPCM) eine Datenreduktion für HDTV wegen hoher Geschwindigkeitanforderungen nicht lösbar ist.
Ein HDTV-Bild setzt sich nach COST 206 aus 1250×1750 pels (picture elements) zusammen. Jedem pel ist ein 8-bit quantisierter Luminianz-Wert Y zugeordnet. Jeden zwei pels in einer Zeile sind zwei je 8-bit quantisierte Chrominanzwerte U,V zugeordnet. Ein solches HDTV-Bild würde also ohne Datenreduktion 2 × 1250 × 1750 × 8 bit = 35 Mbit zur Darstellung benötigen. Diese entspricht bei 25 Bilder/s einer Gesamtbitrate von: 875 Mbit/s.
Der HDTV-Coder hat die Aufgabe, innerhalb 1/25 s eine Datenreduktion durchzuführen. Diese soll das Bild von den darin enthaltenen Redundanz- und Irrelevanzanteilen befreien und somit eine Datenreduktion beispielsweise um den Faktor:
 6,5 (135 Mbit/s PCM-Kanal)
12,5 ( 70 Mbit/s PCM-Kanal)
26,0 ( 34 Mbit/s PCM-Kanal)
ohne sichtbare Qualitätseinbußen durchzuführen.
Das HDTV-Bild, dargestellt durch eine 1250 × 1750 × 8 bit Y-Matrix und zwei 1250 × 1750/2 × 8 bit U/V-Matrizen wird in Blöcke aufgeteilt (Fig. 5). Diese werden paarweise, d. h. je zwei Y-Blöcke (in Fig. 5 mit 1 und 2 gekennzeichnet) oder ein U-(gekennzeichnet: 1) und ein V-Block (2), einer zweidimensionalen FFT unterworfen. Anschließend wird im Fourierraum eine Datenreduktion durchgeführt und der resultierende Datenstrom seriell ausgegeben.
Somit lassen sich das Luminanzsignal Y und die Chrominanzsignale, U,V durch identische Systeme bearbeiten, evtl., falls die Zeit dazu ausreicht, kann dies sogar mit ein und demselben System erledigt werden. Der einzige Unterschied zwischen der Y und U/V Verarbeitung besteht in einer eigenen Codierstruktur für U/V. So müssen die Chrominanzsignale beispielsweise aus Gründen ausgewogener Auflösung in allen Richtungen vertikal tiefpaßgefiltert werden. Da dieser Unterschied sich auf einen anderen Inhalt eines (Festwert-) Speichers beschränkt, braucht hier nur ein System (Y-Verarbeitung) beschrieben zu werden.
Da die Information von der HDTV-Kamera zeilenweise übergeben wird und für eine Darstellung am Monitor ebenfalls zeilenweise vom Decoder zur Verfügung gestellt werden muß, werden vom Coder und Decoder jeweils 2N Zeilenspeicher für eine Transformationscodierung von der Ordnung N×N benötigt. Während in N Zeilen 1750/N Blöcke nacheinander bearbeitet werden, müssen weitere N Zeilen von der Kamera empfangen werden bzw. zum Monitor gesendet werden. Nach Abschluß der Bearbeitung vertauschen die Speicherblöcke ihre Rollen. Fig. 6 zeigt das Prinzip der Zwischenspeicherung der Information in 2N Zeilenspeichern zur Blockverarbeitung.
Fig. 7 zeigt das Blockschaltbild eines entsprechenden VLSI-Verarbeitungssystems für eine 2 D-Transformationscodierung von der Ordnung N×N. Der von der Kamera an das System gelieferte Datenstrom durchläuft bei seiner Verarbeitung drei in ihrer Funktion voneinander unterscheidbare Einheiten.
Zunächst müssen die Daten für eine Pipeline-Verarbeitung aufbereitet werden. Dies bedeutet, daß die eigentlich zeilenweise ankommende Information zu quadratischen Blöcken zusammengefaßt wird, auf die zur weiteren Verarbeitung nun parallelen zugegriffen werden kann. Diese Aufgabe wird durch zwei gleich große Speicherblöcke bewältigt. Jeweils zwei davon enthalten N Zeilen, die gerade verarbeitet werden, weitere zwei empfangen von einem seriell/parallel Wandler über den Bus 1 (Breite N bit) zeilenweise die neu ankommende Bild-Information. Dabei werden aus einer HDTV- Zeile abwechseln N Werte in den Speicher für ungerade TC- Blöcke (im Fig. 7 links) und N Werte in den Speicher für gerade Blöcke (im Fig. 7 rechts) geschrieben. Das Ziel ist, im Speicher die auf Fig. 7 gezeigte Anordnung der Transformationsblöcke zu erhalten (Nummerierung der TC- Blöcke entspricht Fig. 6). Die Organisation der Speicherblöcke ist demnach 8N × 1750/2.
Nachdem die HDTV-Zeilen nun blockweise in den Speichern zur Verfügung stehen, kann die Verarbeitung im Pipeline- Prozessor beginnen. Die Daten aus den Speichern werden parallel über den Bus 2 (Breite 2×8N) in den Prozessor gelesen. Dabei werden zwei im HDTV-Bild benachbarte Blöcke (ein gerader und ein ungerader, s. Fig. 6) simultan zeilenweise der Verarbeitung zugeführt.
Nach der 2D-FFT gelangen die Daten über den Bus 3, der um 1d/N bit pro Zeilenwert breiter als der Bus 2 ist zum Codierer. Dieser hat die Aufgabe, aus den ankommenden komplexen Transformierten Zeilen die für die beiden TC- Blöcke signifikanten Bits herauszunehmen und seriell der Übertragung zuzuführen. Dies hat nach einem festen Codierschema zu geschehen, welches zu jedem Fourierkoeffienten die Anzahl der zu seiner Darstellung notwendigen Bits und evtl., bei Anwendung ortsfrequenzabhängiger Rundung im Fourierbereich, die Position des msb (most significant bit) bzw. des lsb (least significant bit) festgelegt. Diese Daten werden von einem Codier-RAM über den Bus 4 (Breite µ 2×4×N) für jede Zeile parallel zur Verfügung gestellt. Da die in diesem Speicher befindliche Information während der Gesamtdauer der Übertragung konstant bleibt, kann sie beim Systemstart seriell von einem ROM außerhalb des Verarbeitungschips eingelesen werden. Damit wird das Datenreduktionssystem hinsichtlich Codierstruktur flexibel. Eine Änderung des Datenreduktionsgrads oder des Übertragungsstandards erfordert lediglich ein Auswechseln der ROM's beim Sender und Empfänger.
Fig. 8 zeigt Aufbau eines entsprechenden Empfängers. Dieser ist, bis auf andere Richtungen der Datenströme, dem des Senders praktisch identisch.
Simulationsergebnisse mit N=64 lassen eine Großblock- Codierstruktur füreine HDTV-Datenreduktion auf 135 Mbit/s angeben. Fig. 9 zeigt eine mögliche Bitzuteilung. Es ist eine Irrelevanzreduktion in der Rautenstruktur der Codierung zu erkennen: Diagonalanteile, die nicht wahrnehmbar sind, werden weggefiltert. Eine Redundanzreduktion wird durch die Berücksichtigung der statistischen Tatsache durchgeführt, daß höhere Fourierkoeffizienten in der Regel niedrigere Amplitude haben. Daher brauchen für sie weniger bits auf der msb-Seite übertragen werden. Sollten einzelne Fourierkomponenten nicht in das dadurch vorgegebene Raster hineinpassen, müssen die fehlenden bits als Fehlerkorrektur zusätzlich mitübertragen werden. Man hat pro einen solchen Fehler mit höchstens zusätzlichen 16 bit zu rechnen um ihn zu beheben. Fig. 9 läßt erkennen, daß zur Verminderung solcher Fehler auf senkrechten und waagerechten Achsen des Fourierbereichs zusätzliche bits vorgesehen wurden. Dies trägt der Tatsache Rechnung, daß in üblichen Bildvorlagen senkrechte und waagrechte Strukturen sehr häufig vorkommen und damit hohe Leistungsanteile im Fourierbereich bewirken.
Durch die Einführung einer Irrelevanzreduktion in Form einer scharfen Rautenfilterung, entstehen im Ortsbereich Überschwinger, die einem Rauschen äquivalent sind und mit einer Zunahme scharfkantiger Strukturen im Bild ebenfalls zunehmen. Aus diesem Grund wird vorgeschlagen, um auch bei Bildern mit vielen feinen Strukturen die volle Auflösung und die gleiche niedrige Bitrate beibehalten zu können, eine Rundung im Fourierbereich vorzunehmen, d. h. niederwertigere Bits wegzulassen. Dies kann ohne Einfluß auf Bildqualität geschehen, solange die damit hinzugefügte Rauschleistung niedriger als die durch die Rautenfilterung bewirkte Rauschleistung ist.
Damit läßt sich eine adaptive Codierung durchführen, deren Güte mit steigender Blockgröße aus statistischen Überlegungen steigt. Ausgehend von einer festen Bitzuteilung zählt man die bei verschiedenen Rundungen (Weglassen von 2, 2, 3. . . niederwertigen bits) auftretenden Codierfehler. Anschließend wird diejenige Rundung gewählt, die gerade die gewünschte Gesamtbitrate (Bitzuteilung und Codierfehlerkorrektur) ergibt (135 Mbit/s entspricht 1.65 bit/pel). Da die Anzahl der Codierfehler mit der Anzahl der feinen Strukturen im Bild eng zusammenhängt (schlechter konvergierende Reihen) sind die zwei Rauschleistungen, nämlich die von der Rautenfilterung und die von der Rundung im Fourierbereich, verknüpft. In der Simulation hat sich ergeben, daß bei einer HDTV-Reduktion auf 135 Mbit/s das Gesamtrauschen nicht wahrnehmbar ist. Damit paßt sich die Codierung bei immer gleichbleibender Bitrate an die Bildvorlage: Bilder, die flache, stetige Strukturen enthalten, werden praktisch ohne Änderung im Empfänger wiederhergestellt; Bilder, die viele scharfkantige, feine Strukturen enthalten, wie z. B. Texte oder Zeichnungen, werden zwar mit etwas Rauschen (nicht wahrnehmbar), dafür jedoch mit voller Schärfe in Empfänger rekonstruiert.
Im folgenden soll die lineare Filterung näher beschrieben werden:
In vielen Anwendungen der linearen Filterung entsteht der Bedarf nach einer schnellen Ausführung einer mehrdimensionalen Faltung. Beispiele hierfür sind Bildverarbeitung (Nachbesserung defokusierter, verwackelter, verbrummter etc. Bilder), Radartechnik (z. B. SLAR: Side Looking Airborne Radar), Akustik (Schallabstrahlung und Schallausbreitung). Mit dem erfindungsgemäß vorgeschlagenen Hardware- Aufbau eines 2D-FFT Prozessors läßt sich ein Echtzeit- Prozessor für die lineare Filterung realisieren. Der Fall der Echtzeit HDTV-Codierung mit seinen 67.5 MHz Abtastfrequenz stellt die höchsten Anforderungen an die Rechengeschwindigkeit des Prozessors. Da auch diese Datenrate von dem beschriebenen FFT-Prozessor bewältigt wird, hängt die Ausführungsgeschwindigkeit der schnellen Faltung bei hohem Grad der Parallelisierung nur noch davon ab, wie schnell die Daten, die ja meistens seriell gewonnen werden, zur Verfügung gestellt werden können.
Fig. 10 zeigt den Aufbau eines Parallel-Rechenwerks zur Ausführung der schnellen Faltung.
Im folgenden soll auf die Mustererkennung eingegangen werden: Mustererkennung ist ein modernes und dynamisches Gebiet mit ständig wachsender Bedeutung. Der Bedarf an schnellen und effektiven mehrdimensionalen Mustererkennungssystemen (vor allem Bildauswertung) wird in der Zukunft immer größer werden.
Die Mustererkennung ist ein mit der Datenreduktion verwandtes Gebiet: Hier wie dort wird das wesentliche, signifikante aus der (Bild-)Vorlage extrahiert, daher überrascht es nicht, daß ähnliche Methoden hier wie dort zum Einsatz kommen. So ist eine Merkmalextraktion im Fourierraum wesentlich leichter und effizienter durchführbar als im Ortsraum. Dies ist vor allem in der energiekomprimierende Eigenschaft der Fouriertransformation begründet. Die Information wird kompakt auf einige wenige Fourierkomponenten verteilt. Damit eng zusammen hängt beispielsweise die Eigenschaft der Translationsinvarianz: das Betragsspektrum wird durch eine Verschiebung im Ortsraum nicht beeinflußt.
Dem Übergang in den Fourierbereich steht heute der große Rechenaufwand für die FFT im Wege, der, bei serieller Ausführung, der Arbeitsgeschwindigkeit und damit den Anwendungen der Mustererkennung enge Grenzen setzt.
Fig. 11 zeigt, als Anwendung des Parallel-FFT Prozessors den prinzipiellen Aufbau eines schnellen 2D-Mustererkennungssystems, das für Echtzeit-Bewegtbildauswertungen geeignet ist. Die Merkmalextraktion wird nach einem in einem Speicher festgelegten oder auch lernadaptiven Merkmal- Schema zeilenweise parallel durchgeführt und ist somit nicht zeitintensiv.
Im folgenden soll auf Verschlüsselung eingegangen werden:
Eine Verschlüsselung der (Bild-)Information im Fourierraum ist mit ihren vielfältigen Möglichkeiten sicherlich eine sehr attraktive technische Lösung. Vertauscht man beispielsweise die Reihenfolge von bereits einigen wenigen Fourierkoeffizienten, wird das Bild nicht mehr erkennbar. Wurde bereits ein leicht verändertes, dem unrechtmäßigen Empfänger unbekanntes, Bitzuteilungsschema (andere Codier- Software), um den Empfang unmöglich zu machen. Somit zeigen die Fig. 7 und 8 nicht nur ein System zur Datenreduktion, sondern auch ein System zur Verschlüsselung der Information in Bewegtbildkanälen.

Claims (6)

1. Schaltung zur Verarbeitung eines zweidimensionalen Bildmusters mit N Zeilen und N Spalten, die einer Fast- Fourier-Transformation unterzogen werden, mit folgenden Merkmalen:
  • - die Eingangsdaten werden zeilen- oder spaltenweise abgearbeitet,
  • - die Daten einer Zeile oder Spalte sind an ein Rechen­ werk angelegt, das aus ld(N) in Art einer Pipeline betriebenen Stufen besteht, von denen jede N Register und N/2 Butterfly-Operatoren aufweist, die die an ihnen anliegenden Eingangsdaten multiplizieren und addieren,
  • - in jedem Butterfly-Operator werden sämtliche Rechen­ operationen mit wenigstens einem Addierer ausgeführt,
  • - die einzelnen Zeilen oder Spalten werden nacheinander in Art einer Pipeline abgearbeitet,
  • - nach dem vollständigen Abarbeiten der Zeilen oder Spalten werden die Eingangsdaten spalten- bzw. zeilen­ weise abgearbeitet.
2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Fast-Fourier-Transforma­ tion der zweidimensionalen Daten durch zwei eindimensiona­ le Transformationen mit einer Zwischenspeicherung in einem Register realisiert wird.
3. Schaltung nach Anspruch 2, dadurch gekennzeichnet, daß für die Fast-Fourier-Transfor­ mation lediglich ein Rechenwerk vorhanden ist, das die beiden Transformationen nacheinander ausführt.
4. Schaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zur Realisierung der Butter­ fly-Operatoren lediglich ein Addierer dient.
5. Schaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Codierstruktur in einem Festwertspeicher niedergelegt ist.
6. Schaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Einzelprozessoren in CMOS- Technik als VLSI-Schaltung ausgeführt sind.
DE19853545106 1985-12-19 1985-12-19 Schaltung zur bilddatenreduktion, mustererkennung, etc. Granted DE3545106A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853545106 DE3545106A1 (de) 1985-12-19 1985-12-19 Schaltung zur bilddatenreduktion, mustererkennung, etc.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853545106 DE3545106A1 (de) 1985-12-19 1985-12-19 Schaltung zur bilddatenreduktion, mustererkennung, etc.

Publications (2)

Publication Number Publication Date
DE3545106A1 DE3545106A1 (de) 1987-06-25
DE3545106C2 true DE3545106C2 (de) 1992-07-16

Family

ID=6288953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853545106 Granted DE3545106A1 (de) 1985-12-19 1985-12-19 Schaltung zur bilddatenreduktion, mustererkennung, etc.

Country Status (1)

Country Link
DE (1) DE3545106A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2210229B (en) * 1987-09-24 1991-11-20 Matsushita Electric Works Ltd Picture encoding system
US5054103A (en) * 1987-09-24 1991-10-01 Matsushita Electric Works, Ltd. Picture encoding system
JP2960419B2 (ja) * 1988-08-10 1999-10-06 株式会社日立製作所 磁気共鳴イメージング方法
JPH07240844A (ja) * 1993-03-19 1995-09-12 Mitsubishi Electric Corp 画像データ処理装置および画像データ処理方法
FR2705805B1 (fr) * 1993-05-27 1996-06-28 Sgs Thomson Microelectronics Système de traitement d'images.
JPH07129766A (ja) * 1993-10-29 1995-05-19 Fujitsu Ltd 画像処理方式
US5642444A (en) * 1994-07-28 1997-06-24 Univ North Carolina Specialized image processing system architecture and method for image data arrays
DE19623365A1 (de) * 1996-06-12 1997-12-18 Daimler Benz Ag Verfahren und Anordnung zur Transformation einer Eingangsvariablen

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4468727A (en) * 1981-05-14 1984-08-28 Honeywell Inc. Integrated cellular array parallel processor
US4484349A (en) * 1982-03-11 1984-11-20 Environmental Research Institute Of Michigan Parallel pipeline image processor

Also Published As

Publication number Publication date
DE3545106A1 (de) 1987-06-25

Similar Documents

Publication Publication Date Title
DE69029976T2 (de) Verfahren und Einrichtung zur Bilddatenkompression durch mathematische Transformation
DE69723550T2 (de) Kodierung und dekodierung von grafischen symbolen
DE19819198B4 (de) Reversible DCT für verlustfreie/verlustbehaftete Kompression
DE3750791T2 (de) Sehr schnelle Transformationsvorrichtung.
DE3850627T2 (de) Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung.
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE2625973C3 (de) Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern
DE3750017T2 (de) Prozessor für orthogonale Transformation.
DE4133460A1 (de) Einrichtung und verfahren zum verdichten von bildern
DE2640140A1 (de) Verfahren und anordnung zur redundanzvermindernden bildcodierung
DE69121995T2 (de) Bild-kodiereinrichtung und Bild-dekodiereinrichtung
DD293933A5 (de) Bewegungsabschaetzeinrichtung
EP0077089B1 (de) Anordnung zum Speichern oder Übertragen von transformationskodierten Bildsignalen und zum Rückgewinnen dieser Bildsignale
DE69820148T2 (de) Verfahren zur Kompression/Dekompression von Bilddaten
DE3545106C2 (de)
DE10204617A1 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
EP0336510B1 (de) Prädiktiver Standbildcodierer
DE19746255A1 (de) Verfahren zur Durchführung der inversen, diskreten Kosinustransformation
DE3726601C2 (de)
EP0442096A2 (de) Einrichtung zur bandbreitenreduzierenden Codierung von Videosignalen
DE69115530T2 (de) System zum Filtern eines Bildes
DE4136636A1 (de) Einrichtung zur codierung von bildsignalen
EP0786186B1 (de) Segmentadaptive zweidimensionale orthogonale transformationskodierung für ein digitales fernsehsystem
EP0241745A1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
EP0796016B1 (de) Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee