-
I. ALLGEMEINER STAND DER
TECHNIK
-
Die
vorliegende Erfindung betrifft allgemein das Gebiet einer mit Rendering-Engine-Architektur für Computergrafikdisplays
und Displayinformationen verarbeitende Technologie. Insbesondere
betrifft die vorliegende Erfindung allgemein ein Verfahren und System
für eine
Rendering-Engine-Architektur, bei dem Grafik oder andere Objekte
detektiert und wiedergegeben werden, und zwar zur Anzeige für einen Benutzer
unabhängig
von der Quelle der wiederzugebenden Grafik.
-
Die
beiden üblichsten
Formen von Displaysystemen sind Stroke-Displaysysteme und Rasterdisplaysysteme.
Stroke-Displaysysteme
enthalten Stroke-Auslenkprozessoren und Kathodenstrahlröhren-(CRT)-Displays
vom Stroke-Typ. Stroke-Displaysysteme sind aufgrund der Fähigkeit
zum Positionieren des Elektronenstrahls in sehr feinen Inkrementen und
der Gaußschen
Verteilung von Elektronen innerhalb des Elektronenstrahls zur qualitativ
hochwertigen Symbologie mit inhärentem
Anti-Aliasing in der Lage. Stroke-Displaysysteme sind jedoch nun
so gut wie veraltet und mit Problemen behaftet. CRT-Displays vom
Stroke-Typ beispielsweise erfahren hohe Ausfallraten, hohe Kosten,
geringe Versorgung und eine abnehmende Anzahl von Lieferanten.
-
Rasterdisplaysysteme
enthalten Rasterbildprozessoren und CRT- oder Flachbildschirme vom Rastertyp.
Rasterdisplaybilder sind in der Regel stärker quantisiert als solche
von Stroke-Bildern, entweder hinsichtlich der Anzahl der horizontalen
Linien im Bild oder im Fall von Mosaikdisplays wie etwa LCDs der
Pixelauflösung.
Rasterdisplaybilder erfordern oftmals spezielle Verarbeitungstechniken
wie etwa Anti-Aliasing, damit sie sich der Symbolqualitätebene annähern, die
in alten Stroke-Systemen zur Verfügung steht. Flachbildschirme
mit Rastermodus weisen niedrigere Ausfallraten und niedrigere Kosten auf,
sind ohne weiteres verfügbar
und stellen den Stand der Technik dar.
-
Flachbildschirme
können
CRT-Displays vom Stroke-Typ in einem Stroke-Displaysystem jedoch nicht
direkt ersetzen, da sie eine Rasterbildquelle erfordern. Dies legt
nahe, daß,
wenn ein CRT-Display vom Stroke-Typ durch einen Flachbildschirm
vom Stand der Technik ersetzt wird, auch der entsprechende Stroke-Ablenkprozessor
ersetzt werden muß.
Deshalb werden ein Verfahren und System zum Ersetzen eines Displays
vom Stroke-Typ durch einen Flachbildschirm erwünscht, die nicht erfordern,
daß der
entsprechende Stroke-Ablenkprozessor ersetzt wird. Wenn die Notwendigkeit
zum Ersetzen eines Stroke-Ablenkprozessors entfällt, werden dadurch die Kosten
und Risiken reduziert, die mit dem Ersatz eines Displays vom Stroke-Typ
assoziiert sind.
-
Die Übersetzung
von Informationen aus ihrem Eingangsbereich in den Grafikbereich
ist bei einem System, das nur Grafik als Ausgabe liefert, notwendigerweise
destruktiv. Grafik wird mit der Absicht wiedergegeben, eine spezifische
Menge von Displayanforderungen zu erfüllen. Wenn sich Displayanforderungen ändern, sich
aber das Wiedergabeverfahren für
die eingegebene Grafik nicht ändern
kann, ist man gezwungen, Grafikqualität mit herkömmlichen Systemen zu beeinträchtigen.
-
Beispielsweise
kann ein Bitmapbild Grafik enthalten, die für eine spezifische Displayauflösung und
-größe wiedergegeben
worden ist. Wenn das Bitmapbild auf einem Display mit einer anderen
Auflösung
und Größe als das
Orginaldisplay wiedergegeben werden soll, wird die Bitmap unter
Verwendung bilinearer Interpolation unter herkömmlichen Verfahren konvertiert.
Der Prozeß kann
auch das Konvertieren von Strokeinformationen in ein Bitmapbild
(z.B. durch Abtasten der Ablenkung, Intensität, Farbe usw.) und danach Verarbeitung
des Bilds mit Software beinhalten. Informationen werden während dieses
Prozesses verzerrt und gehen auch verloren, wodurch man eine Bitmap
erhält,
die tatsächlich
auf dem neuen Display (z.B. Flachbildschirmen) wiedergegeben werden
kann, aber mit niedriger Qualität, als
wenn die Bitmap direkt für
das neue Display wiedergegeben worden wäre. Weiterhin handhabt der Konvertierungsprozeß nichtüberlappende
Symbole und wird nicht in Echtzeit ausgeführt.
-
Für ein hybrides
Stroke-/Rasterdisplaysystem, die in der Technik wohlbekannt sind,
unter Verwendung eines Flachbildschirms enthält ein herkömmliches Verfahren überabtastende
Stroke-Ablenk-, Farb- und Intensitätsinformationen von einem Stroke-Ablenkprozessor,
um eine Stroke-Symbologie-Bitmap mit Farbe und Intensität für jedes
Pixel zu erzeugen, dann die Stroke-Symbologie-Bitmap zu verarbeiten und dann die verarbeitete
Stroke-Symbologie-Bitmap
mit digitalisiertem Rastervideo von einem Rasterbildprozessor zu
mischen. Die gemischten Stroke-/Rasterbilder werden dann an einen Flachbildschirm
geliefert. Die Verarbeitung der Stroke-Symbologie-Bitmap kann Anti-Aliasing,
Randdetektion, Bildglättung
und Kontrastverstärkung
beinhalten. Die Möglichkeit
für Fehler
nimmt mit diesem Verfahren für
größere Vektoren
und größere Symbole
zu, wenn sich Vektoren und Symbologie schneiden, wenn Symbologie
unterschiedlicher Farbe in unmittelbarer Nähe stehen und wenn Symbologie
aus kleinen Merkmalen komplexer Gestalten oder Bögen besteht. Der Nettoeffekt
herkömmlicher
Verfahren besteht darin, Stroke-Symbologie
im allgemeinen verschwimmen zu lassen, wodurch eine Symbologie, die
breiter als notwendig ist, mit weniger Genauigkeit, als erwünscht ist,
erzeugt wird. Dies wird ein Problem insbesondere bei kleinen Symbolen,
für Symbole,
die präzise
wiedergegeben werden müssen
und wenn Symbologieelemente überkreuzen
oder überlappen.
-
1,
die ein vor der Bildverarbeitung zu einer Bitmap digitalisiertes
Stroke-Symbologie-Bild darstellt, veranschaulicht, weshalb dies
ein Problem für
einige herkömmliche
Ansätze
ist. Die Bildverarbeitungskomponente bei herkömmlichen Ansätzen muß diese
Bitmap ohne den Vorteil von Informationen verarbeiten, die verlorengehen,
wenn Symbole überkreuzen
oder überlappen.
Die Referenzzahl 2 stellt die beiden grünen Linien dar, die zwei kleine Kreise
verbinden; die Referenzzahl 4 stellt einen roten Kreis
in der linken oberen Ecke der Figur dar; und die Referenzzahl 6 stellt
eine blaue Linie dar (die von der linken oberen Ecke zur rechten
unteren Ecke verläuft).
Wenn herkömmliche
Verarbeitungsverfahren auf überkreuzende
Linien angewendet werden, erscheint die Überkreuzung auf einem Display
so, daß sie
einen Punkt mit einem Durchmesser enthält, der größer ist als die Breite einer
der Linien. Auch kleine Kreise können
als Punkte erscheinen, wenn sie unter Verwendung herkömmlicher
Verfahren verarbeitet werden. Somit wird Symbologie doppeldeutig.
Wenn herkömmliche
Verarbeitungsverfahren angewendet werden, wenn Symbologie unterschiedlicher
Farben sich in unmittelbarer Nähe
befinden, wird eine dritte und falsche Farbe auf einem Display wahrgenommen,
wodurch noch mehr Doppeldeutigkeit erzeugt wird. Wenn Symbologie
unterschiedlicher Farben überlappen,
wird weiterhin nur eines der Symbole auf einem Display wahrgenommen,
was einen Verlust an Informationen von dem anderen Symbol bewirkt.
-
Ein
weiteres Beispiel beinhaltet ein Verfahren, bei dem Vektorgrafik
in einem für
einen Flachbildschirm gedachten Bitmapbild wiedergegeben wird. Bei
Betrachtung auf dem Display enthält
die Grafik Artefakte wie etwa Aliasing (zum Beispiel Treppenstufenbildung
von Linien, die unter anderen Winkeln als 0 Grad oder 90 Grad gezogen
worden sind). Herkömmliche
Systeme enthalten Verfahren zur Nachverarbeitung des Bitmapbilds
unter Verwendung von Techniken, die Linien und Ränder detektieren, dann die
Bitmap abändern
durch Verwischen der detektierten Linien und Ränder. Bei Betrachtung auf einem
Flachbildschirm erscheinen die Effekte des Aliasing verringert,
aber auf Kosten der Grafikauflösung
und -qualität.
-
Für die spezifische
Ausführungsform
einer Stroke-zu-Raster-Konvertierung
ist die Gesamtfunktion der Erfindung ähnlich der, die durch WO 98 15941
A dargestellt wird (Kaiser Aerospace & Electronics), 16. April 1998 (1998-04-16)
Stroke-To-Raster Display Conversion (im weiteren „15941"). Zu Unterschieden
zwischen der Erfindung 15941 zählen die
folgenden Punkte:
- 1. die Erfindung ist in ihrer
Anwendung umfassender; 15941 ist spezifisch für Stroke-zu-Raster-Konvertierung ausgelegt;
- 2. die Erfindung verwendet andere Verfahren als jene von 15941;
- a) die Erfindung erzeugt eine Primitivendisplayliste aus in
der abgetasteten Stroke-Eingabe detektierten Vektoren; 15941 erzeugt
eine „Hit-Map" auf der Basis der
Anzahl von Abtastwerten innerhalb einer gegebenen Displaystelle
(Pixel);
- b) die Erfindung gibt Grafiken aus der Primitivendisplayliste
erneut wieder; 15941 bewegt ein bestangepaßtes "Pixelschablonenmuster" in einen Rastereinzelbildpuffer
auf der Basis „Hit-Map"; weil die Erfindung
aus einer Primitivendisplayliste erneut wiedergibt, kann die Ausgabebildqualität für das Zieldisplay
unter Verwendung von Funktionen wie Anti-Aliasing, Alpha-Blending, Haloing, Interpolation,
Mischen usw. verbessert werden.
-
Eine
andere Einrichtung nach dem Stand der Technik wird in US-A-5,748,947
(Fukushima Tokutaro) 5. Mai 1998 (1998-05-05) (im folgenden '947-Patent) erörtert. Das '947-Patent ist eine
Einrichtung, deren Druckerpuffer (Bildspeicher) von einem Hostcomputer
oder einem Scanner (Hit-Map) gefüllt
wird. Das '947-Patent
lehrt nicht das Detektieren von Grafikobjekten. Statt dessen liefert
in '947 ein Hostcomputer
eine Displayliste von Sektoren, die erzeugt wird, und eine Bitmap
für ein
Bild erzeugt.
-
III. KURZE DARSTELLUNG
DER ERFINDUNG
-
Die
folgende Zusammenfassung der Erfindung wird vorgelegt, um ein Verständnis einiger
der innovativen Komponenten zu erleichtern, die für die vorliegende
Erfindung einzigartig sind.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren in Übereinstimmung
mit dem bereitgestellt, was in dem unabhängigen Anspruch 1 beansprucht wird.
Die Aufgaben innerhalb der Displayliste werden dann durch Anti-Aliasing manipuliert,
um Linien zu glätten,
Texturierung, um das Erscheinungsbild von Grafikobjekt-Grafikobjekten zu
verbessern, Alpha-Blending, um Grafikobjekt-Grafikobjekte zu kombinieren
und eine korrekte Farbwahrnehmung beizubehalten, Haloing, um Kontrast
zwischen Grafikobjekt-Grafikobjekten und der Hintergrundszene zu
erhöhen,
Interpolation zum Skalieren und Glätten von Grafikobjekten, Fogging,
um die Wahrnehmung von Tiefe zu liefern, Füllungen, um Grafikobjekte zu
färben,
Mischen mit anderen Grafikinformationen und -quellen und andere
Funktionen. Der Schritt des Detektierens von Grafikobjekten beinhaltet
den Schritt des Detektierens des Startpunkts, Endpunkts, der Länge, Richtung,
Farbe, Intensität,
Breite, Art (gestrichelt, durchgehend) und Zeichenrate von Vektoren; Detektieren
des Mittelpunkts, Radius, der Farbe, Intensität, Schattierung, des Fogging
und der Textur von Kreisen; das Detektieren der Scheitelpunkte,
der Farbe, Intensität,
Schattierung, des Fogging und Textur eines Polygonen oder dreidimensionaler
Gestalten; das Detektieren der Farbe, Intensität, Schattierung, des Fogging
und der Textur des Hintergrunds.
-
Die
neuartigen Komponenten der vorliegenden Erfindung ergeben sich dem
Fachmann bei Untersuchung der folgenden ausführlichen Beschreibung der Erfindung
oder können
durch Praxis der vorliegenden Erfindung erlernt werden.
-
IV. KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
beiliegenden Figuren, in denen sich gleiche Referenzzahlen auf identische
oder funktional ähnliche
Elemente in den verschiedenen Ansichten beziehen und die in der
Patentschrift enthalten sind und Teil dieser bilden, veranschaulichen
die vorliegende Erfindung näher
und dienen zusammen mit der ausführlichen
Beschreibung der Erfindung dazu, die Grundlagen der vorliegenden
Erfindung zu erläutern.
-
1 (Stand
der Technik) ist eine Bitmap, die Farben, kleine Kreise, Überkreuzungen
und Überlappung
veranschaulicht.
-
2 ist
eine Blockschaltbildveranschaulichung einer Ausführungsform 10 der
Gesamtsystemkomponenten gemäß der vorliegenden
Erfindung.
-
3 ist
eine Blockschaltbildveranschaulichung des Graphics Detection Processor 200 gemäß der vorliegenden
Erfindung.
-
4 ist
eine Blockschaltbildveranschaulichung des Encode Processor 300 gemäß der vorliegenden
Erfindung.
-
5 ist
eine Blockschaltbildveranschaulichung des Graphics Rendering Processor 400 gemäß der vorliegenden
Erfindung.
-
6 ist
eine Blockschaltbildveranschaulichung des Displays 600 gemäß der vorliegenden
Erfindung.
-
7 ist
eine Blockschaltbildveranschaulichung einer alternativen Ausführungsform 800 des Informationsdetektions-
und -regenerationsprozesses gemäß der vorliegenden
Erfindung.
-
8 ist
eine Blockschaltbildveranschaulichung einer spezifischeren Implementierung 20 der alternativen
Ausführungsform 800 der
Gesamtsystemkomponenten gemäß der vorliegenden
Erfindung.
-
9 ist
eine Blockschaltbildveranschaulichung des Graphics Rendering Processor 1000 gemäß der alternativen
Ausführungsform 20 der
vorliegenden Erfindung.
-
10 ist
eine Blockschaltbildveranschaulichung des Display Formatter 1100 gemäß der alternativen
Ausführungsform 20 der
vorliegenden Erfindung.
-
11 ist
eine Diagrammveranschaulichung des Merge Processor 500 gemäß der alternativen Ausführungsform 20 der
vorliegenden Erfindung.
-
12 ist
eine Blockschaltbildveranschaulichung einer Implementierung der
alternativen Ausführungsform 20 der
vorliegenden Erfindung zum Lösen
des Problems des Anzeigens von qualitativ hochwertiger anti-aliased
Farb-Stroke-Symbologie zusammen mit qualitativ hochwertigem Farbrastervideo auf
einer Farbflachbildröhre.
-
13 ist
eine Blockschaltbildveranschaulichung der Stroke-Vektor-Detektionsfunktion
der alternativen Ausführungsform
der vorliegenden Erfindung.
-
14 ist
eine Blockschaltbildveranschaulichung der Stroke-Vektor-Renderingfunktion
der alternativen Ausführungsform
der vorliegenden Erfindung.
-
15 ist
eine Blockschaltbildveranschaulichung der Raster-Formatterfunktion
der alternativen Ausführungsform
der vorliegenden Erfindung.
-
IV. AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Zur
Erleichterung eines Verständnisses
der vorliegenden Erfindung wird hier eine kurze Erörterung
geliefert, bei der eine herkömmliche
Implementierung zur Stroke-zu-Raster-Konvertierung
mit einer Ausführungsform
der vorliegenden Erfindung verglichen wird. Die Ansätze zwischen
einer herkömmlichen
Implementierung und der der vorliegenden Erfindung variieren erheblich.
Die Funktionen, die erforderlich sind, um analoge Stroke-Symbologie-Eingaben
in qualitativ hochwertige antialiased Symbologie mit Rastervideo
auf einen Farbflachbildschirm zu konvertieren, werden mit der Art
und Weise präsentiert,
in der sie herkömmlicherweise
implementiert werden, gegenüber
der vorliegenden Erfindung.
-
Stroke-Ablenkungen
und Video werden durch Überabtastung
digitalisiert. Anstatt wie bei herkömmlichen Ansätzen eine
Bitmap zu erzeugen, detektiert die vorliegende Erfindung Start-
und Endpunkte für
individuelle Vektoren innerhalb spezifischer Symbole zusammen mit
ihrer Farbe und Intensität.
Individuelle Vektoren werden durch eine Änderung der Richtung, eine Änderung
der Farbe, eine Änderung
der Intensität,
eine Änderung
der Zeichenrate oder das Aktivieren oder Deaktivieren des Symbologieaustastsignals
unterschieden. Dies erzeugt effektiv wieder die von dem ursprünglichen
Stroke-Ablenkprozessor verwendete ursprüngliche Vektordisplayliste.
Nachdem die ursprüngliche
Displayliste wieder erzeugt worden ist, kann die Stroke-Symbologie
ohne die Fehler erneut wiedergegeben werden, die bei herkömmlichen
Ansätzen
erfahren werden, weil die Vektoren aus der Displayliste dann durch
Grafikwiedergabekomponenten unter Verwendung von Algorithmen nach
dem Stand der Technik für
das Anti-Aliasing, Alpha-Blending und andere Grafikwiedergabefunktionen
wiedergegeben werden, die so gewählt
sind, daß die
Ausgabebildqualität für das Zieldisplay
verbessert ist. Diese Grafikwiedergabekomponenten sind die gleichen
wie jene, die auf Grafikkarten für
PCs und Workstations verwendet werden und implementieren Algorithmen,
die vom Fachmann wohl verstanden werden. Der Prozeß des dynamischen
Abschaltens und dann Einschaltens eines Stroke-Vektors wird als
Okklusion bezeichnet. Eine Okklusion wird in der Regel für ein Stroke-Displaysystem
dadurch bewerkstelligt, daß das
Stroke-Videosignal für
eine Nullstrahlintensität
gesetzt wird, während
sich die Ablenkung im Okklusionsbereich befindet. Für die vorliegende
Erfindung werden Okklusionsbereiche in Folge einer erneuten Wiedergabe
nur jener Vektoren präzise
aufrechterhalten, die gleichzeitig mit Stroke-Video vorliegen. Die kleinsten Symbole
sowie Überkreuzungen
und Bögen
werden mit der höchstmöglichen
Qualität
präzise
wiedergegeben. Nachdem die Stroke-Symbologie in Rasterform erneut wiedergeben
worden ist, kann sie mit digitalisiertem Rastervideo vermischt werden.
-
Sowohl
bei herkömmlichen
Ansätzen
als auch der vorliegenden Erfindung werden die Stroke-Videoeingaben
zur Analog-Digital-Umwandlung überabgetastet.
Sowohl herkömmliche
Ansätze
als auch die vorliegende Erfindung führen eine Mischung von Stroke-Symbologie
mit digitalisiertem Rastervideo auf ähnliche Weisen durch. Herkömmliche
Ansätze
haben jedoch das Problem, daß sie die
Bitmap- oder Bildverarbeitung bei Anwesenheit von Bögen und Überkreuzungen
verschiedener Farben zu einem Grad ausführen, der in der Regel in Nicht-Echtzeitsystemen
oder in Systemen mit parallelen digitalen Signalverarbeitungskomponenten
ausgeführt worden
ist.
-
Die
vorliegende Erfindung verschiebt das Problem von dem der Verarbeitung
von Bitmaps in Echtzeit (siehe obige Erörterung bezüglich 1) zu einem
des Detektierens des Beginns und Endes von individuellen Vektoren,
was in Echtzeit vorgenommen werden kann. Die vorliegende Erfindung
entfernt die Effekte von verlorenen und verzerrten Stroke-Symbologie-Informationen
und gibt die Stroke-Symbole auf eine für einen hochaufgelösten Farbflachbildschirm
optimierte Weise erneut wieder. Im Gegensatz zu herkömmlichen
Ansätzen,
die eine Bitmap verarbeiten müssen,
verarbeitet die vorliegende Erfindung eine Displayliste individueller
Vektoren. Die Displayliste stellt jeden einzelnen, für die Stroke-Symbologie
wiedergegebenen Vektor ohne Informationsverlust dar.
-
Herkömmlicherweise
wird mit Analog-Stroke-Video-A/D ausgeführt durch Überabtastung relativ zur Schreibrate
und Displaypixelauflösung.
Die Verarbeitung digitalisierter Stroke-Videodaten wird durchgeführt, indem
zuerst eine Bitmap hergestellt wird. Die Wiedergabe von Symbologie
mit Anti-Aliasing wird durch Nachverarbeitung der Bitmap unter Verwendung
von Randdetektion, Bildglättung,
Kontrastverstärkung,
nächste-Nachbar-Analyse
(Pseudo-Anti-Aliasing) und andere dem Fachmann wohlbekannte Grafik-
und Bildverarbeitungstechniken ausgeführt. Die Analog-Rastervideo-A/D wird
ausgeführt
durch Überabtastung
relativ zur Eingabeauflösung
und Displaypixelauflösung.
Die Stroke-Symbologie und das Rastervideo werden durch digitale Summierung
mit Symbologiepräzedenz
oder -priorität
gemischt. Der durchgehende Effekt dieses herkömmlichen Ansatzes besteht darin,
daß die
Qualität der
Symbologie beeinträchtigt
wird, während
die Fähigkeiten
eines hochaufgelösten
Farbflachbildschirms nicht vollständig realisiert werden.
-
Im
Vergleich wird bei einer hier beschriebenen Ausführungsform der vorliegenden
Erfindung die Analog-Stroke-Ablenkung-
und Video-A/D durch Überabtastung
relativ zur Schreibrate und Displaypixelauflösung ausgeführt. Die digitalisierte Stroke-Videodatenverarbeitung
wird durch Erzeugen einer Displayliste ausgeführt. Die Wiedergabe von Symbologie
mit Anti-Aliasing
und Alpha-Blending wird durch Grafikwiedergabe einfacher Vektoren
(wahres Anti-Aliasing) mit Sub-Pixel-Positionierung
der Endpunkte ausgeführt,
wobei Algorithmen unter Verwendung von Anti-Aliasing- und Alpha-Blending-Algorithmen
verwendet werden, die dem Fachmann wohlbekannt sind und von ihm
verstanden werden. Anti-Aliasing-Algorithmen weisen die Fähigkeit
auf, Pixel entlang eines Vektors und um einen Vektor herum auf eine
Weise zu modulieren, die bewirkt, daß die Linie bei Betrachtung
auf einem Display gerade und glatt erscheint. Dies ist für Flachbildschirme
besonders wichtig, die ansonsten einen Vektor als eine Treppenstufenlinie
präsentieren
würden.
Alpha-Blending ermöglicht,
daß überlappende
Vektoren auf eine Weise wiedergegeben werden, die sicherstellt,
daß der
Vektor mit der höchsten
Priorität
nicht von Vektoren mit niedriger Priorität verdeckt wird. Alpha-Blending-Algorithmen modifizieren
Pixelfarben entlang und um Vektoren herum, um sicherzustellen, daß Vektoren unterschiedlicher
Farben, die in unmittelbarer Nähe oder
auf überlappende
Weise wiedergegeben werden, bei Betrachtung keine dritte (falsche)
Farbe präsentieren.
Die Analog-Rastervideo-A/D wird ausgeführt durch Überabtastung relativ zur Eingabeauflösung und
Displaypixelauflösung.
Die Stroke-Symbologie und das Rastervideo werden durch digitale Summierung
mit Symbologiepräzedenz
gemischt. Der durchgehende Effekt dieses Ansatzes der vorliegenden
Erfindung besteht darin, daß maximale
Qualität
des Symbologie unter Verwendung der umfassendsten Fähigkeiten
eines hochauflösenden
Farbflachbildschirms realisiert wird.
-
Nachdem
die Grundarbeitsweise einer Ausführungsform
der vorliegenden Erfindung beschrieben worden ist, wird nun auf 2 Bezug
genommen, wo eine durch ihre Hauptkomponenten dargestellte Ausführungsform 10 der
vorliegenden Erfindung gezeigt wird. Jede Komponente (200 bis 600) wird
hier weiterbeschrieben. Für
die vorliegende Erfindung enthält
Grafikobjekte alle Informationen, die in einem Grafikdisplaysystem
vorliegen. Die vorliegende Erfindung ermöglicht die optimale Wiedergabe von
Grafik zu Displayzwecken ungeachtet der Quelle der wiederzugebenden
Grafik. Insbesondere kann Grafik, die bereits auf eine Weise wiedergegeben worden
ist, die möglicherweise
nicht das gewünschte Verfahren
ist, unter Verwendung des gewünschten Verfahrens
erneut wiedergegeben werden. Die vorliegende Erfindung kann analoge
Stroke-Symbologie-Eingaben
in qualitativ hochwertige anti-aliased Symbologie mit Hintergrundrastervideo
konvertieren, beispielsweise Display auf einem Farbflachbildschirm.
-
Die
hier erörterten
jeweiligen Werte und Konfigurationen können variiert werden und werden
lediglich zur Veranschaulichung bestimmter Ausführungsformen der vorliegenden
Erfindung angeführt und
sollen nicht den Schutzbereich der Erfindung beschränken. In
der folgenden Erörterung
der vorliegenden Ausführungsform
ist es wünschenswert,
analoges Farb-Video zu verarbeiten, das als Stroke-(Vektor-)-Videosignale
für ein
Display vom Vektortyp wiedergegeben worden ist, um das Video auf
optimierte Weise auf einem Raster-Farbflachbildschirm wiederzugeben. Eine
Einschränkung
existiert bei einem derartigen System, wobei die Quelle des Stroke-(Vektor-)-Videos
nicht abgeändert
werden kann. Wenngleich die vorliegende Beschreibung mit einer Stroke-zu-Raster-Grafikwiedergabe
vorgelegt worden ist, ist für
den Fachmann offensichtlich, daß die vorliegende
Erfindung andere Anwendungen aufweist, einschließlich unter anderem Bildverbesserung,
Videoszenenanalyse, Zeichenerkennung, Zielerkennung und andere Formen
der Informationsübersetzung
und -analyse.
-
Wieder
unter Bezugnahme auf 2 detektiert der Graphics Detection
Processor 200 die von der ursprünglichen Quelle wiedergegebenen
individuellen Vektoren, wie etwa Stroke-(Vektor-)-Videoeingabe für jedes
Videoeinzelbild. Um dies zu bewerkstelligen digitalisiert der Graphics
Detection Processor 200 zuerst die Signale für die Horizontalablenkung
(x-Displayposition)
und Vertikalablenkung (y-Displayposition), die Farbsignale, Intensitätssignale,
Symbologie-Austastsignal und andere Signale von dem Stroke-(Vektor-)-Video
unter Verwendung von Analog-zu-Digital-Umsetzern
(A/D), um einen digitalen Abtastwert eines Vektors auf eine dem
Fachmann wohlbekannte Weise zu bilden.
-
Dann
wird die Richtung eines Vektors ((x2 – x1), (y2 – y1), wobei x1 ein
erster Abtastwert der Horizontalablenkung in einer Sequenz, x2 ein zweiter Abtastwert der Horizontalablenkung
in einer Sequenz, y1 ein erster Abtastwert
einer Vertikalablenkung in einer Sequenz, y2 ein
zweiter Abtastwert der Vertikalablenkung in einer Sequenz usw. ist)
oder die Änderung
der Vektorrichtung bestimmt, indem die digitalisierten Horizontal-
und Vertikalablenkungssignale in einem digitalen Abtastwert eines
Vektors mit den digitalisierten Horizontal- und Vertikalablenkungssignale
in dem vorausgegangenen digitalen Abtastwert eines Vektors verglichen
werden. Der Start- und Endpunkt eines Vektors werden anhand von Änderungen der
Vektorrichtung, Änderungen
der Farbe, Änderungen
der Intensität, Änderungen
der Zeichenrate (Entfernung zwischen zwei digitalen Abtastwerten
eines Vektors dividiert durch die Abtastperiode) oder anhand von Änderungen
bei anderen digitalisierten Signalen in einem digitalen Abtastwert
eines Vektors bestimmt. Außerdem
bestimmt die vorliegende Erfindung, ob mehrere kleine Abtastwerte
zusammen zu einem großen
Vektor führen
(d.h. viele kleine Vektoren können
als ein Vektor erscheinen). Es wird angemerkt, daß Vektoren
detektiert werden können,
indem Endpunkte von Strokeähnlichem
Video, durch Erkennung von Vektoren in einem Rasterbild oder durch
Zerlegen von Vektorzeichenbefehlen in einer Displayliste auf eine
dem Fachmann bekannte Weise bestimmt werden können.
-
Die
vorliegende Erfindung stellt eine Änderung der Vektorrichtung
fest, wenn eine gemessene Änderung
der Richtung einen vorbestimmten statischen oder dynamischen Schwellwert
(der durch Rauschen oder durch die Prozessorcharakteristiken beeinflußt ist)
auf eine Weise übersteigt,
daß das dem
Fachmann offensichtlich ist. Die Länge eines Vektors wird aus
dem Abstand zwischen Start- und Endpunkt gemäß der folgenden Gleichung bestimmt: sgrt((x2 – x1)2 + (y2 – y1)2). Die Intensität eines
Vektors wird anhand des digitalisierten Intensitätssignals in einem digitalen
Abtastwert eines Vektors und anhand der Zeichenrate für einen
digitalen Abtastwert eines Vektors bestimmt. Eine niedrigere Zeichenrate
entspricht einer höheren
Intensität
für den
Vektor. Dann wird ein Vektorprimitiver ausgebildet durch Kombinieren
der Start- und Endpunkte, Länge,
Richtung, Farbe und Intensität
eines Vektors. Vektorprimitive werden zu einem Vektorarray (Graphics
Array 260) für
jedes Bild oder Videoeinzelbild von Vektoren addiert, die beispielsweise
auf einem Farbflachbildschirm 630 wiedergegeben werden
sollen. Beginn und Ende eines Videoeinzelbilds von Vektoren wird
direkt aus Stroke-Videosignalen
oder anderen synchronisierenden Informationen bestimmt, indem ein
Vektorprimitiver durch einen Zeitgeber oder durch andere Mittel bereits
in dem Vektor-(Graphics)-Array 260 detektiert wird.
-
Änderungen
bei anderen Vektormessungen werden auf ähnliche Weise deklariert und
ergeben sich dem Fachmann.
-
Unter
Bezugnahme auf 3 wird ein Graphics Detection
Processor 200 gemäß der vorliegenden
Erfindung gezeigt. Der Graphics Detection Processor 200 kann
programmierbar sein, um als Eingabe mehrere Formen von Rendered
Graphics 220 anzunehmen. Rendered Graphics 220 können Bilder, Video,
Grafik, Grafikbefehle oder eine andere entsprechende Eingabe sein,
die von einer bestimmten Quelle wie etwa einem Stroke-Auslenkprozessor, Rasterbildprozessor,
Bildscanner, Standbild- oder Bewegungskamera oder einer Grafikapplikation
erzeugt werden. Die Fähigkeit
zum Programmieren des Graphics Detection Processor 200 liefert
die Optimierung für
Eingabetypen, Eingabeinhalt, Leistung, Sicherheit, Übertragung,
Speicherung, Bildqualität, spezifische
Displaycharakteristiken und andere Zwecke, die der Fachmann erkennt.
Die Programmierung kann auch Standardwerten oder dynamisch zugewiesenen
Werten zur Optimierung auf eine dem Fachmann bekannte Weise basieren.
-
Während herkömmliche
Systeme als Ausgabe eine Bitmap von der Rendered Graphics 220 bereitstellen,
liefert der Graphics Detection Processor 200 als Ausgabe
ein Graphics Array 260, das die in der Rendered Graphics 220 bereitgestellten
Grafikinformationen darstellt. Die Erzeugung eines Graphics Array 260 ist
eine neuartige Komponente der vorliegenden Erfindung. Ein Graphics
Array 260 wird hier auch als eine Displayliste bezeichnet.
Der Fachmann kann mit einem Graphics Array 260 Grafiken
auf optimale Weise für
ein gegebenes Display wiedergeben. Das Acquisition-230-Modul
konvertiert Rendered Graphics 220 in eine für die Verarbeitung
geeignete Form. Wenn beispielsweise Rendered Graphics 220 in
Form eines analogen Stroke-Videos
vorliegt, kann Acquisition-230 Rendered Graphics 220 in
digitale Abtastwerte konvertieren, die dann von einem digitalen
Prozessor verarbeitet werden können.
Ein Recognition-240-Modul identifiziert Grafikobjekte innerhalb
Rendered Graphics 220. Beispielsweise kann Recognition 240 Start-
und Endpunkte von Vektoren, Position und Typ von Grafikobjekten
wie etwa Kreise und Kugeln oder Position, Typ und Schriftart für Zeichen
in den von Acquisition 230 bereitgestellten digitalen Abtastwerten
bestimmen. Ein Array Generator 250 sammelt die Informationen
für jedes
von Recognition-240-Modul identifizierte Grafikobjekt und
erzeugt ein Graphics Array 260 mit Informationen für jedes
Grafikobjekt oder -primitive. Beispielsweise kann das Graphics Array 260 eine
Displayliste von Vektoren sein, wobei jeder Eintrag in der Displayliste
die folgenden Informationen enthält:
Startpunkt (x, y), Endpunkt (x, y), Farbe (Rotpegel, Grünpegel, Blaupegel),
Intensität
(Spannungs- oder relativer Helligkeitspegel), Zeichenrate (Inch/Sekunde
oder Zentimeter/Sekunde). In dem Graphics Array 260 kann
die Reihenfolge der Erscheinung in einem Array zum Bestimmen des
Grafikobjektvorrangs oder anderer Verarbeitungsfunktionen verwendet
werden.
-
Unter
Bezugnahme auf 4 wird ein Encode Processor 300 gemäß der vorliegenden
Erfindung gezeigt. Der Encode Processor 300 empfängt Graphics
Array 260 als Eingabe. Der Encode Processor 300 liefert
als Ausgabe ein Optimized Graphics Array 330, das die Grafikinformationen
im Graphics Array 260 darstellt. Der Encode Processor 300 kann für Eingabetypen,
Eingabeinhalt, Leistung, Sicherheit, Übertragung, Speicherung, Bildqualität, spezifische
Displaycharakteristiken und andere Zwecke optimiert sein. Als nichteinschränkendes
Beispiel kann der Encode Processor 300 Vektorquantisierung,
Datenkompression, Datenverschlüsselung,
Grafikobjektsortierung, Alpha-Wert-Zuweisung (z.B. Vorrang oder Transparenz)
oder andere Verarbeitungsfunktionen ausführen. Als ein weiteres Beispiel
kann der Encode Processor 300 jeden Vektor in einem Graphics
Array 260 filtern, um sicherzustellen, daß alle Vektoren
vernünftige
Länge,
Farbe und Intensität aufweisen,
um ihre Erscheinung auf dem Farbflachbildschirm zu optimieren. Als
ein weiteres Beispiel kann der Encode Processor 300 das
Graphics Array 260 als ein Array aus Grafikbefehlen oder
Grafikroutineaufrufen codieren, wie etwa jene, die von der von der
Firma Silicon Graphics Inc. erhältlichen
Computersoftware OpenGL® unterstützt werden.
Als ein weiteres Beispiel kann der Encode Processor 300 eine Kette
von Vektoren, die einen Kreis bilden, als einen einzelnen zeichne-Kreis-Befehl
codieren, was auch der Fall für
Recognition 240 ist. Die Ausgabe des Encode Processor 300 ist
das Optimized Graphics Array 330.
-
Unter
Bezugnahme auf 5 wird ein Graphics Rendering
Processor 400 gemäß der vorliegenden
Erfindung gezeigt. Der Graphics Rendering Processor 400 enthält als Eingabe
ein Graphics Array 260 oder ein Optimized Graphics Array 330 von dem
Encode Processor 300. Der Graphics Rendering Processor 400 liefert
als Ausgabe Display Data 530, die eine Wiedergabe (Verarbeitung/Formatierung)
der in einem Graphics Array 260 oder einem Optimized Graphics
Array 330 enthaltenen Grafikinformationen sind. Display
Data 530 sind für
ein Grafikdisplay entsprechend formatiert. Display Data 530 können beliebige
oder alle der folgenden Informationstypen enthalten: Bitmap, Texturmap,
Rastergrafik, Vektorgrafik, Holografik und andere Grafikformate.
Der Graphics Rendering Processor 400 kann Grafikverarbeitungsfunktionen
einschließlich
Anti-Aliasing zum
Glätten
von Linien, Texturierung zum Verbessern der Erscheinung von Grafikobjekten,
Alpha-Blending zum
Kombinieren von Grafikobjekten und Aufrechterhalten der korrekten
Farbwahrnehmung, Haloing zum Vergrößern des Kontrasts zwischen
Grafikobjekten und der Hintergrundszene, Interpolation zum Skalieren
und Glätten
von Grafikobjekten, Fogging zur Bereitstellung der Tiefenwahrnehmung,
Füllungen
zum Färben
von Grafikobjekten, Mischen mit anderen Grafik informationen und Quellen
und andere Funktionen ausführen.
Der Graphics Rendering Processor 400 kann für Eingabetypen,
Eingabeinhalt, Leistung, Sicherheit, Übertragung, Speicherung, Bildqualität, spezifische
Displaycharakteristiken und andere Zwecke optimiert sein.
-
Der
Graphics Rendering Processor 400 kann auch für einen
Farbflachbildschirm 600 optimiert sein. Der Graphics Rendering
Processor 400 verarbeitet das Graphics Array 260 oder
Optimized Graphics Array 330 durch Ausführen eines Grafikwiedergabebefehls
für jedes
Objekt oder Primitive in dem Array. Priorität für die Vektorprimitivenwiedergabe wird
bestimmt durch die Position einer Vektorprimitive in dem Array,
wobei die erste Primitive (oder ein anderer vorbestimmter Wert)
die höchste
Priorität aufweist.
Priorität
kann auch auf der Basis des Typs des von Recognition 240 erkannten
Grafikobjekts zugewiesen werden. Der Graphics Rendering Processor 400 arbeitet
im Rasterbereich und wendet, wenn er individuelle Primitive wiedergibt,
Anti-Aliasing, Texturierung,
Alpha-Blending, Haloing, Interpolation, Fogging, Schattierung, Füllungen,
andere Wiedergabetechniken und Kombinationen davon an. Die Ausgabe
des Graphics Rendering Processor 400 sind Display Data 530.
Display Data 530 enthalten formatierte visuelle Informationen,
die zur Übertragung
auf ein Display oder eine andere Einrichtung (z.B. Speicherungseinrichtung)
bereit sind. Beispielsweise kann es sich bei den Display Data 530 um
eine für
einen Farbflachbildschirm formatierte Bitmap handeln.
-
Display
Data 530 werden beispielsweise über einen Pixelbus auf eine
dem Fachmann gutbekannte Weise zu einem Farbflachbildschirm 600 übertragen,
wo sie von einer Person betrachtet werden können. Der Fachmann erkennt
jedoch, daß in der
vorliegenden Erfindung jedes Mittel zum Übertragen von Informationen
von einem Ort zum anderen funktioniert.
-
Unter
Bezugnahme auf 6 wird ein Display 600 gezeigt.
Ein Display 600 empfängt
als Eingabe Display Data 530. Ein Display 600 liefert
als Ausgabe ein Display Surface/Volume 630, das eine Darstellung
der Rendered Graphics 220 ist. Display Surface/Volume 630 stellt
die gewünschte
Darstellung der Rendered Graphics 220 dar. Die Darstellung von
Display Surface/Volume 630 können betrachtbare Informationen, übertragene
Informationen, gespeicherte Informationen oder irgendeine andere
angemessene Form von Informationen sein. Ein Display Surface/Volume 630 kann
eine Kathodenstrahlröhreneinrichtung,
ein Flachbildschirm, eine Flüssigkristalldisplayeinrichtung,
eine Projektionseinrichtung, eine holografische Einrichtung, eine
Retinaprojektionseinrichtung, eine Speicherungseinrichtung, ein Drucker,
ein Sender oder jede andere Einrichtung oder jedes andere Verfahren
zum Präsentieren, Speichern, Übertragen
oder Übermitteln
sein oder um Grafikinformationen sichtbar, zugänglich oder verwendbar zu machen.
-
Andere
Formen der Information können
unter Verwendung des Verfahrens und Systems, die in der vorliegenden
Erfindung verkörpert
sind, regeneriert werden. Beispielsweise wird unter Bezugnahme auf 7 eine
alternative Ausführungsform 800 der vorliegenden
Erfindung für
diesen Zweck gezeigt. Der Information Detection Processor 820 ist
eine verallgemeinerte Form des Graphics Detection Processor 200.
Der Encode Processor 830 in 7 ist eine verallgemeinerte
Form des weiter oben beschriebenen Encode Processor 300.
Der Information Processor 840 in 7 ist eine
verallgemeinerte Form des Graphics Rendering Processor 400.
Andere Informationen 810 in 7 sind eine
verallgemeinerte Form des Display Formatter 1100 (10).
Der Merge Processor 850 in 7 ist eine
verallgemeinerte Form des hier beschriebenen Merge Processor 500. Information
Storage/Transmission 860 in
-
7 ist
eine verallgemeinerte Form des Displays 600 von 6.
-
Nachdem
eine Ausführungsform
der vorliegenden Erfindung beschrieben worden ist, wird die Aufmerksamkeit
nun auf eine alternative Ausführungsform
der Vorrichtung und des Verfahrens (die oben beschrieben worden
sind) für
das Graphics Rendering gelenkt. Insbesondere wird Bezug genommen
auf 8, wo eine durch ihre Hauptkomponenten dargestellte
alternative Ausführungsform 20 der
vorliegenden Erfindung gezeigt wird. Das Blockschaltbild von 8 stellt
eine alternative Ausführungsform
der in 7 gezeigten Erfindung dar. Die Erörterung
des Graphics Detection Processor 200 und des Encode Processor 300 ist
die gleiche wie die weiter oben bezüglich 3 bzw. 4 vorgelegte und
wird dementsprechend nicht wieder erörtert.
-
Unter
Bezugnahme auf 9 wird ein Graphics Processing 1000 gemäß der alternativen
Ausführungsform
der vorliegenden Erfindung gezeigt. Der Graphics Processor 420 akzeptiert
als Eingabe ein Graphics Array 260 oder ein Optimized Graphics Array 330.
Der Graphics Processor 420 liefert als Ausgabe Frame Buffer 430,
der eine Wiedergabe der in einem Graphics Array 260 oder
einem Optimized Graphics Array 330 enthaltenen Grafikinformationen ist.
Der Frame Buffer 430 kann eine Speichereinrichtung für Displaysysteme
sein, die einen Einzelbildpufferspeicher ausscannen, oder ein Strom
von Informationen, die direkt an den Merge Processor 500 oder
das Display 600 für
Displaysysteme, die ein Durchflußverfahren verwenden, geliefert
wird. Der Frame Buffer 430 wird für eine bestimmte Art eines Grafikdisplays
entsprechend formatiert. Der Frame Buffer 430 kann beliebige
oder alle der folgenden Informationsarten enthalten: Bitmap, Texturmap,
Rastergrafik, Vektorgrafik, Holografik und andere Grafikformate.
Der Graphics Processor 420 kann bestimmte Grafikverarbeitungsfunktionen
ausführen,
einschließlich
Anti- Aliasing, Texturierung,
Alpha-Blending, Haloing, Interpolation, Fogging, Füllungen,
Mischen mit anderen Grafikinformationen und -quellen und andere
Funktionen. Der Graphics Rendering Processor 1000 kann
für Eingabetypen,
Eingabeinhalt, Leistung, Sicherheit, Übertragung, Speicherung, Bildqualität, spezifische
Displaycharakteristiken und andere Zwecke optimiert sein.
-
Unter
Bezugnahme auf 10 wird ein Display Formatter 1100 gemäß der alternativen
Ausführungsform 800 der
vorliegenden Erfindung gezeigt. Die Acquisition 135 nimmt
als Eingabe 110 Bilder, Video, Grafik oder Grafikbefehle
an. Der Formatter 130 empfängt die Informationen von Acquisition 135 und liefert
als Ausgabe Frame Buffer 140. Der Frame Buffer 140 enthält eine
Wiedergabe der Bilder, des Videos, der Grafik oder Grafikbefehle,
die für
ein Grafikdisplay entsprechend formatiert sind.
-
Unter
Bezugnahme auf 11 wird ein Merge Processor 500 gemäß der alternativen
Ausführungsform 800 der
vorliegenden Erfindung gezeigt. Der Merge Processor 500 akzeptiert
als Eingabe wiedergegebene Grafik in mehreren Einzelbitpuffern 1 bis
n (510 und 540), kombiniert die Inhalte der Einzelbildpuffer
in Combine 520 und liefert als Ausgabe Display Data 530.
Display Data 530 sind eine kombinierte Wiedergabe von Grafik
von allen entsprechend für
ein Grafikdisplay (Display Data 530) formatierten Einzelbildpuffern.
Der Merge Processor 500 liefert maximale Flexibilität beim Kombinieren
von Grafikinformationen von vielen Quellen für ein Grafikdisplay. Der Merge
Processor 500 kann bestimmte Grafikverarbeitungsfunktionen
ausführen,
einschließlich
Anti-Aliasing, Texturierung, Alpha-Blending, Haloing, Interpolation, Fogging,
Füllungen,
Mischen mit anderen Grafikinformationen und -quellen und andere Funktionen.
Der Merge-Prozessor 500 ist eine optionale Komponente der
vorliegenden Erfindung gemäß der alternativen
Ausführungsform.
-
Wieder
unter Bezugnahme auf 6 wird das Display 600 zur
Verwendung bei der alternativen Ausführungsform gezeigt. Die Erörterung
bezüglich 6 oben
gilt für
diese alternative Ausführungsform und
braucht dementsprechend nicht wieder erörtert zu werden. Bei der alternativen
Ausführungsform
jedoch ist die Ausgabe, Display Surface/Volume 630, eine
Darstellung von Rendered Graphics 220 kombiniert mit Eingabe 110.
Das Display 630 stellt die gewünschte Darstellung der Rendered
Graphics 220 kombiniert mit der Eingabe 110 dar.
-
Beispiel 1
-
Das
folgende nicht einschränkende
Beispiel wird vorgelegt, um die Funktionsweise der alternativen
Ausführungsform 20 bei
Anwendung auf die Konvertierung Stroke-Symbologie in Raster-Symbologie zur
Verwendung in einem Flachbildschirm zu veranschaulichen. 8 zeigt
funktionell eine Implementierung der vorliegenden Erfindung zum
Lösen des Problems
des Anzeigens von qualitativ hochwertiger anti-aliased Farb-Stroke-Symbologie zusammen
mit qualitativ hochwertigem Farbrastervideo auf einem Farbflachbildschirm.
-
Wieder
unter Bezugnahme auf 3 detektiert der Graphics Detection
Processor 200 die von einer alten Stroke-(Vektor)-Videoschnittstelle
für jedes Videoeinzelbild
bereitgestellten individuellen Vektoren. Der Graphics Detection
Processor 200 digitalisiert die Horizontal- und Vertikalablenksignale,
Farbsignale, Intensitätssignale,
Symbologieaustastsignale und andere Signale von dem Stroke-(Vektor)-Video
unter Verwendung von Analog-zu-Digital-Wandlern, um digitale Abtastwerte
von Vektoren auszubilden. Die Richtung eines Vektors wird bestimmt
durch Vergleichen der digitalisierten Horizontal- und Vertikalablenksignale
in einem digitalen Abtastwert eines Vektors mit den digitalisierten
Horizontal- und Vertikalablenksignalen in dem vorausgegangenen digitalen
Abtastwert eines Vektors. Der Start- und Endpunkt eines Vektors
werden anhand von Änderungen der
Vektorrichtung, anhand von Änderungen
der Farbe, anhand von Änderungen
der Intensität,
anhand von Änderungen
der Zeichenrate oder anhand von Änderungen
in anderen digitalisierten Signalen in einem digitalen Abtastwert
eines Vektors bestimmt. Eine Änderung
der Vektorrichtung wird festgestellt, wenn eine gemessene Änderung
der Richtung einen statischen oder dynamischen Schwellwert übersteigt. Änderungen
bei anderen Vektormessungen werden auf ähnliche Weise festgestellt.
Die Länge
eines Vektors wird anhand der Entfernung zwischen dem Start- und Endpunkt bestimmt.
Die Intensität
eines Vektors wird anhand des digitalisierten Intensitätssignals
in einem digitalen Abtastwert eines Vektors und anhand der Zeichenrate
für einen
digitalen Abtastwert eines Vektors bestimmt. Eine langsamere Zeichenrate
entspricht einer höheren
Intensität
für den
Vektor. Die Länge
eines Vektors wird aus dem Abstand zwischen Start- und Endpunkt
bestimmt. Die Intensität
eines Vektors wird anhand des digitalisierten Intensitätssignals
in einem digitalen Abtastwert eines Vektors und anhand der Zeichenrate
für einen
digitalen Abtastwert eines Vektors bestimmt. Eine niedrigere Zeichenrate
entspricht einer höheren
Intensität
für den Vektor.
Dann wird ein Vektorprimitiver ausgebildet durch Kombinieren der
Start- und Endpunkte, Länge, Richtung,
Farbe, Zeichenrate und Intensität
eines Vektors. Vektorprimitive werden zu einem Vektor-(Graphics)-Array 260 für jedes
Bild oder Videoeinzelbild von Vektoren addiert und priorisiert,
die auf einem Farbflachbildschirm 630 wiedergegeben werden sollen.
Beginn und Ende eines Videoeinzelbilds von Vektoren wird direkt
aus Stroke-Videosignalen oder anderen synchronisierenden Informationen
bestimmt, indem ein Vektorprimitiver durch einen Zeitgeber oder
durch andere Mittel bereits in dem Vektor-(Graphics)-Array 260 detektiert
wird.
-
Wieder
unter Bezugnahme auf 4 filtert der Encode Processor 300 jeden
Vektor in dem Vektorarray 260, um sicherzustellen, daß alle Vektoren eine
vernünftige
Länge,
Farbe und Intensität
aufweisen, damit ihre Erscheinung auf dem Farbflachbildschirm optimiert
wird. Beispielsweise kann die gemessene Farbe für eine Vektorprimitive als
eine zur Darstellung auf dem Farbflachbildschirm und für andere Überlegungen
wie Nachtsichtgerätekompatibilität optimierte
Farbe codiert werden. Außerdem
kann die Intensität
einer Vektorprimitive codiert werden, um die Effekte von Zeichenrate
oder den Wunsch zum Zuweisen diskreter Intensitätspegel auf der Basis des Vorrangs
oder anderer Kriterien zu berücksichtigen.
Außerdem
kann der Encode Processor 300 mit jeder Vektorprimitive
assoziierte Informationen auf eine Weise formatieren, die für die Erstellung eines
Graphics-Rendering-Befehls optimiert ist. Die Ausgabe des Encode
Processor 300 ist das optimierte Vektor-(Graphics)-Array 330.
-
Wieder
unter Bezugnahme auf 9 wird der Graphics Rendering
Processor 1000 für
einen Farbflachbildschirm 600 optimiert. Der Graphics Rendering
Processor 1000 verarbeitet das optimierte Vektor-(Graphics)-Array 330 durch
Erteilen eines Vektor-(Grafik)-Wiedergabebefehls an einen Graphics
Processor 400 mit der Vektorprimitive. Priorität für die Vektorprimitivenwiedergabe
wird bestimmt durch die Position einer Vektorprimitiven in dem optimierten
Vektor-(Graphics)-Array 330,
wobei die erste Vektorprimitive in dem optimierten Vektor-(Graphics)-Array 330 die
höchste
Priorität
aufweist. Der Grafikprozessor arbeitet im Rasterbereich und wendet
bei seiner Wiedergabe von individuellen Vektorprimitiven Anti-Aliasing,
Texturierung, Alpha-Blending, Haloing, Interpolation, Fogging und
Füllungen an.
Die Ausgabe des Graphics Rendering Processor 400 sind wiedergegebene
Vektoren (Frame Buffer) 430.
-
Wieder
unter Bezugnahme auf 10 akzeptiert der Display Formatter 1100 Eingabe-110-Analograstervideo,
das minimale Verarbeitung durch Acquisition 135 für den Zweck
des Wiedergebens auf dem Farbflachbildschirm 630 erfordert.
Acquisition 135 kann Funktionen wie Analog-zu-Digital-Wandlung,
Intensität
und Displaygrößeskalierung
und andere vom Fachmann wohl verstandene Funktionen ausführen. Die
Ausgabe des Formatter 130 ist formatiertes Rastervideo
(Frame Buffer) 140.
-
Wieder
unter Bezugnahme auf 11 kombiniert der Merge Processor 500 die
wiedergegebenen Vektoren (Frame Buffer) 530 von dem Graphics Rendering
Processor 400 mit dem formatierten Rastervideo (Frame Buffer) 140 von
dem Display Formatter 1100, um ein umfassenderes Displayformat
zur Betrachtung bereitzustellen. Die Ausgabe des Merge Processor 500 sind
Display Data 530.
-
Beispiel 2
-
Das
folgende nicht einschränkende
Beispiel wird vorgelegt, um die Funktionsweise der alternativen
Ausführungsform 20 bei
Anwendung auf die Konvertierung Stroke-zu-Raster zur Verwendung
in einem Flachbildschirm zu veranschaulichen. 12 zeigt
funktionell eine Implementierung der alternativen Ausführungsform 20 der
vorliegenden Erfindung zum Lösen
des Problems des Anzeigens von qualitativ hochwertiger anti-aliased
Farb-Stroke-Symbologie zusammen mit qualitativ hochwertigem Farbrastervideo
auf einem Farbflachbildschirm.
-
Die
vorliegende Erfindung detektiert die individuellen Vektoren, die
von dem Stroke-Generator, beispielsweise einem Multipurpose Display
Indicator (MDI) oder Displaycomputer erzeugt werden, mit dem Stroke
Vector Detector. Diese Funktion erzeugt effektiv die von dem Stroke-Generator
verwendete ursprüngliche
Symbologiedisplayliste.
-
Stroke-Symbologievektoren
werden dann durch Vector Rendering wiedergegeben und einem Anti-Aliasing
unterzogen. Diese Funktion nutzt kommerziell erhältliche Graphics-Rendering-Komponenten
unter Verwendung von im Handel erhältlichen Renderingalgorithmen
nach dem Stand der Technik. Die Kombination aus Displaylistenwiederherstellung und
vector-Rendering durch Stroke Vector Detector bzw. Stroke Vector
Rendering ist eine neuartige Komponente der vorliegenden Erfindung.
Tatsächlich
ist die vorliegende Erfindung in der Lage, Stroke-Symbologie mit
weit größerer Qualität und Genauigkeit anzuzeigen,
als jeder gegenwärtig
erhältliche
Stroke-Generator dazu in der Lage ist. Rastervideo wird durch Raster
Digitize/Scaling digitalisiert und skaliert. Diese Funktion entspricht
der, die in den meisten Flachbildschirmen anzutreffen ist, und zeigt
Verarbeitungssysteme mit analogem Video an. Rendered-Stroke-Symbologie und digitalisiertes
Rastervideo werden in Merge gemischt. Schließlich wird das gemischte Video
auf dem Display angezeigt.
-
Die
von dem Stroke Module ausgeführte Stroke-Vektor-Detektionsfunktion
sind in 13 gezeigt. Auslenkungs- und
Aufhellungssignale (Stroke Video) werden durch Stroke Switching
geschaltet. Stroke Switching liefert auch eine Repeaterfunktion für Stroke
Video. Der ausgewählte
Stroke-Video-Eingang wird durch den Analog To Digital Converter
bei beispielsweise einer Abtastraste von 48 MHz digitalisiert. Diese
Abtastrate entspricht einem Minimum von 4 Abtastwerten pro mit der
schnellsten Schreibrate wiedergegebenem Displayinkrement oder etwa 7
Abtastwerten pro Pixel auf dem Display. Die Digitalisierung von
Stroke-Signalen liefert eine effektive Symbologieauflösung von
mindestens zum Beispiel 4800 mal 4800 Pixeln mit einem 12-Bit-A/D
und möglicherweise
beispielsweise 9500 mal 9500 Pixeln mit einem 13-Bit-A/D. Nach der
Digitalisierung bestimmt Vector Recognition den Start- und Endpunkt, Farbe und
Intensität
jedes Vektors innerhalb Stroke-Video-Symbologie und setzt diese
Vektorinformationen in die Display List. Symbologiequalität wird maximiert,
indem sichergestellt wird, daß der
gleiche Punkt für
den Endpunkt eines Vektors und den Startpunkt des nächsten Vektors
in einer Vektorsequenz wie etwa in einem Bogen verwendet wird. Variabilität bei den
Symbologieschreibraten wird durch dieses Verfahren automatisch berücksichtigt.
Außerdem kann
Variabilität
bei Zeichenrate zum Modifizieren von Symbologieintensität verwendet
werden, ist erforderlich.
-
Der
Stroke Vector Detector kann in einer einzelnen programmierbaren
Logikeinrichtung, einem Array oder einer anwendungsspezifischen
integrierten Schaltung (ASIC) enthalten sein.
-
Wie
in 14 gezeigt, werden dann Stroke-Symbologievektoren wiedergegeben und
aus der Display List durch Vector Rendering unter der Steuerung
von dem hier beschriebenen, nicht gezeigten Display-Control-Modul einem Anti-Aliasing
unterzogen. Der Frame Buffer wird mit qualitativ hochwertiger anti-aliased
Symbologie bereit zur Anzeige gefüllt. Stroke-Symbole, zuerst
in einem Einzelbild gezeichnet, sind in der Regel die Symbole mit
der höchsten
Priorität
und könnten
entsprechend durch Alpha-Blending und andere Grafikfunktionen wiedergegeben
werden.
-
Das
Stroke Module ermöglicht
der vorliegenden Erfindung, Stroke-Symbologie mit noch nie dagewesener
Genauigkeit und Qualität
wiederzugeben. Dies ist möglich,
weil Vector-(Graphics)-Rendering der vorliegenden Erfindung ermöglicht,
Stroke-Symbologie mit Anti-Aliasing unter Verwendung eines Arrays
von 16 mal 16 Farbteilpixeln pro Displaypixel zu verarbeiten. Visuell
entspricht dies der Fähigkeit,
jedes Stroke-Symbologiepixel
innerhalb eines beispielsweise 9500 mal 9500 Pixel großen virtuellen Displays
wiederzugeben, das auf ein beispielsweise 600 mal 600 Pixel großes tatsächliches
Display registriert ist. Diese Niveaus an Pixel- und Teilpixelverarbeitungsauflösung sind
notwendig, um die Symbologie der höchsten möglichen Qualität anzuzeigen.
-
Die
von dem Raster Module ausgeführten Funktionen
sind in 15 gezeigt. Raster-Videosignale
(Raster Video) werden durch Raster Switching geschaltet. Raster
Switching liefert auch eine Repeaterfunktion für Raster Video. Der ausgewählte Raster-Video-Eingang
wird von dem Analog To Digital Converter digitalisiert. Eine nicht
gezeigte Sync-Detect und Phasenregelkreis-(PLL)-Vorrichtung führt die Synchronisationsdetektion
an dem ankommenden Raster Video aus und erzeugt Raster-Module-Takte.
-
Eine
im Handel erhältliche,
serienmäßig produzierte
integrierte Schaltung und preiswerter Feldspeicher können verwendet
werden, um ein vertikales/zeitliches De-Interlacing, Bildskalierung
und Gammakorrektur auszuführen.
Die vorliegende Erfindung kann auch so angepaßt werden, daß sie eine Wachstumsvorkehrung
für Zoom
auf eine Weise bereitstellt, die sich dem Fachmann ergibt.
-
Der
nicht gezeigte Display Controller führt Verarbeitungsfunktionen
aus und kontrolliert alle Module der vorliegenden Erfindung mit
viel verfügbarem Verarbeitungs-
und Durchsatz-Overhead. Eine von diesem Modul ausgeführte wichtige
Aufgabe ist die Ausführung
von eingebauten Tests. Eine von diesem Modul ausgeführte weitere
wichtige Aufgabe ist das Zugreifen auf die durch das Stroke Module
erstellte Display List, um Grafikbefehle für Vector-(Graphics)-Rendering
auf dem Stroke Module zu erstellen.
-
Eine
zur Verwendung bei der vorliegenden Erfindung geeignete LCD-(Liquid
Crystal Display)-Baugruppe kann beispielsweise ein hochaufgelöstes Design
nach dem Stand der Technik mit einem 600 mal 600 Farbpixel großen Active
Matrix Liquid Crystal Display (AMLCD) mit 120 Farbgruppen pro Inch
sein. Andere rasterartige Displays können verwendet werden, wie
für den
Fachmann offensichtlich ist. Außerdem
weist die vorliegende Erfindung mehrere Anwendungen auf, einschließlich rastergescannte
oder kaligrafisch-erzeugte Kathodenstrahlröhren-(CRT)-Displays, X-Y-Plotter,
numerisch gesteuerte Maschinen, Roboter usw.
-
Um
aus digitalen Rasterdaten ein analoges Videosignal zu erzeugen,
ruft ein Videodisplaygenerator die digitalen Daten aus dem Speicher
ab, um ein digitales Signal zu erzeugen. Der Displaygenerator erzeugt
dann ein analoges Signal aus dem digitalen Signal mit einem Digital-zu-Analog-Wandler (D/A).
Das analoge Signal wird dann verstärkt und als ein Videobild angezeigt.
-
Während des
Videobilderstellungsprozesses können
viele Faktoren das vom Displaygenerator ausgegebene analoge Videosignal
beeinträchtigen. Beispielsweise
führt Signalinterpolation
innerhalb des D/A-Wandlers Verzerrungen in das analoge Signal ein.
Diese Verzerrungen werden dann während der
Verstärkung
des Signals vergrößert. Zusätzlich erzeugt
der analoge Verstärker,
der bei verschiedenen Signalfrequenzen unterschiedlich arbeitet,
weitere Verzerrung in dem analogen Ausgangssignal. Wegen der durch
die Elemente des Videodisplaygenerators eingeführten Nichtlinearität ist das
ausgegebene analoge Signal keine vollständig genaue Darstellung der
digitalen Daten, aus denen es erstellt wurde. Obwohl perfekt genaue
Videobilder nicht erwartet werden können, muß oftmals sichergestellt werden,
daß das
angezeigte Bild eine möglichst
genaue Darstellung der digitalen Daten ist. Deshalb wird zwischen dem
Einzelbildpuffer und der Displayoberfläche/Displayvolumen eine vollständig digitale
Schnittstelle bevorzugt, wodurch die Umwandlungsfehler und Verzerrungen,
die hier erörtert
werden, eliminiert werden.
-
Die
vorliegende Erfindung unterliegt vielen Änderungen, ohne vom Gedanken
und Schutzbereich der vorliegenden Erfindung abzuweichen. Beispielsweise
kann eine digitale Karte, analoge oder digitale Schnittstelle als
ein zusätzlicher
Rastereingang hinzugefügt
werden, damit das System Symbologie auf digitales Kartenvideo überlagern
kann. Die entstehende Kombination aus der Symbologie mit einer digitalen
Karte wird dann durch einen analogen oder digitalen Repeater bereitgestellt.
-
Außerdem kann
ein digitale-Karte-Wiedergabemodul eingebettet sein, damit das System
Symbologie einer intern wiedergegebenen digitalen Karte überlagern
kann. Die resultierende Kombination aus Symbologie mit digitaler
Karte wird dann durch einen analogen oder digitalen Repeater bereitgestellt.
Auch kann eine Schnittstelle zu einer digitalen-Karte-Massenspeichereinheit
hinzugefügt
werden.
-
Das
modulare Design der vorliegenden Erfindung zusammen mit verfügbarem Verarbeitungs- und
Durchsatzoverhead sorgen für
maximale Flexibilität
für zukünftiges
Wachstum. Beispielsweise würde eine
Modifikation an der Status/Control-Schnittstelle oder die Hinzufügung einer
neuen Datenschnittstelle zusammen mit Display-Controller-Software-Modifikationen dem
System ermöglichen,
ein intelligentes Display zu werden. Ein intelligentes Display ermöglicht die
Wiedergabe von Raster-Symbologie auf eine Weise, die für das Display
optimiert ist. Andere Funktionen und Merkmale wie etwa Zoom, Alpha-Blending
und Rendering-Stroke-Symbologie mit Lichthöfen kann ebenfalls auf eine
Weise berücksichtigt
werden, die für
den Fachmann offensichtlich ist.
-
Dem
Fachmann ergeben sich andere Abwandlungen und Modifikationen, und
die Absicht der beigefügten
Ansprüche
ist es, daß solche
Abwandlungen und Modifikationen abgedeckt sein sollen. Beispielsweise
kann Text aus Büchern
oder anderen gedruckten Medien in andere Schriftarten oder sogar andere
Sprachen umgewandelt werden. Grafiken können erneut wiedergegeben und
ihre Qualität
verbessert werden. Zweidimensionale Bilder von dreidimensionalen
Objekten können
in dreidimensionale Virtual-Reality-Bilder umgewandelt werden. Ein
System zum Umwandeln von Büchern
in elektronische Medien kann alle Informationen in dem Buch mit
den Zielmedien im Gedächtnis
erneut wiedergeben. Eine einzelne Videoquelle kann verwendet werden,
um mehrere Displayarten sogar simultan anzusteuern, wenn Wiedergabe
durchgeführt
wird, um die Videopräsentation
für jeden
Displaytyp zu optimieren.
-
Die
speziellen Werte und Konfigurationen, die oben erörtert wurden,
können
variiert werden und werden lediglich angeführt, um eine bestimmte Ausführungsform
der vorliegenden Erfindung zu veranschaulichen, und sie sollen nicht
den Schutzbereich der Erfindung beschränken. Es wird in Betracht gezogen,
daß die
Verwendung der vorliegenden Erfindung Komponenten mit anderen Charakteristiken
involvieren kann, solange das Prinzip befolgt wird. Der Schutzbereich
der vorliegenden Erfindung soll durch die hier beigefügten Ansprüche abgedeckt
sein.