DE68928923T2 - Verfahren zum senkrechten Filtern einer nach einem Gitter abgetasteten Anzeige - Google Patents
Verfahren zum senkrechten Filtern einer nach einem Gitter abgetasteten AnzeigeInfo
- Publication number
- DE68928923T2 DE68928923T2 DE68928923T DE68928923T DE68928923T2 DE 68928923 T2 DE68928923 T2 DE 68928923T2 DE 68928923 T DE68928923 T DE 68928923T DE 68928923 T DE68928923 T DE 68928923T DE 68928923 T2 DE68928923 T2 DE 68928923T2
- Authority
- DE
- Germany
- Prior art keywords
- pixel data
- pixel
- data
- bit
- memory
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/14—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0224—Details of interlacing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0247—Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/06—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Image Processing (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Measurement Of Resistance Or Impedance (AREA)
- Controls And Circuits For Display Device (AREA)
- Sampling And Sample Adjustment (AREA)
- Manipulator (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
- Die Erfindung betrifft das Gebiet der Filterung von Videodaten für ein Rasterbild, insbesondere eines Bildes, das computergenerierte Bildpunktdaten verwendet.
- Die meisten Kathodenstrahlröhren-(Cathode Ray Tube-CRT)- Computer-Videobildschirme werden durch eine Rasterabtastung gebildet. Viele der für diese Bildschirme verwendeten Standards lassen sich auf Fernsehstandards beziehen. So werden beispielsweise häufig zwei Halbbilder mit Zeilensprung verwendet, um ein Bild zu erhalten. Viele frühe Personal Computer stellten kompatible NTSC-Signale bereit, um einem Benutzer die Verwendung preisgünstiger Fernsehempfänger zu gestatten. In anderen Fällen generieren Computer Signale, z. B. Mischsignale, die zusammen mit NTSC-Signalen verwendet werden. Somit generieren Personal Computer häufig Bildpunktdaten zur Verwendung für Raster- Bildschirme mit Zeilensprung.
- Computergenerierte Daten haben einige Merkmale, durch die sie für einen Raster-Bildschirm mit Zeilensprung weniger wünschenswert sind als Videosignale, die von einer Videokamera stammen. Bildpunktdaten können beispielsweise über ihren gesamten Bereich Schwankungen (z. B. der Amplitude) von Bildpunkt zu Bildpunkt aufweisen. Das bedeutet, daß von einem Bildpunkt zum nächsten nahezu jede Änderung der Bildpunktdaten möglich ist. Im Gegensatz dazu verwenden Videodaten einer herkömmlichen Videokamera einen Strahlfleck, der mehr als einen einzigen Bildpunktbereich umfaßt. In diesem Fall berücksichtigen die für einen einzelnen Bildpunkt interpretierten Daten in einem gewissen Grad die Intensität und Farbe des Umgebungsbereichs. Deshalb entsteht in einer Kamera beim Abtasten des Bildes durch den Strahl ein weiches, sogar verwischtes Bild.
- Das menschliche visuelle System ist ein Umrißerkennungssystem. Die Augen können sehr gut Konturen erkennen, die Formen begrenzen. Um ein Beispiel zu geben: wird eine Folge benachbarter grauer Balken zunehmender Dichte auf einem Computerbildschirm dargestellt, so erscheinen die Kanten zwischen den Balken hervorgehoben. Die grauen Balken werden nicht als einheitliche Farben wahrgenommen, sondern erscheinen eher, als wären sie zwischen ihren Kanten schattiert. Mit anderen Worten, die Grenze zwischen den grauen Balken erscheint durch den Konturerkennungsmechanismus des Auges hervorgehoben.
- Wird eine typische reale Szene auf einem Bildschirm mit Zeilensprung dargestellt, so gibt es zwischen den einzelnen Zeilen keinen abrupten Übergang. Gegenstände haben im allgemeinen keine sehr scharfen Ränder, und wenn dies dennoch der Fall ist, fallen die Ränder im allgemeinen nicht mit einer Zeile zusammen. Im Ergebnis ist das Auge nicht in der Lage, die Begrenzung zwischen einzelnen Zeilen zu erkennen. Wenn das Auge keinen Grenze zwischen einzelnen Zeilen erkennen kann, ist es auch nicht in der Lage, Zeilen zu unterscheiden. Auf einem Zeilensprung-Bildschirm erscheint jede 1/30 s ein vollständiges Bild, wegen des Zeilensprungs nach jeder 1/60 s leuchtet jedoch entweder eine bestimmte Zeile oder die nächste Zeile auf. Das Auge nimmt diese mehrfachen Zeilen als breite Einzellinie wahr, die mit einer Geschwindigkeit von 60 Bildern pro Sekunde aufleuchtet, obwohl in Wirklichkeit 30 Bilder pro Sekunde aufleuchten. Nach diesem Modell müßte eine genaue Betrachtung eines Bildschirms mit Zeilensprung zu einer Wahrnehmung eines Flimmerns von 30 Bildern pro Sekunde führen.
- In der Tat geschieht dies auch: befindet man sich nahe genug an einem NTSC-Fernsehgerät, um einzelne Zeilen erkennen zu können, nimmt man das Zeilensprung-Flimmern (d. h. 30 Bilder/s) sogar bei realen Bildern wahr.
- Im Falle eines computergenerierten Bildes, z. B. eines MACINTOSH-Computerbildes auf einem Zeilensprung-Bildschirm befinden sich an nahezu jeder Stelle, die nicht einheitlich weiß oder einheitlich schwarz ist, abrupte Übergänge in der senkrechten Richtung. (Macintosh ist ein eingetragenes Warenzeichen von Apple Computer, Inc.). Im Falle der "Racing Stripes" (abwechselnde schwarze und weiße horizontale Linien) am oberen Rand eines typischen Macintosh-Fensters liegt der schärfstmögliche Übergang von Schwarz nach Weiß vor, der sich über das Fenster erstreckt und mehrmals wiederholt wird. Hier ist es für das menschliche Auge einfach, die Grenze zwischen den einzelnen Zeilen zu erkennen, so daß es die Zeilen getrennt und mit 30 Bildern/ Sekunde flimmernd wahrnimmt. Die visuelle Wahrnehmung des menschlichen Betrachters ist so, daß in Bereichen abrupter Übergänge auf dem Bildschirm das NTSC-Bild so stark flimmert, daß dies störend wirkt.
- Ein weiteres Detail ist erwähnenswert. Das menschliche Auge erkennt ein Flimmern des Bildschirms immer dann, wenn die Übergänge (d. h. an Rändern oder Kanten) in der senkrechten Richtung vorliegen. Das Ausmaß des Flimmerns ist jedoch nicht für jeden Typ graphischen Musters gleich. Das "ungünstigste" Muster sind die obengenannten Racing Stripes über den oberen Rand eines Fensters. Text und andere zufällige Muster flimmern ebenfalls, jedoch nicht annähernd so ausgeprägt. Dies erklärt sich aus der Tatsache, daß es leichter ist, Unterschiede in senkrechter Richtung zu erkennen, wenn es eine hohe Muster Übereinstimmung in waagrechter Richtung gibt (wie im Falle der Racing Stripes), jedoch schwieriger, die Rändern zu erkennen, wenn die Übereinstimmung in waagrechter Richtung gering ist (wie im Falle von Text). (Dies wird gezeigt werden, da die vorliegende Erfindung diesem Detail durch adaptive Filterung Rechnung trägt.)
- Der Stand der Technik kennt zahlreiche Verfahren, einschl. derjenigen, die Antistufenfilter zur Beseitigung dieses Flimmerns verwenden. In einigen Fällen bilden die Filter den Verwischeffekt des Abtaststrahls in der Kamera nach, d. h. die Bildpunktdaten für eine Gruppe oder einen Flecken aus Bildpunktdaten werden "gemittelt" oder "verknüpft", um gefilterte Bildpunktdaten zu erzeugen. Im allgemeinen erfordern diese Techniken einen erheblichen rechnerischen Aufwand.
- Die US-A-4 215 414 lehrt die Verwendung sowohl senkrechter als auch waagrechter Filterung von Bildpunktdaten, um den erwünschten Verwischeffekt zu erzielen, der einer Fernsehkamera inhärent ist, und insbesondere die Verknüpfung zweier Zeilen für eine Raumbeleuchtung durch Leuchstoffröhren. Es werden auch andere Ausführungsbeispiele beschrieben, einschl, die Filterung einer 3 · 3-Bildpunktmatrix oder einer 3 · 2-Matrix.
- Dieses Dokument empfiehlt jedoch die Speicherung einer gesamten Zeile als Verzögerungszeile, was teuer und deshalb nachteilig ist.
- In dem Umfang, in dem dieses Dokument die senkrechte Filterung ohne Verzögerungszeilen beschreibt, ist darin des weiteren die Lehre des gemultiplexten Lesens von Bildpunktdaten, gefolgt von deren Demultiplexung zur Übergabe an ein Addierglied, enthalten.
- In der Beschreibung dieses Dokuments findet sich jedoch kein Hinweis, wie ein einsatzfähiges System zur senkrechten Filterung ohne Verzögerungszeilen zu erzielen ist. So ist es beispielsweise alles andere als naheliegend, Multiplexen und Demultiplexen mit normalen DRAMs, die typischerweise in einem Bildspeicher verwendet werden, zu verwirklichen. Dies würde das Auslesen der Daten aus einem Speicher mit einer Geschwindigkeit erfordern, die zu hoch ist, um eine qualitativ hochwertige Anzeige in Echtzeit zu erhalten. Geht man beispielsweise von einer Punkttaktrate von 12 MHz und 3 Zugriffen je Bildpunkt aus (für einen Bildpunkt in drei verschiedenen Zeilen), so erfordert dies eine Zugriffszeit von ca. 28 ns. Diese Zugriffszeit ist mit üblichen DRAMs nicht erzielbar. Würde man VRAMs mit ihrer größeren Bandbreite wählen, so würden Multiplexen und Demultiplexen nicht funktionieren, da man die benötigten Informationen nicht wahlfrei aus den Bitströmen herausgreifen könnte.
- Die US-A-4 215 414 stellt deshalb keine Lehre zum senkrechten Filtern bereit, die sich praktisch verwirklichen läßt.
- Die vorliegende Erfindung ist bestrebt, ein Verfahren zum Bereitstellen gefilterter Bildpunktdaten (nur in senkrechter Richtung) mit Hilfe einer Verknüpfungstechnik bereitzustellen, die jederzeit ausgeführt werden kann, da die rechnerischen Anforderungen erheblich geringer als die der dem Stand der Technik entsprechenden Systeme sind.
- Die vorliegende Erfindung stellt ein Verfahren mit den Merkmalen des Anspruchs 1 bereit.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sind in den abhängigen Ansprüchen definiert.
- Fig. 1 ist ein allgemeines Blockdiagramm, das die allgemeine Anordnung der vorliegenden Erfindung in einem Videosystem zeigt.
- Fig. 2 ist ein Schaubild zur Darstellung eines von der vorliegenden Erfindung angewendeten Verfahrens zum Auslesen der Daten aus einem Bildspeicher.
- Fig. 3 ist ein Schaubild zur Darstellung eines von der vorliegenden Erfindung angewendeten alternativen Verfahrens zum Auslesen der Daten aus einem Bildspeicher.
- Fig. 4 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines in der vorliegenden Erfindung verwendeten Verknüpfers zeigt.
- Fig. 5 ist ein Blockdiagramm, das ein anderes Ausführungsbeispiel eines in der vorliegenden Erfindung verwendeten Verknüpfers zeigt.
- Fig. 6 ist ein Blockdiagramm zur Darstellung eines anderen Verfahrens zum Erhalt verknüpfter Daten, das besonders geeignet ist, wenn nicht viele Bits für jeden Bildpunkt gespeichert sind.
- Fig. 7A ist ein Blockdiagramm eines allgemeinen Vorskalierers, der mit dem Verknüpfer der vorliegenden Erfindung verwendet werden kann.
- Fig. 7B ist ein Blockdiagramm eines anderen Vorskalierers, der mit dem Verknüpfer der vorliegenden Erfindung verwendet werden kann.
- Fig. 8 veranschaulicht einen ersten Schritt bei der Umsetzung der vorliegenden Erfindung in Software für einen "Block"-Bildspeicher.
- Fig. 9 veranschaulicht einen zweiten Schritt bei der in Verbindung mit Fig. 8 beschriebenen Umsetzung.
- Fig. 10 veranschaulicht einen dritten Schritt bei der in Verbindung mit den Fig. 8 und 9 beschriebenen Umsetzung.
- Fig. 11 veranschaulicht einen vierten Schritt bei der in Verbindung mit den Fig. 8 bis 10 beschriebenen Umsetzung.
- Fig. 12 veranschaulicht einen fünften Schritt bei der in Verbindung mit den Fig. 8 bis 11 beschriebenen Umsetzung.
- Fig. 13 veranschaulicht in die Farb-Nachschlagetabelle geladene Grauwerte.
- Es wird ein Verfahren zum Bereitstellen gefilterter Daten in einer Raster-Videovorrichtung beschrieben. Die Erfindung ermöglicht das Filtern in der senkrechten Richtung (senkrecht zur Richtung der Zeilen). In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten erläutert, um ein besseres Verständnis der vorliegenden Erfindung zu erzielen. Für den Fachmann ist es jedoch naheliegend, die vorliegende Erfindung auch ohne diese Einzelheiten zu verwirklichen. In anderen Fällen sind hinreichend bekannte Schaltungen und Computeroperationen in Form von Blockdiagrammen dargestellt, um die vorliegende Erfindung durch überflüssige Einzelheiten nicht unübersichtlich zu machen.
- Zunächst sei auf Fig. 1 verwiesen, in der ein Bildspeicher 10 dargestellt ist, der im derzeit bevorzugten Ausführungsbeispiel ein normaler Bildspeicher sein kann, z. B. ein aus dynamischen Speichern mit wahlfreiem Zugriff (DRAMs) oder Video-Speichern mit wahlfreiem Zugriff (VRAMs) hergestellter Speicher. In den meisten Fällen sind die Daten im Bildspeicher zeilenweise organisiert, wobei Daten für jeden Bildpunkt entlang jeder Zeile gespeichert werden. In manchen Fällen sind die Bilddaten in Ebenen organisiert, so daß die Bilddaten für einen gegebenen Bildpunkt zusammen mit jedem Bit einer anderen dieser Ebenen gespeichert werden. Sind die Daten in dieser Anordnung organisiert, so veranlaßt eine Abtastadresse das Auslesen eines Bits jeder Ebene aus dem Speicher, die Bits werden zur Bildung eines Bildpunktes assembliert, und somit werden die Daten eines gegebenen Bildpunktes aus dem Speicher für einen Video-Bildschirm ausgelesen. (Beim Schreiben der Daten in einen nach Ebenen organisierten Speicher wird häufig in jede Ebene ein 8- oder 16- Bit-Wort eingeschrieben; dies ist besonders bei einem Schwarz/Weiß- oder Zweifarben-Bildschirm nützlich, bei dem nur ein einziges Bit pro Bildpunkt gespeichert wird und somit die Daten in nur eine Ebene eingeschrieben werden). Bei einigen Ausführungsbeispielen der vorliegenden Erfindung werden die Daten auf die normale, obenbeschriebene Weise gespeichert.
- Ein Adreßgenerator 11 dient zum Adressieren der Daten im Speicher, um ein Ausgangssignal für einen Videobildschirm bereitzustellen. Wie die vorliegende Erfindung zeigen wird, ist die Reihenfolge, in der die Daten aus dem Speicher ausgelesen werden, verschieden von der dem Stand der Technik entsprechenden, und deshalb liefert der Adreßgenerator 11 diese eindeutige Adreßreihenfolge. (Dies wird in Fig. 1 als "Kernabfrage" bezeichnet). Die angewendete spezifische Reihenfolge wird insbesondere aus der nachstehenden Erläuterung der Fig. 2 und 3 ersichtlich. Gewöhnliche Schaltkreise können zum Aufbau des Generators 11 verwendet werden und zum Bereitstellen der in Fig. 2 und 3 beschriebenen Reihenfolge. Wie im Falle der dem Stand der Technik entsprechenden Generatoren wird der Adreßgenerator 11 im allgemeinen mittels eines Punkttaktes synchronisiert.
- Der Ausgang des Speichers 10 wird durch einen Verknüpfer 12 verknüpft. Der Ausgang des Verknüpfers 12 sind Bildpunktdaten, die auf normale Weise für einen Video-Bildschirm verwendet werden können. Der Verknüpfer 12 wird in Zusammenhang mit Fig. 7A und 7B beschrieben.
- Bei dem derzeit bevorzugten Ausführungsbeispiel wird der Ausgang des Verknüpfers 12 gammakorrigiert. Ein derartiger Gammaentzerrer ist dem Fachmann gut bekannt und dient zum Ausgleich der nichtlinearen Lichtintensitätskurve von CRT- Bildschirmen. Die digitale Information in Zeile 14 wird zur Kopplung mit einem Bildschirm in eine analoge Form gewandelt.
- Für die nachfolgende Beschreibung wird angenommen, daß der Speicher 10 Bildpunktdaten enthält. Es besteht Einigkeit darüber, daß der Speicher auf andere Speicher, wie z. B. eine Farb- Nachschlagtabelle, weisende Zeiger enthalten kann. In diesem Fall ist der Ausgang des Speichers 10 mit einer Farb- Nachschlagetabelle und der Ausgang der Farb-Nachschlagetabelle mit dem Verknüpfer 12 gekoppelt.
- In Fig. 2 wird angenommen, daß jeder der Blöcke des dargestellten Gitters einen Bildpunkt in einem Speicher für die bitweise Abbildung repräsentiert. In der waagrechten Richtung sind die Bildpunkte von 0 bis 9 numeriert; es versteht sich von selbst, daß in einem typischen Speicher sehr viel mehr Bildpunkte für den Bildschirm verwendet werden. In der senkrechten Richtung sind die Reihen der Bildpunktdaten zeilenweise, beginnend mit Zeile 0 und endend mit Zeile 5, numeriert. Auch hier versteht es sich von selbst, daß für einen typischen Bildschirm sehr viel mehr Zeilen verwendet werden. Fig. 2 stellt somit die Datenorganisation dar, wie man sie in einem typischen Bildspeicher findet.
- Bei der vorliegenden Erfindung werden die Daten für einen gegebenen Bildpunkt (z. B. Bildpunkt 0) für mehrere Zeilen (z. B. Zeilen 1, 2 und 3) aus dem Speicher ausgelesen, bevor die Bildpunktdaten für Bildpunkt 1 aus dem Speicher ausgelesen werden. Die Bildpunktdaten für mehrere Zeilen eines gegebenen Bildpunktes werden verknüpft, um die vom Bildschirm verwendeten Bildpunktdaten zu erhalten.
- Im einzelnen werden in Fig. 2 die Daten der Speicherplätze 16, 17 und 18 aus dem Speicher ausgelesen, bevor die Daten für Bildpunkt 19 aus dem Speicher ausgelesen werden. Die Bildpunktdaten der Speicherplätze 16, 17 und 18 werden dann verknüpft, um die Bildpunktdaten für Bildpunkt 0 einer Bildschirmzeile bereitzustellen. Als nächstes werden die Bildpunktdaten der Speicherplätze 19, 20 und 21 aus dem Speicher ausgelesen und verknüpft, um die Bildpunktdaten für Bildpunkt 1 der Bildschirmzeile bereitzustellen. Dieser Prozeß wird für jeden der Bildpunkte 0 bis 9 der Zeilen 1 bis 3 fortgesetzt, um die Bildpunktdaten für eine gegebene Bildschirmzeile bereitzustellen.
- Bei dem dargestellten Ausführungsbeispiel werden in dem Verknüpfungsprozeß drei Datenzeilen verwendet. In der Tat kann je de beliebige Anzahl Zeilen verwendet werden, z. B. können zuerst die Daten der Zeilen n, n + 1, n + 2, ..., N + n zum Bereitstellen der Bildpunktdaten einer ersten Bildschirmzeile verwendet werden. Danach werden die Daten der Zeilen n + 1, n + 2, n + 3, ..., n + N + 1 verwendet, um die Bildpunktdaten einer zweiten Bildschirmzeile bereitzustellen. Jedoch werden die Daten aus dem Speicher in der Weise verwendet, daß alle Bildpunktdaten für beispielsweise Bildpunkt M für alle in der Verknüpfung verwendeten Zeilen ausgelesen werden, bevor die Bildpunktdaten für Bildpunkt M + 1 aus dem Speicher ausgelesen werden.
- In einigen Fällen liefert das für einen Bildspeicher verwendete Adreß- und Abbildungsschema mehr als nur die Daten eines einzigen Bildpunktes für jede Adresse. Wie in Fig. 3 gezeigt, sei angenommen, daß eine Einzeladresse die Bildpunktdaten für Bildpunkte 0 und 1 von Zeile 1 liefert, was mittels einer Umhüllungslinie 23 dargestellt ist. Bei der vorliegenden Erfindung werden die zur Linie 23 gehörigen Daten zuerst aus dem Speicher ausgelesen, gefolgt von einer Verknüpfung mit den zu Linien 24 und 25 gehörigen Daten. Danach erfolgt die Verknüpfung der Daten für Bildpunkt 0 der Zeilen 1, 2 und 3 für den Bildpunkt 0, gefolgt von den Daten für Bildpunkt 1 der Zeilen 1, 2, 3. Nun werden die zu den Linien 26, 27 und 28 gehörigen Daten aus dem Speicher ausgelesen usw.
- Bei einem speziell organisierten Bildspeicher, wie in dem des derzeit bevorzugten Ausführungsbeispiels, liefert eine Einzeladresse die Daten für mehrere Zeilen des Speichers. So kann beispielsweise eine Einzeladresse die zu den Linien 23, 24 und 25 gehörigen Daten liefern. In diesem Fall werden die ersten Daten für Bildpunkt 0 und dann die für Bildpunkt 1 verknüpft. Danach werden die zu den Linien 26, 27 und 28 gehörigen Daten aus dem Speicher ausgelesen, und die Daten für Bildpunkt 2, dann für Bildpunkt 3, werden verknüpft. Dieser Prozeß wird für alle Daten entlang der Zeile in den Zeilen 1, 2 und 3 fortgesetzt.
- Es werden also im allgemeinen die Daten für einen ersten Bildpunkt der Zeilen n, n + 1, n + 2, ..., n + N aus dem Speicher ausge lesen, bevor die Bildpunktdaten nachfolgender Bildpunkte in diesen Zeilen aus dem Speicher ausgelesen werden. Diese Daten werden dann verknüpft, um die Bildpunktdaten eines einzigen Bildpunktes bereitzustellen. Dieser Prozeß wird für jeden der Bildpunkte entlang den Zeilen n, n + 1, n + 2, ..., n + N wiederholt. Daran anschließend werden die Daten für einen ersten Bildpunkt entlang den Zeilen n + 1, n + 2, ..., n + N + 1 wieder vor den Bildpunktdaten nachfolgender Bildpunkte entlang diesen Zeilen aus dem Speicher ausgelesen. Die Daten werden dann verknüpft, um die gefilterten Bildpunktdaten für den ersten Bildpunkt der nächsten Bildschirmzeile bereitzustellen. Dieser Prozeß wird so oft wiederholt, bis in der senkrechten Richtung gefilterte Daten für den gesamten Bildschirm bereitgestellt worden sind.
- Wie oben erwähnt, können die Bildpunktdaten aus "N + 1" Datenzeilen verknüpft werden. Im derzeit bevorzugten Ausführungsbeispiel N = 2. (In dieser Anmeldung findet sich später eine Diskussion zur Verknüpfung für andere Kerne). In diesem Fall implementiert N die Gleichung(aP&sub1; + bP&sub2; + aP&sub3;)/(2a + b), wobei P&sub1; die Bildpunktdaten für den ersten Bildpunkt der n-ten Zeile, P&sub2; die Bildpunktdaten für den ersten Bildpunkt der (n + 1)-ten Zeile und P&sub3; die Bildpunktdaten für die (n + 2)-te Zeile darstellen. "a" und "b" sind Konstanten, wobei "b" im allgemeinen größer ist als "a". In einer typischen Anwendung a = 1 und b = 2.
- In Fig. 4 enthält der Verknüpfer (entsprechend dem Kern-Verknüpfer 12 in Fig. 1) einen Vorskalierer 32, der die Eingangs- Bildpunktdaten aus dem Speicher empfängt. Das Ausmaß der vom Vorskalierer 32 vorgenommenen Vorskalierung wird vom Ausgang einer Koeffiziententabelle 33 gesteuert. Der Ausgang der Tabelle 33 wird durch die aktuelle Zyklusnummer gesteuert, was noch erläutert wird. Der Ausgang des Vorskalierers 32 liefert einen Eingang für ein Addierglied 34. Der andere Eingang des Addiergliedes 34 ist eigentlich der Ausgang desselben, nachdem er über einen Auffangspeicher 35 und einen Multiplexer 31 gekop pelt worden ist. Der Multiplexer 31 liefert entweder den Ausgang des Auffangspeichers 35 als Eingang zum Addierglied 34 oder den Wert 0. Wie bei "Zyklus 0" zu sehen ist, wird der Eingang 0 an das Addierglied 34 geliefert, sonst bildet der Inhalt des Auffangspeichers 35 den Eingang des Addiergliedes 34. Der Inhalt des Auffangspeichers 35 wird von einem Normalisierer 36 normalisiert, und der Betrag der Normalisierung, der typischerweise konstant ist, ist als Normalisierungswert 37 dargestellt. Der Ausgang des Normalisierers 36 wird in einem Auffangspeicher zwischengespeichert, und der Inhalt dieses Auffangspeichers liefert die Bildpunktdaten für einen Bildpunkt entlang einer Bildschirmzeile.
- In der Praxis handelt es sich bei dem Vorskalierer einfach um eine digitale Verschiebeeinrichtung, die eine digitale Multiplikation mit einem Faktor 1 oder 2 liefert, und der Normalisierer 36 ist eine weitere digitale Verschiebeeinrichtung, die eine Division durch Verschieben der Daten um beispielsweise 2 Stellen bei einer Division durch vier ausführt.
- Es sei zunächst angenommen, daß in der obigen Gleichung a = 1 und b = 2. Des weiteren sei angenommen, daß die Daten in der in Zusammenhang mit Fig. 2 dargestellten und beschriebenen Weise aus einem Speicher ausgelesen werden. Wie zu sehen ist, arbeitet der Verknüpfer in einer Zyklusfolge. Während des Zyklus 0 werden die zu einem Kreis 16 gehörigen Daten mit dem Vorskalierer 32 gekoppelt. Bei Anwendung der Zyklusnummer 0 auf die Koeffiziententabelle 33 wird der Vorskalierer 32 veranlaßt, diese Daten mit eins zu multiplizieren, d. h. die Daten werden direkt mit dem Addierglied 34 gekoppelt. Der mit dem Multiplexer 31 gekoppelte Zyklus 0 wählt den Null-Eingang für das Addierglied; deshalb wird 0 zu den zu Kreis 16 gehörigen Daten addiert. Diese Daten werden einfach im Auffangspeicher 35 unter der Steuerung des Bildpunkttaktes zwischengespeichert. Als nächstes werden die zu Kreis 17 gehörigen Daten in Zyklus 1 mit dem Vorskalierer 32 gekoppelt. Der in die Tabelle 33 eingegebene Zyklus 1 veranlaßt den Vorskalierer, diese Daten mit 2 zu multiplizieren (eine Verschiebung um eins nach links), bevor sie mit dem Addierglied 34 gekoppelt werden. Gleichzeitig wird der Ausgang des Auffangspeichers 35 über den Multiplexer 31 gekoppelt und zum Ausgang des Vorskalierers 32 addiert. Somit wird die Summe P&sub1; + 2P&sub2; gebildet und mit dem Auffangspeicher 35 gekoppelt. Danach werden in Zyklus 2 die zu Kreis 18 gehörigen Daten mit dem Vorskalierer 32 gekoppelt. Die mit der Tabelle 33 gekoppelte Zyklusnummer "2" bewirkt, daß diese Daten direkt mit dem Addierglied 34 gekoppelt werden. Das Addierglied 34 addiert diese Daten zu den im Auffangspeicher 35 enthaltenen Daten, wodurch die Summe P&sub1; + 2P&sub2; + P&sub3; gebildet wird. Diese Summe wird im Auffangspeicher 35 zwischengespeichert und dann vom Normalisierer 36 normalisiert. Für das beschriebene Ausführungsbeispiel dividiert der Normalisierer 36 die Daten durch den Faktor 4 (eine Verschiebung um 2 nach rechts), wodurch die endgültige Gleichung (P&sub1; + 2P&sub2; + P&sub3;)/4 gebildet wird. Die resultierenden Bildpunktdaten werden in einem Auffangspeicher 38 zwischengespeichert. In Zyklus 0 können diese Daten aus dem Auffangspeicher 38 ausgelesen werden, während neue Daten für den nächsten Bildpunkt mit dem Vorskalierer 32 gekoppelt werden.
- Es kann ein vierter Zyklus (d. h. Zyklus 3) verwendet werden, in welchem Fall der Zyklus 3 den Auffangspeicher 38 steuern kann, ohne daß Daten während des Zyklus 3 in den Vorskalierer verschoben werden. Dies kann dann vorgesehen werden, wenn sich eine Taktfolge von 3 Zyklen als unvorteilhaft erweist.
- Fig. 5 zeigt einen alternativen Verknüpfer. Bei diesem Ausführungsbeispiel erhält ein Addierglied 40 als einen ersten Eingang den Ausgang eines Vorskalierers 43. Auch hier erhält der Vorskalierer 43 die Bildpunktdaten aus dem Speicher. Das Ausmaß der Vorskalierung durch den Vorskalierer 43 wird von einer Koeffiziententabelle 44 gesteuert. Der Ausgang der Tabelle 44 wird von der mit der Tabelle gekoppelten Zyklusnummer gesteuert. Der andere Eingangsanschluß des Addiergliedes 40 erhält den Ausgang eines Auffangspeichers 42. Der Eingang des Auffangspeichers ist der Ausgang des Multiplexers 41. Der Multiplexer 41 wählt entweder den Ausgang des Vorskalierers 43 oder den Ausgang des Addiergliedes 40. Der Multiplexer 41 wird durch das Signal des Zyklus 0 gesteuert; für den Zyklus 0 wählt der Multiplexer 41 den Ausgang des Vorskalierers 43, sonst wählt er den Ausgang des Addiergliedes. Der Ausgang des Auffangspeichers 42 ist mit einem Normalisierer 46 gekoppelt. Der Betrag der Normalisierung wird von den als "Normalisierungswert 45" dargestellten Werten gesteuert. Der Ausgang des Normalisierers 45 ist mit einem Auffangspeicher 47 gekoppelt. Der Ausgang des Auffangspeichers 47 liefert die gefilterten Bildpunktdaten. Die Schaltung von Fig. 5 führt die gleiche Verknüpfung aus wie die Schaltung von Fig. 4.
- Es sei angenommen, daß die Daten von Zeile n für Bildpunkt 0 mit dem Vorskalierer 43 gekoppelt sind. Während des Zyklus 0 wählt der Multiplexer 41 den Ausgang des Vorskalierers 43 und koppelt die Daten mit dem Auffangspeicher 42. Der Vorskalierer 43 skaliert die Daten nicht, da a = 1 gemäß der obigen Gleichung. Die Daten für den Bildpunkt 0 der Zeile n + 1 werden mit 2 vorskaliert, und diese Daten werden dann zum Inhalt des Auffangspeichers addiert, wobei die Summe mit dem Multiplexer 41 gekoppelt und im Auffangspeicher 42 zwischengespeichert ist. Der Prozeß wird fortgesetzt, bis die Summe aP&sub1; + 2P&sub2; + aP&sub3; gebildet, berechnet und im Auffangspeicher 42 gespeichert ist. Der Normalisierer 46 dividiert die Summe durch einen Faktor 4, und der resultierende normalisierte Wert wird mit dem Auffangspeicher 47 gekoppelt. In Zyklus 0 (Start der neuen Daten in den Vorskalierer 43 für den neuen Bildpunkt) werden die Daten wieder von dem Auffangspeicher getaktet, wodurch die gefilterten Bildpunktdaten für den Bildschirm bereitgestellt werden. Auch hier kann wieder ein 4-Zyklus-Schema verwendet werden, wobei der vierte Zyklus (Zyklus 3) den Auffangspeicher 47 steuert.
- In Fig. 7A ist ein allgemeiner Vorskalierer, der einen Multiplizierer 50 umfaßt, dargestellt. Die Eingangs-Bildpunktdaten werden mit dem Multiplexer gekoppelt, wobei der Ausgang des Multiplexers die skalierten Bildpunktdaten liefert. Das Ausmaß der Multiplikation wird durch den Ausgang einer Koeffizienten- Nachschlagetabelle 51 gesteuert. Dieser Ausgang wird durch die Zyklusnummer bestimmt. Die Zyklusnummer (z. B. 1, 2, 3, ...) wählt das Ausmaß der Multiplikation, das für die verwendete Verknüpfung erforderlich ist, und steuert dadurch das Ausmaß der durch den Multiplizierer 50 vorgenommenen Multiplikation.
- Fig. 7B zeigt einen Vorskalierer, der verwendet werden kann, wenn die im Verknüpfungsschritt angewendete Multiplikation die Multiplikation mit eins oder zwei beinhaltet. In diesem Fall empfängt ein Multiplexer 53 die Eingangs-Bildpunktdaten an einem Anschluß und die mit zwei (d. h. Verschiebung um eins nach links mit einer rechts eingefügten Füllnull) multiplizierten Eingangs-Bildpunktdaten an seinem anderen Anschluß. Die Zyklusnummer, die die Bildpunktdaten "x2" benötigt, dient zur Wahl des Eingangs "0" am Multiplexer 53 und stellt somit die erforderlichen skalierten Eingangs-Bildpunktdaten bereit.
- Die obenerläuterten Verknüpfer eignen sich besonders gut für einen seriellen Kern-Datenstrom. Fig. 6 zeigt einen in einer Tabelle 71 implementierten Verknüpfer, der für einen parallelen Datenstrom verwendet werden kann. Er eignet sich besonders gut, wenn eine begrenzte Anzahl Bits verwendet wird; z. B. bei einem Bildschirm mit 1 Bit/Bildpunkt, für den ein 1-2-1-Kern verwendet wird. Die Ergebnisse der Verknüpfungsarithmetik werden vorberechnet und in der Tabelle abgelegt. Wie noch zu sehen sein wird, dient dies für softwaremäßige Ausführungsformen der Erfindung, in denen die Farb-Nachschlagetabelle zur Verwendung als eine Verküpfungs-Nachschlagetabelle vorgeladen wird.
- Das Verfahren der vorliegenden Erfindung kann ohne weiteres in Software umgesetzt werden, um für eine Echtzeitverknüpfung zu sorgen. Unten ist eine Ausführungsform der Erfindung für einen "Block"-Bildspeicher beschrieben.
- Bei einem Block-Bildspeicher werden alle Bits für einen bestimmten Bildpunkt als benachbarte Bits eines Speicherworts abgelegt. Beträgt beispielsweise die Farbtiefe Vier-Bits-pro- Bildpunkt und die CPU-Wortgröße 32 Bits, so werden 8 Bildpunkte in jedem CPU-Wort abgelegt. Anders als bei einem ebenen Bildspeicher greift ein bestimmter CPU-Zugang stets auf alle Bits eines bestimmten Bildpunkts sowie in einigen Fällen die Bits benachbarter Bildpunkte zu. Block-Bildspeicher werden auch in im Handel erhältlichen Computern verwendet, wie etwa in dem MACINTOSH II-Computer der Apple Computer, Inc..
- Bei dieser Ausführungsform wird mit einem Block-Bildspeicher eine Ein-Bit-pro-Bildpunkt-Echtzeitverknüpfung verwirklicht. Anders als bei einem Verfahren für einen ebenen Bildspeicher kann die genaue Anzahl von Bits pro Bildpunkt beim Umordnen der Daten nicht erhalten werden, verwendet wird daher die der benötigten Anzahl von Bits nächstgrößte Potenz von 2. Bei der beschriebenen Ausführungsform werden drei Zeilen für die Verknüpfung verwendet, und daher werden für jeden Bildpunkt vier Bits Bildpunktdaten in einem Speicher abgelegt. Das unten beschriebene Verfahren setzt die Bits an ihre ordnungsgemäße Stelle.
- Zunächst sollte bemerkt werden, daß zum Zeichnen von der CPU ein vom Bildschirm getrennter Ein-Bit-pro-Bildpunkt-Bildspeicher (ein Direktzugriffsspeicher, RAM) verwendet wird. Dieser Bildspeicher ist von dem Vier-Bit-pro-Bildpunkt-Bildspeicher getrennt, der in der Tat zum Bereitstellen der Bildschirmdarstellung abgetastet wird. Bei dem unten beschriebenen Verfahren werden Daten aus dem Ein-Bit-pro-Bildpunkt-Bildspeicher ausgelesen, die Daten auf die Vier-Bits-pro-Bildpunkt ausgedehnt, dann werden die Daten in den Vier-Bit-pro-Bildpunkt-Bildspeicher geschrieben. Bei dem Verfahren werden die Bildpunktinformationen der beiden vorausgehenden Bildzeilen mit aufgenommen, bevor die Endergebnisse in den Vier-Bit-pro-Bildpunkt-Bildspeicher geschrieben werden. Wenn die Vier-Bit-Bildpunktinformation der Farb-Nachschlagetabelle dargeboten wird, sind drei Bits für die Zeilen n - 1, n und n + 1 verfügbar, um die richtige Graustufe für die 1-2-1-Verknüpfung nachzuschlagen. Wie auch bei der vorherigen Ausführungsform, wird die Farb- Nachschlagetabelle zur Bereitstellung der Verknüpfung mit Graustufeninformationen geladen. (Drei der vier aus dem Vier- Bit-pro-Bildpunkt-Bildspeicher gelesenen vier Bits werden von der Farb-Nachschlagetabelle verwendet, um das verknüpfte Ausgangssignal für den Bildschirm bereitzustellen.)
- Vier 32-Bit-Wörter (A, B, C und D) werden auf den Anfangswert 0 gesetzt. (A, B, C und D beziehen sich auf 32-Bit-Register in der CPU). Ein 32-Bit-Wort R wird beginnend von der am meisten links liegenden Bildpunktstelle der oberen Abtastzeile des Ein- Bit-pro-Bildpunkt-Bildspeichers gelesen. A, B, C und D werden alle an aneinander links an rechts angrenzenden Speicherorten abgelegt, beginnend von der oberen Abtastzeile des Vier-Bit- pro-Bildpunkt-Bildspeichers.
- R wird von den nächsten 32 Bits in dem Ein-Bit-pro-Bildpunkt- Bildspeicher direkt unter das letzte aus dem Ein-Bit-pro- Bildpunkt-Bildspeicher ausgelesene 32-Bit-Wort eingelesen. Dies ist in Fig. 8 gezeigt, in der für die Zeilen n und n + 1 in dem Ein-Bit-pro-Bildpunkt-Bildspeicher zwei Wörter gezeigt sind, die Wörter 93 und 94.
- Wie in Fig. 9 gezeigt, wird ein Byte von R zu einem zweiten 32- Bit-Wort M erweitert, so daß jedes der 8 Bits, beginnend mit Bit 1 in Vier-Bit-Schritten in das 32-Bit-Wort gesetzt wird (d. h., Bit 0 in Bit 1, Bit 1 in Bit 5, Bit 2 in Bit 9 usw.), und daß eine "1", beginnend mit Bit 0, in jedes vierte Bit gesetzt wird. Alle anderen Bits werden auf 0 gesetzt. Beispielsweise wird das Byte 0111 0101 umgewandelt (gezeigt als Vierergruppen): 0001 0011 0011 0011 0001 0011 0001 0011. Dies wird unter Verwendung einer vorgeladenen 256 · 32-Bit-RAM- Nachschlagetabelle erledigt.
- A wird um 1 nach links geschoben. Dies kann in einigen Mikroprozessoren wie etwa dem Motorola Part Nr. 68020 schneller erledigt werden, indem A zu sich selbst hinzugezählt wird. Im oberen Teil der Fig. 10 ist A vor der Verschiebung gezeigt, im unteren Teil der Fig. 10 nach der Verschiebung.
- M wird bitweise mit A in A hinein ODER-verknüpft, so wie in Fig. 11 gezeigt. Dies dient erstens dazu, das Byte aus R in A aufzunehmen, denn es ist bekannt, daß die Bits in A, die den Bits des Bytes aus R entsprechen, alle 0 sind (alles, was mit 0 ODER-verknüpft wird, behält seinen Wert bei). Zweitens dient dies dazu, jedes vierte Bit in A, beginnend mit Bit 0, auf den Wert 1 zu setzen (dies bereitet den Verschmelzungsvorgang unten in Schritt 10 vor).
- A wird in dem Vier-Bit-pro-Bildpunkt-Bildspeicher abgelegt, direkt unter der letzten Stelle, an der A abgelegt war, so wie in Fig. 12 gezeigt.
- Die Schritte 2 bis 4 werden für die drei anderen Bytes aus R wiederholt. Diesmal werden jedoch B, C und D anstelle von A verwendet.
- R wird, wie oben in Schritt 1, für das nächste 32-Bit-Wort in dem Ein-Bit-pro-Bildpunkt-Bildspeicher direkt unter das letzte 32-Bit-Wort eingelesen.
- Wie in Fig. 9 gezeigt, wird ein Byte von R zu M erweitert, wobei jedes der acht Bits in Vier-Bit-Schritten, beginnend mit Bit 1, angeordnet ist. Außerdem wird, beginnend mit Bit 0, in jedes vierte Bit eine "0" gesetzt, und alle anderen Bits werden auf "1" gesetzt. Beispielsweise würde das Byte 0111 0101 in 1100 1110 1110 1110 1100 1110 1100 1110 umgewandelt. Dies wird mit Hilfe einer zweiten vorgeladenen 256 · 32-Bit-RAM- Nachschlagetabelle erledigt.
- Wie in Fig. 10 gezeigt, wird A um 1 nach links verschoben. Wiederum kann, wie bei Schritt 3 erwähnt, ein Hinzuaddieren von A zu sich selbst verwendet werden.
- Wie in Fig. 11 gezeigt, wird M bitweise mit A in A hinein UND- verknüpft. Dies dient erstens dazu, das Byte aus R in A aufzunehmen, denn es ist bekannt, daß die Bits in A, die den Bits aus dem Byte von R entsprechen, alle "1" sind (alles, was mit "1" UND-verknüpft wird, behält seinen Wert bei). Zweitens dient dies dazu, jedes vierte Bit in A, beginnend mit Bit 0, auf den Wert 0 zu zwingen (dies bereitet den Verschmelzungsvorgang oben in Schritt 4 vor).
- A wird in dem Vier-Bit-Bildspeicher abgelegt, direkt unter der letzten Stelle, an der A abgelegt war - s. Wort 95 in Fig. 12.
- Die Schritte 8 bis 10 werden für die drei anderen Bytes aus R wiederholt. Sie werden anstelle in A in B, C und D aufgenommen - s. die Wörter 96, 97 und 98 in Fig. 12.
- Die Schritte 1 bis 12 werden solange wiederholt, bis das untere Ende des Bildspeichers erreicht wird, R wird dann für die Bildpunkte der obersten Rasterzeile des Ein-Bit-pro-Bildpunkt-Bildspeichers direkt rechts neben der Stelle, von der es zu Beginn des vorigen Durchgangs geladen wurde, eingelesen. A, B, C und D werden alle in aneinander rechts an links angrenzenden Speicherstellen der oberen Rasterzeile des Vier-Bit-pro-Bildpunkt- Bildspeichers abgelegt, direkt rechts neben der Stelle, wo sie zu Beginn des vorigen Durchgangs geladen wurden.
- Es werden zusammenfassend die Bildpunkte in dem Vier-Bit-pro- Bildpunkt-Bildspeicher 100 von Fig. 12 mit der Bildzeile n + 1 in Bit 1 kodiert, mit n in Bit 2, und mit n - 1 in Bit 3 (diese resultierende Bitanordnung ist in Fig. 11 gezeigt). Bit 0 wird von der Farb-Nachschlagetabelle (CLUT, von englisch Colour Look up Table) 101 von Fig. 12 nicht berücksichtigt. Der Ein-Bit- pro-Bildpunkt-Bildspeicher von Fig. 8 wird senkrecht abgerastert, wobei ein neues Bit jedem Vier-Bit-Pixel (Vier-Bit- Bildpunktdatengruppe) für jede Rasterzeile hinzugefügt wird, indem das vorhandene Bit für den Bildpunkt um 1 verschoben wird und das neue Bit in Bit 1 des Vier-Bit-pro-Bildpunkt-Worts aufgenommen wird. Der Verschiebevorgang dient dazu, das Pixel von seiner vorigen Zentrierung auf die Bildzeile n - 1 (die Zeile darüber) auf die jetzige Zentrierung auf die Bildzeile n nachzuregeln. Mit anderen Worten, bei Beginn des Vorgangs enthalten die Vier-Bit-Bildpunktdaten Bits der Bildzeilen n - 2, n - 1 und n, weil die Daten für die darüberliegende Bildzeile verwendet wurden. Der Verschiebevorgang nach links ändert die Anordnung der vier Bits in n - 1, n und einer "1" oder einer "0" in Bit 1 (Bit 0 wird vernachlässigt). Für die Bildzeile n + 1 wird dann das neue Bit aus dem Ein-Bit-pro-Bildpunkt-Bildspeicher in das Bit 1 aufgenommen. Das neu zusammengesetzte Vier-Bit-Wort wird in dem Vier-Bit-pro-Bildpunkt-Bildspeicher abgelegt und die CLUT wird wie erwähnt zur Bereitstellung der Verknüpfung verwendet.
- Im einzelnen beginnt das Verfahren im linken oberen Teil des Bildspeichers und arbeitet eine 32-Pixel-Spalte nach unten ab. Bei dem Einlesen in R werden die 32 Ein-Bit-Pixel geladen, danach werden jeweils 8 Pixel der 32 getrennt bearbeitet. Die ersten 8 Pixel (ein Byte) werden als Nachschlagetabellenindex verwendet, um ein 32-Bit-Wort M zu laden. M enthält die 8 Pixel in Vier-Bit-Schritten verteilt, so daß sie für einen Verschmelzungsvorgang für den Vier-Bit-pro-Bildpunkt-Bildspeicher vorbereitet sind.
- M wird außerdem vorbereitet mit der Einrichtung seiner restlichen Bits entweder für eine bitweise UND-Verknüpfung oder eine ODER-Verknüpfung. Der Grund für den Wechsel zwischen UND und ODER liegt darin, daß er den Schritt des Löschens (oder Setzens) der Bits in A einspart, die Bestimmungsziel der 8 Pixel aus R sind. Da A unmittelbar vor der UND- oder ODER-Verknüpfung nach links verschoben wird, wird das direkt rechts neben dem Bestimmungsort der R-Bits liegende Bit auf einen Wert gezwungen, so daß sie bereits beim nächsten Schritt für den Verschmelzungsvorgang eingerichtet sind. Die UND-Verknüpfung bereitet die ODER-Verknüpfung vor, indem sie die Werte "0" erzwingt und die ODER-Verknüpfung bereitet die UND-Verknüpfung vor, indem sie die Werte "1" erzwingt.
- A wird um 1 nach links verschoben, um die Pixel auf den neuesten Stand zu bringen, von der Zentrierung hinsichtlich der vorausgegangenen Bildzeile zur Zentrierung hinsichtlich der aktuellen Bildzeile. Die Linksverschiebung verschiebt die vorausgegangene Bildzeile n + 1 auf die aktuelle Bildzeile n und die vorausgegangene Bildzeile n auf die aktuelle Bildzeile n - 1. Die vorausgegangene Bildzeile n - 1 (die aktuelle Bildzeile n - 2) wird ausgeschoben. Man beachte, daß diese Verschiebung alle 8 in den 32 Bits von A enthaltenen Pixel betrifft, sie stellt also eine parallele 8-Weg-Operation dar. Man beachte außerdem, daß die Bits der vorausgegangenen Bildzeile n - 1 in das nicht verwendete Bit des nächsten Vier-Bit-Pixels auf der linken Seite (oder aus dem linken Rand des 32-Bit-Worts) geschoben werden.
- M wird dann mit A entweder UND- oder ODER-verknüpft. Die Bits von n und n - 1 werden nicht verändert, neue Bits für n + 1 werden aufgenommen, und die nicht verwendeten Bits werden in einen bekannten Zustand gesetzt ("0" bei einer UND-Verknüpfung, "1" bei einer ODER-Verknüpfung). Schließlich wird A in den Vier-Bit- pro-Bildpunkt-Bildspeicher abgelegt.
- Die übrigen 24 Pixel in R werden in derselben Weise behandelt, mit jeweils 8 Pixeln für B, C und D.
- Die selben Schritte werden für jede nachfolgende Rasterzeile darunter durchgeführt, bis der untere Teil des Bildspeichers erreicht wird. Danach wird die nächste Spalte mit 32 Pixeln direkt rechts daneben nach unten abgerastert, und so geht es weiter, bis das gesamte Bild eingerastert ist.
- Die CLUT 100 von Fig. 12 wird auf eine ähnliche Weise geladen wie die in Fig. 13 gezeigte CLUT bei einer Ausführung mit ebenem Bildspeicher. Die Unterschiede liegen darin, daß die Bitordnung eine andere ist, und daß für jeweils zwei CLUT- Eingänge derselbe Grauwert gespeichert ist, weil das Bit 0 in den Vier-Bit-Pixeln unbestimmt ist (es wechselt in Abhängigkeit davon, ob die letzte Verknüpfung eine UND-Verknüpfung oder eine ODER-Verknüpfung war).
- Im vorigen Abschnitt wurde vor allem der 1-2-1-Kern hervorgehoben. Versuche haben gezeigt, daß weder eine 3-Zeilen- Verknüpfung, noch eine Ein-Aus-Ein-Aus-Reduktion um 50% Graustärke in allen Situationen für eine effektive Reduktion des Zwischenzeilenflackerns wesentlich ist. Wird die Bedingung aufrechterhalten, daß Ein-Aus-Ein-Aus-Muster von waagerechten Zeilen auf 50% Graustärke reduziert werden, und werden andere Kerngrößen als 1 · 3 ausprobiert, so gibt es für jede Kerngröße eine Gruppe von Koeffizienten, mit denen die Ein-Aus-Ein-Aus- Bedingung erfüllt wird. Diese Koeffizienten entsprechen den Zahlen des Pascalschen Dreiecks (d. h. 1;1,1;1,2,1;1,3,3,1;1,4,6,4,1; etc.)
- Wie oben erwähnt, sind die am schlimmsten flimmernden Muster diejenigen mit hoher waagerechter Kohärenz (d. h., sie wiederholen sich in waagerechter Richtung). Beispiele für Muster mit hoher waagerechter Kohärenz sind waagerechte durchgezogene Linien, waagerechte gestrichelte Linien und graue phasenmodulierte Muster. Text ist ein Beispiel für ein Muster ohne eine solche Kohärenz. Die oben besprochene Verknüpfung kann adaptiv sein, d. h. sie könnte je nach der Art des gezeigten Musters variiert werden. Zunächst wird bestimmt, ob ein sich wiederholendes Muster in einer lokalen waagerechten Gruppe von Kernen, z. B. über die Breite von 8 Pixeln hinweg, vorkommt. Kommt ein solches Muster in den Kernen vor, dann werden beispielsweise alle Kerne mit den 1-2-1 Koeffizienten verknüpft. Kommt kein solches Muster vor, so werden die 8 Pixel mit Koeffizienten verknüpft, die ein schärferes Filtern hervorrufen (z. B. 1-3-1 oder 1-4-1). Die Prüfung zur Bestimmung, ob sich ein Muster wiederholt, muß fortlaufend in einem bewegten waagerechten Fenster, Kern für Kern, erfolgen. Da sich diese Prüffenster überschneiden, können einige Kerne Teil eines Musters in einem Prüffenster sein, in einem anderen aber nicht. Bei diesen Kernen wird die 1-2-1-Verknüpfung verwendet, da sie sich am Rand des Musters befinden. Es können verschiedene Prüfverfahren verwendet werden, um zu bestimmen, ob ein Muster sich wiederholt, beispielsweise können die linken vier Kerne mit den rechten vier Kernen in dem Fenster verglichen werden.
Claims (4)
1. Verfahren zum Bereitstellen gefilterter Bildpunktdaten für
einen Bildschirm, die in einer
Rasterabtast-Viedographik-Vorrichtung abgelegt sind, die einen ersten Speicher hat, wobei
Bildpunktdaten für jede Bildzeile in benachbarten
Speicherplätzen in dem ersten Speicher abgelegt werden, so daß von dem
ersten Speicher jedes Wort, auf das zugegriffen wird, die Daten
für mindestens einen Bildpunkt enthält, und einen zweiten
Speicher, der erste kodierte Bildpunktdaten von Bildzeilen n - 1, n
und n + 1 in benachbarten Speicherplätzen ablegt, wobei n für
eine bestimmte Bildzeile in dem ersten Speicher steht, wobei
das Verfahren die Schritte beinhaltet:
Lesen von Bildpunktdaten aus Bilzeile n + 2 aus
dem ersten Speicher;
Verschieben der ersten kodierten Bildpunktdaten
des zweiten Speichers; Vereinigen der
Bildpunktdaten aus Bildzeile n + 2 mit den verschobenen ersten
kodierten Bildpunktdaten, um zweite kodierte
Bildpunktdaten in dem zweiten Speicher für Bildzeilen
n, n + 1 und n + 2 zu erzeugen; und
Verknüpfen der zweiten kodierten Bildpunktdaten,
um die gefilterten Bildpunktdaten zu erzeugen.
2. Verfahren nach Anspruch 1, bei dem der Verknüpfungsschritt
den Schritt umfaßt, die folgende computer-implementierte
Rechnung durchzuführen:
(aP&sub1; + bP&sub2; + aP&sub3;)/(2a + b),
wobei P&sub1; das Bildpunktdatum der n-ten Bildzeile ist, P&sub2; das
Bildpunktdatum der Bildzeile n + 1 ist, und P&sub3; ist das
Bildpunktdatum der Bildzeile n + 2, und wobei a und b Konstanten sind.
3. Verfahren nach Anspruch 1, bei dem der Verknüpfungsschritt
ferner den Schritt umfaßt, daß ein auf den Bildpunktdaten
basierendes RGB-Ausgangssignal generiert wird.
4. Verfahren nach Anspruch 3, ferner den Schritt beinhaltend,
daß das RGB-Ausgangssignal einem Farbbildschirm zugeführt wird,
um eine Darstellung der Bildpunktdaten zu zeigen.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/290,182 US5005011A (en) | 1988-12-23 | 1988-12-23 | Vertical filtering apparatus for raster scanned display |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE68928923D1 DE68928923D1 (de) | 1999-03-11 |
| DE68928923T2 true DE68928923T2 (de) | 1999-08-05 |
Family
ID=23114877
Family Applications (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE68928744T Expired - Lifetime DE68928744T2 (de) | 1988-12-23 | 1989-12-08 | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen |
| DE68928773T Expired - Lifetime DE68928773T2 (de) | 1988-12-23 | 1989-12-08 | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen |
| DE68928923T Expired - Lifetime DE68928923T2 (de) | 1988-12-23 | 1989-12-08 | Verfahren zum senkrechten Filtern einer nach einem Gitter abgetasteten Anzeige |
| DE893991534T Withdrawn DE3991534T1 (de) | 1988-12-23 | 1989-12-08 | Vertikale filterungseinrichtung fuer raster-scan-display |
| DE68926502T Expired - Lifetime DE68926502T2 (de) | 1988-12-23 | 1989-12-08 | Senkrechte filtervorrichtung für nach einem gitter abgetastete anzeige |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE68928744T Expired - Lifetime DE68928744T2 (de) | 1988-12-23 | 1989-12-08 | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen |
| DE68928773T Expired - Lifetime DE68928773T2 (de) | 1988-12-23 | 1989-12-08 | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE893991534T Withdrawn DE3991534T1 (de) | 1988-12-23 | 1989-12-08 | Vertikale filterungseinrichtung fuer raster-scan-display |
| DE68926502T Expired - Lifetime DE68926502T2 (de) | 1988-12-23 | 1989-12-08 | Senkrechte filtervorrichtung für nach einem gitter abgetastete anzeige |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US5005011A (de) |
| EP (4) | EP0681281B1 (de) |
| JP (1) | JP3081899B2 (de) |
| KR (1) | KR0138991B1 (de) |
| AT (4) | ATE168489T1 (de) |
| AU (1) | AU4828390A (de) |
| CA (1) | CA1320600C (de) |
| DE (5) | DE68928744T2 (de) |
| GB (1) | GB2233867B (de) |
| NL (1) | NL193229C (de) |
| WO (1) | WO1990007767A1 (de) |
Families Citing this family (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IE63461B1 (en) * | 1989-09-11 | 1995-04-19 | Jeremy Owen Jones | Improvements in and relating to stable memory circuits |
| US5428456A (en) * | 1991-03-15 | 1995-06-27 | Eastman Kodak Company | Method and apparatus for adaptively reducing interline flicker of TV-displayed image |
| US5264838A (en) * | 1991-08-29 | 1993-11-23 | Honeywell Inc. | Apparatus for generating an anti-aliased display image halo |
| JP2585957B2 (ja) * | 1992-08-18 | 1997-02-26 | 富士通株式会社 | ビデオデータ変換処理装置とビデオデータ変換装置を有する情報処理装置 |
| GB9223492D0 (en) * | 1992-11-10 | 1992-12-23 | Display Research Lab | Processing of signals for interlaced display |
| JPH07334669A (ja) * | 1994-06-07 | 1995-12-22 | Matsushita Electric Ind Co Ltd | 図形処理方法および図形処理装置 |
| US5510843A (en) * | 1994-09-30 | 1996-04-23 | Cirrus Logic, Inc. | Flicker reduction and size adjustment for video controller with interlaced video output |
| US5640532A (en) * | 1994-10-14 | 1997-06-17 | Compaq Computer Corporation | Microprocessor cache memory way prediction based on the way of previous memory read |
| US5835948A (en) * | 1994-10-14 | 1998-11-10 | Compaq Computer Corporation | Single bank, multiple way cache memory |
| US5838299A (en) * | 1995-05-03 | 1998-11-17 | Apple Computer, Inc. | RGB/YUV video convolution system |
| US5748178A (en) * | 1995-07-18 | 1998-05-05 | Sybase, Inc. | Digital video system and methods for efficient rendering of superimposed vector graphics |
| WO1997014247A1 (en) * | 1995-10-13 | 1997-04-17 | Apple Computer, Inc. | Method and apparatus for video scaling and convolution for displaying computer graphics on a conventional television monitor |
| US6311197B2 (en) | 1996-06-03 | 2001-10-30 | Webtv Networks, Inc. | Method for downloading a web page to a client for efficient display on a television screen |
| US5935207A (en) | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
| US6473099B1 (en) * | 1996-06-03 | 2002-10-29 | Webtv Networks, Inc. | Automatically upgrading software over a satellite link |
| US6957260B1 (en) | 1996-06-03 | 2005-10-18 | Microsoft Corporation | Method of improving access to services provided by a plurality of remote service providers |
| US5918013A (en) | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
| US5862220A (en) * | 1996-06-03 | 1999-01-19 | Webtv Networks, Inc. | Method and apparatus for using network address information to improve the performance of network transactions |
| US5996022A (en) | 1996-06-03 | 1999-11-30 | Webtv Networks, Inc. | Transcoding data in a proxy computer prior to transmitting the audio data to a client |
| US5896444A (en) | 1996-06-03 | 1999-04-20 | Webtv Networks, Inc. | Method and apparatus for managing communications between a client and a server in a network |
| US6034689A (en) | 1996-06-03 | 2000-03-07 | Webtv Networks, Inc. | Web browser allowing navigation between hypertext objects using remote control |
| US5862339A (en) * | 1996-07-09 | 1999-01-19 | Webtv Networks, Inc. | Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server |
| US5745909A (en) | 1996-07-09 | 1998-04-28 | Webtv Networks, Inc. | Method and apparatus for reducing flicker when displaying HTML images on a television monitor |
| US5838927A (en) * | 1996-11-22 | 1998-11-17 | Webtv Networks | Method and apparatus for compressing a continuous, indistinct data stream |
| US6604242B1 (en) * | 1998-05-18 | 2003-08-05 | Liberate Technologies | Combining television broadcast and personalized/interactive information |
| US5991799A (en) * | 1996-12-20 | 1999-11-23 | Liberate Technologies | Information retrieval system using an internet multiplexer to focus user selection |
| AUPO478897A0 (en) | 1997-01-24 | 1997-02-20 | Canon Information Systems Research Australia Pty Ltd | Scan line rendering of convolutions |
| AU721232B2 (en) * | 1997-01-24 | 2000-06-29 | Canon Kabushiki Kaisha | Scan line rendering of convolutions |
| JPH11150668A (ja) * | 1997-04-01 | 1999-06-02 | Genesis Microchip Inc | 画素化ディスプレイ方法及び装置 |
| US5963262A (en) * | 1997-06-30 | 1999-10-05 | Cirrus Logic, Inc. | System and method for scaling images and reducing flicker in interlaced television images converted from non-interlaced computer graphics data |
| US6348978B1 (en) | 1997-07-24 | 2002-02-19 | Electronics For Imaging, Inc. | Method and system for image format conversion |
| JP3758362B2 (ja) * | 1998-04-13 | 2006-03-22 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
| US6650327B1 (en) | 1998-06-16 | 2003-11-18 | Silicon Graphics, Inc. | Display system having floating point rasterization and floating point framebuffering |
| US6310697B1 (en) | 1998-07-07 | 2001-10-30 | Electronics For Imaging, Inc. | Text enhancement system |
| US6501565B1 (en) * | 1998-07-07 | 2002-12-31 | Electronics For Imaging, Inc. | Method and apparatus for smoothing text outlines |
| WO2000077974A1 (en) | 1999-06-11 | 2000-12-21 | Liberate Technologies | Hierarchical open security information delegation and acquisition |
| US6570562B1 (en) * | 2000-05-03 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Method for drawing patterned lines in a system supporting off-screen graphics |
| US6903753B1 (en) * | 2000-10-31 | 2005-06-07 | Microsoft Corporation | Compositing images from multiple sources |
| US20020167612A1 (en) * | 2001-04-02 | 2002-11-14 | Pelco | Device and method for reducing flicker in a video display |
| JP4410997B2 (ja) * | 2003-02-20 | 2010-02-10 | パナソニック株式会社 | 表示パネルの駆動装置 |
| US8159440B2 (en) | 2003-06-30 | 2012-04-17 | Advanced Micro Devices, Inc. | Controller driver and display apparatus using the same |
| JP5732887B2 (ja) * | 2011-02-14 | 2015-06-10 | 株式会社リコー | フレームメモリ制御装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2640759C2 (de) * | 1976-09-10 | 1982-10-14 | Robert Bosch Gmbh, 7000 Stuttgart | System zur Wiedergabe von Videosignalen |
| US4215414A (en) * | 1978-03-07 | 1980-07-29 | Hughes Aircraft Company | Pseudogaussian video output processing for digital display |
| NL7901119A (nl) * | 1979-02-13 | 1980-08-15 | Philips Nv | Beeldweergeefinrichting voor het als een tweevoudig geinterlinieerd televisiebeeld weergeven van een door een beeldsignaalgenerator opgewekt tweewaardig signaal. |
| US4322750A (en) * | 1979-05-08 | 1982-03-30 | British Broadcasting Corporation | Television display system |
| US4454506A (en) * | 1981-09-04 | 1984-06-12 | Bell Telephone Laboratories, Incorporated | Method and circuitry for reducing flicker in symbol displays |
| US4808984A (en) * | 1986-05-05 | 1989-02-28 | Sony Corporation | Gamma corrected anti-aliased graphic display apparatus |
| US4843380A (en) * | 1987-07-13 | 1989-06-27 | Megatek Corporation | Anti-aliasing raster scan display system |
| JPH06101039B2 (ja) * | 1988-05-11 | 1994-12-12 | 富士通株式会社 | ウインドウ画像データの読出処理方式 |
-
1988
- 1988-12-23 US US07/290,182 patent/US5005011A/en not_active Expired - Lifetime
-
1989
- 1989-09-25 CA CA000612710A patent/CA1320600C/en not_active Expired - Lifetime
- 1989-12-08 AT AT95110726T patent/ATE168489T1/de not_active IP Right Cessation
- 1989-12-08 EP EP95110725A patent/EP0681281B1/de not_active Expired - Lifetime
- 1989-12-08 KR KR1019900701870A patent/KR0138991B1/ko not_active Expired - Lifetime
- 1989-12-08 WO PCT/US1989/005566 patent/WO1990007767A1/en not_active Ceased
- 1989-12-08 AU AU48283/90A patent/AU4828390A/en not_active Abandoned
- 1989-12-08 AT AT95110724T patent/ATE176353T1/de not_active IP Right Cessation
- 1989-12-08 DE DE68928744T patent/DE68928744T2/de not_active Expired - Lifetime
- 1989-12-08 DE DE68928773T patent/DE68928773T2/de not_active Expired - Lifetime
- 1989-12-08 DE DE68928923T patent/DE68928923T2/de not_active Expired - Lifetime
- 1989-12-08 AT AT90901361T patent/ATE138216T1/de not_active IP Right Cessation
- 1989-12-08 DE DE893991534T patent/DE3991534T1/de not_active Withdrawn
- 1989-12-08 AT AT95110725T patent/ATE169419T1/de not_active IP Right Cessation
- 1989-12-08 EP EP95110724A patent/EP0681280B1/de not_active Expired - Lifetime
- 1989-12-08 EP EP90901361A patent/EP0404911B1/de not_active Expired - Lifetime
- 1989-12-08 JP JP02501867A patent/JP3081899B2/ja not_active Expired - Lifetime
- 1989-12-08 EP EP95110726A patent/EP0685829B1/de not_active Expired - Lifetime
- 1989-12-08 DE DE68926502T patent/DE68926502T2/de not_active Expired - Lifetime
- 1989-12-08 GB GB9017115A patent/GB2233867B/en not_active Expired - Lifetime
- 1989-12-08 NL NL8921391A patent/NL193229C/nl not_active IP Right Cessation
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE68928923T2 (de) | Verfahren zum senkrechten Filtern einer nach einem Gitter abgetasteten Anzeige | |
| DE2932525C2 (de) | ||
| DE69018046T2 (de) | Kodierung eines Bildelementes. | |
| DE69708270T2 (de) | Videobildmischung in einem heimkommunikationsterminal | |
| DE69800055T2 (de) | Videosignalumsetzung zur Steuerung einer Flüssigkristallanzeige | |
| DE3788401T2 (de) | Anzeigegerät. | |
| DE69125661T2 (de) | Animationsanzeigeeinheit und dafür verwendeter externer speicher | |
| DE60100645T2 (de) | Anzeigegerät zur Erzeugung von zwischenliegenden Graustufen und Verfahren zur Verarbeitung von Bildsignalen | |
| DE69532016T2 (de) | Bildverarbeitungsgerät und -verfahren | |
| DE69717304T2 (de) | Verringerung der bandbreite und der grösse des rasterpufferspeichers in einem anzeigesystem mit pulsbreitenmodulation | |
| DE10053439B4 (de) | Grafik-Beschleuniger mit Interpolationsfunktion | |
| DE69033156T2 (de) | Bildschirmanzeige an einem Fernsehempfänger | |
| DE3750211T2 (de) | Bildanzeigeverarbeitungseinheit für ein graphisches Endgerät. | |
| DE69428061T2 (de) | Paralleles Fehlerdiffusionsverfahren und -gerät | |
| DE3650486T2 (de) | Videobildgestaltungssysteme | |
| DE3875467T2 (de) | Geraet zur erzeugung eines zweidimensional farbanzeige. | |
| DE3518416A1 (de) | Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige | |
| DE2811852A1 (de) | Generator zur erzeugung von speziellen fernseh-effekten | |
| DE2252556A1 (de) | Vorrichtung zum erzeugen eines videosignals zur eingabe in ein rasterabgetastetes sichtgeraet | |
| DE3534205C2 (de) | ||
| DE69229033T2 (de) | Bildverarbeitungssystem | |
| DE69109040T2 (de) | Verbesserungen bei den nach dem Rasterverfahren arbeitenden Sichtgeräten. | |
| DE68904356T2 (de) | Bildverarbeitung. | |
| DE69124077T2 (de) | Mosaik-Anzeige von Bildern und dafür verwendeter externer Speicher | |
| DE10315442A1 (de) | Verfahren und Schaltung zur Skalierung von Rasterbildern |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8327 | Change in the person/name/address of the patent owner |
Owner name: APPLE INC., CUPERTINO, CALIF., US |