DE60008520T2 - Darstellung von durchsichtigen schichten - Google Patents

Darstellung von durchsichtigen schichten Download PDF

Info

Publication number
DE60008520T2
DE60008520T2 DE60008520T DE60008520T DE60008520T2 DE 60008520 T2 DE60008520 T2 DE 60008520T2 DE 60008520 T DE60008520 T DE 60008520T DE 60008520 T DE60008520 T DE 60008520T DE 60008520 T2 DE60008520 T2 DE 60008520T2
Authority
DE
Germany
Prior art keywords
layer
pixel
accumulator
layers
color value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60008520T
Other languages
English (en)
Other versions
DE60008520D1 (de
Inventor
T. Ralph BRUNNER
Peter Graffagnino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Application granted granted Critical
Publication of DE60008520D1 publication Critical patent/DE60008520D1/de
Publication of DE60008520T2 publication Critical patent/DE60008520T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general

Description

  • HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im allgemeinen computer-implementierte Anzeigesysteme und insbesondere ein System und ein Verfahren zum Wiedergeben von transluzenten, überlappenden Schichten mit komplexen Formen in einem Anzeigesystem.
  • 2. Beschreibung des technischen Hinter
  • Viele bestehende Anzeigesysteme sind in der Lage, zwei oder mehr Anzeigeelemente zusammenzustellen, um ein endgültiges Bild zu erzeugen. Bei solchen Systemen umfassen die Anzeigeelemente oft überlappende Schichten, beispielsweise in einem Fenstersystem für eine graphische Benutzerschnittstelle, in der Bildschirmelemente, beispielsweise Fenster, bewegt und aufeinander plaziert werden können.
  • Beim Darstellen und Anzeigen eines Bildes mit mehr als zwei überlappenden Schichten ergeben sich bestimmte Probleme, insbesondere bei der Ermittlung, wie derjenige Teil des Bildes wiederzugeben ist, in dem sich die Schichten überlappen. Wenn die überlappenden Schichten opak sind, muß das Graphiksystem nur ermitteln, welche Schicht „obenauf" liegt, und in dem endgültigen Bild nur den relevanten Teil dieser Schicht anzeigen; Teile der darunterliegenden Schichten, die verdeckt sind, können ignoriert werden. Wenn die überlappenden Schichten jedoch transluzent sind, kann eine komplexere Verarbeitung notwendig sein, da eine Wechselwirkung zwischen den Bildelementen (Pixeln) jeder überlappenden Schicht auftreten kann. Dementsprechend können einige Berechnungen notwendig sein, um die Bildelemente zu überlagern, um ein endgültiges Bild abzuleiten.
  • Aus dem Stand der Technik sind Techniken zum Zusammenstellen bekannt, welche diese Berechnungen durchführen. Beispielsweise sei auf „Compositing Digital Images", Proceedings of SIGGRAPH '84, 1984, von T. Porter et al., Seiten 253–259 verwiesen. Jedoch betreffen solche Techniken das gleichzeitige Zusammenstellen von lediglich zwei Schichten auf einmal. Wenn mehr als zwei Schichten zusammengestellt werden sollen, muß eine Anzahl verschiedener Operationen durchgeführt werden, um das endgültige Bild zu erzeugen. Dies wird im allgemeinen durchgeführt, indem Bildelemente in einem Bottom-Up-Ansatz zusammengestellt werden, wobei jede neue Schicht sukzessiv mit dem Ergebnis der Zusammenstellungsoperationen, welche auf die darunterliegenden Schichten angewandt wurden, kombiniert wird.
  • Diese Vorgehensweise der schrittweisen Zusammenstellung hat verschiedene Nachteile. Wenn das Bild in dem Bildpuffer zusammengestellt wird, kann Bildschirmflackern entstehen, da das System den Bildpuffer einige Male nacheinander beschreibt. Alternativ kann das Bild in einem von dem Bildschirm getrennt Puffer zusammengestellt werden, wodurch das Bildschirmflackern vermieden wird; jedoch benötigt eine solche Technik zusätzlichen Speicher, der dem Puffer zugewiesen wird. Ferner benötigt eine solche Technik zusätzliche auf den Speicher zugreifende Lese- und Schreibvorgänge, wenn das endgültige Bild in den Bildschirmpuffer übertragen wird.
  • Zudem ergibt sich durch die schrittweise Erzeugung des endgültigen Bildes eine geringe Leistungsfähigkeit wegen der großen Anzahl arithmetischer Operationen, die durchgeführt werden müssen. Das Schreiben von Daten in einen Bildpuffer ist insbesondere auf vielen Computern langsam; daher erleiden konventionelle Systeme, die einige Schichten nacheinander in den Bildpuffer schreiben, eine besonders starke Verschlechterung der Leistungsfähigkeit.
  • Schließlich führt eine solche Technik oft zu einer überflüssigen Erzeugung einiger Teile der Bildelemente, die später durch andere Bildelemente abgedeckt sind.
  • Das Patent US 5,428,724 offenbart ein System, das einem objektbasierten, gerasterten Bild Transparenz hinzufügt. Das Bild wird Linie für Linie durchlaufen. Jede Bildpunktposition auf jeder Rasterlinie wird mit Bildpunkt-Schnittkantendaten von Objekten verglichen, um zu ermitteln, ob eine Kante existiert. Wenn eine Kante gefunden wird, werden für jedes Objekt Füllebenendaten gewählt, die von dem Bildpunkt repräsentiert werden können, und diese werden mit der Transparenzeingabe verglichen, um zu ermitteln, ob Transparenz erforderlich ist. Daraufhin wird eine geeignete Verarbeitung durchgeführt, um die oberste Schicht entweder allein oder in Kombination mit unteren Schichten anzugeben.
  • Üblicherweise werden beliebig geformte Fenster und Schichten vorgesehen, indem ein Fenster in rechteckige Gebiete eingeteilt wird und/oder indem einige Teile eines Rechtecks ausgeblendet werden, um eine rechteckige Schicht beliebig geformt erscheinen zu lassen. Bei solchen Techniken ergeben sich oft zusätzliche Verarbeitungszeiten für Fenstergebiete, die möglicherweise keine Auswirkung auf das endgültige Bild haben.
  • Es wird ein System und ein Verfahren zur Darstellung von transluzenten Schichten benötigt, das die obengenannten Nachteile vermeidet und das Zusammenstellen von mehreren Schichten erlaubt, ohne Bildschirmflackern zu erzeugen und ohne zusätzlichen Puffer neben dem Bildschirmpuffer zu benötigen. Ferner wird ein Wiedergabesystem und -verfahren benötigt, das die Leistungsfähigkeit von Systemen nach dem Stand der Technik verbessert, wenn erzeugte Bilder mehrere überlappende transluzente Schichten aufweisen. Weiterhin wird ein Wiedergabesystem und -verfahren benötigt, das die unnötige Erzeugung von Bildelementteilen vermeidet, die in dem endgültigen Bild von anderen Bildelementen abgedeckt werden.
  • ABRISS DER ERFINDUNG
  • Gemäß der Erfindung werden ein Wiedergabesystem und ein Wiedergabeverfahren vorgesehen, welche das effiziente Zusammenstellen von transluzenten und komplex geformten überlappenden Schichten erleichtert. Für jede Schicht ist ein Alpha-Kanal vorgesehen, wodurch Transparenzmerkmale bildpunktweise innerhalb der Schicht spezifiziert werden können. Die Darstellung wird von vorne nach hinten durchgeführt, so daß durch die Erfindung unnötige Berechnungen hinsichtlich derjenigen Schichtanteile vermieden werden können, welche nicht zu dem endgültigen Bild beitragen. Ferner wird das Zusammenstellen in einer Ausführung effizienter durchgeführt, indem zuerst das Bildgebiet in Rechtecke unterteilt wird, wobei die Gruppe überlappender Schichten (und deren Reihenfolge) für alle Punkte innerhalb eines vorgegebenen Rechtecks konstant ist. Die Operationen des Zusammenstellens können separat für jedes Rechteck durchgeführt werden, um komplexe und zeitaufwendige Grenzüberprüfungs-Operationen (bounds-checking operations) innerhalb der innersten Schleife der Verabeitungsoperation zu vermeiden.
  • Die vorliegende Erfindung stellt zwei oder mehr überlappende Schichten, die jeweils einen Alpha-Kanal haben, als eine Ziel-Bitmap dar. Die Ziel-Bitmap kann beispielsweise der Bildpuffer eines Videosystems sein. Für jeden Bildpunkt (Pixel) in der Ziel-Bitmap verarbeitet die vorliegende Erfindung die Schichten mit einem entsprechenden Bildpunkt von vorne nach hinten, wobei Farb- und Alpha-Werte akkumuliert werden. Sobald der akkumulierte Alpha-Kanal volle Opazität erreicht, stoppt die vorliegende Erfindung das Bearbeiten des Bildpunkts, wobei jeder Bildpunkt, der hinter dem Stoppunkt liegt, komplett abgedeckt werden würde (da volle Opazität erreicht wurde) und nicht verarbeitet werden muß.
  • Die vorliegende Erfindung vermeidet somit das Lesen von Bildpunktdaten, die Bildpunkten entsprechen, die nicht zu dem endgültigen Bild beitragen. Diese Effizienz bei der Bildverarbeitung führt zu einer verbesserten Leistungsfähigkeit des Graphiksystems. Ferner werden Flackereffekte verringert, da jeder Bildpunkt in der Ziel-Bitmap mindestens einmal geschrieben wird, wenn die Ziel-Bitmap der Bildpuffer ist. Die vorliegende Erfindung ermöglicht zudem die einfache Implementierung von visuellen Effekten, beispielsweise Einblenden oder Ausblenden von Fenstern, sowie Schatten, Glüheffekte und ähnliches.
  • Eine weitere Verbesserung der Leistungsfähigkeit wird in einer Ausführung erreicht, indem diejenige oberste Schicht markiert wird, welche sich seit der letzten Aktualisierung verändert hat. Wenn die von vorne nach hinten ausgeführte Zusammenstellungsoperation beendet ist, bevor die markierte Schicht erreicht wird, ist es nicht notwendig, das Ergebnis in die Ausgangs-Bitmap (der Bildpuffer) zu schreiben, da die Ausgangs-Bitmap bereits von der letzten Aktualisierung die gleichen Daten enthält. Die vorliegende Erfindung kann daher unnötige Schreiboperationen in solchen Situationen vermeiden und dadurch die Leistungsfähigkeit des Systems verbessern, insbesondere, wenn die Ausgabe in den Bildpuffer geschrieben wird.
  • In einer Ausführung wird eine weitere Optimierung erreicht, indem die Ziel-Bitmap anfangs in eine Anzahl von Kacheln (Tiles) unterteilt wird, wobei jede Kachel den gleichen Stapel darzustellender Schichten enthält. Indem eine solche Unterteilung durchgeführt wird, kann die vorliegende Erfindung Feststellungen hinsichtlich des Beitrags der Schichten an dem endgültigen Bild kachelweise anstatt bildpunktweise treffen. Dadurch wird der Grenzüberprüfungsprozeß vereinfacht, und die Anzahl der Berechnungen wird minimiert, die in der innersten Schleife des Prozesses durchgeführt werden müssen, wodurch die Gesamt-Leistungsfähigkeit verbessert wird.
  • Die vorliegende Erfindung kann beispielsweise in einem Fenstersystem implementiert sein, um eine effiziente Darstellung von überlappenden transluzenten Fenstern in einer verbesserten graphischen Benutzerschnittstelle vorzusehen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm der Gesamtarchitektur einer Ausführung der vorliegenden Erfindung.
  • 2 ist ein Diagramm, das ein Beispiel der Ausgabe der vorliegenden Erfindung darstellt.
  • 3 ist ein Diagramm, das die erfindungsgemäße Top-Down-Verarbeitung eines Bildpunkts darstellt.
  • 4 ist ein Diagramm, das ein Beispiel einer Kachelunterteilung gemäß einer Ausführung der vorliegenden Erfindung darstellt.
  • 5 ist ein Diagramm, das ein Beispiel einer Kachelunterteilung gemäß einer Ausführung der vorliegenden Erfindung darstellt.
  • 6 ist ein Flußdiagramm, das den Betrieb einer Ausführung der vorliegenden Erfindung darstellt.
  • 7 ist ein Flußdiagramm, welches das Zusammenführen von Farbwerten und Alphawerten gemäß einer Ausführung der vorliegenden Erfindung darstellt.
  • 8 ist ein Flußdiagramm, das die Kachelunterteilung gemäß einer Ausführung der vorliegenden Erfindung darstellt.
  • 9 ist ein Flußdiagramm, das ein Verfahren zum Zusammenfügen von Kacheln gemäß einer Ausführung der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
  • Mit Bezug auf 1 ist ein Blockdiagramm der Gesamtarchitektur einer Ausführung der vorliegenden Erfindung dargestellt. In dieser Ausführung ist ein System 100 auf einem üblichen Personalcomputer implementiert, der eine zentrale Verarbeitungseinheit und/oder einen Graphikprozessor 101, sowie eine Anzeige 105, beispielsweise eine Kathodenstrahlröhre (CRT) oder eine (LCD)-Flüssigkristallanzeige-Einheit aufweist. Die Schritte der vorliegenden Erfindung können als Software in einem Betriebssystem oder in einer Anwendungssoftware zur Ausführung durch den Prozessor 101 in dem Computer gespeichert werden, wie es im Stand der Technik bekannt ist. Beispielsweise kann das System 100 auf einem Macintosh®- Computer von der Apple Corporation implementiert werden, auf dem das MacOS-Betriebssystem läuft, und die Software kann einen Teil eines Window-Servermoduls innerhalb des Betriebssystem sein.
  • Quellbilder, die zur Darstellung auf der Anzeige 105 zusammengestellt werden, werden durch Schichtdaten 103 repräsentiert. Beispielsweise kann die Schicht 103 Bitmap-Darstellungen von Fenstern, Elemente graphischer Benutzerschnittstellen (GUI), Photographien, Zeichnungen, Animationen und ähnliches sein. In einer Ausführung kann jede Schicht 103 jede beliebige Form und Größe haben und transluzente, transparente und opake Bereiche in jeder gewünschten Kombination enthalten. In einer Ausführung enthält jede Schicht 103 eine Vielzahl von Datenstrukturen 106–108 zum bedarfsweisen Speichern von Farb(RGB)-Werten, Alphawerten und Überblendungswerten. Zur Verarbeitung durch das System 100 kann jede Anzahl von Schichten 103 vorgesehen werden.
  • Der Graphikprozessor 101 kann als konventionelle zentrale Verarbeitungseinheit (CPU) des Computers implementiert werden oder ein Prozessor sein, der für graphische Operationen vorgesehen ist. In einer Ausführung ist ein Akkumulator 102 eine Register- oder Speicherstelle zur temporären Speicherung von berechneten Werten. Wie im weiteren beschrieben ist, kann mehr als ein Akkumulator 102 vorgesehen sein; und in einer Ausführung kann die vorliegende Erfindung verschiedene Bildpunkte parallel verarbeiten, indem mehrere Akkumulatoren 102 verwendet werden.
  • Ein Bildpuffer 104 ist ein Bereich eines Speichers, beispielsweise ein Speicher mit wahlfreiem Zugriff (RAM), der zum Speichern von Anzeigedaten reserviert ist, wie es aus dem Stand der Technik bekannt ist. In einer Ausführung ist der Bildpuffer 104 mit der Anzeige 105 verbunden, so daß die Anzeige 105 die Inhalte des Bildpuffers 104 ausgibt, nachdem der Prozessor 101 Ergebnisse in den Bildpuffer 104 geschrieben hat. In anderen Ausführungen kann der Prozessor 101 Bilder statt in dem Bildpuffer 104 in andere Speicherbereiche (nicht gezeigt) oder auf eine Festplatte (nicht gezeigt) oder in eine andere Speichervorrichtung schreiben.
  • Mit Bezug auf 2 ist ein Beispiel der Ausgabe der vorliegenden Erfindung dargestellt. Drei Schichten 103 sind zur Eingabe in das System 100 vorgesehen, um zusammengestellt zu werden. Ein Ausgangsbild 204, das auf der Anzeige 105 dargestellt werden kann, enthält alle drei Schichten 103, die einander überlappen. Wie anhand der Figur zu erkennen ist, können die Schichten 103 jede beliebige Form haben und opake, transparente und/oder transluzente Bereiche in jeder Kombination enthalten. In einer Ausführung sind alle Schichten als rechtekkige Bereiche vorgesehen, so daß beliebig geformte Bilder als rechteckige Schichten dargestellt werden können, die sowohl transparente als auch nicht transparente Bereiche aufweisen. Das Zusammenstellen von transparenten Schichten oder Bereichen ist eine triviale Operation, da das darunterliegende Bild durch die Anwesenheit eines überlappenden transparenten Bereichs nicht beeinflußt wird.
  • In einer Ausführung enthält jede Schicht 103 eine Vielzahl von Bildpunkten, wobei jeder Bildpunkt einen Farbwert aufweist. Der Farbwert jedes Bildpunkts stellt eine Farbe gemäß einem konventionellen Farbkodierungsschema dar (wie beispielsweise Rot-Grün-Blau oder RGB-Farbkodierschema). In einer Ausführung hat jeder Bildpunkt auch einen Alphawert, der einen relativen Grad an Transparenz (oder Opazität) für diesen Bildpunkt darstellt. Eine solche Technik vereinfacht die bildpunktweise vollständige Steuerung der Transparenz jeder Schicht, wobei transluzente Effekte sowie Bilder mit beliebigen Formen ermöglicht werden.
  • Wie in dem Beispiel von 2 dargestellt, kann die vorliegende Erfindung eine Ausgabe erzeugen, die mehrere transluzente und komplex geformte Fenster kombiniert. Daher kann die Erfindung dazu verwendet werden, ein Bildschirm-Fenstersystem zu ermöglichen, das eine in graphischer Hinsicht vielseitige Benutzerschnittstelle enthält, die transluzente überlappende Elemente oder Fenster vorsieht, so daß der Benutzer die darunterliegende Elemente sehen kann.
  • Mit Bezug auf 3 ist ein Beispiel einer Top-Down-Verarbeitung eines Bildpunkts gemäß der Erfindung dargestellt. In einer Ausführung verarbeitet die vorliegende Erfindung jeden Bildpunkt des Bildes einzeln. In einer anderen Ausführung können mehrere Bildpunkt parallel verarbeitet werden, indem eine Anzahl von Akkumulatoren verwendet wird, wie im weiteren beschrieben ist.
  • Für jeden Bildpunkt 301 des Bildes können eine oder mehrere Schichten 103 zu dem Farbwert des Bildpunkts 301 beitragen. Im allgemeinen sind die Schichten 103, welche zu dem Farbwert beitragen können, diejenigen Schichten 103, welche Bilddaten enthalten, die den physischen Koordinaten entsprechen, welche dem zu verarbeitenden Bildpunkt zugeordnet sind. Bevor ein Bildpunkt 301 verarbeitet wird, wird der Akkumulator 102 zurückgesetzt.
  • Daraufhin akkumuliert die vorliegende Erfindung die Farb- und Alphawerte des beitragenden Bildpunkts 301 für jeden beitragenden Bildpunkt 301 in einer der Schichten 103, um einen endgültigen Wert für den Bildpunkt des Bildes abzuleiten.
  • Wie aus dem Stand der Technik bekannt ist, hat jede Schicht 103 eine relative „vertikale" Position. Die vertikale Position einer Schicht 103 ist eine konzeptionelle Darstellung der Reihenfolge, in welcher die Schichten aufeinander gestapelt sind. Daher würde eine Schicht B „über" einer Schicht A liegen, wenn das endgültige Bild die Schicht B als ein Fenster darstellt, das einen Teil der Schicht A verdeckt.
  • In einer Ausführung liest die Erfindung Bildpunktdaten von den Schichten 103 von oben nach unten, wobei die oberste Schicht 103 als erstes akkumuliert wird. Da die Daten jedes Bildpunkts gelesen werden, werden diese mit dem aktuellen Wert des Akkumulators 102 zusammengeführt, wobei ein Zusammenstellungsverfahren verwendet wird, wie es im weiteren detailliert beschrieben ist. In einer Ausführung akkumuliert die Erfindung Alphawerte und Farbwerte. Wenn der akkumulierte Alphawert volle Opazität angibt, bevor alle Schichten 103 verarbeitet wurden, kann das Verarbeiten für den aktuellen Bildpunkt beendet werden, da jede Schicht 103 unterhalb der aktuellen Schicht vollständig von der Schicht 103 überdeckt wäre, die bereits verarbeitet wurde. Auf diese Weise kann die vorliegende Erfindung das Lesen und Verarbeiten von Bildpunktdaten vermeiden, die nicht zu dem endgültigen Bild beitragen.
  • Sobald die Erfindung alle Schichten 103 gelesen hat, die zu dem Bildpunkt 301 beitragen können, oder sobald die volle Opazität erreicht wurde, wird der in dem Akkumulator 102 vorliegende Wert ausgegeben. In einer Ausführung wird der Wert direkt in den Bildpuffer 104 geschrieben. Da das Akkumulieren von Farbwerten in dem Akkumulator 102 stattfindet, ist nur ein einziger Schreibvorgang in den Bildpuffer 104 notwendig, so daß übermäßiges Flakkern der Bildschirmanzeige (als Resultat der Vielzahl von Schreibvorgängen in den Bildpuffer 104) vermieden wird. Da ferner das Akkumulieren in dem Akkumulator 102 stattfindet, wird zur temporären Speicherung eines Bildes neben dem Bildschirmpuffer kein Puffer benötigt, da die Ausgabe des Akkumulators 102 direkt in den Bildpuffer 104 geschrieben werden kann.
  • Mit Bezug auf 6 ist ein Flußdiagramm der Arbeitsweise der Erfindung anhand einer Ausführung beschrieben. Die in 6 dargestellten Schritte können für jeden Bildpunkt in dem endgültigen Bild durchgeführt werden, für den mehrere Schichten entsprechende Bildpunkte aufweisen. Der Prozessor 101 initialisiert 602 den Akkumulator 102 mit anfänglichen Farb- und Alphawerten. In einer Ausführung ist der Akkumulator 102 als Register in dem Prozessor 101 implementiert. In einer anderen Ausführung sind zwei oder mehr Akkumulatoren 102 vorgesehen, so daß die Schritte von 6 für eine Anzahl von Bildpunkten nebeneinander durchgeführt werden können.
  • Der Prozessor 101 wählt 603 eine Schicht 103 aus den Schichten, die einen Bildpunkt aufweisen, welcher der Position des darzustellenden Bildpunkts entspricht. In einer Ausführung wird die oberste Schicht 103 ausgewählt, um eine von oben nach unten durchgeführte Verarbeitung zu implementieren, wobei in anderen Ausführungen jede Schicht 103 ausgewählt werden kann.
  • Der Prozessor 101 identifiziert einen Bildpunkt in der Schicht 103 mit einer Position, die dem darzustellenden Bildpunkt des Bildes entspricht und führt 604 die Farbwerte des identifizierten Bildpunkts mit dem aktuellen Wert des Akkumulators 102 zusammen. In einer Ausführung führt der Prozessor 101 auch die Alphawerte des identifizierten Bildpunkts mit dem in dem Akkumulator 102 gespeicherten Alphawert zusammen.
  • Der Prozessor 101 ermittelt 605 daraufhin, ob irgendeine der verbleibenden Schichten zu dem Farbwert des darzustellenden Bildpunkts des Bildes beitragen kann. In einer Ausführung, in der eine Top-Down-Verarbeitung verwendet wird, wird diese Ermittlung durchgeführt, indem geprüft wird, ob der akkumulierte Alphawert angibt, daß volle Opazität erreicht wurde. Falls volle Opazität erreicht wurde, können keine darunterliegenden Bildpunkte zu dem endgültigen Farbwert des Bildpunktes beitragen. Wenn keine verbleibenden Schichten beitragen können, wird der in dem Akkumulator 102 akkumulierte Farbwert ausgegeben 606. In einer Ausführung wird der Wert an den Bildpuffer 104 zur Darstellung auf der Anzeige 105 ausgegeben, obwohl die Ausgabe statt dessen auch an andere Speicherbereiche oder Speichervorrichtungen durchgeführt werden kann.
  • Wenn der Akkumulator 102 in dem Schritt 605 keine volle Opazität angibt, oder wenn durch eine andere Ermittlung festgestellt wurde, daß weitere Schichten 103 verarbeitet werden müssen, ermittelt 607 das System, ob zusätzliche Schichten existieren, welche Bildpunkte aufwei sen, die dem darzustellenden Bildpunkt des Bildes entsprechen. Falls nicht, wird der in dem Akkumulator 102 akkumulierte Farbwert ausgegeben 606.
  • Wenn in dem Schritt 607 noch weitere Schichten 103 verbleiben, wählt 608 der Prozessor 101 eine weitere Schicht 103 aus denjenigen Schichten, welche einen Bildpunkt aufweisen, der der Position des darzustellenden Bildpunktes entspricht. In einer Ausführung wird die oberste verbleibende Schicht 103 ausgewählt, um eine Top-Down-Verarbeitung zu implementieren, obwohl in anderen Ausführungen jede verbleibende Schichten 103 ausgewählt werden kann. Der Prozessor 101 kehrt dann zu Schritt 604 zurück.
  • Die Schritte 604, 605 und 607 werden wiederholt, bis entweder die volle Opazität erreicht wurde oder bis andere Ermittlungen ergaben, daß keine der verbleibenden Schichten 103 zu dem Farbwert des zu verarbeitenden Bildpunktes des Bildes beitragen können oder bis keine weitere Schichten 103 übrig sind.
  • Die Schritte von 6 können für jeden Bildpunkt in dem Bild wiederholt werden, falls erforderlich. Die Bildpunkte können in jeglicher Reihenfolge verarbeitet werden.
  • In einer Ausführung verarbeitet der Prozessor 101 in Schritt 603 jede Schicht (beginnend mit der obersten Schicht) sukzessiv in einer Schleife, bis dieser auf eine Schicht stößt, die einen nicht transparenten Bildpunkt für die wiederzugebende darzustellende Bildpunktposition enthält. Wenn festgestellt wird, daß der erste nicht transparente Bildpunkt vollständig opak ist, kann das Ergebnis sofort in den Bildpuffer geschrieben werden, ohne Zusammenführungsschritte durchzuführen. Falls der Bildpunkt nicht vollständig opak ist, folgen mit dem Schritt 604 Operationen zum Überblenden und Zusammenführen.
  • In einer Ausführung führt der Prozessor 101 gemäß bekannter Zusammenführungstechniken die Farbwerte und die Alphawerte in Schritt 604 zusammen, wobei solche Techniken beispielsweise in „Compositing Digital Images", Proceedings of SIGGRAPH '84, 1984, von T. Porter et al., auf den Seiten 253–59 beschrieben sind. Mit Bezug auf 7 wird nun ein Verfahren zum Zusammenführen von Farbwerten und Alphawerten dargestellt. Die Opazitätswerte und die Farbwerten werden initialisiert 701, indem Werte auf Null gesetzt werden. Eine erste Schicht wird gewählt 702. Wenn die volle Opazität erreicht wurde (gekennzeichnet durch einen Opazitätswert, der einen vorbestimmten Schwellwert erreicht, beispielsweise 1,0), ist der Prozeß beendet 708.
  • Solange die volle Opazität nicht erreicht wurde und weitere Schichten existieren, werden die Schritte 703 bis 707 wiederholt. In Schritt 704 wird der Überblendwert für den Bildpunkt ermittelt, wobei die folgende Gleichung verwendet wird: γ = δn ∘ αn(x, y) ∘ (1 – α) (Gleichung 1),wobei
    δn der Gesamtüberblendwert für die Schicht n ist;
    αn(x,y) der Opazitäts(Alpha)-Wert des aktuellen Bildpunkts in der Schicht n ist; und
    α der akkumulierte Opazitäts(Alpha)-Wert ist.
  • In Schritt 705 werden die Farbwerte für den Bildpunkt durch den Überblendwert eingestellt und zu dem Akkumulator addiert, wobei die folgenden Gleichungen verwendet werden: r = γ ∘ rn (x, y) + r (Gleichung 2), g = γ ∘ gn (x, y) + g (Gleichung 3), b = γ ∘ bn (x, y) + b (Gleichung 4),wobei:
    rn(x,y), gn(x,y), bn(x,y) Farbwerte des aktuellen Bildpunkts der Schicht n sind; und r, g, b die akkumulierten Farbwerte sind.
  • In dem Schritt 706 wird der Überblendwert für den Bildpunkt zu dem Opazitätsakkumulator hinzuaddiert, indem: α = γ + α (Gleichung 5)durchgeführt wird.
  • In Schritt 707 wird die nächste Schicht ausgewählt (n wird inkrementiert).
  • In der durch 7 dargestellten Ausführung speichert die Erfindung Werte der Eingangsschicht ohne vorherige Multiplikation und akkumulierte Werte in vormultiplizierter Form.
  • Diese Technik verringert die Anzahl der Operationen, die in der Schleife durchgeführt werden müssen, da die endgültigen Farbwerte bereits in multiplizierter Form vorliegen.
  • Der Überblendwert δn skaliert die Opazität der Schicht als Ganzes. Die Verwendung des Überblendwerts ist nicht wesentlich für die Ausführung der Erfindung; jedoch werden dadurch Effekte wie Ausblenden oder durchsichtiges Verschieben („translucent dragging") von Schichten vermieden. In einigen Anwendungen, beispielsweise PhotoShop von der Adobe Corporation, sind Überblendwerte bekannt.
  • Die vorangehende Beschreibung schildert lediglich eine mögliche Technik zum Zusammenführen von Farb- und Alphawerten in dem Akkumulator 102. Andere Zusammenstellungstechniken können verwendet werden, die sich dem Fachmann erschließen. In einer Ausführung könnte jede Schicht mit einem anderen Zusammenstellungsverfahren, falls geeignet, verknüpft sein.
  • Es wurde beobachtet, daß die oben beschriebene Technik es ermöglicht, einen Bildpunkt des Bildes mit maximal N+1 Lese-/Schreiboperationen (N Leseoperationen, 1 Schreiboperation) zu erzeugen, wobei N die Anzahl von Schichten ist, die einen Beitrag zu dem Bildpunkt leisten können. Systeme nach dem Stand der Technik benötigen im allgemeinen 3·(N-1) Lese-/Schreiboperationen (2·(N-1) Leseoperationen, (N-1) Schreiboperationen). Wenn beispielsweise vier Schichten A, B, C und D zur Verfügung stehen, würde die vorliegende Erfindung die folgenden Lese-/Schreibeoperationen durchführen:
    • – Lese A
    • – Lese B
    • – Lese C
    • – Lese D
    • – Schreibe Ergebnis.
  • Wenn daher N = 4 ist, werden maximal N+1 = 5 Operationen durchgeführt. Indem das Ergebnis in dem Akkumulator 102 akkumuliert wird, verringert sich die Gesamtanzahl an Lese-/Schreiboperationen wesentlich. Ferner verringert der bildpunktweise Top-Down-Ansatz der vorliegenden Erfindung die Anzahl der auszuführenden Operationen.
  • Beispielsweise ist eine Technik nach dem Stand der Technik als „Painter-Algorithmus" bekannt und in Computer Graphics: Principles and Practice, Foley et al., 1990 auf der Seite 673 beschrieben, und würde die vier Schichten wie folgt zusammenstellen:
    • – Lese C
    • – Lese D
    • – Schreibe Ergebnis von C + D
    • – Lese B
    • – Lese Ergebnis von C + D
    • – Schreibe Ergebnis von B + C + D
    • – Lese A
    • – Lese Ergebnis von B + C + D
    • – Schreibe Ergebnis von A + B + C + D
  • Wenn daher N = 4 ist, führt das Verfahren nach dem Stand der Technik 3·(N-1) = 9 Lese-/Schreiboperationen durch. Ferner werden alle neun Lese-/Schreiboperationen durchgeführt, auch wenn einige der darunterliegenden Schichten nicht zu dem endgültigen Ergebnis beitragen können; wohingegen die vorliegende Erfindung es ermöglicht, die Anzahl der Operationen zu verringern, wenn einige Schichten keinen Beitrag leisten können.
  • Zusätzlich zu der Verringerung der Anzahl der Lese-/Schreiboperationen verringert die vorliegende Erfindung ferner die Anzahl der damit verbundenen Berechnungsoperationen, wie aus dem oben genannten Beispiel ersichtlich ist.
  • In einer Ausführung kann eine weitere Optimierung erreicht werden, wie im folgenden dargestellt ist. Das System 100 kann die oberste Schicht 103 markieren, die verändert wurde, seit zuletzt Daten in den Bildpuffer 104 geschrieben wurden. Falls bei der oben beschriebenen Durchführung des von vorne nach hinten durchgeführten Verarbeitungsverfahrens der Prozessor 101 stoppt, bevor die markierte Schicht 103 erreicht wurde, ist es nicht notwendig, den neuen Bildpunkt des Bildes in den Bildpuffer 104 zu schreiben, da der Bildpuffer 104 bereits den gleichen Wert enthält. Daher können in einem System mit einem relativ langsamen Zugriff auf den Videospeicher wesentliche Verbesserungen hinsichtlich der Leistungsfähigkeit erreicht werden, indem nicht notwendige Schreibvorgänge in den Bildpuffer 104 vermieden werden.
  • In einer Ausführung unterteilt die Erfindung den Bildbereich in einem Vorverarbeitungsschritt, bevor das oben in Verbindung mit 6 beschriebene Verfahren begonnen wird. Mit Bezug auf 4 wird im folgenden ein Beispiel der Bildunterteilung gemäß dieser Ausführung dargestellt.
  • Ein Bild 401 enthält drei Schichten 103a, 103b und 103c, die zusammengestellt werden sollen. Der Bildbereich kann daher in Kacheln 402 bis 423 unterteilt werden. Für jede Kachel kann eine vorgegebene Gruppe von Schichten 103 die Bildpunkte innerhalb der Kachel beeinflussen. Daher werden in den Beispiel von 4:
    • – die Kacheln 402, 403, 405, 406, 410, 411, 417, 418, 421 und 423 ohne den Zugriff auf irgendeine Schicht dargestellt (nur Hintergrund);
    • – die Kacheln 404, 407 und 412 mittels der Daten von Schicht 103c dargestellt;
    • – die Kacheln 408 und 413 mittels der Daten von den Schichten 103b und 103c dargestellt;
    • – die Kacheln 409 und 419 mittels der Daten von Schicht 103b dargestellt;
    • – die Kachel 414 mittels der Daten von den Schichten 103a, 103b und 103c dargestellt;
    • – die Kacheln 415 und 420 mittels der Daten von den Schichten 103a und 103b dargestellt; und
    • – die Kacheln 416 und 422 mittels der Daten von Schicht 103a dargestellt.
  • Daher enthält jede Kachel den gleichen Stapel an Schichten, die bei der Wiedergabe des endgültigen Bildes kombiniert werden. Auf diese Weise können die meisten Entscheidungsschritte, die sich darauf beziehen, welche Schichten zu den Werten eines vorgegebenen Bildpunkts beitragen können, außerhalb der innersten Schicht durchgeführt werden, da solche Entscheidungen für alle Bildpunkte innerhalb einer vorgegebenen Kachel konstant sind. Dadurch werden die Grenzüberprüfungs-Prozesse vereinfacht, und die Leistungsfähigkeit wird verbessert, da solche Entscheidungsschritte weniger oft durchgeführt werden.
  • Mit Bezug auf 5 wird ein Beispiel des Unterteilungsverfahrens einer Ausführung der vorliegenden Erfindung dargestellt. Eine Kachel 502 stellt eine vorab unterteilte Kachel oder das gesamte Bild dar. Der Kachel 502 wird eine Schicht 501 überlagert, wodurch sich eine Unterteilung der Kachel 502 und neue Kacheln 503 bis 507 ergeben.
  • Im allgemeinen wird diese Kachelunterteilungs-Operation wie folgt durchgeführt: für jede Schicht 502, die zumindest eine Seite hat, welche durch die Kachel 502 schneidet, wird die Kachel 502 unterteilt, indem die obere und untere Grenze der Schicht 501 zu der linken und rechten Kante der Kachel 502 hin verlängert wird. Die sich ergebenden Kacheln 503 bis 507 werden zur späteren Wiedergabe durch den Prozessor 101 in einer Kachelliste gespeichert, wenn einzelne Bildpunkte verarbeiten werden. Einige der neuen Kachel 502 bis 507 können eine Breite oder eine Höhe von Null haben, beispielsweise wenn die Schicht 501 nicht vollständig innerhalb der Kachel 502 liegt. In diesem Fall werden solche degenerierten Rechtecke nicht in der Kachelliste gespeichert. Die Kachelunterteilung wird im weiteren in Verbindung mit 8 detailliert beschrieben.
  • Andere Techniken der Kachelunterteilung können durchgeführt werden, welche andere Ergebnisse erzielen. Es wurde entdeckt, daß bei Algorithmen zum Durchlaufen von Bildpunkten, welche entlang horizontaler Scannlinien orientiert sind, eine Unterteilung vorteilhaft ist, die zu einer minimalen Anzahl von vertikalen Schnitten führt, wohingegen die Anzahl der horizontalen Schnitte nicht in diesem Maße wichtig ist.
  • In einer Ausführung wird die Kachelliste in der y-Reihenfolge sortiert, bevor das eigentliche Zusammenstellen beginnt. Durch die Durchführung dieses Schritts ist es dem System möglich, die Aktualisierung in einer geordneteren Weise auszuführen und ferner sichtbares „Zerreißen" zu verringern, das auftreten kann, wenn eine Anzahl von Aktualisierungen in schneller Reihenfolge erforderlich ist.
  • In einer Ausführung wird die Kachelliste durchlaufen, und benachbarte Kacheln werden falls möglich zusammengeführt, nachdem die anfängliche Kachelunterteilung durchgeführt ist, um die Anzahl der Kacheln für die Zusammensetzungsphase zu verringern. Daher könnten in dem Beispiel von 4 die Kacheln 402, 403, 405, 406, 410, 411, 417, 418, 421 und 423 zu einer Kachel zusammengeführt werden; die Kacheln 404, 407 und 412 könnten zu einer zweiten Kachel zusammengeführt werden; und so weiter. Das Zusammenführen von Kacheln wird in Verbindung mit der 9 im weiteren detailliert beschrieben.
  • In einer Ausführung können bestimmte Kacheln als „eingefroren" markiert werden, wodurch angezeigt wird, daß diese nicht weiter unterteilt werden sollten, auch wenn andere Schichten die Kachel schneiden. Das Verfahren dient zum Verhindern von weiteren Aufteilungen, wenn eine Kachel erzeugt wurde, die einen Teil einer vollständig opaken Schicht enthält, da alle Schichten, welche unterhalb der opaken Schicht liegen, nicht sichtbar sein können, so daß die weitere Unterteilung nicht notwendig ist.
  • Wenn die Kachelunterteilung mit dem Verfahren kombiniert wird, das oben in Verbindung mit 6 dargestellt ist, werden alle Bildpunkte innerhalb einer bestimmten Kachel verarbeitet, bevor zu der nächsten Kachel übergegangen wird. Auf diese Weise kann auf Kachelebene ermittelt werden, welche Schichten zu den Ausgabewerten beitragen, anstatt auf Bildpunktebene, wodurch die Anzahl der durchzuführenden Operationen verringert ist. Ferner können Spezialfall-Algorithmen für bestimmte Kombinationen von zusammenzusetzenden Schichten entwickelt werden, und diese können auf Kacheln angewendet werden, die diese Kombinationen enthalten.
  • In einer Ausführung können mehrere Bildpunkte gleichzeitig verarbeitet werden, wie oben beschrieben. Beispielsweise können in einer Ausführung acht Bildpunkte parallel verarbeitet werden, wobei ein Prozessor 101 verwendet wird, der acht Werte gleichzeitig akkumulieren kann, beispielsweise ein Prozessor, der AltiVec- oder MMX-fähig ist. Das parallele Verarbeiten kann auch vorteilhaft sein, wenn die Erfindung in Systemen implementiert wird, die eine große Anzahl von Ausführungseinheiten aufweisen, beispielsweise die IA-64-Architektur der Intel Corporation.
  • Mit Bezug auf 8 ist ein Flußdiagramm dargestellt, das die Kachelunterteilung gemäß einer Ausführung der vorliegenden Erfindung darstellt. Das System beginnt mit einer einzigen Kachel, welche den Bildschirmbereich darstellt, und fügt Schichten von oben nach unten hinzu, indem die Funktion aufgerufen wird:
    Figure 00160001
    wodurch die Kachelliste nach Bedarf erweitert wird. Das Flag
    Figure 00160002
    wird verwendet, um Kacheln wie oben beschrieben einzufrieren.
  • Die
    Figure 00170001
    -Routine kann wie in dem Flußdiagramm von 8 dargestellt implementiert werden. Die Schritte von 8 werden für jede bestehende Kachel in dem Bild wiederholt, so daß der Prozessor 101 mit dem Wählen 802 der nächsten Kachel beginnt, falls eine solche vorhanden ist. Wenn die Kachel eingefroren 803 ist oder wenn die Kachel komplett außerhalb 804 des in dem Aufruf von
    Figure 00170001
    spezifizierten Gebiets liegt, ermittelt 810 der Prozessor 101, ob weitere Kacheln existieren, und geht 802 zu der nächsten Kachel über. Falls keine weiteren Kacheln existieren, ist der Prozeß beendet 811.
  • Wenn die Kachel komplett innerhalb 805 des spezifizierten Bereichs liegt, wird eine neue Schicht erzeugt 806, die der Kachel entspricht, und als eingefroren ausgewiesen, falls der Bereich opak ist.
  • Wenn die Kachel weder komplett innerhalb noch komplett außerhalb des spezifizierten Bereichs ist, liegt eine Überlappung vor. Eine Kachelüberlappung wird ermittelt 807, und dementsprechend wird eine neue Kachel erzeugt 808, um den überlappenden Bereich darzustellen. Der neuen Kachel werden Koordinatenwerte zugeordnet 809.
  • Sobald eine Kachel verarbeitet wurde, ermittelt 810 der Prozessor 101, ob weitere Kacheln existieren, und kehrt zum Schritt 802 zurück, falls dies der Fall ist, um die nächste Kachel auszuwählen.
  • Wie oben beschrieben wird in einer Ausführung die Kachelliste durchlaufen und benachbarte Kacheln werden, falls möglich, zusammengelegt, nachdem die anfängliche Kachelunterteilung durchgeführt wurde, um die Anzahl der Kacheln für die Zusammenstellungsphase zu verringern. Mit Bezug auf 9 ist ein Flußdiagramm dargestellt, das ein Verfahren zum Zusammenlegen von Kacheln gemäß einer Ausführung darstellt.
  • Der Prozessor 101 wählt eine zu verarbeitende Kachel 901. Wenn der Prozessor 101 in dem Schritt 902 ermittelt, daß die Kachel zu einer anderen Kachel t benachbart ist, welche die gleiche Gruppe von Schichten aufweist, werden die Kachelkanten so eingestellt 903, daß sie den Bereich der Kachel t umfassen, und die Kachel t wird gelöscht 904. Falls mehr Kacheln zu verarbeiten 905 sind, kehrt der Prozessor 101 zu Schritt 902 zurück.
  • In einer Ausführung wird die oben beschriebene Erfindung dazu verwendet, ein Fenstersystem zu implementieren, das überlappende transluzente Fenster in einer graphischen Benutzerschnittstelle anzeigen kann. Jedes Fenster wird durch eine oder mehrere Schichten dargestellt, wie in der 2 gezeigt ist. Farb- und Alphawerte, die mit einem Fenster verknüpft sind, werden, wie oben anhand der überlappenden Kacheln beschrieben, zusammengeführt. Wenn eine Anwendung in die Schicht-Bitmap zeichnet, die deren Hintergrundspeicher entspricht, und eine Aktualisierung auf dem Bildschirm anfordert, aktualisiert die Erfindung den Bildschirm, indem der entsprechende Teil des Bildpuffers neu zusammengestellt wird, wobei die oben beschriebenen Zusammensetzungstechniken verwendet werden. Das oben beschriebene Verfahren zur Kachelunterteilung wird (falls es verwendet wird) beim Öffnen, Schließen, Ändern der Größe oder Bewegen eines Fensters ausgelöst.
  • In einem solchen Fenstersystem können Überblendungswerte wie oben verwendet werden, um Einblenden oder Ausblenden von Fenstern zu implementieren, wenn diese geöffnet oder geschlossen werden. Dies wird ausgeführt, indem der Überblendungswert der Schicht, die dem öffnenden oder schließenden Fenster entspricht, graduell verändert wird.
  • Ein Fenstersystem, das die oben genannten Techniken verwendet, kann auch ein Schema zur Weiterleitung von Ereignissen (event routing scheme) implementieren, das sich von denen unterscheidet, die mit konventionellen überlappenden Fenstersystemen verknüpft sind, in denen das oberste Fenster an der Cursorstelle normalerweise das Ziel eines durch den Cursor ausgelösten Ereignisses ist. In dem vorliegenden System wird das Ereignis eines Mausklicks, wenn ein Benutzer einen Mausklick durchführt, an ein bestimmtes Fenster gesendet, welches nicht notwendigerweise das oberste Fenster an der Cursorposition ist. In einer Ausführung ist das oberste nicht transparente Fenster an der Cursorposition das Ziel des Mausereignisses. In einer weiteren Ausführung können einige Schichten so eingerichtet sein, daß sie überhaupt keine Ereignisse akzeptieren; beispielsweise sollte eine Schicht, die den Schatten eines Fensters enthält, keine Ereignisse akzeptieren. Für den Fachmann ist ersichtlich, daß auch alternative Schemata zur Weiterleitung von Ereignissen in Verbindung mit einem Fenstersystem verwendet werden könnten, wie es gemäß der vorliegenden Erfindung implementiert ist.
  • Aus der obigen Beschreibung ist ersichtlich, daß die hier offenbarte Erfindung ein neues und vorteilhaftes System und Verfahren zur Wiedergabe von transluzenten und komplex geformten Schichten in einem Anzeigesystem vorsieht. Die vorangegangene Diskussion offenbart und beschreibt lediglich beispielhafte Verfahren und Ausführungen der vorliegenden Erfindung. Für den Fachmann ist verständlich, daß die Erfindung in anderen bestimmten Formen ausgeführt werden kann, ohne den Grundgedanken oder die wesentlichen Merkmale der Erfindung zu verlassen. Dementsprechend soll die Offenbarung der vorliegenden Erfindung beispielhaft sein und den Umfang der Erfindung nicht einschränken, der sich aus den folgenden Ansprüchen ergibt.

Claims (31)

  1. Computer-implementiertes Verfahren zum Kombinieren von mindestens zwei überlappenden Schichten, um ein Bild wiederzugeben, wobei das Bild mehrere Bildpunkte enthält, jede überlappende Schicht mehrere Schicht-Bildpunkte enthält, jeder Schicht-Bildpunkt einem der Bildpunkte entspricht und das Verfahren die Schritte umfaßt: a') Unterteilen des Bildes in mehrere Kacheln, wobei jede Kachel eine Untergruppe der Bildpunkte enthält und jede Kachel mit zumindest einer Untergruppe der überlappenden Schichten verknüpft ist; a) für zumindest einen Bildpunkt in der definierten Kachel: a.1) Initialisieren eines Akkumulator-Farbwerts; a.2) Wählen einer der überlappenden Schichten, die zu der Untergruppe gehören, welche der Kachel zugeordnet ist, die den Bildpunkt enthält, aus der Gruppe der zumindest zwei Schichten, wobei die ausgewählte Schicht einen Schicht-Bildpunkt hat, der dem Bildpunkt entspricht, und der Schicht-Bildpunkt einen Farbwert hat; a.3) Zusammenstellen des Farbwerts des Schicht-Bildpunkts mit dem Akkumulator-Farbwert; a.4) Speichern des Ergebnisses des Schritts a.3) im Akkumulator; a.5) Ermitteln, ob Schicht-Bildpunkte für irgendwelche verbleibenden Schichten der Gruppe von zumindest zwei Schichten verarbeitet werden sollen; a.6) in Reaktion auf den Schritt a.5) Angeben, daß Schicht-Bildpunkte für verbleibende Schichten verarbeitet werden sollen, Wiederholen der Schritte a.2) bis a.6); und a.7) Ausgeben des Akkumulator-Farbwerts.
  2. Verfahren nach Anspruch 1, wobei jeder Schicht-Bildpunkt einen Opakwert aufweist und wobei: der Schritt a.1) ferner ein Initialisieren eines Akkumulators-Opakwerts umfaßt; der Schritt a.3) ferner ein Zusammenstellen eines Opakwerts des Schicht-Bildpunkts mit dem Akkumulator-Opakwert umfaßt; und der Schritt a.5) ein Ermitteln, ob der Akkumulator-Opakwert die volle Opazität angibt, umfaßt.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Schritt a.2) ein Auswählen einer obersten verbleibenden Schicht in der Gruppe von mindestens zwei Schichten umfaßt.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt a.7) ein Ausgeben eines Akkumulatorwerts an einen Bildspeicher umfaßt.
  5. Verfahren nach einem der vorangehenden Ansprüche, das ferner den Schritt umfaßt: b) Anzeigen des Bildes.
  6. Verfahren nach einem der vorangehenden Ansprüche, das ferner den Schritt umfaßt: b) Wiederholen von Schritt a) für jeden Bildpunkt in der definierten Kachel.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt a) das Durchführen der Schritte a.1) bis a.7) für mindestens zwei Bildpunkte gleichzeitig umfaßt.
  8. Verfahren nach einem der vorangehenden Ansprüche, das ferner den Schritt umfaßt: b) Durchführen der folgenden Schritte gleichzeitig mit dem Schritt a) für einen zweiten Bildpunkt in der definierten Kachel: b.1) Initialisieren eines zweiten Akkumulator-Farbwerts; b.2) Auswählen einer Schicht aus der Gruppe von zumindest zwei Schichten, wobei die ausgewählte Schicht einen zweiten Schicht-Bildpunkt hat, der dem zweiten Bildpunkt entspricht, wobei der zweite Schicht-Bildpunkt einen Farbwert aufweist; b.3) Zusammenstellen des Farbwerts des zweiten Schicht-Bildpunkts mit dem zweiten Akkumulator-Farbwert; b.4) Speichern des Ergebnisses von b.3) im zweiten Akkumulator; b.5) Ermitteln, ob Schicht-Bildpunkte für irgendwelche verbleibenden Schichten der Gruppe von zumindest zwei Schichten verarbeitet werden sollen; b.6) in Reaktion auf dem Schritt b.5), Angeben, daß Bildpunkte für verbleibende Schichten verarbeitet werden sollen und Wiederholen der Schritte b.2) bis b.6); b.7) Ausgeben des zweiten Akkumulator-Farbwerts.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei mindestens eine der Schichten in der Gruppe von mindestens zwei Schichten nicht rechteckig ist.
  10. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ein Bildpunkt von mindestens einer der Schichten der Gruppe von mindestens zwei Schichten transparent ist und der Schritt a.3) die folgende Schritte umfaßt: a.3.1) Beibehalten des Akkumulator-Farbwerts in Reaktion darauf, daß der Schicht-Bildpunkt transparent ist; und a.3.2) Zusammenstellen des Farbwerts des Schicht-Bildpunkts mit dem Akkumulator-Farbwert in Reaktion darauf, daß der Schicht-Bildpunkt nicht transparent ist.
  11. Verfahren nach einem der vorangehenden Ansprüche, das ferner den Schritt umfaßt: b') Wiederholen der Schritte a') und a) für mindestens eine zweite definierte Kachel.
  12. Verfahren nach einem der vorangehenden Ansprüche, wobei jede Schicht ein Fenster umfaßt, und wobei das Bild eine Anzeige für ein Fenstersystem umfaßt.
  13. Verfahren nach einem der vorangehenden Ansprüche, wobei Schritt a.7) umfaßt: a.7') Rückholen eines Markers, der eine oberste veränderte Schicht kennzeichnet; a.8) Ermitteln, ob der Schritt a.2) für die gekennzeichnete oberste veränderte Schicht durchgeführt wurde; und a.9) Ausgeben des Akkumulator-Farbwerts in Reaktion darauf, daß der Schritt a.2) für die gekennzeichnete oberste veränderte Schicht durchgeführt wurde.
  14. System zum Kombinieren von zumindest zwei überlappenden Schichten, um ein Bild wiederzugeben, wobei das Bild mehrere Bildpunkte enthält, jede überlappende Schicht mehrere Schicht-Bildpunkte enthält und jeder Schicht-Bildpunkt einem der Bildpunkte entspricht, wobei das System umfaßt: einen Kachel-Unterteiler zum Unterteilen des Bildes in mehrere Kacheln, wobei jede Kachel eine Untergruppe von Bildpunkten enthält und jede Kachel mindestens einer Untergruppe von überlappenden Schichten zugeordnet ist; einen Akkumulator zum Initialisieren eines Akkumulator-Farbwerts für mindestens einen Bildpunkt in der definierten Kachel; einen Schichtenauswähler, der mit dem Kachel-Unterteiler gekoppelt ist, um sukzessiv jede aus mindestens einer Untergruppe der überlappenden Schichten auszuwählen, die zu der Untergruppe gehört, welche derjenigen zugeordnet ist, die den Bildpunkt in der Gruppe von mindestens zwei Schichten enthält, wobei jede ausgewählte Schicht einen Schicht-Bildpunkt aufweist, der dem Bildpunkt entspricht, wobei der Schicht-Bildpunkt einen Farbwert hat; einen Zusammensteller, der mit dem Schichtenauswähler und dem Akkumulator gekoppelt ist, um für jede sukzessiv ausgewählte Schicht den Farbwert des Schicht-Bildpunktes mit dem Akkumulator-Farbwert zusammenzustellen und das Ergebnis im Akkumulator zu speichern; und eine Ausgabeeinheit, die mit dem Akkumulator gekoppelt ist, um den Akkumulator-Farbwert auszugeben.
  15. System nach Anspruch 14, wobei jeder Schicht-Bildpunkt einen Opakwert aufweist, und wobei: der Akkumulator ferner einen Akkumulator-Opazitätswert initialisiert; der Zusammensteller ferner den Opazitätswert des Schicht-Bildpunkts mit dem Akkumulator-Opazitätswert zusammenstellt und das Ergebnis im Akkumulator speichert; und die Untergruppe der überlappenden Schichten, die von dem Schichtenauswähler ausgewählt wurden in Reaktion auf einen Vergleich des Akkumulators-Opazitätswerts mit einem Voll-Opazitätswert ermittelt wird.
  16. System nach Anspruch 14 oder 15, wobei der Schichtenauswähler sukzessiv Schichten auswählt, indem eine oberste verbleibende Schicht der Gruppe von mindestens zwei Schichten ausgewählt wird.
  17. System nach einem der Ansprüche 14 bis 16, wobei die Ausgabeeinheit den Akkumulatorwert an einen Bildspeicher ausgibt.
  18. System nach einem der Ansprüche 14 bis 17, das ferner eine Anzeigeeinheit umfaßt, die zum Anzeigen des Bildes mit der Ausgabeeinheit gekoppelt ist.
  19. System nach einem der Ansprüche 14 bis 18, wobei jeder Schichtenauswähler, Zusammensteller, Akkumulator und jede Ausgabeeinheit jeden Bildpunkt in der definierten Kachel bearbeitet.
  20. System nach einem der Ansprüche 14 bis 19, wobei der Schichtenauswähler, der Zusammensteller, der Akkumulator und die Ausgabeeinheit jeweils mindestens zwei Bildpunkte gleichzeitig bearbeiten.
  21. System nach einem der Ansprüche 14 bis 20, das ferner einen zweiten Akkumulator umfaßt, der mit dem Zusammensteller gekoppelt ist, wobei: der zweite Akkumulator einen zweiten Akkumulator-Farbwert für einen zweiten Bildpunkt in der definierten Kachel initialisiert; der Schichtenauswähler eine der Schichten aus der Gruppe von mindestens zwei Schichten mit einem zweiten Schicht-Bildpunkt auswählt, welcher dem zweiten Bildpunkt entspricht, gleichzeitig mit dem sukzessiven Auswählen jeder aus zumindest einer Untergruppe der Schichten aus der Gruppe von mindestens zwei Schichten mit einem Schicht-Bildpunkt, der dem ersten Bildpunkt entspricht, wobei der zweite Schicht-Bildpunkt einen Farbwert aufweist; der Zusammensteller gleichzeitig mit dem Zusammenstellen des ersten Farbwerts des Schicht-Bildpunkts mit dem Akkumulator-Farbwert den Farbwert des zweiten Schicht-Bildpunkts mit dem zweiten Akkumulator-Farbwert zusammenstellt und das Ergebnis im zweiten Akkumulator speichert; und die Ausgabeeinheit den zweiten Akkumulator-Farbwert ausgibt.
  22. System nach einem der Ansprüche 14 bis 21, wobei mindestens eine der Schichten der Gruppe von mindestens zwei Schichten nicht rechteckig ist.
  23. System nach einem der Ansprüche 14 bis 22, wobei mindestens ein Bildpunkt der mindestens einen Schicht der Gruppe von mindestens zwei Schichten transparent ist und der Zusammensteller in Reaktion darauf, daß der Schicht-Bildpunkt transparent ist, den Akkumulator-Farbwert beibehält; und in Reaktion darauf, daß der Schicht-Bildpunkt nicht transparent ist, den Farbwert des Schicht-Bildpunkts mit dem Akkumulator-Farbwert zusammenstellt.
  24. System nach einem der Ansprüche 14 bis 23, wobei der Kachel-Unterteiler als eine zweite Kachel ein zweites Überlappungsgebiet zwischen einer zweiten Gruppe von mindestens zwei Schichten definiert, wobei die Kachel eine zweite Untergruppe der Bildpunkte umfaßt; der Akkumulator einen zweiten Akkumulator-Farbwert für mindestens einen Bildpunkt in der zweiten definierten Kachel initialisiert; der Schichtenauswähler jede der mindestens einen Untergruppe der Schichten aus der zweiten Gruppe von mindestens zwei Schichten sukzessiv auswählt, wobei jede ausgewählte Schicht einen Schicht-Bildpunkt, der dem Bildpunkt entspricht, und der Schicht-Bildpunkt einen Farbwert aufweist; der Zusammensteller für jede sukzessiv ausgewählte Schicht den Farbwert des Schicht-Bildpunkts mit dem zweiten Akkumulator-Farbwert zusammenstellt und das Ergebnis im Akkumulator speichert; und die Ausgabeeinheit den zweiten Akkumulator-Farbwert ausgibt.
  25. System nach einem der Ansprüche 14 bis 24, wobei jede Schicht ein Fenster umfaßt und das Bild eine Anzeige für ein Fenstersystem umfaßt.
  26. System nach einem der Ansprüche 14 bis 25, das ferner umfaßt: ein Marker-Verarbeitungsmodul, das mit dem Schichtenauswähler gekoppelt ist, um einen Marker zurückzuholen, welcher eine oberste veränderte Schicht kennzeichnet, und um zu ermitteln, ob der Schichtenauswähler die gekennzeichnete oberste veränderte Schicht bearbeitet hat, wobei die Ausgabeeinheit den Akkumulator-Farbwert in Reaktion darauf ausgibt, daß das Marker-Verarbeitungsmodul angibt, daß der Schichtenauswähler die gekennzeichnete oberste veränderte Schicht bearbeitet hat.
  27. Computerprogrammprodukt mit einem bei Computern verwendbaren Medium mit einem darin verkörperten computerlesbaren Code, um mindestens zwei überlappende Schichten zum Wiedergeben eines Bildes zu kombinieren, wobei das Bild mehrere Bildpunkte enthält, jede überlappende Schicht mehrere Schicht-Bildpunkte enthält, jeder Schicht-Bildpunkt einem der Bildpunkte entspricht und das Computerprogrammprodukt umfaßt: Einrichtungen für einen computerlesbaren Programmcode, die konfiguriert sind, um einen Computer dazu zu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 13, 28 oder 29 durchzuführen.
  28. Verfahren nach einem der Ansprüche 1 bis 13, wobei eine erste Schicht der Gruppe eine zweite Schicht der Gruppe überlappt und wobei jede Schicht Grenzen umfaßt, die durch Ränder definiert sind, und mindestens ein Rand der ersten Schicht in den Grenzen der zweiten Schicht liegt und wobei der Schritt a') umfaßt: Unterteilen der zweiten Schicht entlang einer Linie, die einer Verlängerung mindestens eines Randes der ersten Schicht entspricht, welche innerhalb der Grenzen der zweiten Schicht liegt.
  29. Verfahren nach einem der Ansprüche 1 bis 13 oder 28, wobei: der Schritt a.2) ein Auswählen einer der Schichten aus der Gruppe von mindestens zwei Schichten umfaßt, wobei die ausgewählte Schicht einen Schicht-Bildpunkt umfaßt, der dem Bildpunkt entspricht, und der Schicht-Bildpunkt einen Farbwert und einen Alphawert aufweist; und der Schritt a.3) ein Zusammenstellen des Farbwerts des Schicht-Bildpunkts mit dem Akkumulator-Farbwert unter Verwendung des Alphawerts umfaßt.
  30. System nach einem der Ansprüche 14 bis 26, wobei eine erste der Schichten aus der Gruppe eine zweite Schicht aus der Gruppe überlappt, und wobei jede Schicht Grenzen umfaßt, die durch Ränder definiert sind, und mindestens ein Rand der ersten Schicht innerhalb der Grenzen der zweiten Schicht liegt und der Kachel-Unterteiler die zweite Schicht entlang einer Linie unterteilt, die einer Verlängerung des mindestens einen Randes der ersten Schicht entspricht, die innerhalb der Grenzen der zweiten Schicht liegt.
  31. System nach einem der Ansprüche 14 bis 26 oder 30, wobei: der Schichtenauswähler sukzessiv jede der mindestens einen Untergruppe der Schichten aus der Gruppe der zumindest zwei Schichten auswählt und jede ausgewählte Schicht einen Schicht-Bildpunkt aufweist, der einem Bildpunkt entspricht, wobei der Schicht-Bildpunkt einen Farbwert und einen Alphawert hat; und der Zusammensteller den Farbwert des Schicht-Bildpunkts mit dem Akkumulator-Farbwert unter Verwendung des Alphawerts zusammenstellt.
DE60008520T 1999-05-10 2000-05-05 Darstellung von durchsichtigen schichten Expired - Lifetime DE60008520T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US309171 1999-05-10
US09/309,171 US6369830B1 (en) 1999-05-10 1999-05-10 Rendering translucent layers in a display system
PCT/US2000/012432 WO2000068887A1 (en) 1999-05-10 2000-05-05 Rendering translucent layers

Publications (2)

Publication Number Publication Date
DE60008520D1 DE60008520D1 (de) 2004-04-01
DE60008520T2 true DE60008520T2 (de) 2004-12-16

Family

ID=23197003

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60008520T Expired - Lifetime DE60008520T2 (de) 1999-05-10 2000-05-05 Darstellung von durchsichtigen schichten

Country Status (5)

Country Link
US (3) US6369830B1 (de)
EP (1) EP1177527B1 (de)
JP (2) JP2002544544A (de)
DE (1) DE60008520T2 (de)
WO (1) WO2000068887A1 (de)

Families Citing this family (215)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19924291C1 (de) * 1999-05-27 2000-06-08 Sirona Dental Systems Gmbh Verfahren zur Erfassung und Darstellung eines oder mehrerer Objekte, bspw. Zähne
WO2001009664A1 (en) 1999-08-01 2001-02-08 Deep Video Imaging Limited Interactive three dimensional display with layered screens
US7724208B1 (en) 1999-08-19 2010-05-25 Puredepth Limited Control of depth movement for visual display with layered screens
EP1212744A4 (de) * 1999-08-19 2006-06-14 Pure Depth Ltd Anzeigeverfahren für mehrfachschichtbildschirme
JP2003507774A (ja) 1999-08-19 2003-02-25 ディープ ヴィデオ イメイジング リミテッド 多層スクリーンのデータ表示
US7088375B1 (en) * 2000-04-27 2006-08-08 Adobe Systems Incorporated Grouping layers in composited image manipulation
US7042467B1 (en) * 2000-05-16 2006-05-09 Adobe Systems Incorporated Compositing using multiple backdrops
JP2002123488A (ja) * 2000-10-16 2002-04-26 Sony Corp 機器制御方法と装置
JP3878408B2 (ja) * 2000-11-16 2007-02-07 株式会社リコー 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20020073123A1 (en) * 2000-12-08 2002-06-13 Wen-Sung Tsai Method for displaying overlapping documents in a computer environment
US6856323B2 (en) * 2001-04-09 2005-02-15 Weather Central, Inc. Layered image rendering
NZ511444A (en) 2001-05-01 2004-01-30 Deep Video Imaging Ltd Information display
US7126578B1 (en) * 2001-05-17 2006-10-24 Adobe Systems Incorporated Combining raster and vector data in the presence of transparency
JP3970102B2 (ja) * 2001-06-28 2007-09-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US7119811B2 (en) * 2001-08-10 2006-10-10 Pixia Corp. Image display system
US20030043172A1 (en) * 2001-08-24 2003-03-06 Huiping Li Extraction of textual and graphic overlays from video
NZ514119A (en) * 2001-09-11 2004-06-25 Deep Video Imaging Ltd Improvement to instrumentation
US6912695B2 (en) 2001-09-13 2005-06-28 Pixia Corp. Data storage and retrieval system and method
EP1436799A4 (de) * 2001-09-13 2008-07-30 Pixia Corp Bildanzeigesystem
US7619585B2 (en) * 2001-11-09 2009-11-17 Puredepth Limited Depth fused display
US20030164842A1 (en) * 2002-03-04 2003-09-04 Oberoi Ranjit S. Slice blend extension for accumulation buffering
AUPS134202A0 (en) 2002-03-25 2002-05-09 Canon Kabushiki Kaisha System and method for optimizing halftoning printer performance
KR100547888B1 (ko) * 2002-03-30 2006-02-01 삼성전자주식회사 이동통신 단말기에서 사용자 인터페이스 구성 및 표시장치 및 방법
US20030197716A1 (en) * 2002-04-23 2003-10-23 Krueger Richard C. Layered image compositing system for user interfaces
NZ517713A (en) 2002-06-25 2005-03-24 Puredepth Ltd Enhanced viewing experience of a display through localised dynamic control of background lighting level
TWI221262B (en) * 2002-07-25 2004-09-21 Via Tech Inc Device and method for alpha blending overlay frame
US7549127B2 (en) * 2002-08-01 2009-06-16 Realnetworks, Inc. Method and apparatus for resizing video content displayed within a graphical user interface
JP4300767B2 (ja) * 2002-08-05 2009-07-22 ソニー株式会社 ガイドシステム、コンテンツサーバ、携帯装置、情報処理方法、情報処理プログラム、及び記憶媒体
US7355609B1 (en) 2002-08-06 2008-04-08 Apple Inc. Computing visible regions for a hierarchical view
NZ521505A (en) * 2002-09-20 2005-05-27 Deep Video Imaging Ltd Multi-view display
JP2004172792A (ja) * 2002-11-19 2004-06-17 Funai Electric Co Ltd 受信装置
JP3788977B2 (ja) * 2003-03-31 2006-06-21 富士通株式会社 データ表示装置
US20040201615A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Eliminating extraneous displayable data from documents and e-mail received from the world wide web and like networks
AU2003227503A1 (en) 2003-04-15 2004-11-04 Fujitsu Limited Drawing device and display controller
NZ525956A (en) * 2003-05-16 2005-10-28 Deep Video Imaging Ltd Display control system for use with multi-layer displays
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
AU2003903447A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Rendering successive frames in a graphic object system
US7280120B2 (en) * 2003-06-26 2007-10-09 Canon Kabushiki Kaisha Compositing with a sub-pixel mask in graphic object rendering
AU2003903448A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha A method for tracking depths in a scanline based raster image processor
AU2004202825B2 (en) * 2003-06-26 2007-11-22 Canon Kabushiki Kaisha Optimising Compositing Calculations for a Run of Pixels
AU2003903445A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
EP1524865A1 (de) * 2003-10-17 2005-04-20 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Anzeigevorrichtung mit mehreren Ebenen zum Anzeigen von überlappenden Bildern
US20050195220A1 (en) * 2004-02-13 2005-09-08 Canon Kabushiki Kaisha Compositing with clip-to-self functionality without using a shape channel
AU2005200528B2 (en) * 2004-02-13 2007-12-20 Canon Kabushiki Kaisha Compositing with clip-to-self functionality without using a shape channel
EP1566773B1 (de) * 2004-02-18 2007-12-19 Harman Becker Automotive Systems GmbH Alphamischung auf Basis einer Nachschlagtabelle
DE102004016331B4 (de) * 2004-04-02 2007-07-05 Siemens Ag Vorrichtung und Verfahren zur gleichzeitigen Darstellung virtueller und realer Umgebungsinformationen
US7636489B2 (en) * 2004-04-16 2009-12-22 Apple Inc. Blur computation algorithm
US7248265B2 (en) * 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7231632B2 (en) * 2004-04-16 2007-06-12 Apple Computer, Inc. System for reducing the number of programs necessary to render an image
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7519899B2 (en) * 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7755786B2 (en) * 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US7634775B2 (en) 2004-05-03 2009-12-15 Microsoft Corporation Sharing of downloaded resources
US7409109B2 (en) * 2004-06-16 2008-08-05 Seiko Epson Corporation Apparatuses and methods for incorporating a border within an image by defining a portion of the border
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US8130237B2 (en) * 2004-06-24 2012-03-06 Apple Inc. Resolution independent user interface design
US7397964B2 (en) * 2004-06-24 2008-07-08 Apple Inc. Gaussian blur approximation suitable for GPU
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US20050285866A1 (en) * 2004-06-25 2005-12-29 Apple Computer, Inc. Display-wide visual effects for a windowing system using a programmable graphics processing unit
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US7546543B2 (en) * 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7652678B2 (en) * 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
DE102004055835A1 (de) * 2004-07-09 2006-02-02 Volkswagen Ag Anzeigeeinrichtung für ein Fahrzeug und Verfahren zur Anzeige von Informationen
US20060026530A1 (en) * 2004-07-30 2006-02-02 Texas Instruments Incorporated DMA overlay addressing methodology for optimizing power and improving memory bandwidth for display engines
US7408549B1 (en) 2004-08-30 2008-08-05 Sun Microsystems,, Inc. Method for hardware sorted fragment composition
US7271815B2 (en) * 2004-10-21 2007-09-18 International Business Machines Corporation System, method and program to generate a blinking image
US7542042B1 (en) * 2004-11-10 2009-06-02 Nvidia Corporation Subpicture overlay using fragment shader
US7584111B2 (en) 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
US7227551B2 (en) * 2004-12-23 2007-06-05 Apple Inc. Manipulating text and graphic appearance
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
WO2006072755A1 (en) * 2005-01-10 2006-07-13 Nds Limited Font generation system
US7598977B2 (en) * 2005-04-28 2009-10-06 Mitsubishi Electric Research Laboratories, Inc. Spatio-temporal graphical user interface for querying videos
EP1729256B1 (de) * 2005-05-30 2018-03-07 Harman Becker Automotive Systems GmbH Bildverarbeitungvorrichtung
KR100703331B1 (ko) * 2005-06-01 2007-04-03 삼성전자주식회사 문자 입력에 대해 비주얼 효과를 부여하는 문자 입력 방법및 이를 위한 이동 단말기
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8020084B2 (en) 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US7721308B2 (en) 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US8305398B2 (en) * 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US7890881B1 (en) * 2005-07-29 2011-02-15 Adobe Systems Incorporated Systems and methods for a fold preview
US7535480B2 (en) * 2005-08-24 2009-05-19 Microsoft Corporation Compositing rendering layers
NZ542843A (en) * 2005-10-05 2008-08-29 Pure Depth Ltd Method of manipulating visibility of images on a volumetric display
US7743336B2 (en) * 2005-10-27 2010-06-22 Apple Inc. Widget security
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7752556B2 (en) * 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US20070101279A1 (en) * 2005-10-27 2007-05-03 Chaudhri Imran A Selection of user interface elements for unified display in a display environment
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
WO2007052382A1 (ja) * 2005-11-02 2007-05-10 Matsushita Electric Industrial Co., Ltd. 表示オブジェクト透過装置
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070150364A1 (en) * 2005-12-22 2007-06-28 Andrew Monaghan Self-service terminal
JP2007241738A (ja) * 2006-03-09 2007-09-20 Matsushita Electric Ind Co Ltd 画面合成装置
KR100775554B1 (ko) * 2006-03-10 2007-11-15 주식회사 케이티프리텔 콘텐츠 기반의 다이나믹 바탕화면 서비스 제공 방법 및시스템
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
JP4169053B2 (ja) * 2006-07-05 2008-10-22 ブラザー工業株式会社 画像処理装置及び画像処理方法
US8564612B2 (en) * 2006-08-04 2013-10-22 Apple Inc. Deep pixel pipeline
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US7847798B1 (en) * 2006-10-24 2010-12-07 Adobe Systems Incorporated Clipping and culling artwork using a graphics processing unit
EP2102823B8 (de) * 2007-01-05 2016-06-29 Landmark Graphics Corporation Systeme und verfahren zur visualisierung mehrerer volumetrischer datensätze in echtzeit
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US8432411B2 (en) * 2007-05-18 2013-04-30 Pure Depth Limited Method and system for improving display quality of a multi-component display
US8549493B2 (en) * 2007-06-19 2013-10-01 International Business Machines Corporation Defining a MIDlet region space
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8201102B2 (en) * 2007-09-04 2012-06-12 Apple Inc. Opaque views for graphical user interfaces
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
AU2007237365B2 (en) * 2007-12-05 2011-05-12 Canon Kabushiki Kaisha Colour reproduction in a colour document image
US8533584B2 (en) * 2007-12-14 2013-09-10 Sap Ag Context control
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8358314B2 (en) * 2008-02-08 2013-01-22 Apple Inc. Method for reducing framebuffer memory accesses
CN102047294B (zh) * 2008-06-06 2013-10-30 兰德马克绘图国际公司,哈里伯顿公司 对表示网格体的几何不规则网格数据的三维体成像的系统及方法
US20090305782A1 (en) * 2008-06-10 2009-12-10 Oberg Gregory Keith Double render processing for handheld video game device
JP5120987B2 (ja) * 2008-07-24 2013-01-16 トムソン ライセンシング 画像処理のための装置および方法、およびシステム
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8229211B2 (en) 2008-07-29 2012-07-24 Apple Inc. Differential image enhancement
EP2329314A1 (de) * 2008-08-26 2011-06-08 Puredepth Limited Verbesserungen bei mehrschichtigen anzeigen
US8384738B2 (en) * 2008-09-02 2013-02-26 Hewlett-Packard Development Company, L.P. Compositing windowing system
US8290346B2 (en) 2008-09-25 2012-10-16 Pixia Corp. Large format video archival, storage, and retrieval system and method
US8024667B2 (en) * 2008-10-24 2011-09-20 Microsoft Corporation In-document floating object re-ordering
US20100169059A1 (en) * 2009-02-13 2010-07-01 Grant Thomas-Lepore Layered Personalization
US9524700B2 (en) * 2009-05-14 2016-12-20 Pure Depth Limited Method and system for displaying images of various formats on a single display
US8928682B2 (en) * 2009-07-07 2015-01-06 Pure Depth Limited Method and system of processing images for improved display
CN102272558B (zh) * 2009-08-20 2015-02-11 歌乐株式会社 车载器
US20110157051A1 (en) * 2009-12-25 2011-06-30 Sanyo Electric Co., Ltd. Multilayer display device
US20110193871A1 (en) * 2010-02-07 2011-08-11 Microsoft Corporation Rendering multi-layered image
US8411970B2 (en) 2010-03-16 2013-04-02 Pixia Corp. Method and system for determining statistical data for image pixels having a higher bit depth per band
US8493404B2 (en) * 2010-08-24 2013-07-23 Qualcomm Incorporated Pixel rendering on display
US9407876B1 (en) 2010-09-14 2016-08-02 Pixia Corp. Method and system for encoding and decoding multiple wide-area surveillance area-of-interest video codestreams
US8532397B1 (en) 2010-09-16 2013-09-10 Pixia Corp. Method of creating a container file for large format imagery and organizing data within the container file
US8836727B2 (en) 2010-12-22 2014-09-16 Apple Inc. System level graphics manipulations on protected content
US8767005B2 (en) 2011-02-14 2014-07-01 Apple Inc. Blend equation
WO2012112090A1 (en) 2011-02-17 2012-08-23 Saab Ab Flight data display
US8884963B2 (en) * 2011-05-04 2014-11-11 Qualcomm Incorporated Low resolution buffer based pixel culling
JP5319742B2 (ja) * 2011-08-08 2013-10-16 奥村遊機株式会社 パチンコ遊技機
US9342322B2 (en) * 2011-09-12 2016-05-17 Microsoft Technology Licensing, Llc System and method for layering using tile-based renderers
US8819567B2 (en) 2011-09-13 2014-08-26 Apple Inc. Defining and editing user interface behaviors
US9164576B2 (en) 2011-09-13 2015-10-20 Apple Inc. Conformance protocol for heterogeneous abstractions for defining user interface behaviors
US20130063484A1 (en) * 2011-09-13 2013-03-14 Samir Gehani Merging User Interface Behaviors
US9235911B2 (en) * 2012-01-25 2016-01-12 Google Inc. Rendering an image on a display screen
US9087409B2 (en) 2012-03-01 2015-07-21 Qualcomm Incorporated Techniques for reducing memory access bandwidth in a graphics processing system based on destination alpha values
US9105129B2 (en) * 2012-06-05 2015-08-11 Google Inc. Level of detail transitions for geometric objects in a graphics application
US9292249B2 (en) * 2012-09-28 2016-03-22 Hewlett-Packard Development Company, L.P. System with content display management
WO2014062102A1 (en) * 2012-10-15 2014-04-24 Saab Ab Flexible display system
US8860773B2 (en) 2012-10-17 2014-10-14 The Mitre Corporation Telepresence for remote collaboration with a gestural interface
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
EP2765495B1 (de) * 2013-02-07 2016-06-22 Advanced Digital Broadcast S.A. Verfahren und System zur Erzeugung einer grafischen Benutzeroberfläche
KR20140109128A (ko) * 2013-03-05 2014-09-15 삼성전자주식회사 데이터 리드 방법과 상기 방법을 수행할 수 있는 장치들
TWI486947B (zh) * 2013-05-14 2015-06-01 Mstar Semiconductor Inc 圖層擷取方法、資料擷取裝置與圖層擷取安排方法
US9390463B2 (en) * 2013-08-12 2016-07-12 Intel Corporation Techniques for reducing memory bandwidth for display composition
US9805478B2 (en) 2013-08-14 2017-10-31 Arm Limited Compositing plural layer of image data for display
GB2517185B (en) 2013-08-14 2020-03-04 Advanced Risc Mach Ltd Graphics tile compositing control
KR20150025594A (ko) * 2013-08-29 2015-03-11 삼성전자주식회사 멀티 이미지 레이어 컴포지트 방법
US9471194B2 (en) * 2013-10-29 2016-10-18 Microsoft Technology Licensing, Llc Rendering windows having transparent properties from a remote desktop environment
CN106415475A (zh) 2014-06-24 2017-02-15 苹果公司 用于在用户界面中导航的列界面
CN111104040B (zh) 2014-06-24 2023-10-24 苹果公司 输入设备和用户界面交互
US20160117080A1 (en) * 2014-10-22 2016-04-28 Microsoft Corporation Hit-test to determine enablement of direct manipulations in response to user actions
GB2532940B (en) 2014-12-01 2021-12-15 Advanced Risc Mach Ltd Method of and apparatus for providing an output surface in a data processing system
FR3029660B1 (fr) * 2014-12-05 2017-12-22 Stmicroelectronics (Grenoble 2) Sas Procede et dispositif de composition d'une image video multi-plans
KR101659928B1 (ko) * 2014-12-12 2016-09-26 네이버 주식회사 목록형 사용자 인터페이스에서 부가 정보를 제공하는 방법과 시스템 및 기록 매체
AU2014280960A1 (en) 2014-12-24 2016-07-14 Canon Kabushiki Kaisha Method, apparatus and system for rendering an image
RU2606310C2 (ru) * 2015-01-23 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Электронное устройство и способ для отрисовки панорамного изображения
AU2015201418A1 (en) 2015-03-18 2016-10-06 Canon Kabushiki Kaisha Method, apparatus and system for rendering regions of an image
AU2015202359A1 (en) 2015-05-05 2016-11-24 Canon Kabushiki Kaisha Parallelising per-pixel compositing
US9953620B2 (en) 2015-07-29 2018-04-24 Qualcomm Incorporated Updating image regions during composition
CN105511825B (zh) * 2015-12-01 2018-12-28 上海兆芯集成电路有限公司 显示图层的方法及装置
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
US20180025704A1 (en) * 2016-07-21 2018-01-25 Tektronix, Inc. Composite user interface
EP4044613A1 (de) 2016-10-26 2022-08-17 Apple Inc. Benutzerschnittstellen zum durchsuchen von inhalt aus mehreren anwendungen auf einer elektronischen vorrichtung
US10296565B2 (en) * 2017-01-18 2019-05-21 International Business Machines Corporation Optimized browser object rendering
US9978118B1 (en) 2017-01-25 2018-05-22 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with data compression
US10242654B2 (en) 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US10514753B2 (en) 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10255891B2 (en) 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
US20190007672A1 (en) 2017-06-30 2019-01-03 Bobby Gene Burrough Method and Apparatus for Generating Dynamic Real-Time 3D Environment Projections
US10628987B2 (en) * 2018-05-08 2020-04-21 Google Llc Condensed transitions of graphical elements presented in graphical user interfaces
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. SETUP PROCEDURES FOR AN ELECTRONIC DEVICE
GB2575689B (en) 2018-07-20 2021-04-28 Advanced Risc Mach Ltd Using textures in graphics processing systems
US11256528B2 (en) 2018-10-26 2022-02-22 Nvidia Corporation Individual application window streaming suitable for remote desktop applications
CN113906419A (zh) 2019-03-24 2022-01-07 苹果公司 用于媒体浏览应用程序的用户界面
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
CN114115676A (zh) 2019-03-24 2022-03-01 苹果公司 包括内容项的可选表示的用户界面
CN113940088A (zh) 2019-03-24 2022-01-14 苹果公司 用于查看和访问电子设备上的内容的用户界面
CN111782112B (zh) * 2019-04-24 2022-04-26 北京京东尚科信息技术有限公司 用于呈现图像的方法和装置
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
EP3977245A1 (de) 2019-05-31 2022-04-06 Apple Inc. Benutzerschnittstellen für eine anwendung zum durchsuchen und wiedergeben von podcasts
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
EP4287113A4 (de) * 2021-02-23 2024-04-10 Huawei Tech Co Ltd Verfahren und vorrichtung zur verarbeitung eines mehrschichtigen bildes und endgerätevorrichtung
CN114219716B (zh) * 2022-02-21 2022-05-13 南京美乐威电子科技有限公司 多层图像显示方法和显示引擎

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0212563B1 (de) * 1985-08-14 1994-11-02 Hitachi, Ltd. Verfahren zur Anzeigesteuerung für ein System mit mehreren Bildausschnitten
US4780709A (en) 1986-02-10 1988-10-25 Intel Corporation Display processor
US5594467A (en) 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US5459823A (en) 1990-07-05 1995-10-17 Canon Kabushiki Kaisha Graphics engine for true colour 2D graphics
US5499327A (en) 1992-01-20 1996-03-12 Canon Kabushiki Kaisha Multi-window system which can overlay-display a dynamic image in a specific window
JPH06236176A (ja) 1992-04-29 1994-08-23 Canon Inf Syst Res Australia Pty Ltd ラスタ画像に透明性を与える方法及び装置
US5509110A (en) * 1993-04-26 1996-04-16 Loral Aerospace Corporation Method for tree-structured hierarchical occlusion in image generators
US5638499A (en) * 1994-05-27 1997-06-10 O'connor; Michael Image composition method and apparatus for developing, storing and reproducing image data using absorption, reflection and transmission properties of images to be combined
US5877762A (en) * 1995-02-27 1999-03-02 Apple Computer, Inc. System and method for capturing images of screens which display multiple windows
JPH0969163A (ja) * 1995-08-31 1997-03-11 Fujitsu Ltd コンピュータグラフィックスモデルのポリゴン重なり抽出方法と、ポリゴンのグループ化方法及び装置
TW342487B (en) * 1996-10-03 1998-10-11 Winbond Electronics Corp Fully overlay function device and method
US5923333A (en) * 1997-01-06 1999-07-13 Hewlett Packard Company Fast alpha transparency rendering method
US6072501A (en) * 1997-06-27 2000-06-06 Xerox Corporation Method and apparatus for composing layered synthetic graphics filters
US6049339A (en) * 1997-12-22 2000-04-11 Adobe Systems Incorporated Blending with planar maps
US6028583A (en) * 1998-01-16 2000-02-22 Adobe Systems, Inc. Compound layers for composited image manipulation
US6515675B1 (en) * 1999-11-22 2003-02-04 Adobe Systems Incorporated Processing opaque pieces of illustration artwork
US6803923B1 (en) * 2000-05-16 2004-10-12 Adobe Systems Incorporated Determining composition order from layer effects

Also Published As

Publication number Publication date
EP1177527A1 (de) 2002-02-06
DE60008520D1 (de) 2004-04-01
EP1177527B1 (de) 2004-02-25
US20020093516A1 (en) 2002-07-18
US7106275B2 (en) 2006-09-12
US20070040851A1 (en) 2007-02-22
US6369830B1 (en) 2002-04-09
JP2007304576A (ja) 2007-11-22
WO2000068887A1 (en) 2000-11-16
JP2002544544A (ja) 2002-12-24
US7330192B2 (en) 2008-02-12

Similar Documents

Publication Publication Date Title
DE60008520T2 (de) Darstellung von durchsichtigen schichten
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE69919497T2 (de) Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE69828974T2 (de) Verfahren und system zur veränderung und aufbereitung dreidimensionaler animationen in einer nicht-linearen editionsumgebung
DE19709220B4 (de) System und Verfahren für eine beschleunigte Verdeckungsauslese
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
DE69916646T3 (de) Schattierung von 3-dimensionalen rechnererzeugten Bildern
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE60025406T2 (de) Laufbilderinformationsanzeigeverfahren und -gerät
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69914355T2 (de) Bildverarbeitungsgerät
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
DE19600431A1 (de) Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE112012005827T5 (de) Bearbeiten von Medien unter Verwendung von graphischer Darstellung der Medien
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE112004000377T5 (de) Bildsegmentierung in einer dreidimensionalen Umgebung
DE60008867T2 (de) Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
DE112004002391B4 (de) Räumlich-zeitliche Erzeugung von Bewegungsunschärfe
EP2172032B1 (de) Verfahren zur bearbeitung eines räumlichen bildes
DE102006021118A1 (de) Rendern von anatomischen Strukturen mit ihrem nahen Umgebungsbereich
EP1536377A1 (de) Verfahren zur Veränderung der Abmessungen eines elektronisch gespeicherten Bildes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: APPLE INC., CUPERTINO, CALIF., US