PatentDe  


Dokumentenidentifikation DE3852592T2 22.06.1995
EP-Veröffentlichungsnummer 0306305
Titel Bildbehandlungsprozessor mit zeitverschachteltem Bus mit freiem Fluss.
Anmelder Minnesota Mining and Mfg. Co., Saint Paul, Minn., US
Erfinder Brown, Dwight E.- c/o Minnesota Mining and, St. Paul, Minnesota 55133-3427, US;
Laughery, Mark S. -c/o Minnesota Mining and, St. Paul, Minnesota 55133-3427, US;
Lang, Thomas A., Temple City, California 91780, US
Vertreter derzeit kein Vertreter bestellt
DE-Aktenzeichen 3852592
Vertragsstaaten DE, FR, GB, NL
Sprache des Dokument En
EP-Anmeldetag 01.09.1988
EP-Aktenzeichen 883080954
EP-Offenlegungsdatum 08.03.1989
EP date of grant 28.12.1994
Veröffentlichungstag im Patentblatt 22.06.1995
IPC-Hauptklasse G06T 1/20

Beschreibung[de]
Allgemeiner Stand der Technik

Die vorliegende Erfindung betrifft digitale Bildverarbeitungssysteme. Insbesondere betrifft die vorliegende Erfindung ein digitales Bildverarbeitungssystem, das den freien Fluß von Hochgeschwindigkeits-Bilddaten und Adressen in einer Pipeline-Architektur ermöglicht.

In den vergangenen Jahren wurden viele verschiedene Arten digitaler Bildverarbeitungssysteme entwickelt und diese wurden auf zahlreichen Gebieten angewandt, wie etwa bei der medizinischen Abbildung, der Istwert-Fernerfassung und auf dem graphischen Gebiet. Diese Entwicklungsweise bezog sich jedoch hauptsächlich auf die Entwicklung neuer Prozessorelemente mit einer effizienteren Architektur, auf größere und schnellere Speicherelemente und auf höher entwickelte Ein-Ausgabe-Elemente. Die Technik zur Informationsübertragung zwischen den verschiedenen Elementen in dem Bildverarbeitungssystem wurde jedoch nur wenig verändert.

In digitalen Bildverarbeitungssystemen wird normalerweise eine Pipeline-Architektur verwendet, wobei parallele digitale Daten innerhalb des Bildprozessors von einem Element zu dem anderen fließen. Diese Pipeline-Architektur schafft die Möglichkeit für Hochgeschwindigkeits-Datenübertragungen, da die Daten innerhalb des Pipeline-Bildprozessors parallel von einem Element zu dem anderen übertragen werden. Jedes Element bzw. jeder Block in dem Prozessor führt eine bestimmte Funktion aus und leitet die Ergebnisse zu dem nächsten Element in dem Prozessor weiter. Diese, dem Stand der Technik entsprechende Pipeline- Bildprozessorarchitektur, ist jedoch bezüglich der rechenbetonten Komplexität der ausführbaren Bildverarbeitungsfunktionen an praktische Grenzen gestoßen. Normalerweise wird der Prozessor mit dem Videomonitor synchronisiert, wodurch bezüglich der maximalen Zeit, die eine Verarbeitungsaufgabe in einem der Pipeline- Prozessorblöcke in Anspruch nehmen kann, eine praktische Grenze gesetzt wird. Dadurch wird wiederum die Rechenkomplexität eingeschränkt, die durch den Bildprozessor ausgeführt werden kann. Standardbuse, wie etwa VME oder MULTIBUS, können Bildfunktionen hoher Rechenkomplexität bewältigen, jedoch können sie die für ein Hochleistungs-Bildverarbeitungssystem erforderlichen hohen Übertragungsfrequenzen nicht aufrechterhalten.

In einem dem Stand der Technik entsprechenden Schriftstück von Tatsumi u.a., "TULIP-II: a flexible multiprocessor system for image processing by controlling the video data flows", Proceed. of the International Conference on Cybernetics and Society, Tucson, Arizona, 12. - 15. November 1985, IEEE Computer Society Press, New York, USA, wird auf den Seiten 834-837 ein Mehrprozessorsystem zur Bildverarbeitung offenbart, mit einer Mehrzahl von Slave-Prozessormodulen, die in einer Prozessor- Pipeline miteinander verbunden werden können. Die Prozessormodule sind über einen Systembus, der über ein Hauptprozessormodul gesteuert wird und über einen Videobus zur Bilddatenübertragung miteinander verbunden. Jeder Slave-Prozessor umfaßt einen Bilddatenspeicher.

Zusammenfassung der Erfindung

Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein digitales Bildverarbeitungssystem nach Anspruch 1.

Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein digitales Bildverarbeitungssystem nach Anspruch 9.

Bei der vorliegenden Erfindung handelt es sich um ein Bildverarbeitungssystem, wobei verschiedene Komponenten des Bildverarbeitungssystems miteinander dadurch in Verbindung stehen, daß sie über einen Pipeline-Bus parallel Adressen und Daten übertragen.

Das Bildverarbeitungssystem umfaßt eine Bildspeichereinrichtung zum Speichern digitaler Bilddaten, eine Intensitätsprozessoreinrichtung zur Ausführung von Verarbeitungsfunktionen an den Bilddaten und eine Adreßgeneratoreinrichtung zur Erzeugung von Adressen. Diese Komponenten stehen über den Pipeline-Bus alle miteinander in Verbindung.

Bei der vorliegenden Erfindung verwendet der Pipeline-Bus somit ein Handshake-Protokoll, welches die sehr schnelle Übertragung von Adressen und Daten ermöglicht, das jedoch ein Start-Stopp- Freiflußformat aufweist, das es ermöglicht, daß der Pipeline-Bus bei jeder Datenrate läuft. Dies ist bei der Pipeline- Bildverarbeitung von Bedeutung, da sich die Rechenkomplexität von Operation zu Operation ändert. Bei der vorliegenden Erfindung ermöglicht der Pipeline-Bus den freien Fluß durch alle mit dem Pipeline-Bus verbundenen Komponenten, und zwar unabhängig von der ausgeführten Operation, ohne daß unbestimmt erhaltbare hohe Übertragungsgeschwindigkeiten darunter leiden.

Kurze Beschreibung der Zeichnungen

Es zeigen:

Figur 1 ein Blockdiagrainm eines Bildprozessors, der den erfindungsgemäßen Pipeline-Bus mit freiem Fluß aufweist;

die Figuren 2A, 2B und 2C entsprechend einen Pipeline-Adreßbus (PA), einen Pipeline-Datenbus (PD) bzw. einen Mastertakt-Bus (MT), des Pipeline-Buses aus Figur 1;

Figur 3 schematisch einen 4x4 Pixel-Teilbildblock, der in dem Bildprozessor verwendet wird;

Figur 4 ein Diagramm, das das Verhältnis der Systemzyklen, der Buszyklen und des Systemtakts in einem bevorzugten Ausführungsbeispiel von Figur 1 darstellt;

Figur 5 ein Diagramm, das PA-Masteranforderungen und PA- Slaveantworten darstellt;

Figur 6 ein Diagramm, das gerade und ungerade Systemzyklen in einem Systemzykluspaar auf dem PD-Bus aus Figur 2B darstellt;

die Figuren 7A und 7B Diagramme, welche die Anordnung der Bildpunktdaten darstellen, die in einem zusammenhängenden 4x4- Blockformat bzw. einem verschachtelten Blockübertragungsformat übertragen werden;

Figur 8 ein Taktdiagramm, das die Systemzyklen und die Zustände der Handshake-Leitungen des Systems aus Figur 1 veranschaulicht;

die Figuren 9A und 9B Masterbus-Taktsignale des Systems aus Figur 1;

Figur 10 ein funktionales Blockdiagramm des Adreßgenerators des Systems aus Figur 1;

Figur 11 ein funktionales Blockdiagramm des Pipeline- Bildspeichers des Systems aus Figur 1;

die Figuren 11A-11C die Organisation und Operation des Bildspeichers, wo eine Verkettung erforderlich ist;

Figur 12 ein fuktionales Blockdiagramm des Intensitätsprozessors des Systems aus Figur 1; und

Figur 13 ein funktionales Blockdiagramm des Anzeige-Formatierers des Systems aus Figur 1.

Genaue Beschreibung der bevorzugten Ausführungsbeispiele 1. Digitaler Bildprozessor 10

Die Figur 1 zeigt einen digitalen Bildprozessor 10, bei dem es sich um einen Pipeline-Bildprozessor mit Videofrequenz und freiem Fluß handelt, bei dem die erfindungsgemäße Pipeline- Busarchitektur eingesetzt wird. In den Ausführungsbeispielen aus Figur 1 umfaßt der digitale Bildprozessor 10 ein Mikrocomputer- Steuerteil 12, eine Eingabeschnittstelle 14, einen Bildspeicher 16, einen Adreßgenerator 18, einen Intensitätsprozessor 20, einen Anzeige-Formatierer 22, eine Videoanzeige 24 und eine Ausgabeschnittstelle 26. Die Übertragung zwischen den Komponenten des Bildprozessors 10 erfolgt hauptsächlich über zwei getrennte Busleitungen, d.h. den Standardbus 28 und den Pipeline-Bus 30. Bei dem Standardbus 28 handelt es sich vorzugsweise um einen Industrie-Computerbus (wie etwa VME oder MULTIBUS) und er wird zur Übertragung von Steuerinformationen zwischen dem Mikrocomputer-Steuerteil 14 und den anderen Komponenten des digitalen Bildprozessors 10 verwendet.

Die hohe Übertragungsgeschwindigkeit der digitalen Bilddaten erfolgt andererseits über den Pipeline-Bus 30. Wie dies später im Text weiter beschrieben wird, umfaßt der Pipeline-Bus 30 einen Pipeline-Adreßbus (PA) 34, einen Pipeline-Datenbus (PD) 36 und einen Master-Taktbus (MT) 38, die entsprechend in den Figuren 2A- 2C dargestellt sind. Sämtliche Bilddatenübertragungen zwischen den Komponenten des digitalen Bildprozessors 10 erfolgen über den Pipeline-Bus 30.

Der Mikrocomputer-Steuerteil 12 sieht eine Schnittstelle zwischen dem digitalen Bildprozessor 10 und dem Anwender vor. Abhängig von den bestimmten Anwenderbefehlen an den Mikrocomputer-Steuerteil 12, sendet dieser über den Standardbus 28 Signale an die einzelnen Komponenten, um diese so zu konfigurieren, daß sie die verlangte Bildverarbeitungsaufgabe ausführen.

Die Eingabeschnittstelle 14 empfängt zeilenweise Hochgeschwindigkeits-Eingabe-Bilddaten bzw. andere Eingabe- Bilddaten, die ein digitales Bild darstellen. Die Eingabedaten können zum Beispiel von einem Computer oder von Datenspeicherungsvorrichtungen stammen.

Bei dem Bildspeicher 16 handelt es sich um einen Schreib-Lese- Speicher, der digitale Bilddaten speichert. Die Eingabedaten von der Eingabeschnittstelle 14 werden in den Bildspeicher 16 geschrieben (wie verarbeitete Bilddaten von dem Intensitätsprozessor 20). Die Bilddaten werden aus dem Bildspeicher 16 ausgelesen, um eine Eingabe in den Intensitätsprozessor 20 sowie Ausgaben an den Anzeige-Formatierer 22 und die Ausgabeschnittstelle 26 vorzusehen.

Der Adreßgenerator 18 erzeugt den Adreßstrom über den Pipeline- Bus 30, durch den der Bildspeicher 16 adressiert wird, so daß eine Übertragung der digitalen Bilddaten bewirkt wird; zum Beispiel zur Verarbeitung von dem Bildspeicher 16 zu dem Intensitätsprozessor 20. Außerdem steht der Adreßgenerator 18 über funktionale Adreßleitungen 32 direkt in Verbindung mit dem Intensitätsprozessor 20, um die durch den Intensitätsprozessor 20 ausgeführten funktionalen Bildverarbeitungsoperationen zu steuern.

Der Anzeige-Formatierer 22 wandelt die digitalen Bilddaten in Anzeige-Antriebssignale um, welche die Videoanzeige 24 antreiben. Bei einem Ausführungsbeispiel handelt es sich bei der Videoanzeige 24 um einen Rasterabtastungs-Videomonitor, wobei der Anzeige-Formatierer 22 die digitalen Bilddaten, welche einzelne Bildelemente auf der Anzeige darstellen, in analoge Videosignale umwandelt, die von der Videoanzeige 24 verwendet werden. Der Anzeige-Formatierer 22 ermöglicht vorzugsweise eine asynchrone Funktionsweise der Videoanzeige 24 in bezug auf den Rest des digitalen Bildprozessors 10. Dadurch, daß es nicht mehr notwendig ist, die Funktionsweise mit der Videosynchronisierungsfrequenz der Videoanzeige 24 gleichzurichten, ist eine frei fließende Stopp-Start-Datenübertragung über den Pipeline-Bus 30 möglich.

Die Ausgabeschnittstelle 26 ermöglicht durch eine zeilenweise Hochgeschwindigkeits-Datenübertragung eine Verbindung des digitalen Bildprozessors 10 mit anderen digitalen Geräten. In einem Ausführungsbeispiel entspricht das Format der von der Ausgabeschnittstelle 26 übertragenen Daten dem Format der Daten, die von der Eingabeschnittstelle 14 empfangen werden.

Der Intensitätsprozessor 20 führt Pipeline- Bildpunktintensitätsberechnungen auf der Basis der von dem Bildspeicher 16 empfangenen Eingabedaten und der von dem Adreßgenerator 18 empfangenen Funktionsadressen aus. In bevorzugten Ausführungsbeispielen verwendet der Intensitätsprozessor 20 adaptives Filtern mit begrenztem Ansprechen auf einen Impuls (FIR) zur Ausführung einer Vielzahl unterschiedlicher Intensitätsberechnungen.

Um die Effizienz der Datenübertragung über den Pipeline-Bus 30 zu erhöhen, werden die Bilddaten durch Teilbildblöcke übertragen. Jeder Block stellt ein N X N Quadrat räumlich zusammenhängender Pixel dar. In dem beschriebenen bevorzugten Ausführungsbeispiel der vorliegenden Erfindung handelt es sich bei dem Teilbildblock um einen 4x4 Block - d.h. jeder Block stellt sechzehn Pixel dar.

Somit muß nicht jedes einzelne Pixel der Bilddaten in dem Bildspeicher 16 adressiert werden, sondern es ist nur eine einzige Adresse 310 erforderlich. In einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung stellt diese Adresse 310 das obere linke Pixel jedes 4x4 Pixelblocks dar, wie dies in Figur 3 bei 308 schematisch dargestellt ist. Durch die Adressierung von sechzehn Pixeln mit einer einzigen Adresse 308 wird eine effizientere Datenübertragung mit höherer Geschwindigkeit erreicht. In einem Ausführungsbeispiel der vorliegenden Erfindung werden bis zu vier Operationen (Lesen oder Schreiben) jeweils mit 2,5 Megaoperationen je Sekunde ausgeführt, wobei jede Operation die Adressierung eines Pixelblocks mit sechzehn Pixeln darstellt. Die entspricht einer Rate von 40 Megapixeln je Sekunde/je Operation, bei insgesamt 160 Megapixeln je Sekunde.

In dem nachstehend genau beschriebenen bevorzugten Ausführungsbeispiel wird jedes Pixel durch acht Bits dargestellt. Das 4x4 Pixelquadrat wird über den Pipeline-Bus 30 als vier 32- Bit Folgewörter übertragen. Das "Wort 0" stellt die obere Reihe 312 des 4x4 Blocks dar und es handelt sich dabei um ein 32-Bit Wort, das aus den vier 8-Bit Pixeln der oberen Reihe gebildet wird. In ähnlicher Weise handelt es sich bei den Wörtern "Wort 1", "Wort 2" und "Wort 3" um 32-Bit Wörter, die aus einer Reihe von vier 8-Bit Pixeln gebildet werden. "Wort 3" stellt die untere Reihe des Blocks dar.

2. Pipeline-Bus 30

Der Pipeline-Bus 30 umfaßt drei Hauptbestandteile, einen Pipeline-Adreßbus (PA) 34, einen Pipeline-Datenbus (PD) 36 und den Master-Taktbus (MT) 38. Abhängig von der Anzahl der mit dem Pipeline-Bus 30 zu verbindenden Komponenten und den bestimmten Verarbeitungsanforderungen, sind mehr als ein PA-Bus 34 und mehr als ein Pipeline-Datenbus (PD) 34 vorhanden. In dem nachstehend beschriebenen bevorzugten Ausführungsbeispiel umfaßt der Pipeline-Bus 30 zwei PA-Busse 34A und 34B und sechs PD-Busse 36A- 36F. Der PA-Bus 34 aus Figur 2A und der PD-Bus 36 aus Figur 2B sind für jeden PA- und PD-Bus in dem Pipeline-Bus 30 kennzeichnend.

Der PA-Bus 34 trägt physikalische Adressen als digitale Muster gespeicherter Daten in dem Bildspeicher 16 sowie Steuer- und Leitungsinformationen für diese Daten. Der PA-Bus 34 leitet Operationen ein, die an einem oder mehreren PD-Bussen 36 auftreten. Bei dem PA-Bus 34 handelt es sich um einen Dreistufen- Bus, der an seinen physikalischen Start- und Endpunkten im Hochlogikzustand endet.

Ein Buszyklus an dem PA-Bus 34 gleicht zwei Systemtakten, wie dies in Figur 4 dargestellt ist. Bei einem Buszyklus handelt es sich um die Dauer, die eine einzige Adresse auf dem PA-Bus 34 verweilt.

Bei einem Systemzyklus 422 handelt es sich, wie dies in Figur 4 dargestellt ist, um eine Zeitperiode, die eine Dauer von vier Buszyklen (410-413) ausmacht. Der Systemzyklus (422) definiert die Periodizität des PA-Busses 34. Jeder Buszyklus (410-413) des Systemzykluses (422) ist als Buszyklus 0 (410), Buszyklus 2 (411), Buszyklus 2 (412) oder Buszyklus 3 (413) bezeichnet.

Bei den Komponenten, die den PA-Bus 34 verwenden, handelt es sich entweder um PA-Master oder PA-Slaves. Ein PA-Master ist die Datenquelle auf dem PA-Bus 34. Ein PA-Slave ist der Empfänger der Daten auf dem PA-Bus 34. Alle PA-Slave-Antworten treten zwei Systemzyklen (422) nach dem Systemzyklus (422) auf, in dem der PA-Master die Operation gestartet hat.

Bei dem PA-Bus 34 handelt es sich um einen festen Vier-Eins- Zeitmultiplexbus mit festen Mastern, die für jeden Systemzyklus (422) bei jedem Buszyklus (410-413) aktiviert werden. Mit anderen Worten, jeder PA-Master weist einen bestimmten Zeitschlitz (einer der Buszyklen (410-413)) in jedem Systemzyklus (422) auf.

Wie dies in Figur 2A dargestellt ist, umfaßt der PA-Bus 34 insgesamt 35 Leitungen, mit 26 Adreßleitungen und 9 Steuerleitungen. Durch den PA-Master werden "X" physikalische Adreßleitungen XPO-XP12 (210) und "Y" physikalische Adreßleitungen YPO-YP12 (212) geltend gemacht. Wenn die Operation den Bildspeicher 16 einschließt, so wird die Eingangs-Ausgangs- Leitung E/A (222) durch den PA-Master auf "0" gesetzt. In dem Fall definieren die Leitungen XPO-XP12 (210) eine physikalische X Adresse in dem Bildspeicher 16 (gemäß der X-Koordinate des oberen linken Pixels des gewünschten 4x4 Teilbildblocks). Ebenso definieren die Leitungen YPO-YP12 (212) eine physikalische Y Adresse in dem Bildspeicher 16, die der Y-Koordinate des oberen linken Pixels des 4x4 Teilbildblocks entspricht.

Wenn die Eingangs-Ausgangsleitung E/A (220) durch den PA-Master auf "1" gesetzt wird, so handelt es sich bei der Operation um eine Parameter-Übertragungsoperation. In diesem Fall entsprechen die Leitungen XPO-XP12 (210) den Bits 0-12 auf dem Standardbus 28 und die Leitungen YPO-YP10 (212) entsprechen den Bits 13-23 des Standardbusses 28. In dem Fall werden YP1 und YP12 (von 212) nicht verwendet.

Die nicht-parallele Adreßbereitschaftsleitung (NPAR) (214) stellt eine Steuer- bzw. Handshake-Leitung dar, die von dem Master geltend gemacht und dazu verwendet wird, anzuzeigen, daß auf dem PA-Bus 34 eine gültige parallele Adresse vorhanden ist. Wenn die NPAR-Leitung (214) "0" ist, ist eine gültige parallele Adresse vorhanden. Wenn die NPAR-Leitung (214) "1" ist, so wird dadurch angezeigt, daß der PA-Bus 34 inaktiv ist.

Zwei Systemzyklen nachdem ein PA-Master ein gültige parallele Adresse auf dem PA-Bus 34 plaziert hat, muß der zugeordnete PA- Slave dadurch ansprechen, daß die nicht-parallele Adreßerfassungsleitung (NPAD) (216) und die nicht-parallele Adreßsynchronisierungsleitung (NPAS) (218) geltend gemacht werden. In Figur 5 ist eine PA-Master-Anforderung und eine PA- Slave-Antwort (512) zwei Systemzyklen später schematisch dargestellt.

Wenn die NPAD-Leitung (216) "O" ist, so wird dadurch angezeigt, daß ein PA-Slave die Adresse erfaßt hat. Wenn die NPAD-Leitung (216) "1" ist, so wird dadurch angezeigt, daß eine Adresse nicht erfaßt worden ist.

Die NPAS-Leitung (218) ermöglicht es, daß mehrere PA-Slaves einen einzigen PA-Master synchronisieren. Wenn die NPAS-Leitung (218) "0" ist, so stellt dies eine Anforderung eines PA-Slaves an den PA-Master dar, die an den Leitungen XPO-XP12 (210) und YPO-YP12 (212) geltend gemachte Adresse zu halten. Der PA-Master muß diese Adresse während seinem Wechsel in den nächsten Systemzyklus wiederholen. Wenn die NPAS-Leitung (218) "1" ist, so zeigt dies die Bereitschaft aller PA-Slaves an.

Die Schreib-Lese-Leitung (S/L) (220) wird von PA-Master geltend gemacht. Eine "1" auf der S/L-Leitung (220) bezeichnet eine Leseoperation, und eine "0" bezeichnet eine Schreiboperation.

Wie dies bereits beschrieben worden ist, zeigt die Eingangs- Ausgangs-Leitung (E/A) (222) an, ob die Operation den Bildspeicher 16 einschließt, oder ob es sich um eine Parameterübertragungsoperation handelt. Eine "0" an der E/A- Leitung (222) zeigt den Einschluß des Bildspeichers 16 an, während eine "1" eine Parameterübertragungsoperation bezeichnet.

Die Operationsmodus-Leitung (MODUS) (224) wird ebenfalls von dem PA-Master geltend gemacht. Eine "0" an der MODUS-Leitung (224) bezeichnet eine nicht-verschachtelte Übertragung, und eine "1" zeigt eine verschachtelte Übertragung an. Die E/A-Leitung (222) und die MODUS-Leitung (224) werden dazu verwendet, das Format für über den PD-Bus 36 übertragene Daten auszuwählen. Die Funktionsweise dieser Formate wird in Verbindung mit dem PD-Bus 36 genauer beschrieben.

In bevorzugten Ausführungsbeispielen der vorliegenden Erfindung kann der Bildspeicher 16 mehrere Ebenen von Pixeldaten speichern. Für jede Ebene gelten die gleichen zweidimensionalen X- und Y- Adreßkoordinaten. Mehrere Ebenen werden zum Beispiel dann verwendet, wenn drei-oder vierfarbige Bilddaten abgetastet und gespeichert worden sind. In dem Fall stellt jede Ebene eine Farbe dar. Wenn drei Farben verwendet werden, so existieren drei Ebenen, die gleichzeitig oder einzeln unter Verwendung der gleichen X- und Y-Koordinaten einfach dadurch adressiert werden können, daß die Leitungen PO (226), Pl(228) und PG (230) geändert werden. Die Ebenenzifferleitungen PO (226) und Pl (228) definieren eine 2-Bit-Ziffer. Die Ebenengruppenleitung (PG) (230) wählt zwischen einer Einebenenoperation (bei "0") und einer Mehrebenenoperation, bei der die PG-Leitung (230) "1" ist, aus, wodurch angezeigt wird, daß alle Ebenen von "0" bis zu der Ebenenziffer mit den gleichen X- und Y-Adreßkoordinaten adressiert werden müssen.

Wenn die PG-Leitung (230) "0" ist, so stellt die Ebenenziffer, die durch PO (226) und Pl (228) definiert ist, einfach die Ebene dar, die für die bestimmte Operation verwendet wird. Wenn die PG Leitung (230) "1" ist, so bezeichnet die Ebenenziffer die letzte Ebene der bei dieser Operation zu verwendenden Ebenengruppe. Die Ebenenzifferleitungen PO (226) und Pl (228) und die PG-Leitung (230) werden durch den PA-Master geltend gemacht.

Der in der Figur 2B dargestellte Pipeline-Datenbus (PD) 36 enthält als digitale Muster gespeicherte Bild- oder Graphikdaten zur Übertragung zwischen Komponenten des Bildprozessors 10 und vorzugsweise ist der Bus mit internen Parameterregistern jeder Komponente verbunden, um Steuerparameter zu übertragen. Bei dem PD-Bus 36 handelt es sich um einen Dreistufen-Bus, der an seinen physikalischen Start- und Endpunkten im Hochzustand endet.

Die den PD-Bus 36 verwendenden Komponenten können als PD-Master und PD-Slaves klassifiziert werden. Bei einem PD-Master handelt es sich um eine Vorrichtung, die Übertragungen auf dem PD-Bus 36 steuert. Alle PD-Master steuern während ihrem Zeitschlitz unbedingt den PD-Bus. Jedem PD-Master müssen im vornherein die PD-Slaves bekannt sein, die sich unbedingt an dem PD-Bus 36 befinden.

Bei einem PD-Slave handelt es sich um eine Vorrichtung, die auf eine Anforderung eines PD-Masters anspricht. Ein PD-Slave befindet sich während einem Zeitschlitz bedingt auf dem PD-Bus 36 und wird durch eine auf dem PA-Bus 34 erscheinende gültige Adresse aktiviert. Jeder PD-Slave muß intern wissen, welcher PD- Bus für jeden Zugangscode auf dem PA-Bus 34 verwendet werden muß.

Wie dies bei dem PA-Bus 34 der Fall ist, ist die Funktionsweise des PD-Busses 36 in Buszyklen und Systemzyklen definiert. Der Buszyklus (410-413) entspricht zwei Systemtakten (420), und in einem Systemzyklus (422) gibt es vier Buszyklen (410-413). Alle Operationen auf dem PD-Bus 36 erfordern einen vollständigen Systemzyklus (422).

Alle Systemzyklen (422) treten paarweise auf dem PD-Bus 36 auf. Diese Zykluspaare (610) werden gemäß der Darstellung in Figur 6 in ungerade (612) und gerade (614) Zyklen unterteilt. Ein PD- Master kann zu jedem Zeitpunkt einen von vier Zuständen aufweisen. Wenn sowohl die geraden (614) als auch die ungeraden (612) Zyklen unbedingt aus sind, befindet sich der PD-Master nicht auf dem PD-Bus 36. Wenn der gerade Zyklus (614) unbedingt an und der ungerade Zyklus (612) unbedingt aus ist, so verwendet der PD-Master für die Datenübertragung nur den geraden Zyklus (614). Wenn im Gegensatz dazu der gerade Zyklus (614) unbedingt aus und der ungerade Zyklus (612) unbedingt an ist, verwendet der Master für die Datenübertragung nur den ungeraden Zyklus (612). Wenn schließlich sowohl der gerade (614) als auch der ungerade (612) Zyklus unbedingt an sind, verwendet der Naster für die Datenübertragung beide Zyklen (612 & 614).

Wie dies in Figur 2B dargestellt ist, weist der PD-Bus 36 40 Leitungen auf, und zwar zweiunddreißig Leitungen für zweiunddreißig Bits paralleler Daten.

PDOO-PD07 (232) definieren das parallele Datenbyte 0. PD10-OD17 (234) definieren das parallele Datenbyte 1. PD20-PD27 (236) definieren das parallele Datenbyte 2. PD30-PD37 (238) definieren das parallele Datenbyte 3.

Die Datenquelle für die Datenbytes 03 (232, 234, 236, 238) wird durch den Zustand der Schreib-Lese-Leitung (S/L) (220) des PA- Busses 34 bestimmt. Wenn die S/L-Leitung (220) "0" ist, so ist der PD-Master die Quelle der Datenbytes (das es sich um den Schreibvorgang handelt). Wenn die S/L-Leitung (220) andererseits "1" ist (was eine Schreiboperation anzeigt), so ist der PD-Slave die Quelle für die Datenbytes auf dem PD-Bus 36. Durch Verwendung der Nicht-Schreibe-Byte-Leitungen NWBO-NWB3 (246, 248, 250, 252) kann der PD-Master bzw. der PD-Slave (bei einer Schreib- bzw. Leseoperation) bestimmen, ob bestimmte Datenbytes verwendet werden sollen, modifizierbar auf 4x4 blockweiser Basis. Wenn eine der Nicht-Schreibe-Byte-Leitungen (246, 248, 250, 252) (z.B. NWB1 (248)) "0" ist, so bedeutet dies, daß es sich bei dem Datenbyte "1" um gültige Daten handelt. Wenn die Leitung NWB1 (248) andererseits "1" ist, so zeigt die Datenquelle an, daß das Datenbyte 1 während dieser Operation nicht verwendet wird.

Die Datenübertragung über den PD-Bus 36 erfolgt in unterschiedlichen Formaten, und zwar abhängig von dem Zustand der E/A- und MODUS-Leitungen (224) des PA-Busses 34. Wenn die E/A- Leitung (222) "1" ist, bleiben die zweiunddreißig Datenbits, die auf den Leitungen PD0-PD7 (232), PD10-PD17 (234), PD20-PD27 (236) und PD30-PD37 (238) erscheinen, während dem gesamten Systemzyklus (432) konstant. Dabei handelt es sich um eine Parameterübertragungsoperation, und die an dem PA-Bus 34 erscheinende Adresse wird von dem Standardbus 28 abgeleitet.

Wenn die E/A-Leitung (222) "0" ist, wobei es sich um eine Operation mit Bildspeicher 16 handelt, werden die zweiunddreißig Datenbits, die an dem PD-Bus 36 erscheinen, während dem Systemzyklus (422) bei jedem Buszyklus (410-413) aktualisiert.

Die MODUS-Leitung (224) des PA-Busses 34 entscheidet, ob die zweiunddreißig Datenbits, die übertragen werden, wenn die E/A- Leitung (222) "0" ist, in Form eines zusammenhängenden Bereichs von 4x4 Pixeln oder in Form eines Bereichs von 2x8 verschachtelten Pixeln gegeben sind. Die Figur 7A zeigt den 4x4 Teilbildblock (710), der übertragen wird, wenn die MODUS-Leitung (224) "0" ist. Dabei handelt es sich um den Standard- Teilbildblock (710), der zur Datenübertragung über den Pipeline- Bus 30 verwendet wird. Die Figur 7B zeigt den verschachtelten 2x8 Bereich (712), der übertragen wird, wenn die MODUS-Leitung (224) "1" ist.

Die Ferndatenfreigabeleitung (RDE) (254) des PD-Busses 36 wird zur Verbindung mit einem entfernten Slave über die Eingabeschnittstelle 14 verwendet. Wenn die RDE-Leitung (254) "0" ist und die S/L-Leitung (220) des PA-Busses 34 "0" ist, so macht der PD-Master Daten über den PD-Bus 36 geltend. Wenn die RDE- Leitung (254) andererseits "1" ist und die S/L-Leitung (220) des PA-Busses 34 "1" ist, so empfängt der PD-Master über den PD-Bus 36 Daten von dem entfernten Slave.

Der PD-Bus 36 umfaßt drei Handshake-Leitungen: die nicht- parallele Datenbereitschaftsleitung (NPDR) (240); die nicht- parallele Datenannahmeleitung (NPDA) (242); und die nicht- parallele Datensynchronisierungsleitung (NPDS) (244). Die Zustände dieser drei Leitungen während einem kennzeichnenden Systemzyklus sind in Figur 8 dargestellt.

Die NPDR-Leitung (240) wird durch den PD-Master geltend gemacht und zeigt an, ob der PD-Master bereit ist Daten anzunehmen oder Daten zu übertragen. Eine "1" auf der NPDR-Leitung (240) zeigt an, daß der PD-Master nicht bereit ist, während eine "0" eine Bereitschaft des PD-Masters anzeigt.

Wenn der PD-Slave Daten angenommen oder gültige Daten auf den Datenleitungen des PD-Busses 36 plaziert hat, so bewirkt dies, daß die NPDA-Leitung (242) von "1" auf "0" fällt. Eine "1" auf der NPDA-Leitung (242) bedeutet, daß der PD-Slave keine Daten angenommen bzw. keine Daten auf den Datenleitungen plaziert hat. Da es sich bei dem NPDA-Signal (242) um einen Impuls handelt, ist bei der erfindungsgemäßen Pipeline-Architektur Zeit, um bei dem nächsten Buszyklus (410-413) entweder neue Daten auf dem PD-Bus 36 zu plazieren, oder um die gleichen Daten erneut zu wiederholen. Wie dies in Figur 8 dargestellt ist, macht der PD- Master immer die NPDR-Leitung (240) geltend, und der PD-Slave macht zu dem passenden Buszykluszeitpunkt (z.B. Buszyklus 2 (412)) immer die NPDA-Leitung (242) geltend, so daß der PD-Master auf den Zustand reagieren kann.

Wenn eine Komponente auf dem PD-Bus 36 bestimmt, daß die Datenübertragung aus einem beliebigen Grund abgebrochen werden soll, so wird die NPDS-Leitung (244) während dem Buszyklus 2 (412) herabgesetzt. Der PD-Master oder ein PA-Slave können das NPDS-Signal (244) geltend machen. Solange die NPDS-Leitung (244) "1" ist, sind alle Komponenten für Daten bereit. Wenn die NPDS- Leitung (244) "0" ist, so stellt dies eine Anforderung durch die geltend machende Vorrichtung dar, daß der PD-Master die Daten für diesen Systemzyklus (422) halten und sie in dem nächsten gültigen Systemzyklus (422) wiederholen soll.

Dies ist besonders dann von Bedeutung, wenn zu einem Zeitpunkt mehrere PD-Slaves auf einem gegebenen PD-Bus 36 vorhanden sind. Wenn ein PD-Slave für eine bestimmte Übertragung scheinbar nicht vorbereitet ist, so kann die NPDS-Leitung (244) herabgesetzt ("0") werden und den gesamten Systemzyklus (422) für alle Komponenten abbrechen. Wenn alle Komponenten darin übereinstimmen, daß sie für die Datenübertragung bereit sind, verbleibt die NPDS-Leitung (244) für den gesamten Systemzyklus (422) bei "1" und der Systemzyklus (422) fährt auf normale Weise fort. Dadurch wird an dem PD-Bus 36 eine Synchronisierung erzwungen, so daß es sich bei allen Übertragungen immer um vollständig gültige Datenübertragungen handelt, und zwar ungeachtet der Anzahl von PD-Slaves an dem PD-Bus.

Wie dies in Figur 2C dargestellt ist, umfaßt der Master-Taktbus (MT) 38 die Systemtaktleitungen SCLK+ (256) und SCKL- (258), eine Master-Synchronisierungsleitung (MSYNC) (260) und eine Systeminitialisierungsleitung (SINIT) (262). SCLK+ (256) und SCKL- (258) stellen positive und negative Polaritäten eines Differenz-ECL-Systemtaktsignals dar, das in einem bevorzugten Ausführungsbeispiel auf 20 mHz arbeitet. Das in der Figur 9A dargestellte MSYNC-Signal (260) gibt den Anfang eines Taktzykluses vor.

Bei dem in der Figur 9B dargestellten SINIT-Signal (262) handelt es sich um ein Initialisierungssignal für das gesamte System. Normalerweise weist das SINIT-Signal (262) den Zustand "1" auf. Wenn eine Initialisierung erfolgen soll, so beträgt SINIT (262) für zwei Systemtakte (40) "0".

3. Adreßgenerator 18

Bei dem Ausführungsbeispiel der vorliegenden Erfindung aus Figur 1 werden die Adreßberechnung und -Erzeugung sowie die Datenberechnung getrennt in einem Adreßgenerator 18 bzw. in einem Intensitätsprozessor 20 ausgeführt. Damit bei einer Pipeline- Architektur hohe Durchsatzraten aufrechterhalten werden können, verarbeitet der erfindungsgemäße Bildprozessor 10 vorzugsweise die Adreßberechnungen und die Datenberechnungen in einem Pipelinesystem. Folglich stellt die Erzeugung von Adressen bei der Hochgeschwindigkeitsoperation keinen einschränkenden Faktor dar.

Wie dies bereits vorstehend beschrieben worden ist, weist der PA- Bus 34 ein Freiflußmerkmal auf, was bedeutet, daß eine auf dem PA-Bus 34 plazierte Adresse einem Zeitschlitz in der Pipeline zugewiesen wird. Wenn diese Adresse nicht sofort von dem Bildspeicher 16 angenommen werden kann, so erfolgt ein Quittungsaustausch, wodurch es möglich ist, daß die gleiche Adresse beim nächsten Auftreten des Zeitschlitzes erneut auf dem PA-Bus 34 plaziert werden kann. Dies kann so oft wiederholt werden, wie es zu Annahme der Adresse erforderlich ist. Dieses Freiflußmerkmal führt somit effektiv zu einem Starten und Stoppen des PA-Busses 34.

Die Figur 10 zeigt ein bevorzugtes Ausführungsbeispiel des Adreßgenerators 18, bei dem es sich um einen Pipeline- Adreßgenerator mit Start-Stopp-Fähigkeit handelt, so daß er zu dem Freiflußmerkmal des Pipeline-Busses 30 kompatibel ist.

In dem Ausführungsbeispiel aus Figur 10 umfaßt der Adreßgenerator 18 eine Adreßpipeline 40, einen First-in-first-out-Puffer (FIFO) 42, einen Funktionsadreßgenerator 44 und die Steuerung 46. Die Adreßpipeline 40 erzeugt Adressen mit hoher Geschwindigkeit durch eine Pipeline-Architektur und sie kann nach Verlangen durch die Steuerung 46 angehalten werden. Die Adressen werden durch die Adreßpipeline 40 parametrisch berechnet und dem FIFO-Puffer 42 zugeführt, der an die Adreßleitungen des PA-Busses 34 angeschlossen ist. Bei dem FIFO-Puffer 42 handelt es sich um einen First-in-first-out-Speicher, der Geschwindigkeitsschwankungen zwischen dem Starten und Stoppen des PA-Busses 34 und dem Starten und Stoppen der Adreßpipeline 40 ausgleicht. Die Steuerung 46 ist mit den Handshake-Leitungen des PA-Busses 34 verbunden und sieht Steuersignale an die Adreßpipeline 40, den FIFO-Puffer 42 und die Funktionsadreßtabelle 44 vor. Wenn der PA-Bus 34 stoppt und der FIFO-Puffer 42 beginnt sich zu füllen, so hält die Steuerung 46 die Adreßpipeline 40 an.

Die Adreßpipeline 40 umfaßt einen Parametergenerator 48, S T U Register 50, den Weltbildraumrechner 52, X Y Z Register, den Teilbild-Zuordner 56, den Adreßbegrenzer und Adreßgestalter 58 und die Speicherverwaltungseinheit (MMU) 60.

Der Parametergenerator 48 ist der Kopf der Adreßpipeline. Dort werden die Adreßkoordinaten S, T und U durch ein additives Verfahren berechnet. In dem Ausführungsbeispiel des Adreßgenerators 18 aus Figur 10 erfolgt die parametrische Berechnung der Adressen direkt, an Stelle einer kumulativen Technik, die bei früheren Bildprozessoren verwendet werden. Durch die direkte Berechnung wird jede Adresse berechnet, ohne sich auf vorherige Adressen zu verlassen. Somit werden auch keine aufgelaufenen Fehler erzeugt.

Der Parametergenerator 48 überträgt die Parameter S, T und U, die er errechnet hat, an die S T U Register 50. Der Weltbildraumrechner 52 holt die S T U Koordinaten aus den Registern 50 und wandelt diese durch parametrische Gleichungen, die durch ein Multiplikations- und Additionsverfahren berechnet werden, in X Y Z Koordinaten (nach Bedarf) um. Die Ausgabe des Weltbildraumrechners 52 wird in den X Y Z Registern 54 gespeichert.

Die Ausgabe der X Y Z Register 54 wird dem Teilbild-Zuordner 56 zugeführt, wo durch ein Zählverfahren ein M x M Adreßblock um die (X Y Z) Basisadresse gestaltet wird. Bei den X Y Z Koordinaten handelt es sich nicht um Speicherstellen, sondern um logische Adressen. Der Teilbild-Zuordner 56 ermöglicht es der Adreßpipeline 40 ein Teilbild zu erzeugen, bei dem es sich nicht um einen 4x4 Block, sondern abhängig von der bestimmten auszuführenden Operation um 8x8, 12x12 oder 16x16 Pixel handelt.

Der Adreßbegrenzer und Adreßgestalter 58 trennen die X Y Z Adresse in erforderliche und nichterforderliche Bits. Die erforderlichen Bits werden so angeordnet, daß sie eine zweidimensionale oder dreidimensionale virtuelle Adresse gestalten. Die nichterforderlichen Bits werden so kombiniert, daß sie ein Überschreitungserfassungsmerkmal bilden.

Die MMU 60 stellt vorzugsweise eine Verweistabelle dar, in der virtuelle und logische Adressen des Adreßbegrenzers und Adreßgestalters 58 in einen physikalischen Adreßraum in dem Bildspeicher 16 abgebildet werden. Bei der Ausgabe des MMU 60 handelt es sich um eine physikalische Adresse, die dem FIFO- Puffer 42 und schließlich dem PA-Bus 34 zugeführt wird.

Die Funktionsadressen-Verweistabelle 44 verwendet auch die X Y Z Koordinaten aus den Registern 54 zur Erzeugung einer Funktionsadresse auf dem Funktionsadreßbus 32. Diese Funktionsadresse wird dem Intensitätsprozessor 20 zugeführt und dazu verwendet, Filterkoeffizienten auszuwählen, die von dem Intensitätsprozessor (20) verwendet werden (was später im Text genauer beschrieben wird). Die Frequenz, mit welcher der Funktionsadreßbus 32 Funktionsadressen bereitstellt, kann von der Frequenz des PA-Busses 34 abweichen. In den bevorzugten Ausführungsbeispielen weist der Intensitätsprozessor 20 jedoch einen FIFO-Puffer zum Empfang von Funktionsadressen auf, so daß die von dem Adreßgenerator 18 über den Funktionsadreßbus 32 bereitgestellten Funktionsadressen den Daten entsprechen, die dem Intensitätsprozessor 20 über den Pipeline-Bus zugeführt werden.

Der in der Figur 10 dargestellte Adreßgenerator 18, der eine parametrische Pipeline-Adreßerzeugung aufweist, kann ohne Geschwindigkeitsverlust sehr komplexe Adreßerzeugungsfunktionen ausführen. Er ermöglicht es auch, daß der PA-Bus 34 mit jeder erforderlichen Geschwindigkeit betrieben werden kann, ohne daß dabei Pixeldaten- oder Adreßdatenverluste auftreten, oder daß die Funktionalität der Adreßberechnungsfunktionen nachläßt. Diese Angleichung wird durch den FIFO-Puffer 42 und die Steuerung 46 in Verbindung mit den Handshake-Leitungen des PA-Busses 34 erreicht.

Die bestimmte ausgeführte Adreßerzeugung hängt natürlich von den Steuerbefehlen des Mikrocomputers 12 ab, die über den Standardbus von dem Adreßgenerator 18 empfangen werden. Diese Befehle laden Register (nicht abgebildet), definieren Koeffizienten, obere und untere Begrenzungen der Parameter und die Parameter erhöhen die Werte, die bei der Koordinatenberechnung von der Adreß-Pipeline 40 verwendet werden und schließlich der Adressen, die über den PA-Bus 34 bereitgestellt werden.

4. Bildspeicher 16

Die Figur 11 stellt ein funktionales Blockdiagramm des Bildspeichers 16 dar, der als Pipeline-Bildspeicherbaustein dient. In dem Ausführungsbeispiel aus Figur 11 umfaßt der Bildspeicher 16 Pipeline-Adreßeingaberegister 62A und 62 B, einen Adreßcache 64, einen DRAM-Speicher 66, ein Halteregister 68 und die Datenanschlüsse 70A-70F. In diesem Ausführungsbeispiel ist der Bildspeicher 16 über die beiden Eingaberegister 62A und 62B mit zwei entsprechenden PA-Bussen 34A und 34B verbunden. Durch die Ausgabedatenanschlüsse 70A-70F steht der Bildspeicher 16 entsprechend mit sechs PD-Bussen 36A-36F in Verbindung.

Die von dem Adreßgenerator 18 über die PA-Busse 34A und 34B von den Eingaberegistern 62A und 62B empfangenen Pipeline-Adressen werden dem Adreßcache 64 bereitgestellt. In einem bevorzugten Ausführungsbeispiel handelt es sich bei dem Adreßcache 64 um einen First-in-first-out-Speicher. Wenn sich der Adreßcache 64 soweit füllt, daß zu viele Adressen vorhanden sind, so lehnt er weitere Adressen über die PA-Busse 34A und 34B ab. Alle Adressen werden geprüft und entweder ignoriert, angenommen (in den Adreßcache 64 aufgenommen) oder mit einer Wiederholungsanforderung abgewiesen, und zwar unter Verwendung der NPAS-Leitung des PA-Busses 34A oder 34B, um einen nicht bereiten Zustand anzuzeigen.

Wenn eine Leseoperation ausgeführt werden soll (wie dies durch die S/L-Leitung des PA-Busses 34A oder 34B angezeigt wird), werden Adressen aus dem Adreßcache 64 in den DRAM-Speicher 66 gelesen, wo sie für einen räumlichen Zusammenhang angepaßt werden. Ein 16-Pixel-Wort mit quadratischer 4x4 Konfiguration räumlich zusammenhängender Pixel wird in das Halteregister 68 geladen. Sobald sich der 4x4 Pixelblock in dem Halteregister 68 befindet, wird er unter Verwendung des in der Figur 7A beschriebenen Formats auf einen der sechs Busse 36A-36F plaziert.

Während einer Schreiboperation werden einen 4x4 Pixelblock darstellende Daten einem der Datenanschlüsse 70A-70F entnommen und in das Halteregister 68 geladen. Dann wird eine Adresse aus dem Adreßcache 64 in das DRAM-Array 66 geladen und bezüglich des räumlichen Zusammenhangs angepaßt, um den 4x4 Pixelblock auszuwählen, in den die Daten geschrieben werden sollen.

Das Freiflußmerkmal des Pipeline-Buses 30 wird in der Funktionsweise des Bildspeichers 16 wiedergegeben. Wenn der PD- Bus 36A-36F aufgrund des Quittungsaustauschs die Geschwindigkeit verringert hat, treten die Daten nicht so schnell in das Halteregister 68 ein bzw. aus. Dies verlangsamt die Verwendung von Adressen aus dem Adreßcache 64. Da der Adreßcache 64 die Adressen nicht mehr so schnell verwendet, findet der Adreßcache mehr Adressen und weist auch mehr Adressen auf den PA-Bussen 34A und 34B ab, so daß die PA-Busse 34A und 34B langsamer werden. Der Quittungsaustausch auf den PD-Bussen 36A-36F verursacht mit anderen Worten eine Verlangsamung der Speicherabrufe in dem Speicherbaustein, was einen verändernden Effekt auf die PA-Busse 34A und 34B hat, so daß eine Beziehung zwischen den freifließenden Merkmalen der PD- und PA-Busse existiert.

Ein wichtiges Merkmal des Bildspeichers 16 ist dessen Fähigkeit zur Übertragung räumlich zusammenhängender Daten in dem 4x4 Pixelformat, und zwar bezüglich jeder über den PA-Bus empfangenen Adresse (definiert durch XPAO-XPA12 (210) und YPAO-YPA12 (212)). Herkömmliche Busse lassen nur Adressen zu, die ein ganzzahliges Vielfaches der Blockgröße (bzw. Wortgröße) des Busses darstellen. Eine zweiunddreißig-Bit, vier-Pixel-LESE- oder SCHREIB-Adresse auf einem herkömmlichen Bus würde nur ganzzahlige Vielfache von vier zum Empfang über den Adreßbus zulassen. Dies kann zu starken Leistungseinbußen bei einigen Bildverarbeitungsfunktionen führen, da eine Mehrzahl von LESE-Adressen erforderlich wäre, um einen Bereich der Rechenabhängigkeit zu erzeugen. Bei großen Datenbasissystemen, wie etwa bei den für eine Bildverarbeitung mit hoher Auflösung typischen Systemen, muß dies auch dann gültig sein, wenn sich das Bild über eine Mehrzahl von Speicherkarten erstreckt. Da zwischen den Speicherkarten eine räumliche Grenze existiert, können mehrere Speicherkarten erforderlich sein, um zu einer einzigen 4x4 Blockübertragung beizutragen, wie dies dargestellt ist. In dem erfindungsgemäßen Bildspeicher 16 kommt ein Pixel bei X, Y aus der Speichergruppe M, N, die durch folgende Gleichung gegeben ist:

M = MODULO (X,4) Gleichung 1

N = MODULO (Y,4)

In einem Speicherbaustein sind dessen Speicherchips in sechzehn Speichergruppen (,) bis (3,3) organisiert, wie dies in Figur 11 dargestellt ist. Ein Speicherbaustein hat eine durch die Anzahl der Speicherchips und die Größe des Speicherchips definierte Größe (d.h. 32 256 k DRAMs erzeugen einen 1024x1024 Speicherbaustein 1110). Jede Gruppe (M, N) hält sämtliche Pixel in dem Speicherbaustein, die durch die obige Gleichung 1 definiert sind, vorausgesetzt, daß X und Y nicht größer sind als die Größe des Bausteins. Diese getrennten Pixel werden an verschiedenen Stellen (L) (1112) in der Speichergruppe gehalten, wie dies in Figur 11A dargestellt ist.

Die räumlich zusammenhängenden 4x4 Teilbildblöcke werden durch Steuerung der Stellen in jeder Gruppe aus dem Speicherbaustein gelesen bzw. in diesen geschrieben. Ein einziger 4x4 Teilbildblock (1120) kann gemäß der Darstellung in Figur 11B aus bis zu vier unterschiedlichen Stellen (1122, 1124, 1126, 1128) innerhalb der Gruppen ziehen.

Wenn Speicherbereiche erforderlich sind, die größer als ein einziger Speicherbaustein sind, so kann eine Mehrzahl von Speicherkarten (1130, 1132, 1134, 1136) anstoßen, um einen effektiv größeren Speicherbaustein (1138) zu erzeugen. Dieser größere Speicherbaustein (1138) muß für alle Karten (1130-1136) auf dem Pipeline-Bus transparent sein. Ein Beispiel stellt die Erzeugung eines 2048x2048 Speicherbereichs (1138) aus vier 1024x1024 Bausteinen (1130-1136) dar, wie dies in Figur 11C dargestellt ist.

Wenn eine Speicheranforderung einen Grenzbereich erfordert, der mehrere Speicherbausteine überlagert, so muß jeder Speicherbaustein bestimmte Pixel zu dem 4x4 Block (1140) beitragen, als ob die Anforderung aus der Mitte eines Bausteins erfolgt. Bei diesem Vorgang handelt es sich um die Verkettung von Speicherbausteinen.

Im allgemeinen sind für einen einzigen 4x4 Block (1140) bis zu vier Speicherbausteine (wie dies in Figur 11C dargestellt ist) erforderlich, um zu einer einzigen Teilbildblockübertragung (1140) beizutragen, und zwar abhängig von der Stelle des Blocks im Verhältnis zu den Speicherbausteinen (1130-1136).

Dies wird wie folgt verwirklicht. Jeder Speicherbaustein (BAUSTEIN 0) (1130) decodiert seine eigene PA-Adresse und die drei benachbarten Adressen (BAUSTEINE 1-3) (1132-1136). Er erklärt einen von fünf Zuständen als existent: (1) keiner der Bausteine BAUSTEIN 0 (1130), BAUSTEIN 1 (1132), BAUSTEIN 2 (1134), BAUSTEIN 3 (1136); (2) BAUSTEIN 0 (1130) adressiert; (3) BAUSTEIN 1 adressiert (1132); (4) BAUSTEIN 2 (1134) adressiert; (5) BAUSTEIN 3 (1136) adressiert. Wenn der Zustand (1) erklärt ist, so nimmt dieser Speicherbaustein nicht an der Operation teil. Wenn einer der Zustände (2)-(5) existent ist, muß der Speicherbaustein entscheiden, ob es erforderlich ist zu der entsprechenden PD-Busübertragung beizutragen. Dies erfolgt durch Prüfen der unteren Adresse, um dadurch festzustellen, ob diese entlang den Speicherbausteinrändern innerhalb einer Grenze von drei Pixeln liegt.

Wenn die Adresse außerhalb der Grenze von drei Pixeln liegt, erfolgt keine Verkettung. Wenn sie jedoch innerhalb der Grenze von drei Pixeln liegt, so muß eine Verkettung erfolgen. Wenn eine Verkettung erfolgen muß, so werden die beiden wertniedrigsten Bits (LSB) von X und die beiden wertniedrigsten Bits (LSB) von Y und der Quadrant in dem Speicherbaustein gespeichert und zur Steuerung der Daten bei der Übertragung über den PDBus verwendet. Der PD-Bus wird wie folgt gesteuert.

Wenn eine Verkettung erfolgen muß, decodiert der Bildspeicher 16 den Quadranten, die LSBs von X, die LSBs von Y und den Buszyklus (0, 1, 2, 3) auf dem PD-Bus, um festzustellen, welche Buszyklen und Bytes des Speicherbausteins aktiv (zur Übertragung beitragen) oder inaktiv (lassen einen anderen Speicherbaustein zur Übertragung beitragen) sein müssen. Diese Schaltung bewirkt die PD-Bus-Speicherverkettung auf eine Weise, daß die empfangende Master-Vorrichtung keinen Unterschied an dem PD-Bus feststellt. Die NPDS-Leitung wird gesperrt, wenn der Bildspeicher- 16 nicht bereit ist, seine Daten zu liefern.

5. Intensitätsprozessor 20

Die Figur 12 stellt ein funktionales Blockdiagramm des Intensitätsprozessors 20 dar. In diesem Ausführungsbeispiel handelt es sich bei dem Intensitätsprozessor 20 um eine Schaltung, die Pipeline-Bildpixelintensitätsberechnungen ünter Verwendung adaptiven Filterns mit begrenztem Ansprechen auf einen Impuls (FIR) ausführt. Durch Veränderung der Filterkoeffizienten kann eine große Vielzahl unterschiedlicher Intensitätsberechnungsoperationen ausgeführt werden.

In dem Ausführungsbeispiel aus Figur 12 umfaßt der Intensitätsprozessor 20 vier Eingabeanschlüsse (Funktionsadreßeingabeanschluß 72, 12 Anschluß 74, I1 Anschluß 76 und TAG-Anschluß 78) und einen Ausgabeanschluß 80. Der Bildprozessor 20 umfaßt einen I2 Puffer 82, einen I1 Puffer 84, einen TAG-Puffer 86, ein Steuer-RAM 88, einen I2 Funktionsspeicher und Koeffizientenspeicher 90, einen I1 Funktionsspeicher 92, einen Teilbild-Abtaster 94, ein adaptives FIR 96, einen Akkumulator 98, einen Ausgabefunktionsspeicher 100 und einen Ausgabepuffer 102.

Bei den Eingaben I1 (1210), I2 (1212) und TAG (1214) handelt es sich um als digitale Muster gespeicherte Bilder, die von dem Bildspeicher 16 empfangen werden. Alle drei Eingaben können von von dem Adreßgenerator 18 gleichzeitig mit der gleichen Adresse an den Bildspeicher 16 erzeugt werden, sie können aber auch einzeln erzeugt und über drei der vier Adreßkanäle auf dem PA-Bus übertragen werden, ohne daß der Datendurchsatz darunter leidet. Anders ausgedrückt stellen I1 (1210), I2 (1212) und TAG (1214) verschiedene adressierbare Ebenen dar. Die Eingabebilder I1 (1210), I2 (1212) und TAG (1214) werden über drei getrennte PD- Busse 36A-36C in Teilbildblöcken mit einer quadratischen 4x4 Pixelgeometrie empfangen. Diese Teilbildblöcke werden miteinander verkettet, um größere Teilbilder zu bilden und sie werden dann in eine arithmetische Pipeline eingegeben.

Die Funktionsadreßeingabe wird über den Funktionsadreßbus 32 von dem Adreßgenerator 18 empfangen und teilt den I2 Puffer 82 mit dem I2 Anschluß 74. Die Funktionsadressen wählen Filterkoeffizienten aus, die von dem adaptiven FIR-Filter 96 verwendet werden. Sich mit der Zeit ändernde Filterkoeffiziehten werden in den I2 Funktionsspeicher und einen Koeffizientenspeicher 90 geladen (der in einem bevorzugten Ausführungsbeispiel als Verweistabelle verwirklicht ist) und sie werden durch die Funktionsadresse ausgewählt (die abhängig von der Adresse in dem Bild unterschiedlich ist).

Das TAG-Bild (1214) wird in das Steuer-RAM 88 eingegeben, welches die Koeffizienten auswählt, die den Bildern I1 (1210) und I2 (1212) zugeführt werden. Die TAG-Eingabe (1214) ermöglicht mit anderen Worten eine pixelweise Veränderung der Intensitätsverarbeitungsoperation. Die Auswahl der Koeffizienten durch die Funktionsadressen kann auch durch die TAG-Eingaben (1214) bewirkt werden, und zwar durch Steuercodes, die dem Speicher 90 über den Steuer-RAM 88 zugeführt werden.

Bei dem Funktionsspeicher I1 92, dem Funktionsspeicher I2 und dem Koeffizientenspeicher 90, handelt es sich vorzugsweise um Verweistabellen, die eine Vorverarbeitung der von den Puffern 84 bzw. 82 empfangenen Bilder I1 (1210) und I2 (1212) ausführen. Die bestimmte Funktionsspeicherseite der Verweistabelle, die für die Vorverarbeitung verwendet wird, basiert auf den Steuercodes des Steuer-RAM 88, die durch die TAG-Eingaben (1214) ausgewählt werden. Die Grauskalatransformation stellt eine kennzeichnende Art der Vorverarbeitung in FM 90 und FM 92 dar.

Der Teilbild-Abtaster 94 liest Pixel in dem Bereich der Rechenabhängigkeit und fügt diese auf sequentielle Weise über den Steuer-RAM 88 in die Pipeline ein. Dies ermöglicht eine Veränderung der Filtergrößengewichte basierend auf der Rechenabhängigkeit der umgebenden Pixel.

Die arithmetischen Pipelines für I und I2 treffen an dem adaptiven FIR-Filter 96 aufeinander, wo arithmetische und logische Operationen ausgeführt und die Ergebnisse in dem Akkumulator 98 akkumuliert werden. In dem Blockdiagramm umfaßt FIR 96 einen Kombinierer zur Ausführung von "Nachfilter"- Kombiniererfunktionen, wie etwa Addieren, Subtrahieren, Multiplizieren, Dividieren, ODER, exklusiv ODER und UND. Diese Kombiniererfunktionen werden durch die Kombinierercodes des Steuer-RAM 88 basierend auf den TAG-Eingaben ausgewählt. Die letztendlichen Ergebnisse werden an den Ausgabefunktionsspeicher 100 übertragen und in dem Ausgabepuffer 102 gespeichert. Der Ausgabepuffer 102 dient als First-in-first-out-Speicher und ermöglicht das Auftreten von Pipeline-Intensitätsberechnungen. Der obere Puffer 102 ist über den oberen Anschluß 80 mit den Pipeline-Datenbussen 36A-36F verbunden.

Durch die Verwendung des adaptiven FIR-Filterns, des Funktionsspeicherns zur Vorverarbeitung und einem arithmetischen und logischen Kombinierer für Nachfilter-Operationen, kann der Intensitätsprozessor 20 eine Vielzahl unterschiedlicher Intensitätsverarbeitungsberechnungen ausführen, die durch den Adreßgenerator 18, der durch die Mikrocomputer-Steuereinheit 12 gesteuert wird, und durch die TAG-Eingaben (1214) ausgewählt werden können. Für einen Wechsel von einer Art der Bildverarbeitung zu einer anderen ist nur eine Veränderung der Koeffizienten des adaptiven FIR-Filters, der Funktionsspeicherseiten und/oder der Kombinierercodes erforderlich. Diese Koeffizienten, Funktionspeicher- und Kombinierercodes können durch die von dem Adreßgenerator 18 erzeugten Funktionsadressen und die TAG-Eingabe verändert werden.

6. Anzeige-Formatierer 22

Die Figur 13 zeigt ein bevorzugtes Ausführungsbeispiel des Anzeige-Formatierers 22, der Pipeline-Bilddaten, die in einem quadratischen 4x4 Pixelformat von dem Pipeline-Bus 30 codiert sind, in asynchrone serielle (zeilenweise) Videosignale konvertiert, die der Videoanzeige 24 zugeführt werden. Der Anzeige-Formatierer 22 entkoppelt den Ausgabetakt, der der Videoanzeige 24 zugeführt wird, von dem Eingabe- bzw. Systemtakt des Pipeline-Busses 30. Als Folge daraus kann der Pipeline-Bus 30 auf frei fließender Start/Stopp-Basis arbeiten, ohne die Funktionsweise der Videoanzeige 24 zu stören.

Wie dies in Figur 13 dargestellt ist, umfaßt der Anzeige- Formatierer 22 ein Paar doppelt gepufferter Adreßumwandlungs-RAMs 104A und 104B. Die Teilbildblock-Pixeldaten werden über den Pipeline-Bus 30 von den Puffern 106A und 106B empfangen, die entsprechend den RAMs 104A und 104B zugeordnet sind. Die Ausgaben der RAMs 104A und 104B werden entsprechend den Puffern 108A und 108B zugeführt. Die Ausgaben der Puffer 108A und 108B werden einem Digital-Analog-Umsetzer 110 zugeführt, und bei der Ausgabe handelt es sich um ein analoges Videosignal, das der Videoanzeige 24 zugeführt wird.

Die Steuerschaltungen für den Anzeige-Formatierer 22 umfassen eine Schreibauswahlschaltung 112 und die Adreßauswahlschaltungen 114A und 114B.

Die Puffer 106A und 106B werden unter Verwendung des Systemtakts (420) über den Pipeline-Bus 30 betrieben. Einer der RAMs 104A bzw. 104B wird unter Verwendung der von dem Systemtakt (420) erzeugten Systemtaktung eingeschrieben, während der andere RAM unter Verwendung der Taktung (Videotakt (116)) der Videoanzeige 24 ausgelesen wird. Die RAMs werden nach einer gegebenen Zeit (zum Beispiel vier Videozeilen) umgekehrt, um sowohl die Eingabe- als auch die Ausgabevollendung zu ermöglichen.

Zum Beispiel während der Zeit, in der das RAM 104A eingeschrieben wird, wird das Schreibsignal A (1306) dem RAM A (104) zugeführt und die Adresse wird von der Adreßauswahlschaltung 114A mit einer Geschwindigkeit dem RAM 104A zugeführt, die durch den Systemtakt (420) bestimmt wird. Die Startadresse (1310) stellt die Eingabeadresse dar, die der Adreßauswahlschaltung 114A zugeführt wird und folgende Adressen werden mit der Systemtaktfrequenz (420) zugeführt.

Gleichzeitig wird der RAM 104B durch Adressen der Adreßauswahlschaltung 114B ausgelesen. Die Startadresse wird durch die Ausgabeadresse (1312) vorgesehen, die in die Adreßauswahlschaltung 114B eingeben wird, und die dem RAM 104B zugeführten Adressen werden mit der Videotaktfrequenz geändert.

Wenn Daten aus dem RAM 104B in den Puffer 108B eingelesen werden, so werden die vorher aus dem RAM 104A ausgelesenen Daten, die sich in dem Puffer 108A befinden, mit der Videotaktfrequenz (116) dem Digital-Analog-Umsetzer 110 zugeführt.

Der Anzeige-Formatierer 22 weist eine Vielzahl von Vorteilen auf. Erstens werden durch die Entkoppelung der Ausgabetaktung von der Eingabetaktung geringe zeitliche Abweichungen zwischen dem Pipeline-Bus 30 und der Videoanzeige 24 zugelassen, ohne daß dies nachteilige Auswirkungen auf die Einrichtungen hat. Zum Beispiel sind Schwankungen der Videotaktung, wie sie für den GENLOCK- Videobetrieb erforderlich sind, zulässig, ohne daß die Systemtaktung des Pipeline-Busses 30 dadurch beeinfluß wird.

Zweitens ermöglicht der Anzeige-Formatierer 22 dem Pipeline-Bus 30 ein unabhängiges Starten und Stoppen von Video-Burst- Anforderungen, so lange der durchschnittliche Datendurchsatz über die Datentransferzeit der RAMs 104A und 104B beibehalten wird.

Dies ermöglicht die Verwendung der Horizontalaustastzeit für das Schreiben.

Drittens sieht der Anzeige-Formatierer 22 eine Umwandlung von Teilbildblock-Pixelkonfigurationen (die zur Übertragung von Bilddaten auf einem Pipeline-Bus 30 höchst effektiv sind) in ein Datenformat vor, das mit der normalen Betriebsweise der Videoanzeige (24) kompatibel ist (wie etwa ein zeilenweises Rasterabtastungsformat).

7. Schlußfolgerung

Der erfindungsgemäße Bildprozessor sieht somit eine adaptierbare Hochleistungs- und Hochgeschwindigkeits- Bildverarbeitungsarchitektur vor. Der erfindungsgemäße Pipeline- Bus 30 sieht frei fließende Datenübertragungen vor, so daß eine Vielzahl von Bildverarbeitungsfunktionen mit unterschiedlicher Rechenkomplexität ausgeführt werden können.

Die zur Übertragung von Bilddaten über den Pipeline-Bus 30 verwendete Teilbildblock-Konfiguration sieht eine wesentlich gesteigertere Geschwindigkeit und eine effiziente Adressierung vor, da nur eine einzige Adresse erforderlich ist, um einen ganzen Block von Pixeldaten zu erhalten.

Die parametrische, direkte Pipeline-Berechnung von Adressen in dem Adreßgenerator 18 sorgt ferner für eine hohe Geschwindigkeit sowie eine hohe Genauigkeit. Die Verwendung des adaptiven FIR- Filterns für alle Intensitätsverarbeitungsoperationen eignet sich in idealer Weise für ein System mit hoher Geschwindigkeit und hoher Flexibilität. Schließlich ermöglicht die asynchrone Funktionsweise des Anzeige-Formatierers 22 eine Pipeline- Architektur mit freiem Fluß, wobei eine Videoanzeigefähigkeit ebenso vorgesehen wird.

Die vorliegende Erfindung wurde zwar in bezug auf bevorzugte Ausführungsbeispiele beschrieben, doch wird der Fachmann erkennen, daß bezüglich der Ausführung und den Einzelheiten Änderungen vorgenommen werden können.


Anspruch[de]

1. Digitales Bildverarbeitungssystem (10) mit einer Pipeline- Buseinrichtung (20), einer mit der Pipeline-Buseinrichtung (30) verbundenen Bildspeichereinrichtung (16) zur Speicherung digitaler Bilddaten und mit einer Prozessoreinrichtung (20), die mit der Pipeline-Buseinrichtung (30) zur Ausführung von Verarbeitungsvorgängen an den digitalen Bilddaten verbunden ist, dadurch gekennzeichnet, daß die Pipeline-Buseinrichtung (20) Adressen und Handshake-Signale zur Steuerung des Adreß- und Datenflusses über die Pipeline-Buseinrichtung (30) übermittelt, und wobei die Prozessoreinrichtung (20) Verarbeitungsvorgänge an den Bilddaten ausführt, die über die Pipeline-Buseinrichtung (30) empfangen werden; und wobei das System (10) eine Adreßgeneratoreinrichtung(18) umfaßt, die zur Erzeugung der Adressen mit der Pipeline-Buseinrichtung (30) verbunden ist, und wobei die Pipeline-Buseinrichtung (30) eine Pipeline- Adreßeinrichtung (34) umfaßt, über welche die Adressen übertragen werden; sowie eine Pipeline-Datenbuseinrichtung (36), über welche die Daten übertragen werden, wobei die Pipeline- Adreßbuseinrichtung (34) in dem Bildspeicher (16) physikalische Adressen als digitale Muster gespeicherter Daten sowie Steuer- und Leitweginformationen für diese Daten trägt und Operationen einleitet, die an einer oder mehreren Pipeline- Datenbuseinrichtungen (36) auftreten, und wobei die Pipeline- Adreßbuseinrichtung (34) eine Mehrzahl von Adreßleitungen (210 & 212) und Modussteuerleitungen (222 & 224) aufweist, die das Format der übertragenen Daten bestimmen.

2. Digitales Bildverarbeitungssystem (10) nach Anspruch 1, wobei die Pipeline-Buseinrichtung (30) digitale Bilddaten in einem Format überträgt, das einen Mehrfachpixel-Teilbildblock (308) darstellt.

3. Digitales Bildverarbeitungssystem (10) nach Anspruch 1, wobei die Pipeline-Buseinrichtung (30) Daten erzeugt, welche Teilbildblöcke (308) darstellen, wobei die Bildspeichereinrichtung (16) digitale Bilddaten für eine Mehrzahl von Pixeln speichert, wobei die Adreßgeneratoreinrichtung (18) die Bildspeichereinrichtung (16) durch Bereitstellung einer Adresse adressiert, die ein vorbestimmtes Pixel eines Mehrfachpixel-Teilbildblocks (308) darstellt, und wobei die Prozessoreinrichtung (20) Pixeldaten für den Teilbildblock (308) empfängt und verarbeitet.

4. Digitales Bildverarbeitungssystem (10) nach Anspruch 2 oder 3, wobei es sich bei dem Teilbildblock (308) um einen rechteckigen Pixelblock handelt.

5. Digitales Bildverarbeitungssystem (10) nach Anspruch 4, wobei die Pixel des Teilbildblocks (308) zusammenhängend sind.

6. Digitales Bildverarbeitungssystem (10) nach Anspruch 5, wobei es sich bei dem Teilbildblock (308) um einen Block N x N zusammenhängender Pixel handelt.

7. Digitales Bildverarbeitungssystem (10) nach Anspruch 6, wobei N gleich 4 ist.

8. Digitales Bildverarbeitungssystem (10) nach Anspruch 1, ferner umfassend:

eine Videoanzeigeeinrichtung (24) zur Anzeige von Bildern auf der Basis der Videosignale; und

eine Anzeige-Formatbildnereinrichtung (22), die mit der Pipeline-Buseinrichtung (30) verbunden ist, um Daten asynchron von der Pipeline-Buseinrichtung (30) in Videosignale zu konvertieren.

9. Digitales Bildverarbeitungssystem (10) mit einer Pipeline- Buseinrichtung (30); einer Bildspeichereinrichtung (16), die zur Speicherung digitaler Bilddaten mit der Pipeline-Buseinrichtung (30) verbunden ist; einer Adreßgeneratoreinrichtung (18), die zur Erzeugung von Adressen mit der Pipeline-Buseinrichtung (30) verbunden ist; und mit einer Prozessoreinrichtung (20), die zur Ausführung von Operationen an den digitalen Bilddaten mit der Pipeline-Buseinrichtung (30) verbunden ist; dadurch gekennzeichnet, daß die Pipeline-Einrichtung Adressen und Daten überträgt, daß die Prozessoreinrichtung (20) Operationen an den über die Pipeline-Buseinrichtung (30) empfangenen Daten ausführt, und daß das System (10) folgendes umfaßt: eine Videoanzeigeeinrichtung (24) zur Anzeige von Bildern auf der Basis der Videosignale; und eine mit der Pipeline-Buseinrichtung (30) verbundene Anzeige-Formatbildnereinrichtung (22) zur asynchronen Datenumwandlung von der Pipeline-Buseinrichtung (30) in Videosignale, wobei die Anzeige-Formatbildnereinrichtung (22) erste und zweite Adreßumwandlereinrichtungen umfaßt sowie eine Steuereinrichtung, die auf einen Systemtakt der Pipeline- Buseinrichtung (30) und einen Videotakt der Videoanzeigeeinrichtung (24) anspricht, wobei die Steuereinrichtung während einem ersten Teil jedes Arbeitszykluses des Anzeige-Formatbildners digitale Bilddaten aus der Pipeline- Buseinrichtung (30) in die erste Adreßumwandlereinrichtung schreibt, und zwar mit einer durch den Systemtakt gesteuerten Geschwindigkeit, wobei die Steuereinrichtung digitale Bilddaten aus der zweiten Adreßumwandlereinrichtung mit einer durch den Videotakt gesteuerten Geschwindigkeit ausliest, um die Videosignale zu erzeugen, und während einem zweiten Teil jedes Arbeitszykluses werden digitale Bilddaten mit einer durch den Videotakt gesteuerten Geschwindigkeit aus der ersten Adreßumwandlereinrichtung ausgelesen, um die Videosignale zu erzeugen, während digitale Bilddaten aus der Pipeline- Buseinrichtung (30) mit einer durch den Systemtakt gesteuerten Geschwindigkeit in die zweite Adreßumwandlereinrichtung geschrieben werden.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com