DE69232689T2 - Parallelinterpolator für Hochgeschwindigkeits-Digitalbildvergrösserung - Google Patents
Parallelinterpolator für Hochgeschwindigkeits-DigitalbildvergrösserungInfo
- Publication number
- DE69232689T2 DE69232689T2 DE69232689T DE69232689T DE69232689T2 DE 69232689 T2 DE69232689 T2 DE 69232689T2 DE 69232689 T DE69232689 T DE 69232689T DE 69232689 T DE69232689 T DE 69232689T DE 69232689 T2 DE69232689 T2 DE 69232689T2
- Authority
- DE
- Germany
- Prior art keywords
- pixels
- pixel
- pixel values
- coefficients
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 32
- 239000000872 buffer Substances 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 2
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
- G06F17/175—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
- Complex Calculations (AREA)
Description
- Die vorliegende Erfindung betrifft digitale Bildverarbeitung und insbesondere eine Vorrichtung zum schnellen Durchführen der Daten-Interpolation, die zur Bildvergrößerung erforderlich ist.
- Ein digital gespeichertes Bild weist mehrere numerische Werte auf, die jeweils ein Bild-Merkmal, typischerweise einen Wert der optischen Dichte, für einen kleinen diskreten Teil des Bilds repräsentieren. Diese Werte sind auf dem Gebiet als PIXEL-Werte bekannt, wobei diese Bezeichnung eine abgekürzte Form des Ausdrucks "Picture Element" ist. Die relative Position jedes PIXELS in dem vollständigen Bild ist ebenfalls bekannt. Ein erfasstes und digitalisiertes Bild wird in einem Speicher in Form einer finiten Anzahl von Bildwerten gespeichert, die die Bilddichten für jedes PIXEL repräsentieren.
- Beim Wiederherstellen des Bildes zwecks Anzeige werden die gespeicherten PIXEL-Werte rückgewonnen und verwendet, um jedes Original-Bildelement an der exakten Stelle in dem Bild neu zu erzeugen, und zwar mit der gleichen optischen Dichte wie das Original.
- Solange eine Eins-zu-eins-Beziehung zwischen der Anzahl erfasster Original- Bildelemente und den erforderlichen Ausgangs-Bildelementen besteht, existieren selbstverständlich keine Probleme. Wenn man ein erfasstes Bild während der Anzeige vergrößern will, ist unmittelbar ersichtlich, dass, da die Zufuhr von Original-Pixel-Daten fixiert ist, in der angezeigten Information Lücken bestehen, die in irgendeiner Weise gefüllt werden müssen, um ein akzeptables Anzeigebild zu erhalten.
- Es ist bereits bekannt, die Original-Pixel-Daten zu verwenden, um zusätzliche Pixel-Werte zu interpolieren, mit denen die aufgrund der Bildvergrößerung er zeugten Lücken in den Original-Daten gefüllt werden. Mathematische Techniken zum Durchführen dieser Interpolation sind weithin bekannt.
- Ein weithin verwendeter Ansatz zur Datenmanipulation beruht darauf, dass unter Verwendung existierender Pixel-Daten eine dreidimensionale Kurve in mathematischen Ausdrücken definiert wird und aus dieser Kurve Zwischen- Pixelwerte berechnet werden. Aus einem definierten Bereich, der den aufzufüllenden Bereich umgibt, werden existierende Pixel-Werte entnommen, und diese Werte werden zur Vorhersage zusätzlicher Pixel-Werte verwendet. Die Anzahl der neuen Pixel hängt vom Vergrößerungsverhältnis ab. Bei einer zweifachen Vergrößerung beispielsweise müssen vier Werte für jeden Original- Pixelwert erzeugt werden. Die neuen Werte werden erzeugt, indem die verfügbaren Pixel-Daten mehreren arithmetischen Operationen unterzogen werden, zu denen das Wählen einer vorbestimmten Anzahl von Koeffizienten, das Multiplizieren einer gewählten Anzahl von Original-Pixeldaten mit den gewählten Koeffizienten, und das Addieren der Koeffizienten zum Erzeugen neuer Pixel-Werte zählen.
- Der Prozess zum Wählen der korrekten Koeffizienten, des Erhalts der Original- Daten, des Multiplizierens und des Addierens des Ergebnisses ist zeitaufwendig, insbesondere falls er in Software implementiert wird. Ein besonderer Geschwindigkeitsvorteil kann durch Entwicklung von Hardware erzielt werden, mit der die mathematische Verarbeitung durchgeführt wird. Dertartige Hardware ist beschrieben in US-A-4,468,693 und US-A-4,837,722. Obwohl beide, vorstehend angeführten Schriften eine Schaltung lehren, die eine schnelle Generierung neuer Pixel durchführt, ist bei der Handhabung großer Bildvergrößerungsverhältnisse und besonders in Situationen, in denen mehrere Koeffizienten verwendet werden müssen und folglich zahlreiche Rechenoperationen durchgeführt werden müssen, insbesondere falls reale oder quasireale Zeit-Anzeigen gewünscht sind, immer noch eine Erhöhung der Geschwindigkeit erforderlich.
- Aus US-A-4,578,812 ist eine digitale Bildverarbeitungsvorrichtung zum schnellen Vergrößern eines Bilds bekannt. Die Original-Pixeldaten werden in einem ersten Speicher gespeichert und aus diesem Speicher entsprechend Adresssignalen ausgelesen, die durch eine Adresserzeugungseinrichtung erzeugt werden, wobei die Original-Pixeldaten entsprechend den Stellen, an denen neue Pixel-Daten bestimmt werden sollen, ausgelesen werden. Die Erzeugungseinrichtung erzeugt auch Steuersignale, um Wichtungsfaktoren aus einer Wichtungsfaktortabelle entsprechend der Stelle zu wählen, an der die neuen Pixel-Daten ausgelesen werden sollen. Die ausgelesenen Original-Pixeldaten und die entsprechenden Wichtungsfaktoren werden multipliziert, und die Produkte dieser Multiplikationen werden addiert, um sämtliche neuen Pixel-Daten zu bestimmen, die in einem Speicher gespeichert werden.
- EP-A-0 396 517 beschreibt ein System und ein Verfahren, um Bild-Daten in einem Graphik-Anzeigesysfem mittels paralleler Vorgänge zu verarbeiten. Ein Ausgangs-Bild, das als ein Array von Bild-Pixelwerten repräsentiert ist, wird durch eine Kernel-Funktion derart konvolviert, das gewählte Merkmale verstärkt werden und die Bildanalyse unterstützen. Bilineare Interpolation wird implementiert, um die Bildqualität beizubehalten, wenn ein Ausgangs-Bild vergrößert oder verkleinert wird. Eine Reihe parallelgeschalteter Verarbeitungselemente wird zur Beschleunigung der Bild-Transformation und -Interpolation verwendet. Die Anwendung der Konvolution ist zwischen den Prozessoren geteilt, so dass sich der Verarbeitungsvorgang mit benachbarten Pixeln überlappt und Ausgangsbild-Pixel in weniger Maschinenzyklen erzeugt werden. Eine Pipeline-Architektur verarbeitet kontinuierlich Werte durch Validierung und Konversion, um das endgültige Bild zu erzeugen.
- Es ist Aufgabe der vorliegenden Erfindung, einen Hochgeschwindigkeits-Prozessor zu schaffen, der digitale Daten derart interpoliert, dass neue Pixel-Werte schneller erzeugt werden, als es bisher erreicht wurde.
- Gemäß der Erfindung wird diese Aufgabe durch eine Vorrichtung und ein Verfahren gemäß den Ansprüchen 1 bzw. 6 gelöst. Die Unteransprüche betreffen jeweils bevorzugte Ausführungsformen.
- Die Erfindung wird am besten ersichtlich anhand der folgenden Beschreibung einer bevorzugten Ausführungsform, die in den Zeichnungen gezeigt ist.
- Fig. 1 zeigt eine Anordnung einer Anzahl von Pixeln, die einen Ausschnitt des Original-Bilds repräsentieren;
- Fig. 2 zeigt eine Lücke in der Pixel-Information, die sich aus einer zweifachen Vergrößerung des Bild-Ausschnitts gemäß Fig. 1 ergibt;
- Fig. 3 zeigt ein Blockschaltbild von Hardware, die die vorliegende Erfindung implementiert;
- Fig. 4 zeigt eine detaillierte Wiedergabe des Interpolator-Teils der Schaltung, die in Fig. 3 als Black Box repräsentiert ist; und
- Fig. 5 zeigt das Verhältnis zwischen den ersten und zweiten Takt-Zeitgebungs-Ausgangsimpulsen.
- Fig. 1 und 2 veranschaulichen das im einführenden Teil dieser Beschreibung kurz erläuterte Problem. Fig. 1 zeigt einen kleinen Ausschnitt eines Original- Bild, das durch 16 Bildelemente repräsentiert sind, welche in einem 4 · 4 - Array angeordnet sind. Das Original-Bild umfasst selbstverständlich eine große Anzahl derartiger Elemente, und in Fig. 1 ist zu Veranschaulichungszwecken nur ein sehr kleiner Ausschnitt gezeigt.
- Jedes Bildelement wird hinsichtlich seiner relativen Position in dem Bild durch eine Spalten- und Reihen-Bezeichnung identifiziert (D11. . .D44). Jedem Pixel ist ein numerischer Wert zugewiesen, der einer digitalen Repräsentation der optischen Dichte des Original-Bilds innerhalb jedes der Bildelemente entspricht. Dieser Wert kann in einem vorübergehenden oder einem dauerhaften Speicher erhalten werden, aus dem heraus auf den Wert zugegriffen werden kann, wobei er zum Erzeugen der optischen Dichte des Original-Bilds verwendet werden kann. Bei einem 8-Bit-Digitalsystem kann es sich bei diesem Wert um eine Zahl zwischen 0 und 255 handeln. Ferner ist jeder Zahl eine Adresse zugeordnet, die das Lokalisieren des Speicher-Inhalts für eine bestimmte Bildstelle ermöglicht. Die Technologie zum Erfassen, Speichern und Wiederaufrufen eines Bilds im Digitalformat ist weithin bekannt und braucht hier nicht weiter erläutert zu werden.
- Wenn dieser Bild-Ausschnitt ohne Vergrößerung wiedergegeben wird, wird die Anzeigeeinrichtung typischerweise derart gesteuert, dass für jeden der gespeicherten Pixel-Werte ein entsprechendes angezeigtes Bildelement mit diesem Wert auf der Anzeigeeinrichtung wiedergegeben wird. Somit existiert bei der Ausgabe für jedes D11. . . D44 ein D'11. . .D'44, Sämtliche Ausgangs-Pixel sind exakt wie in dem Original-Bild aneinander angereiht.
- Fig. 2 zeigt, was passiert, wenn das Original-Bild unter Verwendung der gleichen Anzeigeeinrichtung in der doppelten Größe wie der Originalgröße angezeigt wird. Da das Bild nun zweimal so groß ist, bedeckt jedes Original-Bildelement in der Ausgangs-Anzeige einen Bereich, der viermal so groß ist. Somit muss DU nun derart erweitert werden, dass es vier aneinander angrenzende Pixel bedeckt, D12 vier mehr, usw., so dass sich der ursprüngliche 4 · 4 - Pixel- Bereich über 8 · 8 Pixel erstreckt.
- Anfangs jedoch sind Daten nur für D11. . .D44 verfügbar und würden, falls sie gleichmäßig ausgebreitet würden, nur 16 Pixel bedecken, wie in Fig. 2 gezeigt ist. Somit ist es vor dem Anzeigen des vergrößerten Bilds erforderlich, neue Pixel-Werte für die Blanko-Pixel zu erzeugen. Typischerweise wird bei einem Vergrößerungsfaktor M jedes Bildelement in dem Original-Bild durch M² Ausgangs-Pixel ersetzt. Mittels einer der verfügbaren Interpolationstechniken zum Entwickeln neuer Pixel-Werte wird jeder neue Pixel-Wert berechnet, indem die Original-Pixeldaten mit Wichtungsfaktoren multipliziert werden und die Ergebnisse der Multiplikation summiert werden. Normalerweise wird ein Nachbarschaftsbereich von 4 · 4 Original-Pixeln verwendet. Falls die Pixel, wie in Fig. 1 und 2 gezeigt, durch "D" repräsentiert sind, existiert ein unterschiedlicher Satz von Wichtungsfaktoren, mit denen jeder der Original-Pixelwerte Viermal multipliziert werden muss, um den Ersatzwert N1 und die neuen Werte N2, N3 und N4 für jeden Original-Pixel D zu erzeugen. Diese Wichtungsfaktoren können als Koeffizienten matrix Ck repräsentiert werden, wobei:
- und wobei K = 1, 2, . . . M² (Vergrößerungsfaktor).
- Ein Beispiel für die Ableitung der Wichtungsfaktoren, die von dem gewählten Interpolationsvorgang abhängt, d. h. linear, bilinear, kubisch, etc., ist beschrieben in 07/636,647, eingereicht am 31. Dezember 1990.
- Unter Verwendung der obigen Aufstellung sind die neuen Ausgangs-Pixel Nk, die D entsprechen, durch die folgende Formel gegeben:
- Nk = ΣjΣiDij Cijk (1)
- für j = 1 bis 4, für i = 1 bis 4, und für sämtliche k.
- Das folgende numerische Beispiel veranschaulicht eine Interpolationsberechnung für eine 2x-Vergrößerung, das begrenzt ist auf die Berechnung der mit N1, N2, N3 und N4 bezeichneten Pixel, die Fig. 2 gezeigt sind. Die Berechnung eines jeden der übrigen Werte innerhalb der bezeichneten Pixel-Matrix erfolgt auf ähnliche Weise. Für die Zwecke dieses Beispiels werden den Pixeln D in Fig. 1 die folgenden speziellen Werte gegeben:
- Es folgt ein Satz von Koeffizienten Ck, die für den Fall der kubischen Konvolutions-Interpolation entwickelt wurden. In diesem Beispiel ist M = 2 und K = 1, 2, 3 und 4. Die Koeffizienten wurden für den oben gezeigten Bereich D in der Umgebung von D22 entwickelt.
- C&sub1;, C&sub2;, C&sub3; und C&sub4; bilden jeweils einen Unter-Satz des Satzes von Koeffizienten Ck. Die Anwendung der Gleichung (1) auf D22 ergibt die folgenden Ausgangs- Pixelwerte:
- Die neuen Werte N&sub1;, N&sub2;, N&sub3; und N&sup4; werden wie in Fig. 2 gezeigt platziert. Der Berechnungsvorgang wird dann für das nächste Pixel, d. h. D23, wiederholt, um einen weiteren Satz von vier neuen Pixeln zu erzeugen, usw. Fig. 3 zeigt Hardware zum schnellen Durchführen der oben angeführten Operationen. Diese Hardware umfasst einen ersten Taktgeber, mit einer ersten (Eingangs-)Frequenz, mit der über die Leitung 11 die Zufuhr von Bildpixel- Daten aus einem Speicher 12 gesteuert wird, der die Original-Bilddaten enthält. Pixel aus dem Speicher 12 werden über die Leitung 23 einem Interpolator-Modul 16 zugeführt.
- Der erste Taktgeber 10 gibt ferner Eingangs-Zeitgebungssignale an das später noch detailliert zu beschreibende Interpolator-Modul 16 und ein Koeffizienten- Ausgangs-Modul 18 aus, und zwar über die Leitungen 13 bzw. 19. Das Koeffizienten-Ausgangs-Modul 18 kann als Speicher vorgesehen sein, der im voraus berechnete Sätze von Koeffizienten enthält, auf die in Form einer Nachschlag- Tabelle oder von Nachschlag-Tabellen zugegriffen werden kann, welche feste Werte enthalten, oder das Modul kann Berechnungselemente enthalten, die in der Lage sind, einen Satz von Koeffizienten auf der Basis des Eingangssignals von den Original-Pixel-Daten in dem Interpolator zu berechnen. Das letztere ist besonders zweckmäßig, wenn die Interpolation adaptiv ist, d. h. wenn sich die Koeffizienten mit dem Bild ändern, während die Natur des Bildes variiert. Die Koeffizienten werden dem Interpolator-Modul über die Leitung 21 zugeführt.
- Gemäß der vorliegenden Erfindung wird ein zweiter Taktgeber 14 mit einer zweiten (Ausgangs-)Frequenz zusätzlich zu dem ersten Taktgeber 10 verwendet. Dieser zweite Taktgeber gibt ein Ausgangs-Zeitgebungs-Signal aus, dessen Periode einen Bruchteil der ersten Taktperiode ist, gleich der Invertierung der gewünschten Bildvergrößerung "M". Fig. 5 zeigt das Verhältnis der Zeitgebungsimpulse, die von den beiden Taktgeber für den Fall M = 4 erzeugt werden. Bei der bevorzugten Ausführungsform wird die Periode "t" des zweiten Takts gesetzt und konstantgehalten, und die Periode "T" des ersten Takts wird unter dem Aspekt der Praktikabilität derart variiert, dass das erforderliche Frequenzverhältnis erzeugt wird. Ferner ist vorzuziehen, dass die Abfallflanke der Ausgangsimpulse des ersten Takts mit der Abfallsflanke eines Ausgangs impulses des zweiten Takts übereinstimmt, wie Fig. 5 zeigt. Auch bei der bevorzugten Ausführungsform wird die Breite des ersten Taktimpulses auf 1/4 der Periode t des zweiten Takts gesetzt.
- Das Ausgangs-Zeitgebungssignal wird dem Interpolator-Modul 16 über die Leitung 15 zugeführt. Wenn ein Interpolationsverfahren mit Verwendung adaptiver Koeffizienten praktiziert wird, wird das Ausgangs-Zeitgebungssignal dem Koeffizienten-Ausgangs-Modul 18 weiter zugeführt, um die Rate der Extraktion der Koeffizienten-Sätze zu steuern, die dem Interpolations-Modul anschließend über die Leitung 21 zugeführt werden. Bei der bevorzugten Ausführungsform wird das Koeffizienten-Ausgangs-Modul 18 weggelassen, und es werden im voraus berechnete Koeffizienten berechnet, die im voraus in die Speicher- Module des Interpolator-Moduls 16 geladen werden, die noch später in dieser Anmeldung erläutert werden.
- Das Ausgangssignal des Interpolators 16 wird vorzugsweise über die Leitung 25 einem Puffer-Speicher 20 zur weiteren Verarbeitung zugeleitet, die auch ein optisches Anzeigen zählen kann.
- Im folgenden wird Fig. 4 erläutert, in der der Interpolator 16 detailliert gezeigt ist. Ein Rasterzeilenpuffer 30 weist eine Anzahl einzelner Zeilenpufferspeicher 34 auf. Bei der bevorzugten Ausführungsform werden, falls bei der Interpolations-Berechnung ein Nachbarschaftsbereich von N · N Original-Pixeln verwendet wird, N + 1 einzelne Zeilenpuffer 34 verwendet. Pixel-Information aus den gespeicherten Bild-Daten 12 wird über die Leitung 23 dem Rasterzeilenpuffer 30 zugeführt. Die Daten werden seriell in die einzelnen Zeilenpuffer 34 geladen, und zwar eine Rasterzeile in jeden Zeilenpuffer. Nachdem mindestens N Zeilenpuffer geladen worden sind, beginnt der erste Taktgeber, einzelne Pixel- Daten gleichzeitig aus jedem der N Zeilenpuffer 34 an jede der entsprechenden Pipelines 32 zuzuführen. Jede Pipeline weist N Datenhaltezellen auf, und es existieren N Pipelines. Bei der Schaltung gemäß Fig. 4 wird ein 4 · 4 -Pixel- Nachbarschaftsbereich verwendet, so dass es vier Pipelines 32 gibt, die jeweils vier Zellen für insgesamt 16 Zellen enthalten, und zwar mit den Nummern 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64 und 66. Innerhalb jeder Pipeline 32 sind vier Zellen derart verbunden, dass jede Zelle Daten aus der ihr vorhergehenden Zelle empfangen kann und Daten zu der auf sie folgenden Zelle übertragen kann, wobei der Datenübertragungsweg von rechts nach links verläuft. Die erste Zelle in jeder Pipeline empfängt Daten aus einem entsprechenden einzelnen Zeilenpuffer 34. Nach der Berechnung sämtlicher Pixel auf der Basis der in die Zeilenpuffer 34A, 34B, 34C und 340 geladenen Daten werden die Pipeline-Eingangssignale verschoben, um Daten aus den Zeilenpuffern 34B, 34C, 34D und 34E zu empfangen, wobei die letztgenannten während der Trennung von den Pipelines eingegeben worden sind. Der Zeilenpuffer 34A wird nun verfügbar für die Füllung zwecks nachfolgender Verwendung. Der Vorgang wird kontinuierlich wiederholt, wobei sämtliche fünf Zeilenpuffer durch sämtliche vier Pipelines rotiert werden.
- Jeder Zelle ist ein Multiplexer 100 zugeordnet, der zwei Eingänge A und B aufweist. Es existieren sechzehn derartiger Multiplikatoren in dem 4 · 4 -Fall, N · N in dem generellen Fall. Die Multiplikatoren sind derart geschaltet, dass der in jeder Zelle gespeicherte Wert an dem Eingang A jedes Multiplikators erscheint.
- Ferner ist jeder Pipeline 32 ein Speichermodul zugeordnet (bei dem es sich um einen RAM-Chip handeln kann), in das die Sätze von Koeffizienten Ck geladen werden. Bei der Schaltung gemäß Fig. 4 ist da Koeffizienten-Speichermodul in Zuordnung zu jeder Haltezelle gezeigt, und es existieren 16 derartiger Koeffizienten-Speichermodule, die bezeichnet sind als 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96 und 98. Das Ausgangssignal jedes der Speichermodule wird an einen betreffenden Eingang B eines jeden der Multiplexer angelegt. Den Speichermodulen ist ein fraktionaler x- und ein fraktionaler y- Adressgenerator 140 bzw. 142 zugeordnet, der durch das zweite Taktsignal gesteuert wird. Das Ausgangssignal der x- und y-Adressgeneratoren 140 und 142 wird verwendet, um aus den Speichermodulen die entsprechenden Koeffi zienten zu extrahieren, die den Daten zum Erzeugen der neuen Pixel Nij zugefügt werden.
- Das Ausgangssignal jedes der Multiplexer 100 erscheint in der ersten Stufe eines Multiplexer-Addierers 101, welcher derart geschaltet ist, dass das Ausgangssignal der Multiplexer 100 und 108, 102 und 110, 104 und 112, 106 und 114, 116 und 124, 118 und 126, 120 und 128, und 122 und 130 einander hinzuaddiert werden. Die Ausgangssignale der ersten Stufe des Addierers erscheinen und werden parallel addiert in der zweiten Stufe des Addierers 101, dessen Ausgangssignal in der dritten Stufe des Addierers 101 erscheint und addiert wird. Obwohl es für die Praktizierung der Erfindung nicht unabdingbar ist, ist es vorzuziehen, dass die Register 103 zwischen den Stufen in dem Addierer 101 sowie in dem Eingang und Ausgang der Multiplexer 100, 102, 104, . . . bis 130 platziert werden. In Fig. 4 sind einige der Register weggelassen worden, um eine unnötige Überfüllung der Zeichnung zu vermeiden.
- In Fig. 4 ist eine bestimmte gegenseitige Verbindung der verschiedenen Addierer-Stufen gezeigt. Die bestimmte gezeigte Abfolge ist nicht kritisch und kann verändert werden, vorausgesetzt, dass das End-Ausgangssignal das Ausgangssignal repräsentiert, das durch die Implementierung von Gleichung (1), die Nk ergibt, erhalten wird. Bei der Wahl der Reihenfolge des Addierens der Ergebnisse der Multiplikation der Daten muss man die Koeffizienten-Größenordnung für jede Pixel-Stelle in dem interessierenden Pixel-Nachbarschaftsbereich in Betracht ziehen und mit der Additions-Reihenfolge fortfahren, um ein Überströmen oder Unterströmen auf irgendeiner der Addierer-Stufen zu vermeiden.
- Bei der bevorzugten Ausführungsform muss ferner wie folgt eine Begrenzungsschaltung 151 verwendet werden, um ein derartiges Überströmen oder Unterströmen des Ausgangssignals der Endstufe des Addierers 101 zu verhindern. Die gehandhabte Information, d. h. die Pixel-Werte, liegt in einem 8-Bit- Format vor.
- Allgemein ausgedrückt sollten zum Minimieren eines Abrundungsfehlers die Addierer-Stufen mit größeren Kapazitäten als 8 Bit gewählt werden. Typischerweise werden 12-Bit-Addiererstufen gewählt. Falls die signifikanten Bits des Addierer-Ausgangssignals 1-8 der insgesamt verfügbaren 0-11 ausmachen, wobei 0 das LSB (least significant bit) und 11 das MSB (most significant bit) ist, wird ein Unterströmen angezeigt, falls das MSB eine "1" ist. Falls hingegen das MSB eine "0" ist und das Bit 9 eine "1" ist, wird ein Überströmen angezeigt. Die Begrenzungsschaltung ersetzt das Addierer-Ausgangssignal durch "0" für ein Unterströmen und "255" für Überströmen.
- Das Ausgangssignal der Endstufe des Addierers; 101 kann zusammen mit seiner Fraktional-Adresse einem Ausgangspuffer zugeführt werden, aus dem es aufgerufen wird, um wie erforderlich verwendet zu werden, z. B. zur Anzeuge, dauerhaften Speicherung oder weiteren Verarbeitung. Bei Anwendungsfällen, in denen die erweiterten Daten zum Treiben einer Rasterzeilen-Ausgangseinrichtung in Echtzeit oder Quasi-Echtzeit verwendet werden, kann es praktisch sein, das Ausgangssignal des End-Registers einem FIFO-Pufferspeicherelement zuzuführen, aus dem es sequentiell in einer First-in-first-out-Reihenfolge aufgerufen wird, um die Ausgangseinrichtung ohne das Erfordernis einer spezifischen Pixel-Adress-Informationsspeicherung zu steuern. In diesem Fall, und wie im folgenden detaillierter beschrieben, werden die Fraktional-Adress- Generatoren derart betätigt, dass der y-Adress-Generator an dem Ende jeder Leitung inkrementiert wird, bis er einen Zählstand von "M" Zeilen erreicht, und dann rückgesetzt wird, während der x-Adress-Generator mit jedem zweiten Taktimpuls inkrementiert wird und nach einem Zählstand von "M" rückgesetzt wird. Im Ergebnis werden neue Pixel N1 und N2 (Fig. 2) in einem ersten an den Daten vorgenommenen Durchlauf generiert, bis sämtliche neuen Pixel in einer Rasterzeile errechnet worden sind, und N3 und N4 werden in einem zweiten Durchlauf, der an den gleichen Daten vorgenommen wird, berechnet, nachdem der x-Adress-Generator inkrementiert worden ist, bis eine neue Rasterzeile vervollständigt worden ist, wobei das gleiche Endergebnis erzeugt wird, als ob sämtliche vier Pixel-Werte in einem einzigen Durchlauf generiert worden wären und ihre Adressen in einem Pufferspeicher gespeichert oder abgebildet worden wären.
- Bei Betrieb werden Bild-(Raster-)Zeilen in die Rasterzeilenpuffer 34 geladen. Wenn N Zeilenpuffer voll sind, lädt bei der vorliegenden Ausführungsform der erste Taktgeber N Pixel (einen von jedem der N Zeilenpuffer) in die erste Stufe der parallelen Pipelines 32 und die Zellen 36, 44, 52 und 60. Wenn N Erst- Taktzyklen erfolgt sind, sind N · N Pixel geladen worden, und die Pipelines sind voll. Die Ausgangssignale Sämtlicher N Stufen sind gleichzeitig an den A- Eingängen der N · N Multiplizierer 100, 102, 104, . . . 130 verfügbar.
- Jedes Koeffizient-Speichermodul 68, 70, 74, . . . 98 ist mit M potenzierten Koeffizientenwerten vorgeladen worden, wobei M das Vergrößerungsverhältnis des Ausgangs-Bilds zu dem Eingangs-Biid ist Bei dem zuvor angeführten Beispiel, beim Berechnen von N&sub1;, N&sub2;, N&sub3; und N&sub4; für D22, und wobei M = 2, werden Zellen 36, 38, 40, . . . 66 jeweils mit D11 in der Zelle 36, D21 in der Zelle 38 und so fort bis D44 in der Zelle 66 geladen. Zur gleichen Zeit werden die Zeitspeichermodule 68, 70, 72, . . . 98 mit dem Ck-Koeffizienten vorgeladen, so dass das Speichermodul 68 Koeffizienten C1&sub1;&sub1;, C2&sub1;&sub1;, C3&sub1;&sub1; und C4&sub1;&sub1; enthält, das Speichermodul 70 Koeffizienten C1&sub2;&sub1;, C2&sub2;&sub1;, C3&sub2;&sub1; und C4&sub2;&sub1; enthält, usw. innerhalb des gesamten Speichermoduls 98, das Koeffizienten C1&sub4;&sub4;, C2&sub4;&sub4;, C3&sub4;&sub4; und C4&sub4;&sub4; enthält.
- Der zweite Taktgeber treibt die beiden Zähler 140 und 142, die Offsets in dem fraktionalen X- und dem fraktionalen Y-Pixel-Raum erzeugen, wobei sämtliche N · N Koeffizienten-Speichermodule gleichzeitig indexiert werden. Bei dem ersten Durchlauf ist der fraktionale Y-Index gleich null. Der fraktionale X-Index inkrementiert mit jedem Zweit-Taktzyklus. Die Koeffizienten-Untergruppen sind an den B-Eingängen der Multiplizierer verfügbar. Bei jedem Zweit-Taktzyklus werden N · N Multiplikationen der Koeffizienten und Bilddaten (A · B) gleichzeitig ausgeführt.
- Diese N · N Produkte werden in den Mehrstufen-Addierer 101 eingegeben, aus dem nach mehreren Zweit-Takt-Punkten das resultierende Ausgangs-Pixel vefügbar ist. Anschließend ist bei jedem zweiten Takt-Punkt ein neues Ausgangspixel verfügbar. Nach M Zweit-Taktzyklen sind sämtliche Ausgangs-Pixel, die dem Fraktional-X-Indexieren entsprechen, multipliziert worden, und der Erst- Takt lädt den nächsten Satz von N Pixeln aus den Rasterzeilenpuffern.
- Nach P Erst-Takt-Zyklen (wobei P die Anzahl von Pixeln auf einer Eingangsrasterzeile ist) ist das Ende der ersten Ausgangszeile multipliziert worden, und der erste Durchlauf ist abgeschlossen. Die zweite Ausgangs-Bildzeile wird berechnet durch Inkrementieren des Fraktional Y-Index und durch Ausführen eines zweiten Durchlaufs über die gleichen N Eingangsrasterzeilen. Nach M Durchläufen über die Eingangs-Daten sind M Ausgangszeilen erzeugt worden, und der Controller rotiert die Eingangsrasterzeilenpuffer. Die "obere" Rasterzeile wird nach außen rotiert (und ist zur Füllung verfügbar), und eine neue Rasterzeile wird von "unten" her eingebracht. Das komplette Ausgangs-Bild wird nach N Durchläufen über jeden möglichen Satz von N benachbarten Rasterzeilen erzeugt. Unter Verwendung derzeitiger Technologie kann eine Mindestzeit von ungefähr 50 ns pro Ausgangs-Pixel (20 Megapixel/Sekunde) erzielt werden.
- Die gleichen Prinzipien und Verfahren, die hier gelehrt werden, können gleichermaßen vorteilhaft angewandt werden, ohne dass zwei Durchläufe verwendet werden, um die Rasterzeilen zu verarbeiten und fraktionale X-Daten zu entwickeln. Die Koeffizienten-Quelle 18 kann weggelassen werden, und die Koeffizienten können einfach in die Koeffizienten-Speichermodule vorgeladen werden. Die vorgeladenen Koeffizienten können für nur ein einziges. Interpolationsverfahren und nur ein einziges Vergrößerungsverhältnis vorgesehen sein oder vorzugsweise in Form einer Nachschlag-Tabelle vorliegen, aus der je nach den vorbestimmten Interpolationsverfahren und/oder Vergrößerungsverhältnissen passende Koeffizienten zur Verwendung gewählt werden können.
Claims (10)
1. Vorrichtung zur Vergrößerung eines aus einer ersten Anzahl seriell in
mehreren Linien angeordneter Pixel bestehenden Originalbilds mit einem
Vergrößerungsfaktor "M", indem aus der ersten Anzahl von Pixeln durch
Interpolation eine zweite Anzahl von Pixeln errechnet wird, die ebenfalls
in einer neuen Anzahl paralleler Zeilen seriell angeordnet sind, wobei die
Interpolation das Identifizieren eines Bereiches umgebender Pixel Ny · Nx,
die wobei Ny die Anzahl der in jeder der Zeilen enthaltenden Pixel
repräsentiert, und das Berechnen neuer Pixel-Werte unter Verwendung der in
dem Bereich enthaltenen Pixelwerte durch gleichzeitiges Multiplizieren
der Umgebungspixel-Werte mit einem gewählten Koeffizienten-Set
umfasst, wobei die Vorrichtung aufweist:
einen Zeilen-Speicher mit mindestens mehreren Ny-Originalpixel-Zeilen-
Puffern (34);
eine Anzahl Ny von Pixel-Pipelines (32) mit jeweils Nx seriell
verbundenen Zellen (36-66), die parallel mit dem Speicher verbunden sind;
eine erste Zeitgebungseinrichtung, die Zeitgebungsimpulse mit einer
Frequenz f(p) erzeugt,
mehrere Speichermodule (18; 68-98), die Sets von Koeffizienten
enthalten, um durch Interpolation neue Pixel-Werte zu errechnen,
eine Recheneinrichtung (16), die einen Subset des Koeffizienten-Sets
empfängt und aufweist: eine Multipliziereinrichtung zum Multiplizieren
je
des der in den Zellen gespeicherten Pixel-Werte mit einem
entsprechenden Koeffizienten des gewählten Subsets von Koeffizienten, und eine
Addiereinrichtung zum Addieren des Ausgangswerts der
Multipliziereinrichtung zwecks Bildung interpolierter Pixel-Werte,
dadurch gekennzeichnet, dass die Vorrichtung ferner
aufweist:
eine Einrichtung zum Übertragen der Pixel-Werte aus den
Zeilen-Speichern zu den Pipelines und eine Einrichtung zum gleichzeitigen Bewegen
jedes in den Pipelines (32) befindlichen Pixel-Werts entlang den Pipelines
(32) von Zelle zu Zelle mit der Frequenz f(p) der ersten
Zeitgebungseinrichtung (10),
eine zweite Zeitgebungseinrichtung (14) zum Erzeugen zweiter
Zeitgebungsimpulse mit einer Frequenz f(s) = M · f(p),
einen x-Adress-Zähler (140) und einen y-Adress-Zähler (142), die von
den zweiten Zeitgebungsimpulsen derart gesteuert werden, das sie einen
Subset eines der Koeffizienten-Sets wählen und den Koeffizienten-Subset
in der Recheneinrichtung anwenden, wobei der x-Zähler (140) bei jedem
zweiten Zeitgebungsimpuls inkrementiert wird und nach M Impulsen
zurückgesetzt wird, und der y-Zähler (142) inkrementiert wird, nachdem
die Anzahl zweiter Zeitgebungsimpulse gleich der Anzahl neuer Pixel in
einer Zeile eines vergrößerten Bildes geworden ist, und zurückgesetzt
wird, nachdem er um M inkrementiert worden ist, wodurch die neuen
Pixel als kontinuierlicher Strom sequentieller Pixel von Bildzeile zu Bildzeile
erzeugt werden, und
eine FIFO-Pufferspeichereinrichtung zum Empfangen und Speichern der
neuen Pixel in Reihenfolge derart, dass sie sequentiell aufgerufen werden
können, um angezeigt zu werden.
2. Vorrichtung nach Anspruch 1, bei der die Anzahl von Zellen-Puffern in
dem Zeilen-Speicher gleich Ny + 1 ist.
3. Vorrichtung nach Anspruch 1 oder 2, ferner mit einer
Koeffizientenberechnungseinrichtung, die durch die zweite Zeitgebungseinrichtung derart
gesteuert wird, dass sie entsprechend den Eigenschaften der zu
interpolierenden Pixeldaten ein Set von Koeffizienten berechnet, um eine
adaptive Interpolation durchzuführen, d. h. eine Interpolation, bei der sich die
Koeffizienten des Subsets mit dem Bild verändern, während der Bild-Wert
variiert.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, bei dem "x"-Adress- und
"y"-Adress-Zählern eine Lookup-Tabelle im voraus berechneter
Koeffizientenwerte zugeordnet ist, aus denen die Subsets von Koeffizienten
gewählt werden.
5. Vorrichtung nach Anspruch 1, bei der die Anzahl von Zeilen-Puffern in
dem Zeilen-Speicher gleich Ny + 1 ist.
6. Vorrichtung zur Vergrößerung eines aus einer ersten Anzahl seriell in
mehreren Linien angeordneter Pixel bestehenden Originalbilds mit einem
Vergrößerungsfaktor "M", indem aus der ersten Anzahl von Pixeln durch
Interpolation eine zweite Anzahl von Pixeln errechnet wird, die ebenfalls
in einer neuen Anzahl paralleler Zeilen seriell angeordnet sind, wobei die
Interpolation das Identifizieren eines Bereiches umgebender Pixel Ny · Nx,
die wobei Ny die Anzahl der in jeder der Zeilen enthaltenden Pixel
repräsentiert, und das Berechnen neuer Pixel-Werte unter Verwendung der in
dem Bereich enthaltenen Pixelwerte durch gleichzeitiges Multiplizieren
der Umgebungspixel-Werte mit einem gewählten Koeffizienten-Set
umfasst, wobei das Verfahren umfasst:
Laden mindestens mehrerer Ny-Originalpixel-Zeilen in mehrere Ny-Zeilen-
Puffer (34) eines Zeilen-Speichers, mit dem parallel eine Anzahl Ny von
Pixel-Pipelines (32) verbunden ist, die jeweils Nx seriell angeordnete
Zellen (36-66) aufweisen,
Erzeugen erster Zeitgebungsimpulse mit einer Frequenz f(p),
Laden mehrerer Speichermodule (18; 68-98) mit Sets von Koeffizienten,
um durch Interpolation neue Pixel-Werte zu errechnen,
Verwenden einer Recheneinrichtung (16) zum Empfangen eines Subsets
des Koeffizienten-Sets und zum Multiplizieren jedes der in den Zellen
gespeicherten Pixel-Werte mit einem entsprechenden Koeffizienten des
gewählten Subsets von Koeffizienten, und zum Addieren des Ausgangswerts
der Multipliziereinrichtung zwecks Bildung interpolierter Pixel-Werte,
gekennzeichnet durch die folgenden Schritte:
Übertragen der Pixel-Werte aus den Zeilen-Speichern zu den Pipelines (5)
und gleichzeitiges Bewegen jedes in den Pipelines (32) befindlichen Pixel-
Werts entlang den Pipelines (32) von Zelle zu Zelle mit der Frequenz f(p)
der ersten Zeitgebungsimpulse,
Erzeugen zweiter Zeitgebungsimpulse mit einer Frequenz f(s) = M · f(p),
serielles Erzeugen eines Stroms neuer Pixel-Werte, und zwar Pixel um
Pixel und Zeile um Zeile, durch Wählen eines Subsets eines der
Koeffizienten-Sets und Anwenden des Koeffizienten-Subsets in der
Recheneinrichtung (16), wobei die Wahl des Subsets gesteuert wird von einem
durch die zweiten Zeitgebungsimpulse gesteuerten x-Adress-Zähler
(140), der bei jedem zweiten Zeitgebungsimpuls inkrementiert wird und
nach M Impulsen zurückgesetzt wird, und von einem y-Adress-Zähler
(142), der inkrementiert wird, nachdem die Anzahl zweiter
Zeitgebungsimpulse gleich der Anzahl neuer Pixel in einer Zeile eines vergrößerten
Bildes geworden ist, und der zurückgesetzt wird, nachdem er um M
inkrementiert worden ist,
sequentielles Empfangen und Speichern der neuen Pixel in einem FIFO-
Puffer in der Reihenfolge des Erzeugens, derart, dass sie sequentiell
aufgerufen werden können, um angezeigt zu werden.
7. Verfahren nach Anspruch 6, ferner mit dem Schritt des Empfangens und
Anzeigens der neuen Pixel-Werte.
8. Verfahren nach Anspruch 6 oder 7, bei dem die Anzahl von Zeilen-Puffern
in dem Zeilen-Speicher gleich Ny + 1 ist.
9. Verfahren nach einem der Ansprüche 6 bis 8, ferner mit dem Schritt des
Berechnens eines adaptiven Sets von Koeffizienten mit einer durch den
zweiten Takt gesteuerten Rate, zur Berechnung eines Sets von
Koeffizienten entsprechend den Eigenschaften der zu interpolierenden
Pixeldaten, um eine adaptive Interpolation durchzuführen, d. h. eine
Interpolation, bei der sich die Koeffizienten des Subsets mit dem Bild verändern,
während der Bild-Wert variiert.
10. Verfahren nach Anspruch 9, bei dem in dem Schritt des Wählens des
Koeffizienten-Subsets das Subset aus einer Lookup-Tabelle im voraus
berechneter Koeffizientenwerte gewählt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/692,655 US5157517A (en) | 1991-04-29 | 1991-04-29 | Parallel interpolator for high speed digital image enlargement |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69232689D1 DE69232689D1 (de) | 2002-08-29 |
DE69232689T2 true DE69232689T2 (de) | 2003-04-03 |
Family
ID=24781469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69232689T Expired - Fee Related DE69232689T2 (de) | 1991-04-29 | 1992-04-25 | Parallelinterpolator für Hochgeschwindigkeits-Digitalbildvergrösserung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5157517A (de) |
EP (1) | EP0511606B1 (de) |
JP (1) | JP2825395B2 (de) |
DE (1) | DE69232689T2 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388168A (en) * | 1990-11-19 | 1995-02-07 | Matsushita Electric Industrial Co., Ltd. | Picture quality improving circuit using a cumulative histogram |
WO1992012495A1 (en) * | 1990-12-31 | 1992-07-23 | E.I. Du Pont De Nemours And Company | Method of resizing an image, designing a filter therefor, and mapping the output image to the input image |
US5485281A (en) * | 1992-07-31 | 1996-01-16 | E. I. Du Pont De Nemours And Company | Raster image processing with pixel mapping to allow image border density allocation |
US6018597A (en) * | 1997-03-21 | 2000-01-25 | Intermec Ip Corporation | Method and apparatus for changing or mapping video or digital images from one image density to another |
KR100435257B1 (ko) * | 1997-08-07 | 2004-07-16 | 삼성전자주식회사 | 영상신호 처리 시스템에서의 이미지 포맷 변환장치 및 방법 |
JP4683079B2 (ja) * | 2008-07-07 | 2011-05-11 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573789A (en) * | 1968-12-13 | 1971-04-06 | Ibm | Method and apparatus for increasing image resolution |
DE3177299T4 (de) * | 1980-04-11 | 1994-05-26 | Ampex | Bildverarbeitungssystem für räumliche Bildtransformation. |
EP0070677B1 (de) * | 1981-07-14 | 1991-01-09 | Dai Nippon Printing Co., Ltd. | Video-Aufzeichnungsgerät |
JPS59100972A (ja) * | 1982-12-01 | 1984-06-11 | Nec Corp | カラ−画像処理装置 |
JPS59100974A (ja) * | 1982-12-01 | 1984-06-11 | Nec Corp | 画像処理装置 |
US4578812A (en) * | 1982-12-01 | 1986-03-25 | Nec Corporation | Digital image processing by hardware using cubic convolution interpolation |
JPS59100975A (ja) * | 1982-12-01 | 1984-06-11 | Nec Corp | 補間画像出力装置 |
WO1986004176A1 (en) * | 1985-01-10 | 1986-07-17 | Yokogawa Medical Systems, Ltd. | Apparatus for interpolating video data |
JPS61256886A (ja) * | 1985-05-09 | 1986-11-14 | Hitachi Ltd | ビデオプリンタ |
JPS623372A (ja) * | 1985-06-27 | 1987-01-09 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 画像変換装置 |
US4837722A (en) * | 1986-05-14 | 1989-06-06 | Massachusetts Institute Of Technology | Digital high speed 3-dimensional interpolation machine |
JP2577748B2 (ja) * | 1986-12-01 | 1997-02-05 | サカタインクス株式会社 | 画像信号の補間方法及びそれを実施する画像信号処理装置 |
US4872064A (en) * | 1987-10-19 | 1989-10-03 | Interand Corporation | System for selective scaling of digital video images |
US4823201A (en) * | 1987-11-16 | 1989-04-18 | Technology, Inc. 64 | Processor for expanding a compressed video signal |
CA1335794C (en) * | 1988-04-07 | 1995-06-06 | Yoshiyuki Okada | Process and apparatus for image magnification |
US4988984A (en) * | 1988-10-31 | 1991-01-29 | International Business Machines Corporation | Image interpolator for an image display system |
CA2011507A1 (en) * | 1989-04-28 | 1990-10-28 | Jorge Gonzalez-Lopez | Parallel image filtering using convolution |
DE69223536T2 (de) * | 1991-03-18 | 1998-04-16 | Canon Kk | Bildverarbeitungsgerät |
-
1991
- 1991-04-29 US US07/692,655 patent/US5157517A/en not_active Expired - Fee Related
-
1992
- 1992-04-25 DE DE69232689T patent/DE69232689T2/de not_active Expired - Fee Related
- 1992-04-25 EP EP92107093A patent/EP0511606B1/de not_active Expired - Lifetime
- 1992-04-27 JP JP4108088A patent/JP2825395B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2825395B2 (ja) | 1998-11-18 |
EP0511606B1 (de) | 2002-07-24 |
JPH05216984A (ja) | 1993-08-27 |
US5157517A (en) | 1992-10-20 |
EP0511606A2 (de) | 1992-11-04 |
EP0511606A3 (de) | 1994-08-03 |
DE69232689D1 (de) | 2002-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3789116T2 (de) | Prozessor zur zweidimensionalen diskreten cosinustransformation. | |
DE3619427C2 (de) | ||
DE69028075T2 (de) | Digitaler bildinterpolator | |
DE69422871T2 (de) | Digitaler integrierter Abtastratenumwandlungsschaltkreis und Anwendung bei einer schnellen Grössenänderung eines Bildes | |
DE69406306T2 (de) | Verfahren zur bildskalierung und zum filtern mit diskreter cosinustransformation | |
DE68902662T2 (de) | Verarbeitungsgeraet fuer zweipegelsignale zur bilddarstellung. | |
DE69020724T2 (de) | Schneller interpolationsfilter für fernsehnormenumsetzung. | |
DE69504371T2 (de) | Digitales videoumwandlungsschaltsystem | |
DE69623642T2 (de) | Vektorkorrelationssystem zum automatischen auffinden von mustern in einem bild | |
DE69723451T2 (de) | Deformation eines digitalen bildes mit effizienter berechnung | |
DE69728247T2 (de) | Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem | |
DE69130390T2 (de) | Schaltkreis schaltbar als matrix-multiplizierer oder convolver für farbbildverarbeitung | |
DE3689926T2 (de) | Einrichtung zur sequenziellen Bildtransformation. | |
DE3688298T2 (de) | Videosignalverarbeitung. | |
DE69031865T2 (de) | Ein SIMD-Prozessor als digitales Filter | |
DE3628349A1 (de) | System zur verarbeitung von signalen nach einem pyramiden-algorithmus in realzeit | |
DE69426042T2 (de) | Verfahren und Gerät zur Erzeugung von phantomen Kontrollwerten einer B-spline Kurve | |
DE3789091T2 (de) | Bildverarbeitungsverfahren und -system zur Bildrekonstruktion. | |
DE3629984A1 (de) | Bildverarbeitungsverfahren und -geraet | |
DE69221840T2 (de) | Abtastratenwandlungsschaltung für Bilddaten | |
DE69324432T2 (de) | Erzeugung von Schablonen mit homogener Verteilung binärer Elemente, anwendbar bei Halbton-Bildwiedergabe | |
DE69223536T2 (de) | Bildverarbeitungsgerät | |
DE4234985C2 (de) | Verfahren zum Transformieren von Farbsignalen und Vorrichtung zur Durchführung des Verfahrens | |
DE3587602T2 (de) | Bildsignalfilterung. | |
DE3632639A1 (de) | Einrichtung zum verarbeiten von bilddaten durch faltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |