-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Pixelverarbeitung und insbesondere Systeme und Verfahren zum Auswählen eines Ausgabeformats für Pixel.
-
Hintergrund
-
Ein Computerdesktop (der Kürze halber „Desktop”) ist Software, welche die Platzierung und das Erscheinungsbild von Fenstern innerhalb eines Fenstersystems in einer grafischen Benutzerschnittstelle steuert. Am typischsten werden Bilder, die von dem Desktop gerendert werden, gesteuert durch eine Grafikvorrichtungsschnittstelle (Graphics Device Interface, GDI), die an eine Ausgabevorrichtung, wie beispielsweise einen Monitor oder Drucker ankoppelt. Unter anderem definiert die GDI das Ausgabeformat von Pixeln, die über den Desktop in ein bestimmtes Format, zum Beispiel ein Format von 8 Bit pro Pixel RGBA, gerendert wurden.
-
Solch eine Anordnung, in welcher das GDI ein bestimmtes Pixelausgabeformat für alle Pixel definiert, ist nicht optimal, da der Desktop in der Lage ist, Pixelinhalte von verschiedenen Farbtiefen, einschließlich verbesserter Pixelformate, welche auf einem Monitor, der mit solchen Formaten kompatibel ist, gerendert werden könnten, zu speichern. Leider stellen konventionelle Desktops nicht die Flexibilität bereit, Bilder mit variierenden Farbtiefen zu rendern, da die GDI des Desktops das Pixelausgabeformat auf ein bestimmtes Format limitiert.
-
US 5 877 762 B1 offenbart Systeme und Verfahren zum Erfassen von Bildern auf Bildschirmen, die mehrere Fenster anzeigen. Ein Benutzer bestimmt einen beliebigen Bereich eines Bildschirms, der erfasst werden soll, welcher Fenster durchqueren kann, die bei unterschiedlichen Schichten innerhalb des Bilds angezeigt werden. Ein Schnappschuss des ausgewählten Bereichs wird erhalten, indem Daten für jedes der Pixel in dem Bereich abgefragt werden, diese in Standardwerte umgewandelt werden und in einer Off-Screen-Pixel-Map gespeichert werden. Bevor die Daten für die Pixel erhalten werden, wird eine Auflistung von allen Fenstern gemacht, die durch den bestimmten Bereich umfasst sind. Für jedes Fenster wird eine Aufnahme des Teilbereichs des Fensters gemacht, der innerhalb des bestimmten Bereichs sichtbar ist. Wenn kein Teilbereich sichtbar ist, wird das Fenster von der Liste entfernt. Nachdem alle der Fenster innerhalb des Bereichs auf diese Weise untersucht wurden, müssen nur die Pixel, die zu dem aufgenommenen sichtbaren Teilbereich jedes Fensters gehören, in der Pixel-Map gelesen und gespeichert werden.
-
US 2004/0 239 701 A1 offenbart ein Verfahren, System und Programmprodukt, in dem Anzeigedaten für einen Anzeigebereich, der zumindest ein Fenster enthält, auf ein geteiltes Format abgebildet werden. Attributinformationen für jedes Fenster in dem Anzeigebereich werden bestimmt und in einem eindeutigen Knoten gespeichert. Eine Hierarchie von Knoten wird unter Verwendung der Attributinformationen erzeugt. Für jedes Pixel in dem Anzeigebereich wird der entsprechende Knoten bestimmt. Unter Verwendung der Attributinformationen in dem Knoten werden die Anzeigedaten auf ein geteiltes Format abgebildet. Die abgebildeten Anzeigedaten können dann mit einem oder mehreren anderen System geteilt werden.
-
US 5 515 494 B1 offenbart ein System und Verfahren zum Steuern einer Pixelanzeige und -aktualisierung in einem Computergrafiksystem zum Anzeigen von mehreren Fenstern. Die Vorrichtung weist einen Bildspeicher zum Speichern von anzuzeigenden Pixeldaten auf. Der Bildspeicher weist eine Schreibfreigabenebene auf, die konfiguriert ist, anzugeben, ob ein Pixel innerhalb eines sichtbaren Teilbereichs eines aktiven Fensters ist. Die Vorrichtung weist Speicher zum Speichern einer Fensterdatenstruktur auf, die Daten bezüglich Fensterprioritäten, Fenstergrenzen und Fensterschnittmengen aufweist, um die Schreibfreigabenebene effizient zu verwalten. Ein Grafikserver bestimmt, ob ein Pixel in den Bildspeicher geschrieben werden soll, wobei die Bestimmung basierend auf der Schreibfreigabephase und Fensterausschnittgrenzen gemacht wird.
-
Im Hinblick auf die oben erwähnten technischen Anforderungen und den bekannten Stand der Technik, wird ein System und ein Verfahren benötigt, welche eine Auswahl von verschiedenen Pixelausgabeformaten erlauben.
-
Zusammenfassung
-
Ein System und ein Verfahren zum Auswählen eines Pixelausgabeformats wird bereitgestellt. Das Verfahren enthält das Auswählen eines ersten Pixels, welches ausgegeben werden soll, und Bestimmen, ob das erste Pixel mit einem zweiten Pixel überlappt. Das zweite Pixel ist verfügbar in dem ersten Format von einer ersten Pixelquelle und in einem zweiten Format von einer zweiten Pixelquelle. Das Verfahren enthält ferner ein Konvertieren des zweiten Pixels, welches das zweite Format aufweist, in das erste Format, zum Erzeugen eines konvertierten zweiten Pixels. Das konvertierte zweite Pixel wird verglichen mit dem zweiten Pixel, welches das erste Format aufweist, und das zweite Pixel, welches das erste Format aufweist, oder das zweite Pixel, welches das zweite Format aufweist, wird, basierend auf dem Vergleich, zum Ausgeben ausgewählt.
-
Diese und andere Aspekte der Erfindung werden besser verstanden angesichts der folgenden Zeichnungen und der detaillierten Beschreibung von beispielhaften Ausführungsformen.
-
Kurze Beschreibung der Zeichnungen
-
1 veranschaulicht ein exemplarisches System zum Auswählen eines Pixelausgabeformats gemäß der vorliegenden Erfindung.
-
2 veranschaulicht ein exemplarisches Verfahren zum Auswählen eines Pixelausgabeformats gemäß der vorliegenden Erfindung.
-
Detaillierte Beschreibung exemplarischer Ausführungsformen
-
1 veranschaulicht ein exemplarisches System 100 zum Auswählen eines Pixelausgabeformats gemäß der vorliegenden Erfindung. Das System 100 umfasst eine Prozessiereinheit 105, eine oder mehrere Pixelquellen 110, einen Formatkonverter 120, einen Desktop 130 und einen Pixelselektor 140. Das System kooperiert mit einer Ausgabevorrichtung, zum Beispiel einem Monitor 150, auf welchem ein Monitor Desktop 160 dargestellt wird. Optional ist ein zweiter Formatkonverter 170 zwischen dem System 100 und dem Monitor 150 gekoppelt zum Bereitstellen einer zusätzlichen Pixelformatumwandlung.
-
Die Prozessiereinheit 105 ist betreibbar zum Ausführen von Instruktionen zum Durchführen von Operationen wie hierin beschrieben. Die Pixelquellen 110 enthalten eine oder mehrere (drei dargestellte) Pixelquellen 112, 114 und 116, von denen jede betreibbar ist zum Speichern von Pixelinhalt in entsprechenden verschiedenen Pixelformaten. Zum Beispiel speichert die Pixelquelle 112 einen Inhalt A in einem 10 Bit pro Farbe (10 bpc) Format, Pixelquelle 114 speichert einen Pixelinhalt B in einem 16 bpc Format und die Pixelquelle 116 speichert Pixelinhalt C in einem 4 bpc Format. Jedes bestimmte Farbraumformat kann implementiert werden, zum Beispiel RGB, RGBA, YcrCb oder HSL/HSV, in Gleit-, oder Ganzzahldarstellungen, wie auch in gemischten oder gleichen Komponentengrößen. Das Format und der Inhalt von Pixeln, die in jeder der Pixelquellen 112, 114 und 116 gespeichert sind, werden als A, B bzw. C bezeichnet.
-
Weiter insbesondere sind die Pixelquellen 112, 114 und 116 innerhalb des Desktops 130 eingebettet, obwohl ihre nativen Pixelformate nicht mit dem Desktop-Pixelformat verträglich sind. Zum Beispiel kann der Desktop 130 ein Pixelformat von 8 bpc aufweisen. In solch einem Beispiel werden Pixel von den eingebetteten Pixelquellen 112, 114 und 116 nicht in ihrem nativen Format gerendert werden. Nichtsdestoweniger ist der Ort von Pixeln in jeder dieser eingebetteten Quellen dem Betriebssystem bekannt.
-
Der Formatkonverter 120 ist betreibbar zum Empfangen von Pixeln von den Pixelquellen 112, 114 und 116, die auf dem Desktop 130 sichtbar sein werden, und Konvertieren des nativen Formats dieser Pixel in ein Format, welches mit dem Desktop 130 kompatibel ist. Fortfahrend mit der beispielhaften Ausführungsform, in welcher der Desktop 130 kompatibel ist mit einem 8 bpc Format, wirkt der Formatkonverter 120 zum Reduzieren des Formats der 10 bpc Pixel von der Pixelquelle 112 (d. h. Verringern der Farbtiefe) in ein 8 bpc Format. Die konvertierten Pixel werden nachfolgend in einer entsprechenden Desktop Pixelquelle 132 gespeichert, welche einen Inhalt E in einem Pixelformat (8 bpc) speichert, welches verschieden ist von dem der Pixelquelle 112 (10 bpc). Ähnlich wirkt der Formatkonverter zum Konvertieren von Pixelinhalt B von einem 16 bpc Format in ein 8 bpc Format, die konvertierten Pixel in eine Desktop Pixelquelle 134 (Pixelinhalt und Format F) speichernd. Die Pixelquelle 116 speichert den Pixelinhalt C in einem Format von 4 bpc, was niedriger ist als das Desktop Format von 8 bpc. In solch einem Fall wirkt der Formatkonverter 120 zum Aufweiten des Formats der Pixel von der Pixelquelle 116 (d. h. Erhöhen der Farbtiefe) in ein 8 bpc Format, und diese konvertierten Pixel werden in eine Desktop Pixelquelle 136 (Pixelinhalt und Format G) gespeichert. Eine Umwandlung der Pixelformate kann in einer Vielzahl von Weisen durchgeführt werden. Zum Beispiel kann eine Reduktion in dem Pixelformat durchgeführt werden durch Abschneiden des niederwertigsten Bits des Farbraumwertes, Dithering, oder andere Techniken. Ein Aufweiten des Formats von Pixeln, welche von der Pixelquelle 116 geliefert werden, kann durchgeführt werden durch nach oben schieben aller Farbbits um vier Stellen oder durch Verwenden einer vordefinierten Nachschlagetabelle (Look-up Table). Der Desktop 130 kann Pixel 138 enthalten, welche nicht innerhalb von irgendeiner der Pixelquellen 132, 134 und 136 enthalten ist. Jedoch werden Pixel, die von dem Desktop 130 ausgelesen werden, in demselben Format sein, zum Beispiel 8 bpc. In ihrer Gesamtheit werden die Pixel, die von dem Desktop 130 ausgelesen werden, als Pixel D bezeichnet, wie dargestellt.
-
Der Desktop 130 enthält die Desktop Pixelquellen 132, 134 und 136, welche in einer bestimmten Ausführungsform offene Fenster in der Windows XP oder Vista Betriebssystemumgebung sind. Jede der Desktop Pixelquellen 132, 134 und 136 wird ein Pixelformat aufweisen, welches bestimmt ist durch eine GDI des Desktops 130, zum Beispiel einem 8 bpc Format in der veranschaulichten Ausführungsform. Der Desktop 130 kann jede GDI einsetzen, zum Beispiel Windows® GDI, GDI±, Apple® Quick Draw oder Direkt X Grafikvorrichtungsschnittstellen, von denen jede betreibbar ist zum Bereitstellen von Interaktionen 131 zwischen dem Desktop 130 und dem Betriebssystem des Desktops.
-
In einer beispielhaften Ausführungsform wird eine Formatumwandlung von Pixeln durchgeführt, wenn Inhalte A, B und C in den Desktop 130 eingebettet sind und dadurch entsprechenden Desktop Pixelinhalt E, F und G liefern. Ferner beispielsweise wird der Pixelinhalt A, B und C nur verändert, wenn dieser Inhalt von Anwendungen, welche diesen Inhalt bereitstellen, upgedatet wird, und nicht von Desktop Aktivität.
-
Entsprechend wird, wenn der Desktop Pixelinhalt E, F und G durch die GDI nicht geändert wurde, der Pixelinhalt A derselbe sein wie der Pixelinhalt E, und ähnlich für Pixelinhalt B und F und C und G. Wenn es eine Veränderung in Desktop Pixelinhalten gibt, zum Beispiel wenn die GDI ein Desktop Pixel E, F oder G berührt, kann der Desktop Pixelinhalt E, F und G von dem eingebetteten Inhalt A, B und C abweichen. Ein spezielles Beispiel dafür, wie die vorliegende Erfindung in dieser Situation arbeitet, ist nachfolgend weiter beschrieben.
-
Der Pixelselektor 140 ist gekoppelt zum Empfangen von Pixeln von dem Desktop 130 und von jeder der Pixelquellen 112, 114 und 116. Pixelausgaben von dem Desktop werden in dem von dem Desktop 130 definierten Format sein, zum Beispiel 8 bpc in der veranschaulichten Ausführungsform. Jede der Pixelquellen 112, 114 und 116 wird an den Pixelselektor 140 ausgegeben werden in dem nativen Format der Quelle, zum Beispiel 10 bpc, 16 bpc und 4 bpc in der veranschaulichten Ausführungsform.
-
Die Funktionalität des Pixelselektors 140 kann in einem Shader eingefügt sein oder kann alternativ in Hardware implementiert sein. Ferner insbesondere ist die bestimmte Formatumwandlung, die von dem Konverter 120 eingesetzt wird, dem Pixelselektor 140 bekannt. Aufgrund dessen können GDI-Interaktionen, wie beispielsweise Screenshot-zurücklesungen, Menü ausblenden oder SW Cursor durch die Grafikvorrichtungsschnittstelle in einem Standardweg durchgeführt werden.
-
Der Pixelselektor 140 ist betreibbar zum Auswählen, welches Pixel unter den Pixeln A, B, C oder D, (enthaltend Pixel E, F oder G) ausgegeben werden soll, unter Verwendung von Prozessen, die nachfolgend weiter beschrieben sind. Der Pixelselektor 140 gibt die ausgewählten Pixel in einem der an ihn gelieferten Formate aus, zum Beispiel Inhalt A mit 10 bpc, Inhalt B mit 16 bpc, Inhalt C mit 4 bpc und Inhalt D (enthaltend Pixel E, F und G) mit 8 bpc. Wenn der Monitor 150 oder eine andere Ausgabevorrichtung nicht kompatibel ist mit dem Format des Inhalts, der von dem Pixelselektor 140 abgegeben wird, kann ein optionaler zweiter Formatkonverter 170 implementiert sein, zum Konvertieren der ausgewählten Pixel in ein Format, welches kompatibel ist mit der Ausgabevorrichtung/Monitor 150. Die ausgewählten Pixel werden nachfolgend in entsprechenden Fenstern 162, 164 und 166 des Desktops 160 des Monitors dargestellt. Zum Beispiel kann das Monitorfenster 162 arbeiten, um entweder Pixelinhalt A oder E darzustellen, gemäß der nachfolgend beschriebenen Operationen. Die Monitorfenster 164 und 166 arbeiten, um Pixelinhalt B oder F, bzw. C oder G darzustellen.
-
2 veranschaulicht ein exemplarisches Verfahren zum Auswählen eines Pixelausgabeformats gemäß der vorliegenden Erfindung. Bei einer Operation 212 wird ein erstes Pixel zur Ausgabe ausgewählt. Bei 214 wird eine Bestimmung durchgeführt, ob das erste Pixel mit einem zweiten Pixel überlappt, wobei das zweite Pixel in dem ersten Pixelformat von einer ersten Pixelquelle und in einem zweiten Pixelformat von einer zweiten Pixelquelle verfügbar ist, wobei das zweite Pixelformat verschieden ist von dem ersten Pixelformat. Wenn die Bedingung nicht erfüllt ist, wird das erste Pixel ausgegeben und das Verfahren kehrt zu Operation 212 zurück, wo ein anderes Pixel ausgewählt wird.
-
Wenn die Bestimmung bei 214 wahr ist, fährt das Verfahren bei 216 fort, wobei das zweite Pixel, welches in dem zweiten Format verfügbar ist, von der zweiten Pixelquelle abgerufen wird und von seinem nativen Format in das erste Pixelformat konvertiert wird, dadurch erzeugend ein konvertiertes zweites Pixel. Bei 218 wird das zweite Pixel in dem ersten Format von seiner korrespondierenden ersten Pixelquelle abgerufen und mit dem konvertierten zweiten Pixel verglichen. Bei 220 wird entweder das zweite Pixel in dem ersten Format (von der ersten Pixelquelle) oder das zweite Pixel in dem zweiten Format (von der zweiten Pixelquelle) für eine Ausgabe ausgewählt, basierend auf den Ergebnissen des Vergleichs in 218.
-
Der veranschaulichten Ausführungsform von 1 folgend, ist das erste Pixel ein Desktop Pixel D von Pixelformat 8 bpc, welches für eine Ausgabe ausgewählt ist. Das Pixel kann ausgewählt sein zur Ausgabe an eine beliebige Vorrichtung, wie beispielsweise einen Framepuffer, einen Monitor oder einen Drucker.
-
Jede der Desktop-Pixelquellen 132, 134 und 136, welche Pixelinhalt E, F bzw. G bei 8 bpc speichern, repräsentiert eine exemplarische Ausführungsform einer zweiten Pixelquelle, welche das zweite Pixel in dem ersten Pixelformat speichert. Entsprechend repräsentiert jede der eingebetteten Pixelquellen 112, 114 und 116, welche Pixelinhalt A, B und C bei Pixelformaten 10 bpc, 16 bpc und 4 bpc speichern, eine exemplarische Ausführungsform einer zweiten Pixelquelle, welche das zweite Pixel bei einem zweiten Pixelformat speichert, welches verschieden ist von dem ersten Pixelformat.
-
In einer exemplarischen Ausführungsform der Operation 214 arbeitet die Prozessiereinheit 105 zum Bestimmen, ob ein ausgewähltes Desktop-Pixel D mit einem Pixel überlappt, welches innerhalb einer der eingebetteten oder Desktop-Pixelquellen 112/132, 114/134 bzw. 116/136 enthalten ist. Genauer kann ferner eine Überlappbedingung zwischen den ersten und zweiten Pixeln bestimmt werden unter Verwendung von Techniken wie beispielsweise einer Abbildungstabelle, welche Informationen liefert, wie E, F und G auf dem Desktop positioniert sind, so dass, wenn die Flächen von E, F oder G berührt werden, eine Operation 200 auf diesen Flächen arbeiten könnte. Es sollte erwähnt werden, dass für ein bestimmtes Pixel jede der eingebetteten und Desktop Pixelquellen dieselbe Pixelortsinformation speichern und als solche entweder die Desktop- oder die eingebetteten Pixelquellen abgefragt werden können zum Bestimmen, ob eine Überlappbedingung existiert. Wenn ermittelt wird, dass eine Überlappbedingung nicht existiert, wird das Desktop Pixel D zur Ausgabe ausgewählt und das nächste Desktop Pixel wird zur Verarbeitung ausgewählt.
-
Wenn bestimmt wird, dass eine Überlappbedingung existiert, fährt das Verfahren bei 216 fort, wo die zweitformatierte Version des überlappenden Pixels (d. h. Pixel A, B oder C) von seiner eingebetteten Pixelquelle 112, 114 oder 116 abgerufen und durch den Formatkonverter 120 von seinem nativen zweiten Pixelformat in das erste Format (d. h. das Desktop-Pixelformat) konvertiert wird. Dieses Pixel wird als konvertiertes zweites Pixel bezeichnet.
-
In einer Ausführungsform ist das zweite Pixelformat höher als das erste Pixelformat (z. B. in dem Fall der Pixelquellen 112 und 114), und in solch einem Fall umfasst die Operation 216 des Konvertierens des zweiten Pixels in das erste Pixelformat die Operation des Reduzierens des zweiten Pixelformats auf das des ersten Pixelformats. Solch eine Operation kann durchgeführt werden durch Abschneiden des niederwertigsten Bit des zweiten Pixelformats, durch Dithering, oder durch ähnliche solche Techniken. In einer anderen Ausführungsform ist das zweite Pixelformat niedriger als das erste Pixelformat (z. B. in dem Fall der Pixelquelle 116), und in einem solchen Fall umfasst die Operation 216 des Konvertierens des zweiten Pixels in das erste Pixelformat die Operation des Erweiterns des zweiten Pixelformats auf das des ersten Pixelformats. Solch eine Operation kann durchgeführt werden durch nach oben Schieben aller Farbbits um vier Stellen oder durch Verwenden einer vordefinierten Nachschlagetabelle (Look-up Table).
-
In einer exemplarischen Ausführungsform der Operation 218 arbeitet die Prozessiereinheit 105 zum Vergleichen des Farbraumwertes des konvertierten zweiten Pixels mit einem Farbraumwert des zweiten Pixels in dem ersten Format (d. h. Pixel E, F und G), gespeichert in der ersten Pixelquelle (d. h. Pixelquellen 132, 134 und 136). Andere Vergleichsprozesse können ebenfalls durchgeführt werden.
-
In einer exemplarischen Ausführungsform der Operation 220 arbeitet die Prozessiereinheit 105 zum Bestimmen, ob es eine Übereinstimmung zwischen dem Farbraumwert des konvertierten zweiten Pixels und dem Farbraumwert des zweiten Pixels in dem ersten Format gibt. Zum Beispiel wird der Farbraumwert einer formatkonvertierten Version von Pixel A mit Pixel E verglichen. Wenn die Farbraumwerte der formatkonvertierten Version von Pixel A und Pixel E einander entsprechen (matchen), hat die GDI den Farbraumwert des Desktop Pixels E nicht geändert und das zweite Pixel, welches das zweite Pixelformat aufweist (d. h. natives Pixel A) wird für die Ausgabe ausgewählt. Wenn die Farbraumwerte der Pixel einander nicht entsprechen (nicht matchen), wird das zweite Pixel, welches das erste Pixelformat aufweist (d. h. Pixel E), für die Ausgabe von dem Desktop 130 ausgewählt.
-
In der hierin beschriebenen exemplarischen Ausführungsform wird die Auswahl des zweiten Pixels in dem zweiten Pixelformat durchgeführt, wenn keine Änderungen an dem ersten Pixel durchgeführt wurden. In solch einem Fall ist die Auswahl des zweiten Pixels in dem zweiten Format „bevorzugt”, da es einen oder mehrere Vorteile gegenüber dem ersten Pixelformat liefert. In Fällen, in welchen die eingebettete Pixelquelle, verglichen mit dem ersten Pixelformat, ein erweitertes Pixelformat aufweist (z. B. für eingebettete Pixelquellen 112 und 114), resultiert eine Auswahl von Pixeln von diesen Pixelquellen in einem breiteren Farbbereich oder einer größeren Farbtiefe. In dem Fall, in welchem die eingebettete Pixelquelle, verglichen mit dem ersten Pixelformat, ein reduziertes Pixelformat liefert (z. B. Pixelquelle 116), kann die Auswahl von Pixeln von dieser Quelle vorteilhaft sein, wenn die reduzierte Pixelquelle Farben liefert, die in dem ersten Pixelformat nicht verfügbar sind, zum Beispiel wenn die reduzierte Pixelquelle in der Lage ist, Pixel in anderen Farbräumen zu liefern. Die Fachleute werden anerkennen, dass der Vergleichsprozess auf verschiedene Weisen formuliert sein kann, zum Liefern einer bevorzugten Auswahl des Pixelausgabeformats unter verschiedenen Bedingungen.
-
Optionale Operationen des Verfahrens 200 umfassen ein Formatkonvertieren des Pixelformats des ausgewählten Pixels in ein drittes Pixelformat. Zum Beispiel, wenn das Pixel B für die Ausgabe selektiert ist und die Ausgabevorrichtung (z. B. ein Monitor) nur kompatibel ist mit einem 10 bpc Farbraumformat, kann das Verfahren 200 ferner die Operation des Konvertierens des Formats des B Pixels von einem 16 bpc Format in ein 10 bpc Format umfassen. Der Formatkonverter 170 kann bereitgestellt sein zum Durchführen dieser Operation.
-
In einer bestimmten Anwendung der Erfindung kann die GDI ein Desktop Pixel berühren, welches mit einem Pixel A/E, B/F, C/G überlappt und dadurch die Operationen 216, 218 und 220 initiiert. Solch eine Aktion kann einen weichen Schatten oder ein Popup-Menü innerhalb des Desktops 130 erzeugen. In solch einem Fall werden die überlappenden Desktop Pixel E, F, G ferner einen Shader-Beitrag enthalten, welcher nicht in den korrespondierenden eingebetteten Pixeln A, B, C enthalten ist, und in solch einem Fall wird der Vergleich bei Operation 218 bestimmen, dass die Farbraumwerte der überlappenden Desktop und eingebetteten Pixel nicht übereinstimmen. In solch einem Fall wird das überlappende Desktop Pixel E, F oder G für die Ausgabe ausgewählt. In konventionellen Systemen wurde die Entfernung des weichen Schattens durchgeführt durch Ersetzen der beschatteten Pixel mit einem vorher ausgelesenen Pixel. Ein Durchführen dieser Operation in dem vorliegenden Verfahren wird darin resultieren, dass der Schatten entfernt ist und die Vergleichsoperation bei 218 wird in einer Farbraumübereinstimmung zwischen den Desktop und eingebetteten Pixeln resultieren. Die eingebetteten Pixel werden entsprechend für die Ausgabe ausgewählt. Folglich wird eine Zwischen-GDI-Operation ohne Rückzeichnenbefehl (Redraw Command) an die Anwendung die ursprünglich ausgescannte Farbtiefe nicht zerstören.
-
Gemäß dem Vorstehenden ist es möglich, verbesserten Inhalt mit mehr Farbkomponenten oder mehr Bit pro Farbe in einen Desktop/Fenstermanager einzubetten, als der Desktop nativ in der Lage ist zu rendern. Zusätzlich wird eine GDI-Beurteilung des Inhalts gesteuert, wobei der Zugriff auf den verbesserten Inhalt für den Benutzer reibungslos und transparent ist. Die Erfindung erlaubt ferner die Möglichkeit, den eingebetteten Inhalt auszuscannen an einen Monitor, der in der Lage ist, die verbesserte Farbtiefe des Inhalts zu rendern. Zum Beispiel ist es möglich, einen 10 bpc RGB Inhalt von einem 8 bpc RGB Desktop an einen Monitor auszuscannen, welcher 10 bpc Pixel rendern könnte.
-
Wie Fachleute leicht zu würdigen wissen, können die beschriebenen Prozesse und Operationen in Hardware, Software, Firmware oder einer Kombination dieser Implementierungen implementiert werden, wie es angemessen ist. Zusätzlich können einige oder alle der beschriebenen Prozesse und Operationen implementiert sein als computerlesbarer Instruktionscode, welcher resident auf einem computerlesbaren Medium ist, wobei der Instruktionscode wirksam ist zum Steuern eines Computers von solch einer programmierbaren Vorrichtung, zum Ausführen der gewünschten Funktionen. Das computerlesbare Medium, auf welchem der Instruktionscode liegt, kann verschiedene Formen annehmen, zum Beispiel eine entfernbare Platte, flüchtiger oder nicht flüchtiger Speicher, etc., oder ein Trägersignal, in welchem ein Modulationssignal eingeprägt ist, wobei das Modulationssignal den Instruktionen zum Ausführen der beschriebenen Operationen entspricht.
-
In einer bestimmten Ausführungsform der Erfindung ist ein Speicher betreibbar zum Speichern von Instruktionen zum Durchführen jeder der Operationen, die in 1, 2 und 3 veranschaulicht sind. Der Speicher kann verschiedene Formen annehmen, zum Beispiel eine entfernbare Platte, einen eingebetteten Speicher, etc., in flüchtiger oder nicht flüchtiger Form und kann enthalten sein innerhalb einer Vielzahl von verschiedenen Systemen, zum Beispiel einem Computersystem, einem eingebetteten Prozessor (embedded processor), einem Grafikprozessor oder einem Grafik prozessierenden Subsystem, wie beispielsweise einer Grafikkarte.
-
Die Begriffe „ein” oder „eines” werden verwendet zum Bezugnehmen auf ein oder mehr als ein dadurch beschriebenes Merkmal. Ferner bezieht sich der Ausdruck „gekoppelt” oder „verbunden” auf Merkmale, welche in Kommunikation miteinander stehen, entweder direkt oder über eine oder mehrere Zwischenstrukturen oder Substanzen. Die Abfolge von Operationen und Aktionen, auf die in Verfahrensflussdiagrammen Bezug genommen wird, sind beispielhaft und die Operationen und Aktionen können in einer abweichenden Abfolge durchgeführt werden ebenso wie zwei oder mehr der Operationen und Aktionen gleichzeitig durchgeführt werden können. Bezugszeichen in den Patentansprüchen (wenn vorhanden) dienen zur Bezugnahme auf eine beispielhafte Ausführungsform eines beanspruchten Merkmals und das beanspruchte Merkmal ist nicht limitiert auf die bestimmte Ausführungsform, auf welche durch das Bezugszeichen Bezug genommen wird. Der Umfang des beanspruchten Merkmals soll definiert sein durch die Anspruchsformulierung, als wenn die Bezugszeichen nicht vorhanden wären. Alle Publikationen, Patente und andere Dokumente, auf die hierin Bezug genommen wird, sind hierin in ihrer Gesamtheit durch Bezugnahme eingeschlossen. In dem Umfang jeder inkonsistenten Verwendung zwischen jedem solcher eingebetteten Dokumente und diesem Dokument, soll die Verwendung in diesem Dokument leiten.
-
Die vorstehenden exemplarischen Ausführungsformen der Erfindung wurden in ausreichendem Detail beschrieben, um einen Fachmann in die Lage zu versetzen, die Erfindung auszuführen, und es sollte sich verstehen, dass die Ausführungsformen kombiniert werden können. Die beschriebenen Ausführungsformen wurden gewählt, um die Prinzipien der Erfindung und ihrer praktischen Anwendung am besten zu erklären, um dadurch andere Fachleute in die Lage zu versetzen, die Erfindung bestmöglich zu verwenden in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen, wie sie geeignet sind für die bestimmte in Erwägung gezogene Verwendung. Es ist beabsichtigt, dass der Umfang der Erfindung ausschließlich durch die hieran anhängenden Ansprüche definiert ist.