[go: up one dir, main page]

DE60300788T2 - Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung - Google Patents

Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung Download PDF

Info

Publication number
DE60300788T2
DE60300788T2 DE60300788T DE60300788T DE60300788T2 DE 60300788 T2 DE60300788 T2 DE 60300788T2 DE 60300788 T DE60300788 T DE 60300788T DE 60300788 T DE60300788 T DE 60300788T DE 60300788 T2 DE60300788 T2 DE 60300788T2
Authority
DE
Germany
Prior art keywords
image
data
buffer
blurred
scene
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
DE60300788T
Other languages
English (en)
Other versions
DE60300788D1 (de
Inventor
Homoud B. Foster City Alkouh
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.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Computer Entertainment America LLC
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 Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Application granted granted Critical
Publication of DE60300788D1 publication Critical patent/DE60300788D1/de
Publication of DE60300788T2 publication Critical patent/DE60300788T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf Computergraphik und insbesondere auf computergenerierte Anzeigebilder mit verbessertem Realismus.
  • 2. Beschreibung des Standes der Technik
  • Computer werden dazu verwendet, Welten mit „virtueller Realität" darzustellen, die nirgendwo sonst existieren, als in einem dreidimensionalen Raum, der im Computer gespeichert ist. Objekte können in der Welt der virtuellen Realität „existieren" und sich im Koordinatenraum der virtuellen Realität bewegen. Solche Welten sind für Simulationen von Ereignissen in der realen Welt äußerst nützlich, wenn es nicht praktikabel ist, reale Objekte zu verwenden, wie z.B. bei Laboruntersuchungen und Simulationen von Ereignissen, und sind zu Unterhaltungszwecken, wie z.B. für Computerspiele und kinematographische Werke (Animation), nutzbar. Auf dem Gebiet der Computergraphik wird danach gestrebt, Bilder bereitzustellen, welche die Welt der virtuellen Realität eines Computers mit größerem Realismus darstellen.
  • Ein Computeranzeigebild ist als eine Kombination von Bildelementen spezifiziert, die jeweils als Pixel bezeichnet werden. Die Pixel in einem Anzeigebild spezifizieren eine Kombination von roter, blauer und grüner Farbinformation, in ganz ähnlicher Weise, wie ein herkömmliches Fernsehbild spezifiziert wird. Jedes Pixel ist Daten zugeordnet, welche die Farbintensitätsinformation für jedes rote, blaue und grüne Pixel des Bildes spezifizieren. Die Farbintensitätsdaten werden typischerweise mit einem 8-Bit-Datenwort dargestellt. Die meisten Simulationen virtueller Realität stellen Objekte in einer Szene als Datenobjekte dar, die ihnen zugewiesene Merkmale aufweisen, wie z.B. Form, Größe, Position und Farbe. Wenn ein Objekt auf dem Computerbildschirm gezeichnet oder gerendert werden soll, bestimmt ein Graphikprozessor eine geeignete Mischung von roter, blauer und grüner Pixelinformation zur Darstellung des Bildes und erzeugt Videoinformation für die korrekte Mischung aus roter, blauer und grüner Farbe für jedes Pixel. Anzeigegeräte können unterschiedlich große Pixel aufweisen, mit denen Bilder erzeugt werden. Beispielsweise können viele Computer-Flachbildschirme einzelne kreisförmige Pixel aufweisen, die jeweils einen Durchmesser von etwa 0,29 mm (0,0116 Inch) haben.
  • Ein Computer-Graphikprozessor oder -Anzeigeprozessor stellt eine Verarbeitung zum Rendern von Bildern für ein Rechengerät bereit, so dass Bilder, die von einem Computeranwendungsprogramm oder einer anderen Quelle computergenerierter Bilder erzeugt werden, richtig dargestellt werden. Die Computergraphik umfasst die Erzeugung, Speicherung und Manipulation von Modellen und Bildern von Objekten auf der Grundlage einer Bildsynthese der Objekte aus Computer-basierenden Modellen. Die Erzeugung, Speicherung und Manipulation der Objekte kann in Echtzeit erfolgen und ein interaktiver Prozess sein, der einen Computerbenutzer mit einem Eingabegerät, wie z.B. einer Tastatur, einer Bildschirmmaus, einem Controller oder einem Touch-Screen-Anzeigefeld, involviert. Ein wichtiger Teil des Prozesses zum Rendern von Bildern umfasst die Bildverarbeitung, bei der die Position und die Bewegung von Objekten in den Bildern im zweidimensionalen und dreidimensionalen Raum sorgfältig reproduziert werden.
  • Beispielsweise speichert ein Graphikprozessor Positionsinformation für alle Pixel in einer Szene, welche die Punkte eines Objektes in der computergezeichneten Szene darstellen, um zu bestimmen, welche Objekte dargestellt werden und was im gerenderten oder gezeichneten Bild zu sehen sein wird. Ein Teil der Positionsinformation ist in Form eines Z-Puffers für das Bild abgelegt. Der Z-Puffer für ein Bild oder einen Frame (Rasterbild) einer Szene ist eine Gruppe von Datenwerten, nämlich einem Datenwert für jedes Pixel des Bildes, ausgehend von Koordinaten, welche die Position eines Objektes in der Szene bestimmen. Dies bedeutet, dass die Z-Pufferdaten dazu verwendet werden, vorzugeben, wie weit ein Pixel eines Objektes von der Kameraperspektive entfernt ist. Somit gibt es einen Z-Pufferdateneintrag für jedes Pixel einer Bildanzeige, und der Graphikprozessor speichert die Daten, welche die Position des Pixels im Computermodell angeben.
  • Jeder Z-Pufferdatenpunkt kann durch ein Datenwort, wie z.B. ein 32-Bit-Datenwort, dargestellt werden, siehe z.B. Abschnitt 1.5, „Hidden surface removal algorithm" auf S. 22 in Advanced Animation and Rendering Techniques von A. Watt und M. Watt (ACM Press 1992). Die Wiedergabetreue und Genauigkeit des Computerbildes hängen teilweise von der Fähigkeit des Graphikprozessors ab, die notwendigen mathematischen Berechnungen bezüglich der im Z-Puffer eingebetteten Objektpositionsinformation durchzuführen, und kommerziell erhältliche Graphikprozessoren werden hinsichtlich ihrer mathematischen Rechenfähigkeiten und anderer Bildverarbeitungsleistungen stetig verbessert.
  • Computergezeichnete Bilder virtueller Realität haben typischerweise ein anderes Aussehen als reale Bilder (wie z.B. Fotografien oder Videobilder) von tatsächlichen Objekten. Einer der Gründe für die Diskrepanz zwischen Computerbildern virtueller Realität und Bildern von tatsächlichen physikalischen Objekten besteht darin, dass Bilder virtueller Realität die erwartete Feldtiefeninformation nicht realistisch zeigen. Im Allgemeinen bezieht sich die Feldtiefe auf den Grad der Veränderung von Einzelheiten, den das menschliche Auge für Objekte in einem Bild wahrzunehmen erwartet, abhängig davon, ob sich ein Objekt aus der Perspektive des Betrachters in der Nähe oder in großer Entfernung befindet. Beispielsweise werden Objekte in einer Fotografie, die aus der Perspektive des Betrachters weiter entfernt sind, weniger erkennbare Bilddetails aufweisen und weniger deutlich sein, als Objekte, die dem Betrachter näher sind. Somit haben weiter entfernte Objekte ein „verschwommenes" Aussehen und sind nicht so scharf und klar wie nahe Objekte.
  • Einer der Gründe für das „cartoonartige" Aussehen der meisten Bilder virtueller Realität besteht darin, dass nahe Objekte in den Bildern typischerweise nicht schärfer sind und keine weiteren Einzelheiten aufweisen, als weiter entfernte Objekte, und dass weiter entfernte Objekte nicht verschwommener aussehen als nahe Objekte. Mit anderen Worten, die Feldtiefe ist im gesamten Bild virtueller Realität konstant. Dies steht im Gegensatz zur Erscheinung von Bildern der „realen Welt". Somit entsteht ein Cartoon-Aussehen, wenn erkennbare Einzelheiten eines Objektes sich nicht in der erwarteten Weise verändern, wenn das Objekt im Bild näher oder weiter weg ist. Ein realistischeres Aussehen würde es erfordern, dass nahe Objekte in mehr Einzelheiten und schärfer zu sehen sind, als entferntere Objekte.
  • Es wurden einige Techniken verwendet, um verbesserte Feldtiefeninformation in Computerbildanzeigen bereitzustellen. Beispielsweise wird ein stochastisches Sampling-Verfahren beim diffusen Raytracing verwendet, um Feldtiefeninformation in einem vorgerenderten, computergenerierten Bild zu integrieren. Ein anderes Nachbearbeitungsverfahren verwendet die Daten der Pixelintensität und der Z-Pufferbildtiefe, um die Größe und Intensitätsverteilung des Zerstreuungskreises für jeden Bildpunkt zu bestimmen, wenn er sich auf seinen Z-Pufferwert und die verwendete Linsenapertur bezieht. Die Intensität jedes Punktes im Ausgabebild wird als gewichtetes Mittel der Intensitäten in den Zerstreuungskreisen berechnet, die sich im jeweiligen Punkt überlappen. Dieses Verfahren wird von Potmesil und Chakravarty beschrieben, worauf Bezug genommen wird in Computer Graphics: Principles and Practice, zweite Auflage in C, von J. Foley et al. (Addison-Wesley Publishing Company, Inc., 1996) in Abschnitt 16.10 auf den Seiten 774–775. Diese Verfahren sind jedoch Nachbearbeitungsverfahren und werden nicht dazu verwendet, Bilder in einem Echtzeitprozess zu rendern. Damit sind sie nicht zur interaktiven Verwendung geeignet.
  • Die WO 9848381 beschreibt ein Verfahren, bei dem ein oder mehrere monokulare Anhaltspunkte aus einem Originalbild extrahiert und kombiniert werden, um die Tiefenwirkung zu verstärken. Ein Originalbild wird gewonnen und in eines oder mehrere Objekte segmentiert. Die Objekte werden als entweder im Vordergrund oder im Hintergrund liegend identifiziert, und es wird ein Objekt von Interesse identifiziert. Dann werden ein oder mehrere Tiefen-Anhaltspunkte, einschließlich Schattierung, Helligkeit, Unschärfe und Okklusion, aus dem Originalbild extrahiert. Die Tiefen-Anhaltspunkte können in Form eines oder mehrerer Zwischenbilder vorliegen, die eine verbesserte Tiefenwirkung aufweisen. Die Tiefen-Anhaltspunkte werden dann kombiniert oder angewandt, um ein Bild mit verbesserter Tiefenwirkung zu erzeugen.
  • Aus der obigen Erörterung sollte ersichtlich sein, dass ein Bedarf an realistischen, computergezeichneten Bildern mit verbesserter Feldtiefeninformation besteht. Die vorliegende Erfindung deckt diesen Bedarf.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist im beigefügten Verfahrensanspruch 1, Systemanspruch 10 und Programmanspruch 20 dargelegt; sie stellt ein Anzeigebild mit verbesserter Feldtiefendarstellung einer dreidimensionalen Szene bereit, indem ein scharfes Bild der Szene, das einer fokussierten Darstellung entspricht, mit einer unscharfen Bilddarstellung der Szene kombiniert und dann eine Alpha-Mischung zwischen den scharfen und unscharfen Bildern erzeugt wird, indem das scharfe und das unscharfe Bild entsprechend den Z-Pufferdaten kombiniert werden, die üblicherweise von Graphikprozessoren zum Entfernen verdeckter Flächen verwendet werden. Auf diese Weise werden die Bilddaten aus dem Z-Puffer als Alphakanal verwendet und mit Farbkanaldaten des scharfen und des unscharfen Bildes gemischt, um ein Alphakanaldatenbild (RGBA-Bild) mit Feldtiefeninformation zu erzeugen. Dies ergibt eine realistischere Bilddarstellung der Szene, die für Objekte in einer Entfernung schärfer und weniger deutlich für Objekte in einer anderen Entfernung ist, und mit weniger Sättigung in den Hintergrundbereichen des Bildes.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen, die beispielshalber die Prinzipien der Erfindung veranschaulichen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Computeranzeigebild einer Szene, das ein unendlich scharfes Bild zeigt, wie es durch einen Graphik-Rendering-Prozeß des Computers erzeugt werden kann;
  • 2 ist ein Computeranzeigebild der Szene aus 1, welches eine 8-Bit-Darstellung von Z-Pufferdaten für die Szene zeigt;
  • 3 ist ein Computeranzeigebild der Szene aus 1, welches eine unscharfe Bildversion der unendlich scharfen Szene der 1 zeigt;
  • 4 ist Computeranzeigebild der unendlich scharfen Szene auf 1, welches eine Alpha-Mischung des scharfen Bildes aus 1 und des unscharfen Bildes aus 3 unter Verwendung der Z-Pufterbilddaten aus 2 als Alphakanal zeigt;
  • 5 ist eine graphische Darstellung der Mischung des unendlich scharfen Bildes aus 1 und des unscharfen Bildes aus 3 unter Verwendung der Z-Pufferbilddaten aus 2 zur Alpha-Mischung;
  • 6 ist ein Computeranzeigebild der Szene aus 1, welches ein entsprechendes Z-Puffer-Umkehrbild zeigt;
  • 7 ist ein Computeranzeigebild der Szene aus 1, welches das Ergebnis der Kombination des unendlich scharfen Bildes aus 1 mit dem unscharfen Bild aus 3 zeigt, wobei die Z-Puffer-Umkehrbilddaten aus 6 als Alphakanal verwendet werden;
  • 8 ist ein 8-Bit-Z-Pufferbild, dass zwischen den Bildern aus 2 und 6 liegt;
  • 9 ist ein unscharfes Schwarzweiß-Bild (nichtfarbiges Bild), das durch ein Farbkanal-Kopierverfahren erzeugt wird, bei dem eine Farbe des unscharfen Bildes aus 3 auf sich selbst kopiert wird, um das Bild aus 9 zu erzeugen;
  • 10 ist ein Bild mit verringerter Sättigung, das durch Kombination von 1 mit 9 erzeugt wird;
  • 11 ist ein Blockdiagramm eines Computersystems und einer Computeranzeige, mit denen die in den 1 bis 10 gezeigten Bilder erzeugt werden können;
  • 12 ist ein detailliertes Blockdiagramm des in 11 dargestellten Computersystems;
  • 13 ist ein detailliertes Blockdiagramm einer Ausführungsform eines Computersystems zur Anzeige von gemäß der vorliegenden Erfindung erzeugten Bildern;
  • 14 ist eine Darstellung eines beispielhaften Anzeigepixels eines Computersystems, das gemäß der vorliegenden Erfindung gebaut ist, wie z.B. die in den 11, 12 und 13 gezeigten Systeme;
  • 15 ist eine Darstellung eines einzigen Z-Puffer-Eintrags der in den 11, 12 und 13 dargestellten Computersysteme;
  • 16 ist eine Darstellung der Frame-Buffer-Umgebung für die Anzeigegeräte der in den 11, 12 und 13 dargestellten Computersysteme, und
  • 17 ist ein Flussdiagramm, das die von den Computersystemen nach den 11 bis 13 durchgeführte Verarbeitung zur Erzeugung der Bilder mit verbesserter Feldtiefeninformation gemäß der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung wird im Zusammenhang mit einer beispielhaften Anzeigeumgebung beschrieben, die herkömmliche Computeranzeige-Farbmodelle zur Darstellung von Szenen verwendet. Die beispielhafte Umgebung wird lediglich zu Beschreibungszwecken verwendet. Die Erfindung soll nicht auf diese beispielhafte Umgebung beschränkt sein. Der Fachmann wird verstehen, dass die Einzelheiten der Beispielsumgebung auf andere Graphikverarbeitungsumgebungen angewandt werden können, ohne von den Lehren dieser Erfindung abzuweichen.
  • 1 ist ein Computeranzeigebild einer computergenerierten Szene, das ein unendlich scharfes Bild zeigt, wie es durch einen herkömmlichen Computergraphik-Rendering-Prozess erzeugt werden kann. Es sei angemerkt, dass 1 ein Bild einer Treppenszene zeigt, das unendlich scharf und fokussiert ist, so dass die Treppen im Vordergrund (dem Betrachter im Bild am nächsten) genauso scharf sind, wie die Treppen im Hintergrund (weiter weg vom Betrachter). Gleichermaßen sind die Säulen in der Szene von Nahem, d.h. im Vordergrund der Szene, genauso scharf wie von weiter weg. Dies ist charakteristisch für viele computergerenderte Bilder und führt zu einem Aussehen, das als „cartoonartig" charakterisiert ist.
  • Insbesondere weist eine typische Animationsszene oder ein anderes computergezeichnetes Bild eine unendliche Schärfe auf, obwohl ein fotografisches Bild (und was mit der tatsächlichen Sehkraft zu sehen ist) typischerweise keine unendliche Schärfe aufweist. Die vorliegende Erfindung kann ein realistischeres Bild erzeugen, wobei keine weitere visuelle Information als das ursprünglich unendlich scharte Bild verwendet werden, so dass ein gemäß der Erfindung erzeugtes Bild Feldtiefeninformation enthält und einen sich verändernden Fokus oder eine sich verändernde Schärfe von Objekten in der Szene zeigen kann, wobei die Veränderung des Fokus vom Bildabstand von Objekten in der Szene zum Betrachter abhängt. Auf diese Weise können einzelne Bilder aus einer Sequenz von Bildern verarbeitet werden, um eine genaue Feldtiefen-Bildverarbeitung hinzuzufügen. Somit kann eine Sequenz von Animationsszenen nacheinander so verarbeitet werden, dass eine gesamte Animationssequenz ein realistischeres Aussehen bekommen kann. Zusätzlich kann die erfindungsgemäße Bildverarbeitung, wie weiter unten beschrieben, in einer Echtzeit-Rendering-Umgebung durchgeführt werden, was die interaktive Graphikverarbeitung mit verbesserten Feldtiefen-Darstellungen unterstützt.
  • 2 ist ein Computeranzeigebild der Szene aus 1, das eine 8-Bit-Darstellung von Z-Pufferdaten für die Szene zeigt. Wie zuvor erwähnt, werden die meisten Computergraphikanzeigen dreidimensionaler Objekte in einer Welt virtueller Realität mittels eines Z-Pufferdatenspeichers gerendert, der die Entfernung jedes Objektes in der Welt virtueller Realität vom Betrachter oder die Kameraperspektive verfolgt. Beispielsweise zeigt 2 Z-Pufferdaten, bei denen jedes Pixel im Bild umso dunkler gemacht wird, je größer die Entfernung zum Benutzer (Kameraperspektive) wird. Damit sind nahe Objekte heller und entfernte Objekte dunkler. Die Z-Pufferdaten umfassen Positionsinformation für Objekte in der Szene. Solche Daten werden typischerweise mit einer Auflösung gespeichert, die der Rechenleistung des Graphikprozessors entspricht, der oft eine 64-Bit- oder sogar eine 128-Bit-Rechenleistung aufweist. Wie weiter unten beschrieben, sieht die vorliegende Erfindung die Verwendung der Z-Pufferdaten zur Verarbeitung von Pixeldaten vor, die typischerweise mit einer Videoanzeigeauflösung von acht Bit pro Pixel gespeichert sind. Die vorliegende Erfindung eignet sich zur Verwendung mit einer großen Vielzahl von Rechenplattformen, einschließlich Spielkonsolen, PCs und Workstations. Eine außerordentliche Menge an Rechenleistung ist daher nicht notwendig, um die Erfindung auf einer Rechenplattform zu implementieren.
  • 3 ist ein Computeranzeigebild der Szene aus 1, welches ein unscharfes Bild der Szene aus 1 zeigt. 3 kann lediglich ausgehend von Daten, welche die Szene aus 1 darstellen, erzeugt werden. Das unscharfe Bild aus 3 kann z.B. durch ein Verfahren, das als MIP-Mapping bezeichnet wird, oder durch Verschieben des scharfen Bildes auf sich selbst mit einer vorbestimmten Verschiebung erzeugt werden. Beispielsweise kann das unscharfe Bild durch einen Oft-Screen-Kopierprozess erzeugt werden, der das scharfe Bild mit einem Versatz von einem Pixel sowohl in der horizontalen als auch in der vertikalen Richtung auf sich selbst kopiert. Andere Mittel zum Bereitstellen eines unscharfen Bildes werden dem Fachmann einfallen: Beispielsweise umfasst der MIP-Mapping-Vorgang ein Texture-Mapping-Verfahren, bei dem ein Graphikprozessor mehrere Kopien (MIP-Maps) einer Original-Zeichnungsstruktur für ein Objekt in einer Szene mit verschiedenen Stufen von Detail erzeugt und dann entsprechend der Entfernung des Betrachters zum Objekt eine MIP-Map auswählt.
  • Nachdem das scharfe Bild (1) und das unscharfe Bild (3) für die zu verarbeitende Szene erhalten wurden, werden die üblicherweise vom Graphikprozessor des Computeranzeigesystems verwendeten Z-Pufferdaten genutzt. Wie zuvor erwähnt, wird der Z-Puffer üblicherweise in einer Computer-Bildbearbeitungsumgebung zum Entfernen verdeckter Flächen verwendet, was auch als Bestimmung sichtbarer Flächen bezeichnet wird. Der Z-Puffer enthält Abstandsdaten für jedes Pixel eines zu rendernden Bildes. Das Entfernen verdeckter Flächen umfasst beim Rendern eines Objektes in einer computergenerierten Szene die Feststellung, ob ein Punkt auf dem Objekt relativ zum Betrachter jeweils an einem Bildpixelort liegt, der weiter entfernt ist, als der aktuelle Abstand für dieses Pixel im Z-Puffer. Wenn ein Punkt auf dem Objekt weiter vom aktuellen Z-Pufferwert für diesen Pixelort entfernt ist, dann ist dieser Objekt-Pixelpunkt im gerenderten Bild nicht sichtbar und wird vom Graphikprozessor nicht gezeichnet.
  • Das Z-Puffer-Verarbeitungsverfahren zum Entfernen verdeckter Flächen ist beispielsweise in Computer Graphics: Principles and Practice, zweite Auflage (1996) von J. Foley et al. (Addison-Wesley Publishing Company, Inc.) in Abschnitt 15.4 („The Z-Buffer Algorithm") auf den Seiten 668 bis 672 beschrieben.
  • Die vorliegende Erfindung verwendet die Z-Pufferpixelabstandsdaten und erzeugt ein sogenanntes Alpha-Mischbild, welches das scharfe Bild und das unscharfe Bild mit einem Bild kombiniert, das aus den Z-Pufferdaten erzeugt wurde. Für den Fachmann ist verständlich, dass ein Computeranzeigebild typischerweise durch Kombinieren dreier Farbinformationskanäle mit einem Alpha-Informationskanal erzeugt wird. Die Farbkanäle umfassen rote, grüne und blaue Pixelbilddaten, welche die Farbinformation der Szene darstellen. Der Alphakanal (α-Kanal) der Daten stellt die Opazität der Bildpixel dar, die von vollständig opak bis zu transparent reicht. In den meisten Verarbeitungssystemen und Farbmodellen wird jeder dieser vier Bilddatenkanäle durch acht Informationsbits für jedes Pixel dargestellt.
  • Der Fachmann ist mit dem Verfahren zum Kombinieren eines Bildes durch einen „Alpha-Misch"-Vorgang vertraut. Die Alphakanal-Opazitätsdaten werden dazu verwendet, das Mischen roter, grüner und blauer Bildanteile so zu steuern, dass ein „alphagemischtes" Bild mit den richtigen Lichtdurchlässigkeitswerten erzeugt wird. In einem herkömmlichen System werden dabei die roten, grünen und blauen Farbkanäle der Bildinformation zusammen mit der Alphakanal-Opazitätsinformation kombiniert, wodurch ein sogenanntes RGBA-Farbinformationsmodell erzeugt wird. Somit ist eine Szene zum Zweck des Rendering durch einen Graphikprozessor vollständig beschrieben, indem die rote, grüne und blaue Farbinformation und die Alphakanalinformation für jedes Pixel angegeben werden.
  • Das Verfahren zur Kombination mittels Alpha-Mischung ist beispielsweise in Computer Graphics: Principles and Practice, zweite Auflage (1996), von J. Foley et al. (Addison-Wesley Publishing Company, Inc.) in Abschnitt 17.6 („Image Compositing") auf den Seiten 835 bis 843 beschrieben. Eine andere Beschreibung eines Kombinationsverfahrens ist im US-Patent Nr. 5,379,129 von Othmer et al., „Method for Compositing a Source and Destination Image Using a Mask Image" beschrieben.
  • Die vorliegende Erfindung bezieht sich auf ein Kombinationsverfahren mit den Daten für das scharfe Bild, für das unscharfe Bild und den Z-Pufferdaten, wobei die Z-Pufferdaten als Alphakanal verwendet werden, um das Mischen des scharfen Bildes und des unscharfen Bildes zu steuern. Insbesondere werden die Z-Pufferdaten dazu verwendet, die Lichtdurchlässigkeit des unscharfen Bildes entsprechend dem Abstand jedes Pixels aus der Perspektive des Betrachters zu bestimmen. Bei der bevorzugten Ausführungsform wird für jedes schwarze (opake) Pixel im Z-Puffer der volle Wert (100%) der Daten für das unscharfe Bild zum Kombinieren mit dem scharfen Bild verwendet. Für jedes weiße (transparente) Pixel des Z-Puffers wird kein (null Prozent) unscharfes Bild mit dem scharten Bild kombiniert. Für Pixel in Grauschattierungen zwischen 100% und 0% wird ein entsprechender proportionaler Prozentsatz des scharfen und des unscharfen Bildes kombiniert. Somit wird eine lineare Interpolation verwendet, um den Prozentsatz zu bestimmen, zu dem das eine Bild mit dem anderen kombiniert werden soll. Auf diese Weise werden die Z-Pufferdaten des Szenenbildes als Feldtiefen-Alphakanal verwendet.
  • 4 ist ein Computeranzeigebild der Szene aus 1, welches das Ergebnis des Alpha-Mischens des unendlich scharfen Bildes aus 1 mit dem unscharfen Bild aus 3 unter Verwendung der Z-Pufferbilddaten als Alphakanal gemäß der Erfindung zeigt. Ein herkömmliches Alpha-Mischverfahren kann dazu eingesetzt werden, das gemischte Bild gemäß der Erfindung durch Auswahl einer Kombination aus scharfem Bild, unscharfem Bild und Z-Pufferdaten für das Kombinationsverfahren zu erzeugen. Es ist anzumerken, dass 4 ein Bild zeigt, bei dem die Treppen im Vordergrund scharf und deutlich sind, während die Treppen im Hintergrund (weiter vom Betrachter entfernt) nicht so scharf und deutlich, sondern eher verschwommen sind. Dies ist realistischer und der Feldtiefe ähnlicher, die bei typischen Fotografien von realen Szenen zu beobachten ist.
  • 5 ist eine graphische Darstellung der Mischung des unendlich scharfen Bildes aus 1 und des unscharfen Bildes auf 3 unter Verwendung der Z-Pufferbilddaten aus 2 zum Steuern der Mischung. 5 zeigt somit das unendlich scharfe Bild 502 aus 1 und das unscharfe Bild 504 aus 3, die mit dem 8-Bit-Z-Pufferbild 506 aus 2 kombiniert (zusammengesetzt) werden, wodurch das Bild 508 aus 4 mit hinzugefügter Feldtiefeninformation erzeugt wird.
  • Mit dem gleichen Verfahren nach der vorliegenden Erfindung kann ohne weiteres ein Feldtiefen-„Umkehrbild" erzeugt werden. Unter einem Umkehrbild ist hier ein Bild zu verstehen, bei dem die Objekte in einer Szene, die dem Betrachter näher sind, unschärfer und weniger deutlich sind, während die Objekte, die weiter vom Betrachter entfernt sind, schärfer und deutlicher sind. Dies ist das Gegenteil von dem, was typischerweise in Fotografien zu beobachten ist, und wird daher als Bild mit umgekehrter Feldtiefe bezeichnet.
  • Ein Bild mit umgekehrter Feldtiefe kann ohne weiteres unter Verwendung eines Z-Puffer-Umkehrdatensatzes erzeugt werden. Dabei werden die Z-Puffer-Umkehrdaten erzeugt, wenn Z-Pufferpixel, die schwarz (opak) sind, in weiße (transparente) umgewandelt werden, und Z-Pufferpixel, die weiß sind, in schwarze umgewandelt werden. Dazwischen liegende Grauschattierungen werden entsprechend verändert, um ähnlich umgekehrt zu werden. Wenn die Daten für die umgekehrte Feldtiefe mit dem scharten und dem unscharfen Bild kombiniert werden, wird ein Umkehrbild der Szene erzeugt. Für den Fachmann ist ersichtlich, dass die Zwischenwerte für das umgekehrte Bild durch lineare Interpolation der Z-Pufferwerte bestimmt werden können, die von schwarz nach weiß verändert werden.
  • 6 ist ein Computeranzeigebild der Szene aus 1, das die invertierten 8-Bit-Z-Pufferdaten zeigt. In dieser Hinsicht ist 6 ein Umkehrbild von 2. Es ist ersichtlich, dass in 5 Objekte, die dem Betrachter näher sind, schwarz (opak) gezeigt sind, während weiter vom Betrachter entfernte Objekte weiß (transparent) dargestellt sind. Die Umkehrfeldtiefendaten können nützlich sein, um einen veränderten Fokuspunkt für ein Bild zu zeigen und Übergangseffekte zu erzeugen.
  • 7 ist ein Computeranzeigebild der Szene aus 1, welches das Ergebnis der Kombination des scharfen Bildes aus 1 mit dem unscharfen Bild aus 3 und der Verwendung der invertierten Z-Pufferbilddaten aus 6 als Alphakanal zum Kombinieren, um einen veränderten Fokuspunkt zu zeigen. 7 zeigt, dass Objekte im Vordergrund (näher am Betrachter) unscharf und undeutlich sind, während Objekte im Hintergrund (weiter vom Betrachter entfernt) scharf und deutlicher sind. Im Sinne einer Fokusperspektive kann 7 als „Gegenteil" von 4 bezeichnet werden.
  • Einer der nützlichen Effekte, die mit den Z-Pufferumkehrdaten erzeugt werden können, wird als „Schärfenänderungseftekt" bezeichnet, bei dem aufeinander folgende Computerbilder einer Szene unter Verwendung unterschiedlicher Z-Pufferdatensätze erzeugt werden können, um den Fokuspunkt in einem Szenenbild effektiv zu verändern. Beispielsweise kann ein unendlich scharfes Bild einer Szene, wie 1, in Echtzeit nacheinander mit Z-Pufferdaten, zuerst mit den Z-Pufferdaten für 2 und zuletzt mit den Z-Pufferdaten für 6, sowie dazwischen mit dazwischen liegenden Z-Pufferdaten, kombiniert werden.
  • 8 zeigt ein mit Z-Pufferdaten erzeugtes Z-Pufterzwischenbild, das zwischen 2 und 6 liegt. 8 erzeugt wirksam ein Bild mit verringertem Kontrast. Wenn das scharfe und das unscharfe Bild (1 bzw. 3) mit jedem der aufeinander folgenden Z-Pufferbilder aus 2 bis 8 und zuletzt mit 6 alphagemischt (kombiniert) wird (oder umgekehrt), erscheint es jemandem, der die dadurch erzeugte Sequenz von Bildern betrachtet, dass sich der Fokus verändert. Eine Person, welche die aufeinander folgenden, kombinierten Bilder betrachtet, wird somit einen Fokus „sehen", der sich vom Vordergrund zum Hintergrund der Szene entsprechend den mit den Z-Pufferbildern aus 2 bis 6 kombinierten Bildern verändert. Es sollte ersichtlich sein, dass der Brennpunkt in jedem beliebigen der aufeinander folgenden kombinierten Bilder dem Z-Puffer-Referenzbild (Bildort) für das jeweilige kombinierte Bild entspricht. Somit kann ein zwischen 4 und 7 liegender Effekt erzeugt werden, indem dazwischen liegende Z-Pufterumkehrdatensätze verwendet werden, wie sie in 8 dargestellt sind.
  • Somit kann, wie oben beschrieben, eine Sequenz von kombinierten Szenenbildern mit mehreren Zwischenbildern erzeugt werden, so dass die Sequenz von Szenenbildern den Betrachterfokus sanft und allmählich vom Vordergrund (4) zum Hintergrund (7) und zu dazwischen liegenden Punkten „führt". Ein Startpunktbild (wie z.B. 4) aus dem Z-Puffer und ein Endpunktbild (wie z.B. 7) aus dem Z-Puffer können zum Erzeugen der mehreren dazwischen liegenden, kombinierten Bilder in regelmäßigen graphischen Intervallen verwendet werden, um einen sanften Übergang für den Betrachter sicherzustellen. Beispielsweise kann eine lineare Interpolation verwendet werden, um die dazwischen liegenden Z-Pufferbilder in gleichmäßigen Intervallen zwischen dem Startbild und dem Endbild zu erzeugen. Die Sequenz der dazwischen liegenden Z-Pufferbilder wird abwechselnd mit den scharfen und unscharfen Bildern kombiniert. Ein Zwischendatenspeicher kann verwendet werden, um die Pixeldaten für die mehreren Zwischenbilder im Prozessorspeicher zu speichern. Wie zuvor angemerkt, können solche Bilder mit herkömmlicher Bildverarbeitungs-Hardware in Echtzeit erzeugt werden. Andere visuelle Effekte können mit den Lehren der vorliegenden Erfindung erzeugt werden.
  • Ein anderer visueller Effekt, der mit dem Verfahren nach der vorliegenden Erfindung erzeugt werden kann, ergibt ein Bild mit verringerter Sättigung. Beispielsweise kann der Farbton des blauen Kanals für das unscharfe Bild (wie z.B. das in 3 gezeigte unscharfe Bild) durch eine Vertex-Farbmanipulation zum blauen Farbspektrum hin oder zu jeder anderen Farbe verschoben werden, um einen atmosphärischen Nebeleffekt zu erzeugen. Für den Fachmann ist ersichtlich, wie herkömmliche Graphikverarbeitungssysteme eingesetzt werden können, um eine solche Manipulation durchzuführen. Gleichermaßen können die roten Kanaldaten des unscharfen Bildes in die grünen Kanaldaten und blauen Kanaldaten des unscharfen Bildes kopiert werden, um ein unscharfes Schwarzweißbild zu erzeugen. 9 ist ein Beispiel für ein unscharfes Schwarzweißbild, das mit einem solchem Verfahren erzeugt wurde. Das resultierende unscharfe Schwarzweißbild kann mit dem unendlich scharfen Bild alphagemischt werden, um ein realistisches Bild zu erzeugen, das in den entfernten Bereichen der Szene weniger gesättigt ist. 10 ist ein Beispiel für ein Bild mit verringerter Sättigung, das durch Alpha-Mischen eines unendlich scharfen Bildes, wie dem aus 1, mit einem unscharfen Schwarzweißbild, wie dem aus 9, erzeugt wurde.
  • Hardware-Konfiguration
  • Es können verschiedene Computer-Konfigurationen mit Graphikverarbeitungsfähigkeit verwendet werden, um die verbesserten Graphikbilder der zuvor beschriebenen Art in Echtzeit bereitzustellen. Solche Konfigurationen umfassen Informationsverarbeitungssysteme, PCs, und Videospielsysteme.
  • Die oben beschriebene Verarbeitung kann ohne weiteres verfügbare Hardware-Komponenten eines Computergraphikprozessors verwenden, der Bilddaten kombiniert, um RGBA-Daten zu erzeugen, und Z-Pufferdaten zur Entfernung verdeckter Flächen nutzt, wie dies oben beschrieben ist. Gemäß der Erfindung verwendet der Graphikprozessorvorgang die Z-Pufferdaten als Alpha-Mischkanal und gestattet dadurch die Durchführung der zuvor beschriebenen Verarbeitung in Echtzeit. Die Echtzeitverarbeitung ermöglicht eine größere Flexibilität im Einsatz der Bildverarbeitung, die hier beschrieben wird, wodurch sie für interaktive Anwendungen, wie z.B. Spiele, geeignet wird. Alternativ dazu kann die Verarbeitung nach der Erfindung in einer Kombination aus Hardware und Software eingesetzt werden, die besonders zur Durchführung der hier beschriebenen Bildverarbeitung geeignet ist.
  • 11 ist eine schematische Darstellung eines Datenverarbeitungs- oder Videospielsystems 1100, das eine Graphikverarbeitung gemäß der vorliegenden Erfindung bereitstellt. Das Videospielsystem 1100 umfasst eine Videospiel-Haupteinheit 1110 und einen oder mehrere Controller 1120, die über entsprechende Controller-Schnittstellen 1125 an der Haupteinheit 1110 kommunikativ mit der Haupteinheit 1110 gekoppelt sind. Die Controller 1120 umfassen jeweils ein Eingabegerät zum Empfangen von Benutzerbefehlen.
  • Das Videospielsystem 1100 bildet eine Schnittstelle mit einem audiovisuellen (AV)-Ausgabegerät 1135, das kommunikativ mit der Haupteinheit 1110 gekoppelt ist. Das AV-Ausgabegerät 1135 umfasst einen Anzeigebildschirm 1140 zur Anzeige von Bilddaten gemäß von der Haupteinheit 1110 empfangenen Signalen. Das AV-Ausgabegerät 1135 umfasst auch einen oder mehrere Lautsprecher 1145 zur Ausgabe von Audiodaten gemäß von der Haupteinheit 1110 empfangenen Signalen.
  • Die Haupteinheit umfasst einen Programmleser 1150, der so konfiguriert ist, dass er ein Spielprogramm-Speichermedium, wie z.B. eine magnetische Floppydisk, eine optische CD-ROM, eine CD-R, eine CD-RW, eine DVD oder dergleichen, aufnehmen kann. Das Spielprogramm-Speichermedium ist ein Aufzeichnungsmedium, das der Haupteinheit 1110 ein Anwendungsprogramm, wie z.B. ein Videospiel, bereitstellt. Die Haupteinheit 1110 ist so konfiguriert, dass sie Daten verarbeitet und die Programmbefehle, die auf dem Spielprogramm-Speichermedium vorhanden sind, ausführt. Die Haupteinheit 1110 gibt gemäß den Programmbefehlen Bild- und Tondaten an das AV-Ausgabegerät 1135 aus. Die Haupteinheit empfängt über die Controller 1120 Eingaben vom Benutzer, was nachfolgend noch näher beschrieben wird.
  • 12 ist ein Blockdiagramm einer beispielhaften Hardware-Konfiguration für das in 11 gezeigte Videospiel-Unterhaltungssystem. Das Videospielsystem 1100 (11) umfasst eine Zentralverarbeitungseinheit (CPU) 1200, die einem Hauptspeicher 1205 zugeordnet ist. Die CPU 1200 arbeitet mittels Steuerung durch Programmschritte, die im OS-ROM 1260 gespeichert sind oder von einem Spielprogramm-Speichermedium an den Hauptspeicher 1205 übertragen werden. Die CPU 1200 ist so konfiguriert, dass sie gemäß den Programmierschritten Daten verarbeitet und Befehle ausführt.
  • Die CPU 1200 ist über einen reservierten Bus 1225 kommunikativ mit einem Eingabe/Ausgabe-Prozessor (IOP) 1220 gekoppelt. Der IOP 1220 koppelt die CPU 1200 mit dem OS-ROM 1260, der aus einem nicht flüchtigen Speicher besteht, welcher Programmbefehle, wie z.B. ein Betriebssystem, speichert. Die Befehle werden vorzugsweise bei Inbetriebnahme der Haupteinheit 1110 über den IOP 1220 an die CPU übertragen (11).
  • Die CPU 1200 ist über einen reservierten Bus 1215 kommunikativ mit einer Graphikverarbeitungseinheit (GPU) 1210 gekoppelt. Die GPU 1210 ist ein Bilderzeugungsprozessor, der so konfiguriert ist, dass er Bilderzeugungsprozesse durchführt und Bilder gemäß von der CPU 1200 empfangenen Befehlen erzeugt. Beispielsweise kann die GPU 1210 ein Graphikbild ausgehend von Anzeigelisten rendern, die von der CPU 1200 erzeugt und empfangen werden. Die GPU kann einen Puffer zum Speichern graphischer Daten aufweisen. Die GPU 1210 gibt Bilder an das AV-Ausgabegerät 1135 (11) aus.
  • Der IOP 1220 steuert den Datenaustausch zwischen der CPU 1200 und mehreren Peripheriekomponenten gemäß Befehlen, die in einem IOP-Speicher 1230 gespeichert sind. Die Peripheriekomponenten können einen oder mehrere Controller 1120, eine Speicherkarte 1240, eine USB-Schnittstelle 1245 und einen IEEE 1394 Serial Bus 1250 umfassen. Zusätzlich ist ein Bus 1255 kommunikativ mit dem IOP 1220 gekoppelt. Der Bus 1255 ist mit mehreren zusätzlichen Komponenten, einschließlich dem OS-ROM 1260, einer Klangprozessoreinheit (SPU) 1265, einer Optical-Disc-Steuereinheit 1275 und einem Festplattenlaufwerk (HDD) 1280 verknüpft.
  • Die SPU 1265 ist zum Erzeugen von Klängen, wie z.B. Musik, Soundeffekten, und Stimmen, gemäß Befehlen, die sie von der CPU 1200 und vom IOP 1200 empfängt, konfiguriert. Die SPU 1265 kann einen Klangpuffer umfassen, in dem Waveform-Daten gespeichert sind. Die SPU 1265 erzeugt Klangsignale und überträgt diese Signale an die Lautsprecher 1145 (11).
  • Die Disc-Steuereinheit 1275 ist zur Steuerung des Programmlesers 1150 (11) konfiguriert, der z.B. ein optisches Laufwerk umfassen kann, das Wechselspeichermedien, wie z.B. eine magnetische Floppydisk, eine optische CD-ROM, eine CD-R, eine CD-RW, eine DVD oder dergleichen, aufnimmt.
  • Die Speicherkarte 1240 kann ein Speichermedium umfassen, auf das die CPU 1200 Daten schreiben und speichern kann. Die Speicherkarte 1240 kann vorzugsweise in den IOP 1220 eingesetzt und aus diesem entfernt werden. Ein Benutzer kann mit der Speicherkarte 1240 Spieldaten speichern oder sichern. Zusätzlich ist das Videospielsystem 1100 vorzugsweise mit mindestens einem Festplattenlaufwerk (HDD) 1280 versehen, auf das Spieldaten geschrieben und gespeichert werden können. Eine Daten-I/O-Schnittstelle, wie z.B. ein IEEE 1394 Serial Bus 1250 oder eine Universal Serial Bus (USB)-Schnittstelle 1245, ist vorzugsweise kommunikativ mit dem IOP 1220 gekoppelt, damit Daten in das Videospielsystem 1100 hinein und aus diesem heraus übertragen werden können.
  • Zum besseren Verständnis der bei der Erzeugung von Anzeigebildern gemäß der vorliegenden Erfindung beteiligten Verarbeitung wird nun eine detailliertere Beschreibung des Bildverarbeitungssystems gegeben.
  • 13 zeigt eine Anordnung des in einer Heimvideospielkonsole eingebauten Bildverarbeitungssystems. Das Bildverarbeitungssystem ist im wesentlichen zur Verwendung in einem Heimvideospielgerät, einem Mikrocomputer oder einem graphischen Gerät für Computersysteme ausgelegt. Das Bildverarbeitungssystem der Ausführungsform von 13 gestattet es einem Benutzer das Spielen eines Spiels durch Steuern der relevanten Daten (z.B. Spielprogramme), die von einem Speichermedium, wie z.B. einer optischen Disc (z.B. einer CD-ROM), aufgerufen werden, das auch entsprechend der vorliegenden Erfindung zum Speichern der Daten in einem spezifischen Format ausgelegt ist.
  • Insbesondere umfasst das Bildverarbeitungssystem der in 13 gezeigten Ausführungsform ein Hauptsteuermodul 1302 mit einer Zentralverarbeitungseinheit (CPU) 1304 und deren Peripheriegeräten (einschließlich eines Peripheriegeräte-Controllers 1306), ein Graphikmodul 1320, das im wesentlichen aus einer Graphikverarbeitungseinheit (GPU) 1324 zum Zeichnen eines Bildes in einem Frame Buffer 1326 besteht, ein Klangmodul 1340, das aus einer Klangverarbeitungseinheit (SPU) 1342 und anderen Geräten zur Ausgabe von Musik- oder Effektklang besteht, ein Optical-Disc-Steuermodul 1360 zum Steuern eines optischen (z.B. CD-ROM)-Laufwerks 1362, das als zusätzliches Speichermittel zum Decodieren wiedergegebener Daten dient, ein Kommunikationssteuermodul 1380 zum Steuern der Eingabe von Befehlssignalen eines Controllers 1386, Eingabe und Ausgabe von Daten bezüglich der Spielparametereinstellung in einem Unterspeicher (oder einer Speicherkarte) 1384 und einen Haupt-Bus 1399, der vom Haupt-Steuermodul 1302 bis zum Kommunikationssteuermodul 1380 angeschlossen ist.
  • Das Haupt-Steuermodul 1302 umfasst die CPU 1304, den Peripheriegeräte-Controller 1306 zum Steuern von Interruptvorgängen, Zeitsequenzen, Speichervorgängen und zur Übertragung eines Signals für den Direktspeicherzugrift (DMA), einen Hauptspeicher 1308, der z.B. aus 2 Megabyte (2 MB) RAM besteht, und einen ROM 1310, der z.B. 512 kByte Speicher umfasst, in dem Programme, einschließlich eines Betriebssystems zum Betreiben des Hauptspeichers 1308, des Graphikmoduls 1320 und des Klangmoduls 1340, gespeichert sind. Die CPU 1304 kann ein 32-Bit-Computer mit reduziertem Befehlssatz (RISC) zum Ausführen des im ROM 1310 gespeicherten Betriebssystems zur Steuerung des gesamten Systems sein. Die CPU 1304 umfasst auch einen Befehlscache- und einen Notizblockspeicher zum Steuern der Realspeicherung.
  • Das Graphikmodul 1320 umfasst ein GTE 1322 mit einem arithmetischen Coprozessor zur Koordinatenberechnung, um ein Koordinatentransformationsverfahren durchzuführen, die GPU 1324 zum Erzeugen eines Bildes als Antwort auf Befehlssignale von der CPU 1304, den Frame Buffer 1326, der z.B. ein Megabyte (1 MB) Speicher zum Speichern von Graphikdaten, die von der GPU 1324 bereitgestellt werden, und einen Bild-Decoder 1328 (nachfolgend als „MDEC" bezeichnet) zum Decodieren codierter Bilddaten, die durch einen Orthogonaltransformationsprozess, wie z.B. diskrete Cosinustransformation, komprimiert und codiert sind. Das GTE 1322 kann einen parallelen Prozessor zur parallelen Durchführung einer Vielzahl arithmetischer Operationen aufweisen und dient als Coprozessor für die CPU 1304, um Hochgeschwindigkeitsaktionen zur Koordinatentransformation und zur Berechnung von Lichtquelle, Vektor und Matrix einer Festkommanotierungsverarbeitung auszuführen.
  • Insbesondere ist das GTE 1322 in der Lage, die Koordinatenberechnung von Polygonen mit typischerweise 1,5 Millionen pro Sekunde für das Flat Shading durchzuführen, bei dem jedes dreieckige Polygon in einer einzigen Farbe gezeichnet wird. Dadurch kann das Bildverarbeitungssystem die Belastung der CPU 1304 minimieren und somit die Koordinatenberechnungen mit einer höheren Geschwindigkeit durchführen. Die GPU 1324 reagiert auf einen Polygon-Zeichenbefehl von der CPU 1304 zum Zeichnen eines Polygons oder einer Graphik an den Frame Buffer 1326. Die GPU 1324 kann bis zu 360 000 Polygone pro Sekunde zeichnen und weist unabhängig von der CPU 1304 einen zweidimensionalen Adressbereich zum Mapping des Frame Buffer 1326 auf.
  • Der Frame Buffer 1326 umfasst einen sogenannten Dual-Port-RAM, der gleichzeitig eine Abfrage von Zeichendaten aus der CPU 1324 oder einen Datentransfer vom Hauptspeicher 1308 und eine Freigabe von Daten zur Anzeige durchführt. Zudem kann der Frame Buffer 1326 einen Speicher mit einer Größe von einem Megabyte aufweisen, der im 16-Bit-Format eine Pixelmatrix mit 1024 Werten in horizontaler Richtung mal 512 Werten in vertikaler Richtung bildet. Jeder beliebige Bereich in der Größe des Frame Buffer 1326 kann an ein Videoausgabemittel 1330, wie z.B. eine Anzeige, ausgegeben werden.
  • Zusätzlich zu dem Bereich, der als Videoausgang geliefert wird, umfasst der Frame Buffer 1326 einen Bereich mit einer Farbzuordnungstabelle (die nachfolgend als „CLUT" bezeichnet wird) zum Speichern einer CLUT, die während des Zeichnens von Graphiken oder Polygonen mittels GPU 1324 als Referenz verwendet wird, und einen Texturbereich zum Speichern von Texturdaten, die einer Koordinatentransformation und einem Mapping auf den Graphiken oder Polygonen, die von der GPU 1324 gezeichnet werden, unterzogen werden sollen. Die Größe sowohl der CLUT als auch der Texturbereiche kann abhängig von Veränderungen der Anzeigefläche dynamisch variiert werden. Damit kann der Frame Buffer 1326 einen Zeichenzugriff auf den Anzeigebereich und einen Hochgeschwindigkeits-DMA-Transfer zum Hauptspeicher 1308 und von diesem ausführen. Ebenso kann die GPU 1324 zusätzlich zum Flat Shading ein Gouraud-Shading, bei dem die Farbe eines Polygons durch Interpolation von Vertexfarbe bestimmt wird, und ein Texture Mapping, bei dem eine Textur, die aus dem Texturbereich ausgewählt ist, mit einem Polygon verknüpft wird. Für das Gouraud-Shading oder das Texture Mapping kann das GTE 1322 die Koordinatenberechnung mit einer Rate von bis zu 500 000 Polygonen pro Sekunde durchführen.
  • Die MDEC 1328 reagiert auf ein Befehlssignal von der CPU 1304 zum Decodieren von Unbewegt- oder Bewegtbild-Daten, die von einer CD-ROM aufgerufen werden und im Hauptspeicher 1308 gespeichert sind, und zu deren erneuter Speicherung im Hauptspeicher 1308. Insbesondere führt die MDEC 1328 bei einer hohen Geschwindigkeit einen Vorgang mit einer reversen, diskreten Cosinustransformation (als reverse DCT bezeichnet) zum Expandieren komprimierter Daten des Standards zur Komprimierung unbewegter Farbbilder (bekannt als JPEG) oder des Standards zur Codierung bewegter Bilder für Speichermedien (als MPEG bekannt, bei dieser Ausführungsform jedoch für eine Komprimierung innerhalb des Rasterbildes oder Frames) durch. Die reproduzierten Bilddaten werden über die GPU 1324 zum Frame Buffer 1326 übertragen und können daher als Hintergrund für ein von der GPU 1324 gezeichnetes Bild verwendet werden. Das Klangmodul 1340 umfasst die Klangprozessoreinheit (SPU) 1342, die auf einen Befehl von der CPU 1304 zum Erzeugen eines Musik- oder Effektklangs reagiert, einen Klangpuffer 1344, der beispielshalber, ohne jedoch zwangsläufig darauf beschränkt zu sein, 512 Kilobyte Speicher für Audiodaten von Stimm- oder Musikklang, Klangquelldaten, die von einer CD-ROM aufgerufen werden, und einen Lautsprecher 1346, der als Klangausgabemittel zur Ausgabe eines Musik- oder Effektklangs dient, der mit der SPU 1342 erzeugt wurde.
  • Die SPU 1342 hat eine adaptive, differenzielle Pulscodemodulations (ADPCM)-Signaldecodierfunktion zum Reproduzieren von Audiodaten im 4-Bit-ADPCM-Format, die aus 16-Bit-Audiodaten umgewandelt wurden, eine Wiedergabefunktion zum Reproduzieren der Klangquelldaten, die im Klangpuffer 1344 gespeichert sind, um einen Musik- oder Effektklang auszugeben, und eine Modulationsfunktion zum Modulieren der im Klangpuffer 1344 zur Wiedergabe gespeicherten Daten auf. Insbesondere weist die SPU 1342 eine 24-stimmige ADPCM-Klangquelle auf, bei der Bewegungsparameter von Looping- und Zeit-Koeffizienten automatisch modifiziert werden, und die durch ein Signal von der CPU 1304 betätigt wird. Die SPU 1342 steuert ihren mit dem Klangpuffer 1344 kartierten Adressplatz und kann die Reproduktion von Audiodaten durch Direktübertragung von ADPCM-Daten mit Key-On/Key-Off-Information oder Modulationsinformation von der CPU 1304 an den Klangpuffer 1344 durchführen. Daher wird das Klangmodul 1340 als Sampling-Klangquelle zum Erzeugen eines Musik- oder Effektklangs, welcher den im Klangpuffer 1344 gespeicherten Audiodaten entspricht, nach Empfang eines Befehlssignals von der CPU 1304 verwendet.
  • Das Optical-Disc-Steuermodul 1360 umfasst das Laufwerk 1362 zum Aufrufen eines Programms oder von Daten von einer optischen Disc oder CD-ROM 1363, einen Plattendecoder 1364 zum Decodieren eines codierten, gespeicherten Programms oder von Daten, die von Fehlerkorrekturcodes (ECC) begleitet sind, und einen Laufwerkspuffer 1366, mit z.B. 32 Kilobyte (32 KB) Speicher für von der optischen Disc aufgerufene Daten, auf. Das Optical-Disc-Steuermodul 1360, das aus dem Laufwerk 1362, dem Decoder 1364 und anderen Bauteilen zum Datenlesen von einer Platte (und gegebenenfalls zum Beschreiben der Platte) besteht, ist auch dazu eingerichtet, andere Plattenformate, einschließlich CD-DA und CD-ROM XA, zu unterstützen. Der Decoder 1364 dient auch als Teil des Klangmoduls 1340. Es können auch andere Formate und Medien, wie z.B. DVD-ROM, Floppydisk und dergleichen, vom Laufwerkuntersystem 1360 unterstützt werden.
  • Die über das Laufwerk 1362 von der Platte aufgerufenen Audiodaten sind nicht auf das ADPCM-Format (zum Speichern auf CD ROM XA-Discs) beschränkt, sondern können in einem üblichen PCM-Modus vorliegen, der durch Analog-Digital-Wandlung erzeugt wird. Die ADPCM-Daten können in differenzieller 4-Bit-Form aufgezeichnet werden, die aus 16-Bit-Digitaldaten berechnet wird, und werden zunächst einer Fehlerkorrektur und einer Decodierung im Decoder 1364 unterzogen, an die SPU 1342 übertragen, wo sie D/A-gewandelt werden, und werden dem Lautsprecher 1346 zur Wiedergabe zugeführt. Die PCM-Daten können in 16-Bit-Digitalsignalform aufgezeichnet werden und werden vom Decoder 1364 decodiert, um den Lautsprecher 1346 anzusteuern. Ein Audio-Ausgangssignal des Decoders 1364 wird zunächst an die SPU 1342 gesendet, wo es mit einem SPU-Ausgangssignal gemischt und durch eine Halleinheit zur Audiowiedergabe freigegeben wird.
  • Das Kommunikationssteuermodul 1380 umfasst ein Kommunikationssteuergerät 1382 zum Steuern der Kommunikationen auf dem Hauptbus 1399 mit der CPU 1304, den Controller 1386 zur Eingabe von Befehlen durch einen Bediener, und die Speicherkarte 1384 zum Speichern von Daten zur Spieleinstellung. Der Controller 1386 stellt eine Schnittstelle zum Übertragen von Befehlen des Bedieners an eine Anwendungssoftware bereit und kann Befehlstasten zur Eingabe der Befehle durch den Benutzer umfassen. Den Befehlstasten zugewiesene Befehle, die durch das Kommunikationssteuergerät 1382 vorgegeben sind, werden dem Kommunikationssteuergerät 1382 im Synchronmodus mit einer Geschwindigkeit von 60mal pro Sekunde bereitgestellt. Das Kommunikationssteuergerät 1382 überträgt die Tastenbefehle dann an die CPU 1304.
  • Der Controller 1386 weist zwei Anschlüsse auf, die auf diesem zum Anschließen mehrerer Steuergeräte nacheinander über Multitap-Anschlüsse angeordnet sind. Entsprechend beginnt die CPU 1304 nach Empfang des Befehls vom Bediener, einen entsprechenden Verfahrensschritt auszuführen, der durch ein Spielprogramm bestimmt wird. Wenn die Anfangseinstellung eines zu spielenden Spiels aufgerufen wird, überträgt die CPU 1304 relevante Daten an das Kommunikationssteuergerät 1382, das die Daten wiederum auf der Speicherkarte 1384 speichert. Die Speicherkarte 1384 ist vom Hauptbus 1399 getrennt und kann frei installiert oder entfernt werden, während der Hauptbus bestromt wird. Dadurch können Daten der Spieleinstellung auf zwei oder mehreren der Speicherkarten 1384 gespeichert werden.
  • Das System gemäß dieser Ausführungsform der vorliegenden Erfindung ist ebenso mit einem parallelen 16-Bit-Ein- und Ausgabe (I/O)-Port 1396 und mit einem asynchronen, seriellen Ein- und Ausgabe (I/O)-Port 1398 versehen. Das System kann am parallelen I/O-Port 1396 mit jedem anderen Peripheriegerät und am seriellen I/O-Port 1398 mit einem anderen Videospielgerät zur Kommunikation angeschlossen werden.
  • Zwischen Hauptspeicher 1308, GPU 1324, MDEC 1328 und Decoder 1364 müssen riesige Mengen der Bilddaten zum Lesen eines Programms, zur Darstellung von Text oder zum Zeichnen einen Graphik mit einer hohen Geschwindigkeit transferiert werden. Das Bildverarbeitungssystem dieser Ausführungsform ist daher dazu eingerichtet, einen direkten Datentransfer oder einen DMA-Transfer zwischen dem Hauptspeicher 1308, der GPU 1324, dem MDEC 1328 und dem Decoder 1364 zu gestatten, ohne die CPU 1304 zu verwenden. Stattdessen wird der Datentransfer unter der Steuerung des Peripheriegeräte-Controllers 1306 durchgeführt. Dies führt dazu, dass die Belastung der CPU 1304 während des Datentransfers merklich verringert wird, was Datentransfervorgänge mit hoher Geschwindigkeit sicherstellt.
  • Das gemäß der vorliegenden Erfindung gebaute Videospielgerät gestattet es der CPU 1304, das Betriebssystem, das auf dem OS ROM 1310 gespeichert ist, bei Inbetriebnahme auszuführen. Bei der Ausführung des Betriebssystems werden die Aktionen des Graphikmoduls 1320 und des Klangmoduls 1340 von der CPU 1304 korrekt gesteuert. Zusätzlich beginnt die CPU 1304 beim Aufrufen des Betriebssystems, das gesamte System zu initialisieren, indem jede Aktion überprüft und dann das Optical-Disc-Steuermodul 1360 zur Durchführung eines gewünschten Spielprogramms, das auf einer optischen Disc gespeichert ist, aktiviert wird. Während der Ausführung des Spielprogramms aktiviert die CPU 1304 das Graphikmodul 1320 und das Klangmodul 1340 als Reaktion auf Befehlseingaben durch den Bediener zur Steuerung der Bilddarstellung und der Wiedergabe von Musik- oder Effektklängen. Die Darstellung von Bilddaten auf der Anzeige über das Bilddaten-Verarbeitungsgerät gemäß der folgenden Erfindung wird als nächstes erläutert. Die GPU 1324 zeigt den Bereich eines gewünschten Graphikmodells an, das vom Frame Buffer 1326 auf dem Videoausgabemittel 1330 oder der Anzeige, wie z.B. einem CRT- oder Flachbildschirmanzeigegerät, erzeugt wird. Dieser Bereich wird nachfolgend als Anzeigebereich bezeichnet. Das Graphikmodell entspricht dem Koordinatenraum oder der virtuellen Welt, in dem/der die Objekte in der Szene angeordnet sind, und kann durch ein Modellierungsprogramm, wie dem Produkt „Maya" von Alias|Wavefront, Toronto, Ontario, Kanada, oder dem Produkt „3D Studio Max" von der Abteilung „Discreet" (Montreal, Quebec, Kanada) der Firma Autodesk, Inc., oder einem anderen geeigneten Zeichnungs- oder Graphikanwendungsprogramm zur Szenenerzeugung erzeugt werden.
  • 14 zeigt Daten eines exemplarischen Pixels 1402 für eine multispektrale RGBA-Farbmodellanzeige. Im Pixel 1402 sind Informationen von vier verschiedenen Datenkanälen gespeichert. Beim RGBA-Farbmodell umfassen diese vier Kanäle Rot 1404, Grün 1406, Blau 1408 und Alpha 1410. Die Darstellung jedes Datenkanals gemäß 14 umfasst die Beschriftung „[7, 6, 5, ..., 0]", um anzuzeigen, dass jeder der vier Datenkanäle für ein Pixel aus 8 Informationsbits besteht, wobei das signifikanteste Bit (Bit 7) auf der linken Seite der Darstellung und das am wenigsten signifikante Bit (Bit 0) auf der rechten Seite gezeigt sind. Andere Datenwortgrößen für die Pixelinformation können verwendet werden. Die Daten für den roten Kanal 1404, den blauen Kanal 1406, den grünen Kanal 1408 und den Alphakanal 1410 jedes Pixels 1402 in einer Anzeigeszene sind im Frame Buffer 1326 (13) gespeichert.
  • Somit stellen der rote 1404, der grüne 1406 und der blaue 1408 Kanal, die jeweils 8 Bit umfassen, die Bildfarbinformation bereit. Jeder Farbteil eines Pixelbildes kann durch die Kombination der Daten des roten Kanals 1404, des grünen Kanals 1406 und des blauen Kanals 1408 dargestellt werden. Der Alphakanal 1410, der ebenfalls 8 Bit umfasst, stellt die Opazität des entsprechenden Pixelbildes dar, die von opak bis transparent reicht. Entsprechend wird jedes Pixel 1402 im Frame Buffer als Kombination dieser vier Kanäle für jedes RGBA-Farbmodellsystem gespeichert.
  • 15 ist eine Darstellung eines einzigen Eintrags 1502 aus dem Z-Puffer. Bei der bevorzugten Ausführungsform ist der Z-Puffer Teil des Bildverarbeitunssystems, das alternativ als Spielkonsole 1110 (11), Computerprozessorsystem (12) oder Bildprozessor (13) dargestellt ist. Der Z-Puffer wird zum Entfernen verdeckter Flächen verwendet und entspricht dem Lageort für ein Objekt, das in der Anzeigeszene dargestellt wird. Damit ist die Datenwortgröße der Z-Puffer-Pixelinformation typischerweise dieselbe Datenwortgröße, wie bei den Daten, die für Positionsberechnungen verwendet werden, welche vom Bildverarbeitungssystem durchgeführt werden. Bei der bevorzugten Ausführungsform enthält der Z-Pufferdatenwörter mit einer Größe von 32 Bit. Dies ist im Z-Puffer 1502 von 15 durch die Beschriftung „[31 30 29 28 27 26 25 24 23 22 21 ... 3 2 1 0]" veranschaulicht.
  • Wie zuvor erwähnt, ist jedes Pixel, das auf der Computeranzeige gezeichnet werden soll, einem entsprechenden Dateneintrag im Z-Puffer zugeordnet. 15 ist eine Darstellung des Z-Pufferdateneintrags für eines dieser Pixel. Erfindungsgemäß werden Daten aus dem Z-Puffer mit der Farbpixelinformation aus dem Frame Buffer Pixel für Pixel alphagemischt (kombiniert). Da die Z-Pufferinformation eine 32-Bit-Wortgröße aufweist, während die Pixelinformation für jeden Kanal eine Wortgröße von 8 Bit aufweist, wird bei der Verarbeitung gemäß der vorliegenden Erfindung die Z-Pufferinformation so trunkiert, dass nur ein 8-Bit-Datenwort aus dem Z-Puffer mit jedem der 8-Bit-Pixelwörter der RGBA-Bildinformation aus dem Frame Buffer kombiniert wird. Bei der bevorzugten Ausführungsform werden die acht signifikantesten Bits (MSB) aus jedem Z-Pufferpixel mit jedem entsprechenden Pixel der Information aus dem Frame Buffer kombiniert.
  • 16 zeigt eine beispielhafte Frame Buffer-Umgebung. Wie in 16 gezeigt, speichert ein Frame Buffer (wie der in 13 dargestellte Frame Buffer 1326) bei der bevorzugten Ausführungsform mehr als ein Bilddatenbild. Insbesondere zeigt 16, dass der Frame Buffer 1326 einen Datenspeicher für ein erstes Bilddaten-Array 1602 und für ein zweites Bilddaten-Array 1604 umfasst. Eine solche Anordnung wird typischerweise verwendet, um aufeinander folgende Bilder zur Videoanzeige, wie bei Geräten zur Zeilensprungdarstellung, anzuzeigen. Das erste Bild-Array 1602 umfasst zahlreiche Pixel, von denen die Pixel 1612, 1614 und 1616 gezeigt sind. Gleichermaßen umfasst das zweite Bild Array 1604 Pixel 1622, 1624, 1626. Jedes dieser Bild-Arrays kann zu einem vorgegebenen Zeitpunkt ein gesamtes Bild speichern und eine Vielzahl von Speicherorten im Graphikprozessorgerät umfassen.
  • Die Bild-Arrays 1602, 1604 des Frame Buffer 1326 sind mit einem Hardware-Scan-Out-Gerät 1680, wie z.B. einem Gerät, das die GPU 1324 und die Videoausgabe 1330 umfasst, die zuvor im Zusammenhang mit dem System gemäß 13 beschrieben wurden, verbunden. Das Scan-Out-Gerät liest wahlweise die Pixelinformation von einem der Frame Buffer-Arrays 1602, 1604 aus und überträgt sie an die Anzeige 1690 zur physischen Darstellung. Die Pixel, welche das darzustellende Frame Buffer-Array umfassen, werden als On-Screen-Bild bezeichnet, während die Pixel des nicht dargestellten Frame Buffer-Arrays als Oft-Screen-Bild bezeichnet werden. Die Frame Buffer-Arrays 1602, 1604 können auch Pixelinformation speichern, die aus anderen Speicherbereichen übertragen wird, oder Pixelinformation in andere Speicherbereiche schreiben.
  • Verarbeitung
  • 17 ist ein Flussdiagramm, welches die Verarbeitung zeigt, die von den in den 11 bis 13 dargestellten Bildverarbeitungssystemen durchgeführt wird, um die Bilder mit verbesserter Feldtiefeninformation zu erzeugen, wie dies oben veranschaulicht ist. Beim ersten Verarbeitungsvorgang, der durch den Flussdiagrammkasten mit der Nummer 1702 dargestellt ist, erzeugt das Bildverarbeitungssystem die Daten des unendlich scharfen Bildes für die zu verarbeitende Szene, wobei die Szene Objekte darstellt, die in einem Koordinatensystem (einem räumlichen System) angeordnet sind. Das scharfe Bild kann durch eine herkömmliche Rendering Engine gerendert werden. Die Daten für das scharfe Bild der Szene können durch ein herkömmliches Programm zum dreidimensionalen Modellieren (3-D-Modellieren), wie z.B. dem Produkt „Maya" von Alias|Wavefront, Toronto, Ontario, Kanada oder dem Produkt „3-D-Studio Max" von der Abteilung „Discreet" (Montreal, Quebec, Kanada) der Firma Autodesk, Inc., erzeugt werden, oder werden auf andere Weise im Graphikbildverarbeitungssystem empfangen. Die Rendering-Software erzeugt inhärent die Z-Pufferdaten für die dargestellten Objekte.
  • Beim nächsten Verarbeitungsvorgang, der in 17 als Kasten mit der Nummer 1704 gezeigt ist, erzeugt das System die Daten für das unscharfe Bild. Wie zuvor erwähnt, kann dieser Vorgang durch Kopieren eines Rasterbildes auf sich selbst mit einem Versatz von einem Pixel und einer Transparenz von 50% durchgeführt werden, oder es können nach Wunsch alternative Schemata verwendet werden. Die Daten für das unscharfe Bild können in einem Zwischendatenspeicher oder Registern des Graphikprozessors oder zugeordneter Rechengeräte gespeichert werden. Erfindungsgemäß wird das unscharfe Bild aus dem scharfen Bild gewonnen. Wie zuvor beschrieben, kann das Bildverarbeitungssystem als Eingabe die Daten für das scharfe Bild empfangen und von diesem Ausgangspunkt das unscharfe Bild mit einem Pixel-Verschiebevorgang erzeugen, bei dem das scharfe Bild vorzugsweise mit einer Opazität von 50% auf sich selbst kopiert wird, nachdem ein Pixel in horizontaler Richtung und ein Pixel in vertikaler Richtung verschoben wurden. Das unscharfe Bild kann in einem Speicher des Graphikverarbeitungssystems zwischengespeichert werden. Beispielsweise kann in dem in 16 dargestellten Zweifachbild-Frame Buffer ein Frame Buffer für das unscharfe Bild und der andere Frame Buffer für das scharfe Bild verwendet werden.
  • Der nächste Vorgang (Kasten 1706) besteht darin, die trunkierten Z-Pufterdaten zu gewinnen. Wie zuvor erläutert, erzeugen die meisten herkömmlichen Graphikverarbeitungssysteme mit einer Rendering-Software routinemäßig Z-Pufferdaten zum Zweck des Entfernens verdeckter Flächen mit einer Genauigkeit, die der Positionsverarbeitung für die Objekte in einer simulierten Szene angemessen ist. Daher sollten die Z-Pufferdaten mit den meisten herkömmlichen Bildprozessoren, die gemäß der vorliegenden Erfindung verwendet werden könnten, ohne weiteres verfügbar sein. Insbesondere ist anzumerken, dass, wenn das Modellierprogramm die Bilddaten erzeugt, das Programm das unendlich scharfe Bild und notwendigerweise die Z-Pufferdaten erzeugt.
  • Die Z-Pufferdaten werden verarbeitet, um sicherzustellen, dass sie präzise mit den Pixeldaten im Frame Buffer kombiniert werden können. Bei der bevorzugten Ausführungsform werden die Z-Pufferdaten so trunkiert, dass die Anzahl der Datenbits in jedem Pixel des Z-Puffers die gleiche Anzahl von Datenbits ist, wie bei den Pixeln des Frame Buffer. Dabei werden bei den zuvor beschriebenen Ausführungsformen die roten, blauen und grünen Pixel mit 8-Bit-Wörtern dargestellt, während die Z-Pufferdaten mit 32-Bit-Wörtern für jedes Pixel dargestellt werden. Daher werden nur die acht signifikantesten Bits jedes Pixels im Z-Puffer mit den Daten für das scharfe und für das unscharfe Bild kombiniert. Diese Trunkationsverarbeitung, die mit dem Kasten 1706 dargestellt ist, kann durch Zwischenspeichern der trunkierten Daten im Speicher des Graphikverarbeitungssystems durchgeführt werden.
  • Der nächste Vorgang besteht darin, dass das Computersystem einen Kombinationsprozess durchführt, der typischrweise als Alpha-Mischen bezeichnet wird, und das scharfe Bild, das unscharfe Bild und die Z-Pufferdaten miteinander kombiniert, um die RGBA-Bilddaten zu erzeugen, die nach dem Rendern ein Bild mit Feldtiefeninformation erzeugt. Dieser Kombiniervorgang ist durch den Flussdiagrammkasten mit der Ziffer 1708 dargestellt. Wie zuvor erwähnt, wird das Kombinieren der Bilddaten (Alpha-Mischen) routinemäßig mit herkömmlichen Graphikverarbeitungscomputersystemen durchgeführt. Solche Systeme führen dieses Kombinieren jedoch mit Farbbilddaten (z.B. rot, blau und grün) und Alphakanaldaten durch, welche die Opazität der Bildelemente angeben; sie kombinieren keine Daten für das scharfe und das unscharfe Bild mit Z-Pufferdaten.
  • Zudem arbeitet das herkömmliche Alpha-Mischen mit Farbbilddaten und Alphakanalbilddaten mit gleicher Datenwortgröße, typischerweise der gleichen Wortgröße, wie sie im Frame Buffer enthalten ist. Im Gegensatz dazu sind die Z-Pufferdaten eines Graphikprozessorsystems mit einer Genauigkeit abgelegt, die der Positionsverarbeitung für Objekte in einer simulierten Szene angemessen ist. Daher arbeitet bei der bevorzugten Ausführungsform der Erfindung der Kombiniervorgang mit Daten aus dem Z-Puffer, die auf eine kompatible Anzahl von Bits trunkiert wurden, wie dies für den Kasten 1706 beschrieben ist. Mit der Lehre nach der vorliegenden Erfindung zur Durchführung einer Frame Buffer-Kombination mit trunkierten Z-PufferDaten versteht der Fachmann, wie er die richtige Verarbeitung zur Erzeugung der RGBA-Bilddaten, welche die Feldtiefeninformation für einen verbesserten Realismus nach dem Rendern ergeben, erreichen kann.
  • Im nächsten Vorgang führt das System im Entscheidungskasten 1710 gegebenenfalls eine Überprüfung auf wiederholte Verarbeitung durch, wie sie durchgeführt werden würde, um Schärfenänderungseffekte, atmosphärische visuelle Effekte und dergleichen zu erzeugen. Die zusätzliche Verarbeitung kann beispielsweise die Erzeugung eines Z-Puffer-Umkehrbildes umfassen. Ebenso kann die zusätzliche Verarbeitung eine Zwischenspeicherung von Bilddaten, wie z.B. eine Zwischenspeicherung der Pixelinformation für Zwischenbilder, umfassen. Wenn eine wiederholte Verarbeitung erwünscht ist, im Entscheidungskasten 1710 also ein affirmatives Ergebnis vorliegt, kehrt die Systemverarbeitung zum Kasten 1702 zurück, um die nächste erforderliche Reihe der Verarbeitung von scharfem Bild, unscharfem Bild und Z-Puffer zu erzeugen. Wenn keine zusätzliche Bildverarbeitung für das RGBA-Bild erforderlich ist, im Kasten 1710 also ein negatives Ergebnis vorliegt, fährt die Verarbeitung damit fort, das Anzeigebild bei Kasten 1712 zu rendern. Der Rendering-Vorgang kann einen einfachen Rendering-Vorgang umfassen, der ein Bild auf einem Computeranzeigegerät erzeugt, oder kann einen der zusätzlichen, zuvor beschriebenen Verarbeitungsvorgänge umfassen. Beispielsweise kann die Rendering-Verarbeitung 1712 das Verändern des Farbtons eines Farbkanals oder eine andere Verarbeitung für spezielle visuelle Effekte umfassen. Alle diese Vorgänge können in Echtzeit durchgeführt werden, so dass die hier beschriebenen Bilder mit verbessertem Realismus mit Feldtiefeninformation aus Daten für ein scharfes Bild in Echtzeit erzeugt werden können.
  • Die vorliegende Erfindung wurde oben im Zusammenhang mit einer gegenwärtig bevorzugten Ausführungsform beschrieben, so dass ein Verständnis für die vorliegende Erfindung vermittelt werden kann. Es gibt jedoch zahlreiche Konfigurationen für Computergraphikverarbeitungssysteme, die hier nicht näher beschrieben sind, auf welche die vorliegende Erfindung jedoch anwendbar ist. Die vorliegende Erfindung sollte daher nicht als auf die speziellen Ausführungsformen, die hier beschrieben sind, beschränkt gesehen werden, sondern vielmehr sollte ersichtlich sein, dass die vorliegende Erfindung eine breite Anwendbarkeit hinsichtlich Computergraphikverarbeitungs-systemen im Allgemeinen aufweist. Alle Modifikationen, Veränderungen oder äquivalenten Anordnungen und Einrichtungen, die innerhalb des Umfangs der beigefügten Ansprüche liegen, sollten daher als unter den Umfang der Erfindung fallend betrachtet werden.

Claims (20)

  1. Verfahren zum Erzeugen eines Computeranzeigebildes (508), das Feldtiefeninformationen einschließt, wobei das Verfahren folgendes umfasst: Erzeugen (1702) eines scharfen Bildes (502) einer Szene, Erzeugen (1704) eines unscharfen Bildes (504) der Szene, dadurch gekennzeichnet, dass das Verfahren den folgenden weiteren Schritt umfasst: Erzeugen eines RGBA-Bildes, welches das scharfe Bild und das unscharfe Bild umfasst, die durch einen Alphakanal-Mischprozess gemischt werden, der durch z-Pufterbilddaten so gesteuert wird, dass das erzeugte Alphakanal-RGBA-Bild ein Bild mit Feldtiefeninformationen bereitstellt, wenn das Alphakanal-RGBA-Bild von einem Graphikprozessor empfangen und zur Anzeige auf einem Computeranzeigegerät (1690) gerendert wird.
  2. Verfahren gemäß Anspruch 1, bei dem das unscharfe Bild (504) Farbkanalbilddaten des scharfen Bildes (502) mit Pixelverschiebung umfasst.
  3. Verfahren gemäß Anspruch 2, bei dem die z-Pufferbilddaten (506) trunkierte z-Pufferpixelinformationen (1502) umfassen, die Pixellagedaten (1402) für die Szene spezifizieren.
  4. Verfahren gemäß Anspruch 3, bei dem die trunkierten z-Pufferpixelinformationen (1502) eine vorbestimmte Anzahl der signifikantesten Bits für jedes Pixel der z-Pufferbilddaten umfassen.
  5. Verfahren gemäß Anspruch 1, bei dem ferner eine Sequenz von Computeranzeigebildern erzeugt wird, die einen Schärfenänderungseffekt ergeben, der den Bildfokus zwischen dem Vordergrund der Szene und dem Hintergrund der Szene zu verschieben scheint, wobei jedes Bild der Sequenz ein Bild mit Feldtiefeninformationen bereitstellt, wenn das Alphakanal-RGBA-Bild (1410) von einem Graphikprozessor empfangen und zur Anzeige auf einem Computeranzeigegerät (1690) gerendert wird.
  6. Verfahren gemäß Anspruch 5, bei dem jedes Bild der Sequenz erzeugt wird durch: Erzeugen (1708) eines Alphakanal-RGBA-Bildes durch Verbinden des scharfen Bildes (502) der Szene mit einem unscharfen Bild (504) der Szene mit z-Pufferbilddaten, Erzeugen eines invertierten Alphakanal-RGBA-Bildes durch Verbinden des scharfen Bildes der Szene mit einem unscharfen Bild der Szene mit invertierten z-Pufferbilddaten und Mischen (1712) des invertierten Alphakanal-RGBA-Bildes mit dem Alphakanal-RGBA-Bild.
  7. Verfahren gemäß Anspruch 1, bei dem ferner der Farbton des unscharfen Bildes (504) in einen gewünschten Farbwert umgewandelt wird und das umgewandelte unscharfe Bild als Quelle für die z-Pufferbilddaten zur Erzeugung des Alphakanal-RGBA-Bildes verwendet wird.
  8. Verfahren gemäß Anspruch 7, bei dem der Farbton des unscharfen Bildes (504) in einen Blau-Farbwert (1406) umgewandelt wird, um ein Alphakanal-RGBA-Bildes mit einem atmosphärischen Effekt zu erzeugen.
  9. Verfahren gemäß Anspruch 7, bei dem das Umwandeln des unscharfen Bildes folgendes umfasst: Kopieren von Rotkanaldaten (1404) des unscharfen Bildes auf Grünkanaldaten (1408) des unscharfen Bildes und Kopieren der Rotkanaldaten des unscharfen Bildes auf Blaukanaldaten des unscharfen Bildes, um dadurch ein unscharfes Schwarzweiß-Bild zu erzeugen, Speichern des unscharfen Schwarzweiß-Bildes in einem temporären z-Pufferdatenspeicher (1640) der Szene und Kombinieren (1708) der Daten des unscharfen Bildes im temporären z-Pufferdatenspeicher mit dem scharfen Bild, um das Alphakanal-RGBA-Bild (1410) zu erzeugen.
  10. Computerverarbeitungssystem, das Bilddaten für eine Computeranzeige erzeugt, wobei das System folgendes umfasst: eine Zentralprozessoreinheit (1200), einen Datenspeicher (1280) und einen Programmspeicher (1230), der Programmierbefehle speichert, die von der Zentralprozessoreinheit ausgeführt werden, wobei die ausgeführten Programmierbefehle bewirken, dass die Zentralprozessoreinheit einen Prozess durchführt, der folgendes umfasst: Erzeugen (1702) eines scharfen Bildes (502) einer Szene, Erzeugen (1704) eines unscharfen Bildes (504) der Szene, dadurch gekennzeichnet, dass der Prozess den folgenden zusätzlichen Schritt durchführt: Erzeugen eines RGBA-Bildes, welches das scharfe Bild und das unscharfe Bild umfasst, die durch einen Alphakanal-Mischprozess gemischt werden, der durch z-Pufferbilddaten so gesteuert wird, dass das erzeugte Alphakanal-RGBA-Bild ein Bild mit Feldtiefeninformationen bereitstellt, wenn das Alphakanal-RGBA-Bild von einem Graphikprozessor empfangen und zur Anzeige auf einem Computeranzeigegerät (1690) gerendert wird.
  11. System gemäß Anspruch 10, bei dem das unscharfe Bild (504) Farbkanalbilddaten des scharfen Bildes (502) mit Pixelverschiebung umfasst.
  12. System gemäß Anspruch 11, bei dem die z-Pufferbilddaten (1502) trunkierte z-Pufterpixelinformationen umfassen, die Pixellagedaten für die Szene spezifizieren.
  13. System gemäß Anspruch 12, bei dem die trunkierten z-Pufferpixelinformationen eine vorbestimmte Anzahl der signifikantesten Bits für jedes Pixel der z-Pufterbilddaten umfassen.
  14. System gemäß Anspruch 10, bei dem die Zentralprozessoreinheit (1200) ferner eine Sequenz von Computeranzeigebildern erzeugt, die einen Schärfenänderungseffekt ergeben, der den Bildfokus zwischen dem Vordergrund der Szene und dem Hintergrund der Szene zu verschieben scheint, wobei jedes Bild der Sequenz ein Bild mit Feldtiefeninformationen bereitstellt, wenn das Alphakanal-RGBA-Bild von einem Graphikprozessor empfangen und zur Darstellung auf einem Computeranzeigegerät (1690) gerendert wird.
  15. System gemäß Anspruch 14, bei dem jedes Bild der Sequenz erzeugt wird durch: Erzeugen (1708) eines Alphakanal-RGBA-Bildes durch Verbinden des scharfen Bildes (502) der Szene mit einem unscharfen Bild (504) der Szene mit z-Pufferbilddaten (506), Erzeugen eines invertierten Alphakanal-RGBA-Bildes durch Verbinden des scharfen Bildes der Szene mit einem unscharfen Bild der Szene mit invertierten z-Pufferbilddaten und Mischen (1712) des invertierten Alphakanal-RGBA-Bildes mit dem Alphakanal-RGBA-Bild.
  16. System gemäß Anspruch 10, bei dem der Zentralprozessor den Farbton des unscharfen Bildes (504) in einen gewünschten Farbwert umwandelt und das umgewandelte unscharfe Bild als Quelle für die z-Pufterbilddaten zur Erzeugung des Alphakanal-RGBA-Bildes verwendet.
  17. System gemäß Anspruch 16, bei dem der Farbton des unscharfen Bildes (504) in einen Blau-Farbwert (1406) umgewandelt wird, um ein Alphakanal-RGBA-Bildes mit einem atmosphärischen Effekt zu erzeugen.
  18. System gemäß Anspruch 16, bei dem der Zentralprozessor (1200) das unscharfe Bild umwandelt durch Kopieren von Rotkanaldaten (1404) des unscharfen Bildes auf Grünkanaldaten (1408) des unscharfen Bildes und Kopieren der Rotkanaldaten des unscharfen Bildes auf Blaukanaldaten des unscharfen Bildes, um dadurch ein unscharfes Schwarzweiß-Bild zu erzeugen, Speichern des unscharfen Schwarzweiß-Bildes in einem temporären z-Pufferdatenspeicher (1640) der Szene und Kombinieren (1708) der Daten des unscharfen Bildes im temporären z-Pufferdatenspeicher mit dem scharfen Bild, um das Alphakanal-RGBA-Bild (1410) zu erzeugen.
  19. Computerverarbeitungssystem gemäß einem der Ansprüche 10 bis 18, das als Graphikprozessor (1100) konfiguriert ist.
  20. Computerprogramm, das bei seiner Ausführung auf einem Computer oder auf einem Graphikprozessor die Verfahrensschritte nach einem der Ansprüche 1 bis 9 durchführen kann.
DE60300788T 2002-04-09 2003-02-14 Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung Expired - Lifetime DE60300788T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/120,324 US7081892B2 (en) 2002-04-09 2002-04-09 Image with depth of field using z-buffer image data and alpha blending
US120324 2002-04-09

Publications (2)

Publication Number Publication Date
DE60300788D1 DE60300788D1 (de) 2005-07-14
DE60300788T2 true DE60300788T2 (de) 2006-03-23

Family

ID=28453999

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60300788T Expired - Lifetime DE60300788T2 (de) 2002-04-09 2003-02-14 Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung

Country Status (8)

Country Link
US (2) US7081892B2 (de)
EP (1) EP1353296B1 (de)
JP (1) JP3725524B2 (de)
KR (1) KR100549358B1 (de)
AT (1) ATE297574T1 (de)
DE (1) DE60300788T2 (de)
ES (1) ES2243815T3 (de)
TW (1) TW583599B (de)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4837844B2 (ja) * 2001-07-19 2011-12-14 富士通株式会社 シミュレーションシステム、方法、プログラム及び記録媒体
US6680579B2 (en) * 2001-12-14 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for image and video display
AU2002952382A0 (en) * 2002-10-30 2002-11-14 Canon Kabushiki Kaisha Method of Background Colour Removal for Porter and Duff Compositing
US7274365B1 (en) 2003-01-31 2007-09-25 Microsoft Corporation Graphical processing of object perimeter information
US7202867B1 (en) 2003-01-31 2007-04-10 Microsoft Corporation Generation of glow effect
JP2004302500A (ja) * 2003-03-28 2004-10-28 Matsushita Electric Ind Co Ltd 画像処理装置及び画像処理方法
US7290221B2 (en) * 2003-04-16 2007-10-30 Hewlett-Packard Development Company, L.P. User interface, method and apparatus for providing three-dimensional object fabrication status
US7606417B2 (en) 2004-08-16 2009-10-20 Fotonation Vision Limited Foreground/background segmentation in digital images with differential exposure calculations
US7680342B2 (en) * 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
JP4307222B2 (ja) * 2003-11-17 2009-08-05 キヤノン株式会社 複合現実感提示方法、複合現実感提示装置
US7412110B1 (en) * 2004-01-28 2008-08-12 Adobe Systems Incorporated Using forward and backward kernels to filter images
US7609902B2 (en) * 2004-04-13 2009-10-27 Microsoft Corporation Implementation of discrete cosine transformation and its inverse on programmable graphics processor
US7015926B2 (en) * 2004-06-28 2006-03-21 Microsoft Corporation System and process for generating a two-layer, 3D representation of a scene
US7710418B2 (en) * 2005-02-04 2010-05-04 Linden Acquisition Corporation Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon
US7312801B2 (en) * 2005-02-25 2007-12-25 Microsoft Corporation Hardware accelerated blend modes
US7692696B2 (en) * 2005-12-27 2010-04-06 Fotonation Vision Limited Digital image acquisition system with portrait mode
US7532223B2 (en) * 2006-01-17 2009-05-12 Teri Lynn Dougherty Apparatus and method for teaching artwork and cosmetic adjustment on the human form using 4D rendering
JP4970468B2 (ja) * 2006-02-14 2012-07-04 デジタルオプティックス・コーポレイション・ヨーロッパ・リミテッド 画像ぼかし処理
IES20060559A2 (en) * 2006-02-14 2006-11-01 Fotonation Vision Ltd Automatic detection and correction of non-red flash eye defects
JP4856445B2 (ja) 2006-02-22 2012-01-18 ルネサスエレクトロニクス株式会社 画像合成装置及びその画像合成方法
IES20060564A2 (en) * 2006-05-03 2006-11-01 Fotonation Vision Ltd Improved foreground / background separation
JP4843377B2 (ja) * 2006-05-18 2011-12-21 株式会社東芝 画像処理装置及び画像処理方法
KR101282973B1 (ko) * 2007-01-09 2013-07-08 삼성전자주식회사 오버레이 이미지를 디스플레이 하는 장치 및 방법
US8125510B2 (en) * 2007-01-30 2012-02-28 Ankur Agarwal Remote workspace sharing
ATE553436T1 (de) * 2007-02-28 2012-04-15 Nec Corp Dma-transfereinrichtung und verfahren
US20080263449A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Automated maintenance of pooled media content
CN101055645B (zh) * 2007-05-09 2010-05-26 北京金山软件有限公司 一种阴影实现的方法及装置
US8134556B2 (en) * 2007-05-30 2012-03-13 Elsberg Nathan Method and apparatus for real-time 3D viewer with ray trace on demand
US20150200639A1 (en) * 2007-08-02 2015-07-16 J. Todd Orler Methods and apparatus for layered waveform amplitude view of multiple audio channels
US8638341B2 (en) * 2007-10-23 2014-01-28 Qualcomm Incorporated Antialiasing of two-dimensional vector images
KR101412752B1 (ko) * 2007-11-26 2014-07-01 삼성전기주식회사 디지털 자동 초점 영상 생성 장치 및 방법
US8400448B1 (en) 2007-12-05 2013-03-19 The United States Of America, As Represented By The Secretary Of The Navy Real-time lines-of-sight and viewsheds determination system
US8325178B1 (en) 2007-12-05 2012-12-04 The United States Of America, As Represented By The Secretary Of The Navy Lines-of-sight and viewsheds determination system
US7595483B1 (en) * 2008-06-12 2009-09-29 The United States Of America As Represented By The Secretary Of The Navy Calibration method for a stellar sensor
EP2297705B1 (de) 2008-06-30 2012-08-15 Thomson Licensing Verfahren zur echtzeitzusammenstellung eines videos
JP5024632B2 (ja) * 2008-09-19 2012-09-12 ソニー株式会社 画像処理装置および方法、並びにプログラム
US10043304B2 (en) * 2008-09-25 2018-08-07 Koninklijke Philips N.V. Three dimensional image data processing
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
EP2180449A1 (de) * 2008-10-21 2010-04-28 Koninklijke Philips Electronics N.V. Verfahren und Vorrichtung zur Bereitstellung eines geschichteten Tiefenmodells einer Szene
TW201021578A (en) * 2008-11-26 2010-06-01 Sunplus Mmedia Inc Decompression system and method for DCT-based compressed graphic data with transparent attribute
US8319798B2 (en) * 2008-12-17 2012-11-27 Disney Enterprises, Inc. System and method providing motion blur to rotating objects
KR101206895B1 (ko) * 2008-12-22 2012-11-30 한국전자통신연구원 렌더링 시스템 및 이를 이용한 데이터 처리 방법
GB2467944A (en) * 2009-02-23 2010-08-25 Andrew Ernest Chapman Stereoscopic effect without glasses
KR101599872B1 (ko) * 2009-02-25 2016-03-04 삼성전자주식회사 디지털 영상 처리 장치, 그 제어방법 및 이를 실행시키기 위한 프로그램을 저장한 기록매체
TWI393980B (zh) * 2009-06-08 2013-04-21 國立中正大學 The method of calculating the depth of field and its method and the method of calculating the blurred state of the image
US9380292B2 (en) 2009-07-31 2016-06-28 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating three-dimensional (3D) images of a scene
WO2011014419A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for creating three-dimensional (3d) images of a scene
US20110025830A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating stereoscopic content via depth map creation
JP2011066507A (ja) * 2009-09-15 2011-03-31 Toshiba Corp 画像処理装置
KR101015935B1 (ko) * 2009-10-28 2011-02-23 주식회사 넥슨 피사계 심도 및 모션 블러 처리 컴퓨터 시스템 및 그 방법
US10097843B2 (en) 2009-11-13 2018-10-09 Koninklijke Philips Electronics N.V. Efficient coding of depth transitions in 3D (video)
US9185388B2 (en) 2010-11-03 2015-11-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
US8553977B2 (en) 2010-11-15 2013-10-08 Microsoft Corporation Converting continuous tone images
WO2012092246A2 (en) 2010-12-27 2012-07-05 3Dmedia Corporation Methods, systems, and computer-readable storage media for identifying a rough depth map in a scene and for determining a stereo-base distance for three-dimensional (3d) content creation
US10200671B2 (en) 2010-12-27 2019-02-05 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
US8274552B2 (en) 2010-12-27 2012-09-25 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
US8406548B2 (en) * 2011-02-28 2013-03-26 Sony Corporation Method and apparatus for performing a blur rendering process on an image
CN102332158B (zh) * 2011-07-26 2013-06-12 深圳万兴信息科技股份有限公司 一种利用阿尔法通道的图像合成方法及系统
US9373213B1 (en) * 2011-11-08 2016-06-21 Zynga Inc. Adaptive object placement in computer-implemented games
US11263829B2 (en) * 2012-01-02 2022-03-01 Digimarc Corporation Using a predicted color for both visibility evaluation and signal robustness evaluation
US9449357B1 (en) 2012-08-24 2016-09-20 Digimarc Corporation Geometric enumerated watermark embedding for spot colors
US9380186B2 (en) * 2012-08-24 2016-06-28 Digimarc Corporation Data hiding for spot colors in product packaging
JP5572647B2 (ja) * 2012-02-17 2014-08-13 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
US11810378B2 (en) * 2012-08-24 2023-11-07 Digimarc Corporation Data hiding through optimization of color error and modulation error
US9007402B2 (en) 2012-09-18 2015-04-14 Facebook, Inc. Image processing for introducing blurring effects to an image
JP2014235657A (ja) * 2013-06-04 2014-12-15 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
CN104282029B (zh) * 2013-07-11 2018-10-19 北京中盈安信技术服务股份有限公司 一种三维模型影像处理方法和电子终端
CN103632346B (zh) * 2013-11-27 2017-06-13 广东威创视讯科技股份有限公司 数字视频图像锐化度调节实现方法及装置
US9565335B2 (en) 2014-01-02 2017-02-07 Digimarc Corporation Full color visibility model using CSF which varies spatially with local luminance
US9667829B2 (en) * 2014-08-12 2017-05-30 Digimarc Corporation System and methods for encoding information for printed articles
CN104899838B (zh) * 2015-05-29 2017-11-28 小米科技有限责任公司 调整图像的方法及装置
KR102390980B1 (ko) * 2015-07-24 2022-04-26 엘지디스플레이 주식회사 영상 처리 방법, 영상 처리 회로와, 그를 이용한 표시 장치
JP2019510991A (ja) * 2015-12-31 2019-04-18 トムソン ライセンシングThomson Licensing 適応焦点面を有して仮想現実をレンダリングする構成
US10179288B2 (en) 2016-06-20 2019-01-15 Zynga Inc. Adaptive object placement in computer-implemented games
CN109658365B (zh) * 2017-10-11 2022-12-06 阿里巴巴(深圳)技术有限公司 图像处理方法、装置、系统和存储介质
JP7131080B2 (ja) * 2018-05-28 2022-09-06 大日本印刷株式会社 ボリュームレンダリング装置
CN112950692B (zh) * 2019-11-26 2023-07-14 福建天晴数码有限公司 一种基于移动游戏平台的图像景深处理方法及其系统
CN112109549B (zh) * 2020-08-25 2021-11-30 惠州华阳通用电子有限公司 一种仪表显示方法和系统
US11593989B1 (en) * 2022-07-28 2023-02-28 Katmai Tech Inc. Efficient shadows for alpha-mapped models
KR20240025097A (ko) * 2022-08-17 2024-02-27 삼성디스플레이 주식회사 디스플레이 시스템 및 이의 구동 방법

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5941222B2 (ja) 1978-08-30 1984-10-05 株式会社日立製作所 図形表示装置
US5379129A (en) 1992-05-08 1995-01-03 Apple Computer, Inc. Method for compositing a source and destination image using a mask image
WO1995000918A1 (en) 1993-06-21 1995-01-05 Namco Ltd. Picture synthesizing device and video game device using it
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5808618A (en) * 1994-10-21 1998-09-15 Matsushita Electric Industrial Co., Ltd. Three-dimensional displaying apparatus having frame buffer and depth buffer
JP3578498B2 (ja) 1994-12-02 2004-10-20 株式会社ソニー・コンピュータエンタテインメント 画像情報処理装置
US5757376A (en) 1994-12-02 1998-05-26 Sony Corporation Method of producing image data and associated recording medium
GB9611941D0 (en) 1996-06-07 1996-08-07 Philips Electronics Nv Three-dimensional image texture mapping
DE69739179D1 (de) * 1996-07-18 2009-02-05 Sanyo Electric Co Eidimensionale bilder
GB9616262D0 (en) * 1996-08-02 1996-09-11 Philips Electronics Nv Post-processing generation of focus/defocus effects for computer graphics images
US5929862A (en) * 1996-08-05 1999-07-27 Hewlett-Packard Co. Antialiasing system and method that minimize memory requirements and memory accesses by storing a reduced set of subsample information
US6097393A (en) * 1996-09-03 2000-08-01 The Takshele Corporation Computer-executed, three-dimensional graphical resource management process and system
US6157733A (en) 1997-04-18 2000-12-05 At&T Corp. Integration of monocular cues to improve depth perception
US6100899A (en) 1997-10-02 2000-08-08 Silicon Graphics, Inc. System and method for performing high-precision, multi-channel blending using multiple blending passes
US6115485A (en) * 1997-10-06 2000-09-05 General Electric Company Introducing reduced data set information into a primary image data set
US6184891B1 (en) 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US6377229B1 (en) * 1998-04-20 2002-04-23 Dimensional Media Associates, Inc. Multi-planar volumetric display system and method of operation using three-dimensional anti-aliasing
US6466185B2 (en) * 1998-04-20 2002-10-15 Alan Sullivan Multi-planar volumetric display system and method of operation using psychological vision cues
US6271847B1 (en) * 1998-09-25 2001-08-07 Microsoft Corporation Inverse texture mapping using weighted pyramid blending and view-dependent weight maps
US6646687B1 (en) * 1999-04-16 2003-11-11 Ultimatte Corporation Automatic background scene defocusing for image compositing
CA2316611A1 (en) 1999-08-31 2001-02-28 Nintendo Co. Ltd. Method and apparatus for providing depth blur effects within a 3d videographics system
AU2040701A (en) * 1999-12-02 2001-06-12 Channel Storm Ltd. System and method for rapid computer image processing with color look-up table
US6587114B1 (en) * 1999-12-15 2003-07-01 Microsoft Corporation Method, system, and computer program product for generating spatially varying effects in a digital image
JP3448536B2 (ja) * 1999-12-31 2003-09-22 株式会社スクウェア・エニックス 三次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体、ぼかし描画処理方法およびビデオゲーム装置
JP4656616B2 (ja) 2000-01-28 2011-03-23 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
WO2001055970A1 (en) * 2000-01-28 2001-08-02 Namco Ltd. Game system and image creating method
US6956576B1 (en) * 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6426755B1 (en) * 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
US6590574B1 (en) * 2000-05-17 2003-07-08 Microsoft Corporation Method, system, and computer program product for simulating camera depth-of-field effects in a digital image
US6789109B2 (en) * 2001-02-22 2004-09-07 Sony Corporation Collaborative computer-based production system including annotation, versioning and remote interaction
US6919906B2 (en) * 2001-05-08 2005-07-19 Microsoft Corporation Discontinuity edge overdraw

Also Published As

Publication number Publication date
US20030189568A1 (en) 2003-10-09
EP1353296A1 (de) 2003-10-15
US7081892B2 (en) 2006-07-25
JP2004005567A (ja) 2004-01-08
JP3725524B2 (ja) 2005-12-14
US7227544B2 (en) 2007-06-05
EP1353296B1 (de) 2005-06-08
ES2243815T3 (es) 2005-12-01
KR20030081107A (ko) 2003-10-17
DE60300788D1 (de) 2005-07-14
KR100549358B1 (ko) 2006-02-08
TW583599B (en) 2004-04-11
US20060181549A1 (en) 2006-08-17
TW200305109A (en) 2003-10-16
ATE297574T1 (de) 2005-06-15

Similar Documents

Publication Publication Date Title
DE60300788T2 (de) Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE69534751T2 (de) Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium
DE69528627T2 (de) Verfahren zur Erzeugung von Bilddaten und zugehöriger Aufzeichnungsträger
US6717586B2 (en) Apparatus, method, program code, and storage medium for image processing
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE69919145T2 (de) Stochastiches detailniveau in einer rechneranimation
DE19853676B4 (de) Bilderzeugungsvorrichtung
DE69932059T2 (de) Trilineare texturfilterung mit optimiertem speicherzugriff
DE69714551T2 (de) Treiberstufe für stereoskopische bildanzeige
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69839277T2 (de) Verfahren und anordnung zur ausführung von farbschlüsseln, transparenz und nebelfunktionen
US6900799B2 (en) Filtering processing on scene in virtual 3-D space
DE69722139T2 (de) Dreidimensionale abbildung von bildtexturen
DE69331486T2 (de) Bilddatenverarbeitung
DE69431685T2 (de) Verfahren und Gerät zur Erzeugung eines dreidimensionalen Bildsignals und dessen zweidimensionaler Anzeige
JPH02199971A (ja) ビデオ処理装置
DE69735181T2 (de) Verfahren und Vorrichtung für virtuelle Architektur
EP0862141A2 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
JPS61221974A (ja) 画像処理方法および装置
DE60301303T2 (de) Videoverarbeitung
DE60108564T2 (de) Dreidimensionale Bildverarbeitungseinheit
DE69510483T2 (de) Vorrichtung zur Darstellung von Bildern
US20040075657A1 (en) Method of rendering a graphics image
DE60115556T2 (de) Verfahren und Gerät zur dreidimensionalen Bildverarbeitung und Videospielsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition