DE3545106A1 - Schaltung zur bilddatenreduktion, mustererkennung, etc. - Google Patents

Schaltung zur bilddatenreduktion, mustererkennung, etc.

Info

Publication number
DE3545106A1
DE3545106A1 DE19853545106 DE3545106A DE3545106A1 DE 3545106 A1 DE3545106 A1 DE 3545106A1 DE 19853545106 DE19853545106 DE 19853545106 DE 3545106 A DE3545106 A DE 3545106A DE 3545106 A1 DE3545106 A1 DE 3545106A1
Authority
DE
Germany
Prior art keywords
fft
parallel
bit
data
line
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.)
Granted
Application number
DE19853545106
Other languages
English (en)
Other versions
DE3545106C2 (de
Inventor
Valery Dipl Ing Axelrad
Walter Dipl Ing Stechele
Ingolf Dr Ing 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
RUGE I
STECHELE J
Original Assignee
AXELRAD E
RUGE I
STECHELE J
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, RUGE I, STECHELE J filed Critical AXELRAD E
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)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Discrete Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Description

Die Erfindung bezieht sich auf eine Schaltung zur Bilddatenreduktion, Mustererkennung etc. mit schnellen diskreten Fourier Transformation (im folgenden auch als FFP bezeichnet).
Die schnelle diskrete Fourier Transformation hat in den letzten Jahren stetig an Bedeutung gewonnen. Mit steigenden Rechnerleistungen sind immer neue Anwendungsmöglichkeiten eröffnet worden. Bis heute sind jedoch Echtzeitanwendungen vor allem in der Bildverarbeitung, aber auch in anderen Gebieten, wie Mustererkennung, linearer Filterung und Verschlüsselung mit großen Schwierigkeiten 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 (Transformationscodierung) mittels FFT nicht in der Praxis realisiert worden.
Vor allem für Datenreduktionsmethoden sind deshalb in der Vergangenheit fast ausschließlich sogenannte Differenzpulscodemodulations- Verfahren (BTCM) eingesetzt worden, bei denen eine Redundantenreduktion im Ortsbereich erfolgt. Jedoch kann im Ortsbereich nur eine relativ schwache Datenreduktion erreicht werden. So erzielt man mit einer eindimensionalen DPCM lediglich einen Datenreduktionsfaktor von weniger als 1,6, während eine zweidimensionale DPCM einen Faktor von weniger als 2 und die sehr speicheraufwendige dreidimensionale DPCM einen Reduktionsfaktor von weniger als 2,7 aufweist. Eine darüberhinausgehende Datenreduktion war bei den bislang bekannten Systemen stehts mit räumlicher und/oder zeitlicher Auflösungsverminderung 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 Geschwindigkeitsanforderungen 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 benützen 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 beispielsweise zur schnellen Datenreduktion geeignete Schaltung anzugeben, bei der z. B. aus einer Bildfolle 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.
Durch die Steigerung des Parallelisierungsgrades 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 parallelarbeitenden Recheneinheiten zu ersetzen. Durch diese Arbeitsaufteilung ergeben sich eine Reihe von Vorteilen:
Die Geschwindigkeitsanforderungen an die einzelnen Rechenwerke 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 externem 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äß 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, 65, 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<ze parallel festverdrahtete BO die alle aus je zwei komple-<zexen Eingabewerten zwei komplexe Ausgabewerte er-<zerechnen. Diese werden an dieselben Positionen im Vek-<zetor zurückgeschrieben, an denen die zwei Eingabewerte<ze standen. Ein Vorteil dieser Realisierung besteht darin,<ze daß die Butterfly-Faktoren eines jeden BO fest verdrah-<zetet werden können, da sie während der Berechnung un-<zeverändert bleiben. Bild 2 zeigt den Aufbau eines Pipe-<zeline-Parallelprozessors. Dieser enthält insgesamt<ze 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/Zeiten 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 Datenorte 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 allei die Verarbeitungsgeschwindigkeit bestimmt, da eine Butterfly- Stufe je nach Reaisierung 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 Reihenfolle 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<ze 1250×1750 pels (picture elements) zusammen. Jedem<ze pel ist ein 8-bit quantisierter Luminianz-Wert Y zuge-<zeordnet. Jeden zwei pels in einer Zeile sind zwei je 8-bit<ze quantisierte Chrominanzwerte U,V zugeordnet. Ein sol-<zeches HDTV-Bild würde also ohne Datenreduktion<ze 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 bit/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 (im 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 e in allen Richtungen vertikal tiefpaßgefiltert werden. Da dieser Unterschied sich auf einen anderen Inhalt eines (Festwert-) Speichers beschränkt, brauch 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. um 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- Prozess 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 der 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- Codierstrucktur 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ückichtigung 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 es 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 Leistungsanteileim Fourierbereich bewirken.
Durch die Einführung einer Irrelevanzreduktion in<ze Form einer scharfen Rautenfilterung, entstehen im<ze Ortsbereich Überschwinger, die einem Rauschen äqui-<zevalent sind und mit einer Zunahme scharfkantiger<ze Strukturen im Bild ebenfalls zunehmen. Aus diesem<ze Grund wird vorgeschlagen, um auch bei Bilde mit vielen<ze feinen Strukturen die volle Auflösung und die gleiche<ze niedrige Bitrate beibehalten zu können, eine Rundung<ze im Fourierbereich vorzunehmen, d. h. niederwertigere <zeBits wegzulassen. Dies kann ohne Einfluß auf Bildquali-<zetät geschehen, solange die damit hinzugefügte <zeRauschleistung 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 dind Bildverarbeitung (Nachbesserung defokusierter, verwackelter, verbrummter etc. Bilder), Akustik (Schallabstrahlung und Schallausbreitung). Mit dem erfindungsgemäß vorgeschlagenem 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 hohen Grad der Parallelisierung nur noch davon ab, wie schnell die Daten, die ja meistens seriell gewonnen werden, zur Verfügung gestellt werden könne.
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 wenig Fourierkomponenten verteilt. Damit eng zusammen hängt beispielweise 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 Rechenwand 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 (5)

1. Schaltung zur Bilddatenreduktion, Mustererkennung etc, dadurch gekennzeichnet, daß zur Bildverarbeitung im Fourierraum eine Reihe von einfach aufgebauten Einzelprozessoren in einer regulären Logik parallelgeschaltet und über eine Pipline verbunden sind.
2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Codierstruktur in einem Festwertspeicher niedergelegt ist.
3. Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Einzelprozessoren in CMOS- Technik als VLSI-Schaltung ausgeführt sind.
4. Schaltung nach einem der Ansprüche 1 bis 3, gekennzeichnet durch den beschriebenen Aufbau der Einzelprozessoren.
5. Verwendung der beschriebenen Schaltung zur Bilddatenanalyse in den angegebenen Anwendungsfällen.
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 true DE3545106A1 (de) 1987-06-25
DE3545106C2 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3832476A1 (de) * 1987-09-24 1989-04-13 Matsushita Electric Works Ltd Bildcodiersystem
DE3926337A1 (de) * 1988-08-10 1990-02-15 Hitachi Ltd Verfahren und vorrichtung zum erzeugen einer abbildung durch magnetische kernresonanz
US5054103A (en) * 1987-09-24 1991-10-01 Matsushita Electric Works, Ltd. Picture encoding system
FR2702862A1 (fr) * 1993-03-19 1994-09-23 Mitsubishi Electric Corp Appareil et procédé de traitement de données d'image capables de traiter des données d'images à vitesse élevée.
EP0626653A1 (de) * 1993-05-27 1994-11-30 STMicroelectronics S.A. Bildverarbeitungssystem
DE4425327A1 (de) * 1993-10-29 1995-05-04 Fujitsu Ltd Bildverarbeitungsverfahren und Bildverarbeitungssystem
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

Citations (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

Patent Citations (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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Thomas A. Kriz: "Reduced Data Re-Order Complexity Properties of Polynomial Transform 2D Convolutionand Fourier Transform Methods" in IBM J. Res. Develop., Vol. 26, Nr. 6, November 1982, S. 708-714 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3832476A1 (de) * 1987-09-24 1989-04-13 Matsushita Electric Works Ltd Bildcodiersystem
US5054103A (en) * 1987-09-24 1991-10-01 Matsushita Electric Works, Ltd. Picture encoding system
DE3926337A1 (de) * 1988-08-10 1990-02-15 Hitachi Ltd Verfahren und vorrichtung zum erzeugen einer abbildung durch magnetische kernresonanz
FR2702862A1 (fr) * 1993-03-19 1994-09-23 Mitsubishi Electric Corp Appareil et procédé de traitement de données d'image capables de traiter des données d'images à vitesse élevée.
EP0626653A1 (de) * 1993-05-27 1994-11-30 STMicroelectronics S.A. Bildverarbeitungssystem
FR2705805A1 (fr) * 1993-05-27 1994-12-02 Sgs Thomson Microelectronics Système de traitement d'images.
US5579052A (en) * 1993-05-27 1996-11-26 Sgs-Thomson Microelectronics S.A. Picture processing system
DE4425327A1 (de) * 1993-10-29 1995-05-04 Fujitsu Ltd Bildverarbeitungsverfahren und Bildverarbeitungssystem
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

Also Published As

Publication number Publication date
DE3545106C2 (de) 1992-07-16

Similar Documents

Publication Publication Date Title
DE69425847T2 (de) Rechner für die inverse diskrete Cosinus-Transformation
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69029976T2 (de) Verfahren und Einrichtung zur Bilddatenkompression durch mathematische Transformation
DE3750791T2 (de) Sehr schnelle Transformationsvorrichtung.
DE69332425T2 (de) Vorrichtung und Verfahren zur Übertragung von Videosignalen
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE3850627T2 (de) Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung.
DE69723550T2 (de) Kodierung und dekodierung von grafischen symbolen
DE69523439T2 (de) Verfahren und Vorrichtung zur Bildsignalkodierung mit einer Klassifizieranlage
DE2625973B2 (de) Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern
DE2640140A1 (de) Verfahren und anordnung zur redundanzvermindernden bildcodierung
DE4339753A1 (de) Vorrichtung zum Komprimieren und Dekomprimieren von Bilddaten
DE69331174T2 (de) Bildverarbeitungsvorrichtung
DE69424923T2 (de) Verfahren und Anordnung zur Bearbeitung eines dekodierten Bildsignals mit Verzerrung
EP0077089B1 (de) Anordnung zum Speichern oder Übertragen von transformationskodierten Bildsignalen und zum Rückgewinnen dieser Bildsignale
DE3545106C2 (de)
EP0336510B1 (de) Prädiktiver Standbildcodierer
DE69509421T2 (de) Verschiebungsstufe für einen Dekodierer von digitalen Kodes veränderlicher Länge
DE3726601C2 (de)
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
EP0442096A2 (de) Einrichtung zur bandbreitenreduzierenden Codierung von Videosignalen
EP0346750B1 (de) Anordnung zur DPCM-Codierung mit hoher Datenrate
EP0303978B1 (de) Verfahren und Schaltungsanordnung zur Verbesserung der Auflösung von digitalen Signalen
EP0244001B1 (de) Hybrid-Codierer für Videosignale
DE3124550C2 (de)

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