-
Diese Erfindung betrifft ein Verfahren und ein System zur Eingabe von Daten in einem Prozessor-basierten System.
-
Eine große Anzahl an Prozessor-basierten Systemen hat relativ eingeschränkte Eingabe/Ausgabefähigkeiten. Beispielsweise haben einige tragbare Computersysteme keine zugehörige Tastatur. Eine Texteingabe kann beispielsweise unter Verwendung eines Berührungsbildschirms erfolgen. Der Benutzer kann Daten über eine Bildschirmtastatur durch Berühren der geeigneten Flächen für jede Taste mit einem Stift oder Finger eingeben.
-
Einige andere tragbare Computergeräte, einschließlich Internet-Tabletts und persönliche digitale Assistenten (PDAs), brauchen verbesserte Möglichkeiten einer vereinfachten Dateneingabe. Das Bereitstellen einer zugeordneten Bildschirmtastatur nimmt eine erhebliche Menge des verfügbarem Anzeigeraum in Anspruch. Dies ist insbesondere so, da in vielen Situationen keine Dateneingabe benötigt werden mag, obgleich ein Abschnitt der Anzeige für die Aufnahme der Tastatur verloren sein kann.
-
Ein Benutzer möchte vielleicht Daten in eine Dialogbox oder ein Webseitenfeld eingeben. Daher möchte der Benutzer gleichzeitig die Dialogbox und die Tastatur sehen. Mit vielen eingeschränkten Anzeigebildschirmen ist das nicht möglich. Beispielsweise kann es einen unzureichenden Anzeigeraum geben, um eine Dateneingabe über die Bildschirmtastatur zu ermöglichen, sowie eine klare Ansicht der verfügbaren Information zu ermöglichen.
-
Einige Geräte umfassen Tastaturen mit ausreichend verminderter Größe, so daß eine Dateneingabe für Textinformation etwas schwierig durchzuführen ist. Auch in diesen Fällen kann es wünschenswert sein, eine bessere Möglichkeit zum Eingeben von Textdaten in Prozessor-basierte Systeme zu haben.
-
US 5,638,501 offenbart eine Vorrichtung und ein Verfahren zur Eingabe von Daten in einem Prozessor-basierten System, nach dem Oberbegriff von Anspruch 1. Danach ist auf einem Computerbildschirm eine transparente Tastaturschnittstelle einer Eingabemaske mit mehreren Texteingabefeldern derart überlagert, dass die Texteingabefelder durch die transparente Tastaturschnittstelle hindurch sichtbar bleiben und die Eingabe von Daten über die Tastatur kontrolliert werden kann. Für die Überlagerung wird eine sog. Blending-Mischoperation verwendet, bei welcher die Bildschirmdarstellungen der Eingabemaske und der Tastaturschnittstelle miteinander gemischt werden.
-
WO 98 09270 A1 offenbart ein Gerät zum Erzeugen eines zusammengesetzten Bildes aus einem Hauptbild und einer Darstellung einer Tastatur und zum Darstellen des zusammengesetzten Bildes auf einem Bildschirm. Die Tastatur, die eine Eingabefunktion aktiviert, ist dem Hauptbild übergelagert. Das Hauptbild ist zum Beispiel ein Ausgabebild einer von einem Computer ausgeführten Anwendung.
-
WO 99/50737 A1 offenbart einen Touchscreen mit einer transparenten Tastatur, jedoch nicht die Möglichkeit, zwischen der transparenten Tastatur und einer anderen Dateneingabeschnittstelle auf Benutzerauswahl hin zu wechseln. Vielmehr erfolgen alle Eingaben über den Touchscreen und die transparente Tastatur. Die Druckschrift weist auch keine Benutzerschnittstelle auf, über die der Benutzer einen Wechsel initiieren könnte.
-
US 5,283,560 offenbart eine Anzeige, in der halbtransparente Kontrollmenüs über andere Bilder überlagert werden. Insbesondere stellt eine Anzeige eine erste Version des Kontrollmenüs dar, wobei das Kontrollmenü nicht ausgewählt ist, und eine zweite Version, wenn das Kontrollmenü ausgewählt ist. Eine Auswahl erfolgt dadurch, dass ein Cursor in den Bereich des Kontrollmenüs gebracht wird. Wird das Kontrollmenü so gewählt, wird zum Beispiel Schrift nicht mehr gestrichelt dargestellt, sondern mit durchgehenden Linien, wobei das darunterliegende Bild sichtbar bleibt.
-
DE 693 15 969 T2 offenbart ein Verfahren und eine Vorrichtung zur Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern. Insbesondere wird ein computergesteuertes Anzeigesystem zum Anzeigen überlappender Datenfenster („Windows“) auf einer Anzeige vorgeschlagen, wobei durch sogenanntes α-Blending die Transparenz der Fenster so eingestellt werden kann, dass die darunter liegenden Fenster für den Benutzer sichtbar bleiben.
-
Es besteht ein steter Bedarf nach besseren Möglichkeiten einer vereinfachten Dateneingabe in Prozessor-basierte Systeme ohne Verwendung einer physikalischen Tastatur.
-
Die Erfindung stellt ein Verfahren zur Eingabe von Daten in einem Prozessor-basierten System nach dem Gegenstand des unabhängigen Anspruches 1 zur Verfügung. Ein weiterer Aspekt der Erfindung ist auf ein System nach dem Gegenstand des unabhängigen Anspruches 7 gerichtet.
-
Bevorzugte Ausführungsbeispiele der Erfindung ergeben sich aus den abhängigen Ansprüchen, der nachfolgenden Beschreibung und den Zeichnungen.
-
Figurenliste
-
- 1 ist eine Darstellung einer Bildschirmanzeige gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
- 2 ist ein Diagramm, das ein Abtastsystem darstellt, das mit einem Transparenzverfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung betrieben werden kann;
- 3 ist ein Diagramm eines Software- und Hardware-Stacks zum Implementieren transparenter Graphiken gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
- 4 ist ein Diagramm der Zwischenspeicher zum Bereitstellen transparenter Graphiken gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
- 4A ist eine schematische Darstellung einer Pixelmischeinrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
- 5 ist ein Flußdiagramm zum Initialisieren eines Systems, um transparente Graphiken gemäß einem Ausführungsbeispiel der vorliegenden Erfindung bereitzustellen;
- 6 ist ein Flußdiagramm, das eine doppelte Zwischenspeichersteuerungverarbeitung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt; und
- 7 ist ein Flußdiagramm einer Farbmisch- und -überlagerungverarbeitung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
-
Detaillierte Beschreibung
-
Eine Anzeige 500 kann einem Prozessor-basierten System zugehören, wie einem Internet-Tablett, einem persönlichen digitalen Assistenten (PDA), einem tragbaren Prozessor-basierten System oder irgendeinem anderen Prozessor-basierten System, wie in 1 gezeigt. Im dargestellten Ausführungsbeispiel ist die graphische Benutzerschnittstelle 502 eine Browser-Anzeige, die eine Webseite 504 zeigt, die einer Internet-Webseite zugehört. In diesem Fall stellt die Internet-Webseite eine Anzahl an Texteingabefeldern 506 zum Ausfüllen durch den Benutzer bereit.
-
Es gibt eine transparente Tastaturschnittstelle 508, die aussieht, als wäre sie der Seite 504 überlagert. Die Schnittstelle 508 ist in gepunkteten Linien dargestellt, um eine relativ transparente Anzeige darzustellen, die es dem Benutzer ermöglicht, nicht nur die Tastenbilder 510 und die auf den Tastenbildern 510 geschriebenen Indizes 512 zu sehen, sondern auch effektiv „durch“ die Tastenbilder 510 hindurch zum scheinbar darunterliegenden Text und Graphiken zu sehen. Im Ergebnis kann der Benutzer die den Texteingabefeldern 506 zugehörige Information zur gleichen Zeit lesen, zu der der Benutzer Tastenbilder 510 zum Eingeben der Daten auf der transparenten Tastaturschnittstelle 508 auswählt. Mit „transparent“ wird beabsichtigt, sich auf die Fähigkeit zu beziehen, daß Text oder Graphiken scheinbar unterhalb oder durch den „transparenten“ Text oder Graphiken sichtbar sein können.
-
In einigen Ausführungsbeispielen der vorliegenden Erfindung kann die Anzeige 500 eine Berührungsbildschirmanzeige sein. In einem anderen Ausführungsbeispiel kann eine herkömmliche Anzeige verwendet werden, wie eine Flüssigkristallanzeige, bei der eine Maus verwendet werden kann, um spezielle Tastenbilder 510 für eine Texteingabe auszuwählen. Als eine noch andere Option kann eine Spracheingabemöglichkeit verwendet werden, damit Tasten auch über die Stimme ausgewählt werden können.
-
Der Benutzer kann somit die Daten selektiv durch Auswählen der transparenten Tastenbilder 510 eingeben, wodurch Text in ein ausgewähltes Dateneingabefeld 506 eingegeben wird. In einigen Ausführungsbeispielen der vorliegenden Erfindung kann die Schnittstelle 502 selektiv entweder in einen Tastaturmodus oder in einen Nicht-Tastaturmodus plaziert werden. Im Tastaturmodus bewirkt das Auswählen irgendeines der Tastenbilder 510, daß Text in die Texteingabefelder 506 eingegeben wird. Im Nicht-Tastaturmodus sind die Tastenbilder 510 inaktiv, und der Benutzer kann eines der Texteingabefelder 506 auswählen, beispielsweise für eine Texteingabe. Dies kann sogar in Fällen erfolgen, bei denen die Schnittstelle 508 scheinbar das zugehörige Texteingabefeld 506 überlagert. Auf diese Weise kann beispielsweise der Fokus des Prozessor-basierten Systems auf die Tastaturschnittstelle 508 oder die Texteingabefelder 506 gelegt werden. Die Modusauswahl kann durch Auswählen des geeigneten Icons 514 durchgeführt werden, indem ein Zeigergerät, wie eine Maus oder ein Stift, in einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird. In einem anderen Ausführungsbeispiel kann der Fokus geändert werden, indem eine Hardware-Taste verwendet wird.
-
Durch eine Mischoperation können Signale, die zwei relativ ausgeprägte Bildschirmbilder darstellen, wie die Tastaturschnittstelle 508 und die Texteingabefelder 506, elektronisch gemischt werden, damit es so aussieht, als würde das eine der Bildschirmbilder das andere überlagern. Tatsächlich liegt kein Bild oberhalb oder unterhalb dem anderen. Statt dessen können elektronische Darstellungen eines ersten Bildes und eines zweiten Bildes gemischt werden, um beim Benutzer den Eindruck zu erwecken, daß eine Schicht über der anderen liegt, da der Benutzer glaubt, daß der Benutzer durch ein Bild hindurch sieht, um das andere Bild zu sehen.
-
Die Transparenz eines gegebenen Bildes, wie die Tastaturschnittstelle 508 oder die Texteingabefelder 506, kann dynamisch geändert werden. Falls der Benutzer beispielsweise keinen Text unter Verwendung der Tastaturschnittstelle 508 nach einer vorbestimmten Zeitdauer eingibt, kann die Transparenz der Tastaturschnittstelle 508 ansteigen, während die Transparenz der Texteingabefelder 506 sinken kann. Im Ergebnis scheint der Fokus sich auf die Texteingabefelder 506 zu ändern, die fetter und hervorstehender als die Tastaturschnittstelle 508 erscheinen. Somit können in einer Vielzahl von Umständen automatische, dynamische Änderungen der Transparenz durch Einstellen der relativen Mischung der Darstellungen zweier ungleicher Bilder implementiert werden.
-
Ein Betriebssystem-Ausgabebildwiederholspeicher ist ein Speicherbereich, der dazu verwendet wird, die aktuellen Anzeigedaten des Computersystems zu speichern. Der Betriebssystem-Ausgabebildwiederholspeicher kann irgendeinem dem Betriebssystem verfügbaren Speicher zugeordnet sein. Ein Bildwiederholspeicher ist ein Satz an Speicherstellen, um einen zweidimensionalen Array von Pixeldaten zu speichern. Der Betriebssystem-Ausgabebildwiederholspeicher kann einer Betriebssystemsoftware des Computersystems zugehören, die die Erzeugung und Anzeige der Datensignale auf einem Computermonitor steuert.
-
Ein Bildwiederholspeicher für transparente Bilder ist in Speicherbereich, der dazu verwendet wird, die Anzeigedaten der transparenten Tastaturschnittstelle 508 zu speichern, wie in 1 gezeigt, für eine im wesentlichen gleichzeitige Anzeige mit den anderen Datensignalen herkömmlicher nicht-transparenter Anzeigen in Text oder Graphiken auf der gleichen Seite 504. Die herkömmlichen Texte und Graphiken werden aus einem Betriebssystem-Ausgabebildwiederholspeicher abgeleitet. Der Bildwiederholspeicher für transparente Bilder kann irgendeinem im System verfügbaren Speicher zugeordnet werden.
-
Die Anzeigekomponenten des Betriebssystem-Ausgabebildwiederholspeichers und der Bildwiederholspeicher für transparente Bilder können durch eine Farbmischung der entsprechenden Pixel jedes Puffers in einigen Ausführungsbeispielen kombiniert werden, während die resultierenden Pixel der Farbmischoperation mit den Pixeln des Betriebssystem-Ausgabebildwiederholspeichers verschachtelt werden, um die Anzeigekomponenten eines Bildwiederholspeichers einer sichtbaren Anzeige zu bilden.
-
Gemäß Ausführungsbeispielen der vorliegenden Erfindung wendet ein Verfahren zum Erzeugen von Transparenzeffekten ein reduziertes Mischen von Anzeigeinhalten an. Statt dessen kann es sich auf die Unfähigkeit des menschlichen Auges verlassen, zwischen der Farbe benachbarter Pixel auf einem Computermonitor zu unterscheiden (im wesentlichen mittelt das menschliche Auge jeden Pixel mit dessen Nachbarn). Es wird etwas gemischt, da große Computermonitore und niedrige Anzeigeauflösungen zu einem „Schachbrett“-Effekt führen können, wenn Pixel auf diese Weise verschachtelt werden.
-
In einem Ausführungsbeispiel wird eine Hälfte der Pixel aus einem ersten Bildwiederholspeicher (wie dem Betriebssystem-Ausgabebildwiederholspeicher) mit einer Hälfte der Pixel aus einem zweiten Bildwiederholspeicher (wie dem Bildwiederholspeicher für transparente Bilder) gemittelt, da die Pixel der beiden Bildwiederholspeicher in einen Anzeigespeicher verschachtelt werden, dessen Daten zur Zeit auf der Anzeige sichtbar gemacht werden. Durch Mitteln eines Anteils der Pixel kann eine Abnahme der beim Bereitstellen des Transparenzeffektes verwendeten Prozessorleistung vorliegen. In alternativen Ausführungsbeispielen können unterschiedliche Prozentsätze an Pixeln gemittelt werden (z.B. ein Viertel der Pixel, ein Achtel der Pixel, ein Sechzehntel der Pixel, ein Zweiunddreißigstel der Pixel, oder ein beliebiges N-tel der Pixel, wobei N eine positive ganze Zahl ist), und die Prozentsätze können dynamisch geändert werden.
-
2 ist ein Diagramm, das ein Abtastsystem darstellt, das mit einem Verfahren zum Erzeugen von Transparenzanzeigen gemäß der vorliegenden Erfindung betrieben werden kann. Das Abtastsystem 100 kann beispielsweise verwendet werden, um die Verarbeitung für die hier beschriebenen Verfahren auszuführen. Das Abtastsystem 100 stellt Computersysteme dar, die auf den von der Intel Corporation erhältlichen PENTIUM®-, PENTIUM®-Pro- und PENTIUM®-II-Mikroprozessoren basieren, auch wenn andere Systeme verwendet werden können. Das Abtastsystem 100 weist einen Mikroprozessor 102 und einen Cache-Speicher 104 auf, die miteinander über einen Prozessorbus 105 gekoppelt sind. Das Abtastsystem 100 weist auch einen ersten I/O-Bus 108 und einen zweiten I/O-Bus 118 auf. Der Prozessorbus 105 und der erste I/O-Bus 108 können über eine Host-Bridge 106 miteinander verbunden werden, während der erste I/O-Bus 108 und der zweite I/O-Bus 118 über eine I/O-Bus-Bridge 110 miteinander verbunden werden können. Mit dem ersten I/O-Bus 108 können ein Hauptspeicher 112 und ein Bildspeicher 114 gekoppelt sein. Mit dem Bildspeicher 114 kann eine Bildanzeige 116 gekoppelt sein. Mit dem zweiten I/O-Bus 118 können ein Massenspeicher 120 und eine Maus oder ein anderes Zeigergerät 122 gekoppelt sein.
-
Ein Massenspeicher 120 kann verwendet werden, um eine langzeitige Speicherung für die ausführbaren Befehle für ein Verfahren zum Bereitstellen einer transparenten Tastaturschnittstelle gemäß den Ausführungsbeispielen der vorliegenden Erfindung bereitzustellen, wobei ein Hauptspeicher 112 verwendet werden kann, um auf einer kurzzeitigen Basis die ausführbaren Befehle eines Verfahrens zum Bereitstellen transparenter Anzeigen gemäß Ausführungsbeispielen der vorliegenden Erfindung während der Ausführung durch den Mikroprozessor 102 zu speichern. Zusätzlich können die Befehle auf anderen maschinenlesbaren Medien, auf die das System zugreifen kann, gespeichert werden, wie beispielsweise Kompakt-Disk-Festwertpeicher (CD-ROMs), digitale Mehrzweck-Disks (DVDs) und Floppy-Disks.
-
3 ist ein Diagramm eines Software- und Hardware-Stacks zum Implementieren transparenter Graphiken gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Anwendungsprogramme 200 können speziell entwickelt werden, um Objektaufruffunktionen mit transparenter Anzeige zu verwenden, die durch eine Transparenzunterstützungssoftware 202 bereitgestellt werden kann, um transparente Anzeigeobjekte zu definieren und zu aktualisieren. Das heißt, daß bestimmte Aufrufe auf solche Funktionen in Anwendungsprogramme programmiert werden können, um transparente Anzeigeeigenschaften zu verwenden. Eine Anwendung mit einer transparenten Bildschirmtastaturschnittstelle kann ein Beispiel eines solchen Anwendungsprogramms sein.
-
In Antwort darauf ruft in diesem Ausführungsbeispiel die Transparenzunterstützungssoftware 202 die Graphikwiedergabe-Anwendungssprogrammierschnittstelle (Graphik API) des Betriebssystems 204 auf. In Windows-95®- und Windows-98®-Betriebssystemen kann das beispielsweise die Graphikgeräteschnittstelle (GDI) sein. Die Transparenzunterstützungssoftware 202 ruft in diesem Ausführungsbeispiel auch die Bildhardwaresteuerungsabstraktion-Anwendungsprogrammierschnittstelle (Bildsteuerung-API) des Betriebssystems 206 auf. In den Windows-95®- und Windows-98®-Betriebssystemen kann dies die von der Microsoft Corporation erhältliche DirectDraw-API sein. In einigen Betriebssystemen kann die Graphik-API 204 nicht von der Bildsteuerung-API 206 unterschieden werden, da sie innerhalb der gleichen Anwendungsprogrammierschnittstelle vorliegen können.
-
Die Graphik-API 204 kann verwendet werden, um angeforderte Graphiken an den Bildwiederholspeicher für transparente Graphiken 18 zu liefern. Die Bildsteuerung-API 206 kann verwendet werden, um die Sichtbarkeit des Bildwiederholspeicher zu steuern und um auf die Inhalte aller Bildwiederholspeicher zuzugreifen. In diesem Ausführungsbeispiel arbeiten die Graphik-API 204 und die Bildsteuerung-API 206 mit der Anzeigetreiber-Software 208 zusammen, um mit einer Bildkarte 210 zu kommunizieren. Die Bildkarte 210 steuert die Bildanzeige im System der 2. Die Bildkarte 210 hat Zugriff auf den Bildspeicher 114, um Anzeigedaten zu erhalten.
-
Im allgemeinen können Bilder auf einer Anzeige, wie einer Flüssigkristallanzeige (LCD) angezeigt werden, indem beispielsweise ein Bildwiederholspeicher für Pixeldaten in einem Bildspeicher 114 erzeugt wird. Dieser Bildwiederholspeicher kann als ein sichtbarer Abschnitt des Bildspeichers durch die Bildsteuerung-API 206 bestimmt werden. Falls eine ausreichende Menge an Bildspeicher verfügbar ist, können mehrere Bildwiederholspeicher definiert werden, von denen lediglich einer zu einem gegebenen Zeitpunkt (durch die Bildkarte 210) verwendet werden kann, um die Datensignale zum Aufbauen der derezeitig sichtbaren Anzeige zu erhalten.
-
In einer bekannten Doppelspeichertechnik wird ein erster Bildwiederholspeicher als der „sichtbare“ Speicher angesehen und die Bildkarte 210 liest Signale von diesem, um die aktuellen Anzeigedatensignale zu erhalten, während ein zweiter Bildwiederholspeicher (oder „nicht-sichtbarer“ Speicher) mit neuen Anzeigedaten beschrieben wird.
-
In diesem Ausführungsbeispiel wird die Bildsteuerung-API dann aufgerufen, um die Bildwiederholspeicher „umzuschalten“, indem der zweite Bildwiederholspeicher als der sichtbare Speicher bestimmt wird, und der erste Bildwiederholspeicher als der nicht-sichtbare Speicher bestimmt wird. Der Einsatz dieser Technik sorgt für eine sanfte Aktualisierung der Anzeigedaten, was zu ästhetisch gefälligen Anzeigen für den Benutzer führt. Ausführungsbeispiele der vorliegenden Erfindung können dieses Konzept erweitern, um zusätzliche Bildwiederholspeicher anzuwenden, um die Datensignale der transparente Anzeige zusammen mit Daten der normalen Anzeige bereitzustellen.
-
4 ist ein Diagramm, das ein Ausführungsbeispiel mit mehreren Bildwiederholspeichern darstellt, die zum Bereitstellen von transparenten Graphiken verwendet werden. Ein bestimmter Abschnitt des Bildspeichers 114 kann ausgezeichnet werden, zu einem gegebenen Zeitpunkt als sichtbar auf dem Computermonitor angezeigt zu werden. Dies wird als die „sichtbare Anzeige“ bezeichnet. Das heißt, daß die sichtbare Anzeige die Anzeigedaten aus einem Bereich des Bildspeichers 114 umfaßt, der zur Zeit zur Ansicht durch einen Benutzer angezeigt wird. Im allgemeinen schreibt in diesem Ausführungsbeispiel die Graphik-API 204 der Betriebssystemsoftware Datensignale in den Betriebssystem-Ausgabebildwiederholspeicher 10 unter Verwendung des Anzeigetreibers 208 und/oder der Bildsteuerung-API 206. In den meisten aktuellen Systemen wird der Betriebssystem-Ausgabebildwiederholspeicher 10, der im Bildspeicher 114 liegt, für die sichtbare Anzeige verwendet. In Ausführungsbeispielen der vorliegenden Erfindung können jedoch auch andere Bildwiederholspeicher als die sichtbaren Anzeigen verwendet werden.
-
Gemäß Ausführungsbeispielen der vorliegenden Erfindung speichern ein erster Arbeitsbildwiederholspeicher 300 und ein zweiter Arbeitsbildwiederholspeicher 302, die beide im Bildspeicher 114 oder einem anderen zugreifbaren Speicher liegen, Anzeigedaten. In diesem Ausführungsbeispiel speichert jeder Bildwiederholspeicher 300 oder 302 einen Array an Pixeldatensignalen. In einem Ausführungsbeispiel kann jeder Pixel Rot- (R), Grün- (G), Blau- (B) und optional Undurchlässigkeits- (A) Komponenten umfassen. Alternativ können auch andere Farbräume, wie YUV oder YUVA, verwendet werden. Der Bildwiederholspeicher für transparente Bilder 18, der im Hauptspeicher 112 liegt, speichert in diesem Ausführungsbeispiel transparente Anzeigedaten, die von der Transparenzunterstützungssoftware 202, der Bildsteuerung-API 206 und der Graphik-API 204 erzeugt werden.
-
In einem Ausführungsbeispiel können Datensignale vom Bildwiederholspeicher für transparente Bilder 18 mit Datensignalen vom Betriebssystem-Ausgabebildwiederholspeicher 10 farbgemischt und -verschachtelt werden, und dann in einem Arbeitsbildwiederholspeicher 302 gespeichert werden. Diese gemischten und verschachtelten Daten können in einem Arbeitsbildwiederholspeicher 302 gespeichert werden, wenn der Arbeitsbildwiederholspeicher 302 in einem „nicht-sichtbaren“ Zustand ist (d.h. in diesem Ausführungsbeispiel werden die im Bildwiederholspeicher gespeicherten Daten derzeit nicht angezeigt). Während der Arbeitsbildwiederholspeicher 302 in einem nicht-sichtbaren Zustand beschrieben wird, kann der Arbeitsbildwiederholspeicher 300 in einem „sichtbaren“ Zustand sein und als die Quelle der derzeitigen Anzeigedaten verwendet werden.
-
Wenn die Farbmisch- und -Verschachtelungsvorgänge für einen Arbeitsbildwiederholspeicher 302 abgeschlossen sind, kann der nicht-sichtbare Arbeitsbildwiederholspeicher 302 als der sichtbare Arbeitsbildwiederholspeicher bestimmt werden und umgekehrt. In einem Ausführungsbeispiel kann dieser Doppelspeicherprozeß mit einer Rate von mehr als fünf mal pro Sekunde wiederholt werden, um einem Benutzer eine visuell ansprechende Anzeige bereitzustellen.
-
In Ausführungsbeispielen der vorliegenden Erfindung kann das Verschachteln der Pixel des Bildwiederholspeichers eines transparenten Bildes 18 und des Betriebssystem-Ausgabebildwiederholspeichers 10 wie folgt durchgeführt werden. In einem Ausführungsbeispiel können abwechselnde Pixel im ausgewählten Arbeitsbildwiederholspeicher 302 durch eine Mischung eines Pixelwertes des Bildwiederholspeichers eines transparenten Bildes 18 und eines räumlich entsprechenden Pixelwertes des Betriebssystem-Ausgabebildwiederholspeichers 10 geschrieben werden. Die anderen Pixel im ausgewählten Arbeitsbildwiederholspeicher 302 können mit Pixeln aus dem Betriebssystem-Ausgabebildwiederholspeicher 10 beschrieben werden.
-
4A ist eine schematische Darstellung einer Pixelmischeinrichtung in einem Ausführungsbeispiel der vorliegenden Erfindung. Das Element 312 stellt einen Arbeitsbildwiederholspeicher dar, während die Blöcke 310 und 311 spezielle Pixel innerhalb des Bildwiederholspeichers darstellen. In einem Ausführungsbeispiel eines Verfahrens zum abwechselnden Pixelmischen zwischen dem Bildwiederholspeicher für transparente Bilder 18 und dem Betriebssystem-Ausgabebildwiederholspeicher 10 umfaßt ein „T+BS-Mischung“-Pixel 311 im ausgewählten Arbeitsbildwiederholspeicher eine farbgemittelte Mischung eines Pixels aus dem Bildwiederholspeicher für transparente Bilder 18 (dem T-Wert) und eines Pixels aus dem Betriebssystem-Ausgabebildwiederholspeicher 10 (dem BS-Wert). Ein „BS“-Pixel 310 im ausgewählten Arbeitsbildwiederholspeicher 302 enthält einen räumlich entsprechenden Pixel, der vom Betriebssystem-Ausgabebildwiederholspeicher 10 kopiert ist. Somit werden die T+BS-Pixel mit den BS-Pixeln vermischt, wie in 4A dargestellt, um einen gewünschten Transparenzeffekt zu erzielen.
-
In diesem Ausführungsbeispiel kann eine Farbmittelung über ein gewichtetes Mittelungsverfahren an jeder Farbkomponente jedes Pixels aus entsprechenden Positionen innerhalb der zwei Bildwiederholspeicher 18 und 10 durchgeführt werden, auch wenn in anderen Ausführungsbeispielen unterschiedliche Farbmischverfahren ebenfalls angewandt werden können. In einem Ausführungsbeispiel kann ein gewichtetes Mitteln durch Multiplizieren eines Komponentenwertes eines ersten Pixels mit einem Gewichtungswert und durch Multiplizieren des selben Komponentenwertes eines zweiten Pixels mit einem unterschiedlichen Gewichtungswert durchgeführt werden. Die beiden gewichteten Farbkomponenten können dann addiert werden und die resultierende Summe kann durch die Summe der beiden Gewichtungswerte dividiert werden. Dieses Verfahren ist auch als Alphamischen bekannt.
-
5 ist ein Flußdiagramm für eine Software 399, die ein Ausführungsbeispiel zum Initialisieren eines Systems darstellt, um transparente Graphiken bereitzustellen. Beim Block 400 kann die Anzeigeausgabesteuerinformation des Betriebssystems bestimmt werden. Diese Steuerinformation umfaßt die Größe der Anzeige, Farbauflösung und andere Daten. Als nächstes können in diesem Ausführungsbeispiel beim Block 402 zwei Arbeitsbildwiederholspeicher 300, 302 im Bildspeicher 114 zugeteilt werden. Diese Vorgänge können in diesem Ausführungsbeispiel durch Aufrufe an die Bildsteuerung-API 206 durchgeführt werden. Beim Block 404 kann ein Blockübertragungsvorgang durchgeführt werden, um Daten vom normalerweise sichtbaren Betriebssystem-Ausgabebildwiederholspeicher 10 in einen ausgewählten Bildwiederholspeicher der beiden Arbeitsbildwiederholspeicher 300, 302 zu kopieren. Es wird in diesem Beispiel angenommen, daß der Arbeitsbildwiederholspeicher 300 zuerst ausgewählt wird. Die Blockübertragung kann in diesem Ausführungsbeispiel durch einen Aufruf an die Bildsteuerung-API 206 durchgeführt werden. Beim Block 406 kann der Betriebssystem-Ausgabebildwiederholspeicher 10 auf einen „nicht-sichtbaren“ Zustand durch einen Aufruf an die Bildsteuerung-API 206 gesetzt werden. Beim Block 408 kann in diesem Ausführungsbeispiel der ausgewählte Arbeitsbildwiederholspeicher 300 durch einen Aufruf an die Bildsteuerungs-API 206 sichtbar gemacht werden (Block 408). In einigen Ausführungsbeispielen können der Block 406 und der Block 408 über einen einzelnen Aufruf an die Bildsteuerung-API durchgeführt werden. An dieser Stelle werden die aktuellen Anzeigeausgabedaten der Bildkarte vom ausgewählten Arbeitsbildwiederholspeicher 300 erhalten und nicht vom Betriebssystem-Ausgabebildwiederholspeicher 10.
-
6 ist ein Flußdiagramm, das ein Ausführungsbeispiel einer Doppelspeichersoftware 410 zeigt. Ein Blockübertragungsvorgang kann beim Block 412 durchgeführt werden, um in diesem Ausführungsbeispiel den Betriebssystem-Ausgabebildwiederholspeicher 10 durch einen Aufruf an die Bildsteuerung-API 206 an den nicht-sichtbaren zweiten Arbeitsbildwiederholspeicher 302 zu kopieren. Beim Block 414 kann ein Vorgang durchgeführt werden, um die gemischten und verschachtelten Inhalte des nicht-sichtbaren zweiten Arbeitsbildwiederholspeichers 302 und des Bildwiederholspeichers eines transparenten Bildes 18 an den zweiten Arbeitsbildwiederholspeicher 302 zu schreiben. Beim Block 416 wird der zweite Arbeitsbildwiederholspeicher 302 sichtbar gemacht, und der erste Arbeitsbildwiederholspeicher 300 wird nicht-sichtbar gemacht, einfach durch Umschalten der beiden Bildwiederholspeicher als die Ausgabedatenquelle der derzeitigen Anzeige.
-
Beim Block 418 wird ein Blockübertragungsvorgang durchgeführt, um in diesem Ausführungsbeispiel den Betriebssystem-Ausgabebildwiederholspeicher 10 durch einen Aufruf an die Bildsteuerung-API 206 an den nicht-sichtbaren ersten Arbeitsbildwiederholspeicher 300 zu kopieren. Beim Block 420 kann ein Vorgang durchgeführt werden, um die farbgemischten und -verschachtelten Inhalte des ersten Arbeitsbildwiederholspeichers 300 und des Bildwiederholspeichers eines transparenten Bildes 18 an den ersten Arbeitsbildwiederholspeicher 300 zu schreiben. Beim Block 422 wird der erste Arbeitsbildwiederholspeicher 300 sichtbar gemacht, und der zweite Arbeitsbildwiederholspeicher 302 wird nicht-sichtbar gemacht, einfach durch Umschalten der beiden Bildwiederholspeicher als die Ausgabedatenquelle der derzeitigen Anzeige. Dieser Prozeß kann wiederholt werden, indem zum Block 412 zurückgekehrt wird. Während jedem der vorhergehenden Blöcke kann die Betriebssystemsoftware gleichzeitig zusätzliche Anzeigedaten in den Betriebssystem-Ausgabebildwiederholspeicher schreiben.
-
Der Farbmisch- und Verschachtelungsvorgang der Blöcke 414 und 420 wird weiter mit Bezug auf 7 beschrieben. Beim Block 426 kann eine Speicherstelle im derzeit nicht-sichtbaren (entweder der erste oder der zweite) Arbeitsbildwiederholspeicher für einen Referenzpunkt des Bildwiederholspeichers für transparente Graphiken bestimmt werden. Beim Block 428 kann ein Datensignalwert für einen Pixel vom derzeit nicht-sichtbaren Arbeitsbildwiederholspeicher gelesen und der/die räumlich entsprechende(n) Pixel vom Bildwiederholspeicher für transparente Graphiken bestimmt werden. Diese Entsprechung ist nicht notwendigerweise ein 1:1-Verhältnis, da das Bild des Bildwiederholspeichers für transparente Graphiken gedehnt oder gestaucht werden kann, um in einen Abschnitt des Arbeitsbildwiederholspeichers zu passen. Diese Bestimmung der Pixelübereinstimmung ist im Stand der Technik bekannt und wird üblicherweise bei Dehnblockübertragungen in der Betriebssystemsoftware (z.B. die StretchBit-Funktion im Windows-95®-Betriebssystem) verwendet.
-
Als nächstes wird beim Block 430 in diesem Ausführungsbeispiel der gewichtete Mittelwert des Pixels vom Arbeitsbildwiederholspeicher und des Pixels vom Bildwiederholspeicher für transparente Graphiken berechnet. Die gewichteten Mittelwerte der einzelnen Pixelkomponenten können auf einer farbkomponentenweisen Basis bestimmt werden. Das heißt, daß die Rot-Komponenten gemittelt werden können, die Blau-Komponenten gemittelt werden können und die Grün-Komponenten gemittelt werden können. Die Gewichtung, die jedem dieser Komponenten gegeben wird, bestimmt die resultierende Transparenz der Pixel. Es jedoch auch der gleiche Gewichtungswert für alle Komponenten eines gegebenen Pixels verwendet werden kann. Es ist die einem Pixel zugehörige Gewichtung, die zumindest teilweise den Transparenzpegel beeinflußt. Diese Gewichtungen können durch das die Transparenz anwendenden Anwendungsprogramm manipuliert werden, um verschiedene Mischverhältnisse zu erzielen. Ferner kann das die Transparenz anwendende Anwendungsprogramm Benutzerschnittstellenelemente bereitstellen, die es dem Benutzer ermöglichen, die Mischverhältnisse direkt oder indirekt zu steuern.
-
Das Ergebnis der gewichteten Mittelungsberechnung kann in die gleiche Stelle im Arbeitsbildwiederholspeicher beim Block 432 plaziert werden wie der derzeit verarbeitete Pixel. Beim Block 434 kann die nächste zu verarbeitende Stelle im Arbeitsbildwiederholspeicher bestimmt werden, unter Berücksichtigung des derzeitigen Verschachtelungsmusters (z.B. unter Verwendung jedes zweiten Pixels, jedes vierten Pixels, horizontal oder vertikal abwechselnder Linien, etc.). Bei der Raute 436 fährt das Verfahren fort mit dem Block 428 mit dem nächsten Pixel, wenn weitere Pixel des Arbeitsbildwiederholspeichers und des Bildwiederholspeichers für transparente Graphiken verarbeitet werden sollen. Andernfalls endet der Farbmischungs- und -verschachtelungsprozeß.
-
Auch wenn die vorliegende Erfindung mit Bezug auf eine beschränkte Anzahl an Ausführungsbeispielen beschrieben worden ist, ist es für den Durchschnittsfachmann selbstverständlich, daß davon ausgehend zahlreiche Modifikationen und Variationen möglich sind. Es ist beabsichtigt, daß die beigefügten Ansprüche all solche Modifikationen und Variationen abdecken sollen, die in den wahren Geist und Bereich der vorliegenden Erfindung fallen.