DE69914355T2 - Bildverarbeitungsgerät - Google Patents

Bildverarbeitungsgerät Download PDF

Info

Publication number
DE69914355T2
DE69914355T2 DE69914355T DE69914355T DE69914355T2 DE 69914355 T2 DE69914355 T2 DE 69914355T2 DE 69914355 T DE69914355 T DE 69914355T DE 69914355 T DE69914355 T DE 69914355T DE 69914355 T2 DE69914355 T2 DE 69914355T2
Authority
DE
Germany
Prior art keywords
rendering
sub
tiles
image
rendering devices
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
DE69914355T
Other languages
English (en)
Other versions
DE69914355D1 (de
Inventor
Cliff Gibson
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.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=10842011&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69914355(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Application granted granted Critical
Publication of DE69914355D1 publication Critical patent/DE69914355D1/de
Publication of DE69914355T2 publication Critical patent/DE69914355T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Polarising Elements (AREA)
  • Image Processing (AREA)

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft eine Vorrichtung zur Bildbearbeitung.
  • Die Erfindung ist im Besonderen, wenn auch nicht ausschließlich, zur Verwendung in Systemen für das Echtzeit-Rendering, -Texturieren oder -Schattieren (Shading) von dreidimensionalen (3-D-) Bildern geeignet. Echtzeit bedeutet hier schnell genug, damit das Bild ohne merklichen wahrnehmbaren Verzug für den Betrachter angezeigt wird.
  • Das beste bekannte existierende System zum Generieren von Echtzeit-3-D-Bildern ist der z-Buffer- (oder Tiefenpuffer-) Bildgenauigkeitsalgorithmus. Der z-Buffer-Algorithmus erfordert einen Bildwiederholspeicher, in dem Farbwerte für jedes Pixel (elementares Bildelement) in einem Bild gespeichert werden. Außerdem erfordert er einen z-Buffer mit einem Eintrag für jedes Pixel. In diesem z-Buffer wird für jedes Pixel ein z-Wert oder Tiefenwert gespeichert. Zum Generieren einer 3-D-Darstellung werden Polygone in beliebiger Reihenfolge in den Bildwiederholspeicher gerendert. Beim Eingeben eines nachfolgenden Polygons in den Bildwiederholspeicher, ersetzt, wenn ein Punkt am Polygon näher am Betrachter ist als der bereits im Bildwiederholspeicher für diesen Pixel befindliche, der Farb- und z-Wert des neuen Punktes dann die zuvor gespeicherten Werte. Wenn Texturierung oder Schattierung des Polygons gewünscht wird, wird die Texturierung oder Schattierung auf das Polygon angewendet, bevor es in den Bildwiederholrahmen gerendert wird. Das System wird mit einer Liste von Eckpunkten gespeist, die die Polygone definieren, und an jedem Polygon werden Texturier- und Schattierungsvorgänge durchgeführt, bevor ein Tiefentest ausgeführt wird. Die Leistung derartiger Systeme wird durch diverse Faktoren begrenzt, einschließlich der Eingangsdatenbandbreite, der Geschwindigkeit von Texturierung und Schattierung und der Bandbreite der Lokalspeicherschnittstelle. Es wurde vorgeschlagen, die Systemleistung durch die Verwendung von Doppel-Rendering-Vorrichtungen zu verbessern, die „abtastzeilenverschachtelt" („scan line interleaved") sind. Das heißt, es gibt zwei Prozessoren, die abwechselnde Abtastzeilen des Bildrasters bearbeiten und sich so die Bearbeitung teilen.
  • Ein weiteres System zum Generieren von Echtzeit-3-D-Bildern wird im VideoLogic Limited übertragenen Patent der Vereinigten Staaten US-A-5.729.672 beschrieben. Dieses System verwendet eine „Ray-Casting"-Methode zum Rendern von dreidimensionalen Bildern anstelle von herkömmlichen Rendering-Methoden auf Polygonbasis. Bei diesem System werden Objekte jeweils von einem Satz Oberflächen dargestellt, die als Datensätze gespeichert werden. Eine Bildebene wird als zwischen einem Betrachter und der zu betrachtenden Szene liegend angenommen und diese Bildebene setzt sich aus einer Mehrzahl von Pixeln zusammen. Es wird angenommen, dass ein Strahl (Ray) vom Betrachtungspunkt durch einen Pixel auf dem Bildschirm in die zu betrachtende Szene fällt und verschiedene Oberflächen schneidet, die Objekte in der Szene darstellen. Durch Analysieren dieser Schnittpunkte und ihrer Entfernungen zum Betrachter kann das System bestimmen, ob eine Oberfläche sichtbar ist. Wenn sie sichtbar ist, wird diese Oberfläche dann wie gewünscht texturiert oder schattiert. Wenn sie aber nicht sichtbar ist, dann ist das Texturieren und Schattieren der Oberfläche nicht nötig. Ein Vorteil dieses Systems gegenüber dem z-Buffer ist, dass nicht sichtbare Oberflächen nicht texturiert oder schattiert werden müssen.
  • Das Texturieren oder Schattieren von Bildern erfordert ziemlich viel Bearbeitungsleistung. Die mit dem System des oben erwähnten US-Patents erzielte Bearbeitungsverringerung ist daher sehr nützlich und kann bei bestimmten Bildtypen, insbesondere denjenigen, die viele überlappende Polygone oder Oberflächen haben, ziemlich dramatisch sein.
  • In dem System des US-Patents wird angenommen, dass die ein Objekt definierenden Oberflächen sich über die ganze Bildebene erstrecken, d. h. sie haben eine „unendliche" Ausdehnung. Auch wird jede Oberfläche als eine Vorwärtsfläche, wenn sie sich an der Vorderseite des Objekts befindet und so dem Beobachter zugekehrt ist, oder eine Rückwärtsfläche definiert, wenn sie Teil der Rückseite des Objekts bildet und somit vom Beobachter weggekehrt ist. Um zu bestimmen, ob ein bestimmtes Objekt an einem bestimmten Pixel sichtbar ist, wird bei der Ray-Casting-Methode ein Vergleich der Entfernungen vom Beobachtungspunkt zu (a) dem Vorwärtsflächenschnittpunkt mit dem Strahl, der am weitestens vom Beobachtungspunkt entfernt ist, und (b) dem Rückwärtsflächenschnittpunkt mit dem Strahl, der dem Beobachtungspunkt am nächsten liegt, angestellt. Wenn (a) größer als (b) ist, dann zeigt dies an, wie im Patent veranschaulicht, dass der Strahl dieses Objekt nicht schneidet, und somit, dass dieses betreffende Objekt am Pixel in der Bildebene, durch das der Strahl passiert, nicht sichtbar ist. Mit dieser Methode brauchen die Ränder der Oberflächen an sich nicht definiert oder berechnet zu werden; es reicht aus, die Eckpunkte des Objekts als Ganzes zu kennen und die von den Oberflächen eingenommenen Ebenen zu berechnen. Es ist zu beachten, dass die Methode erfordert, dass jedes Objekt für jedes Pixel in der Bildebene geprüft wird, um zu bestimmen, ob dieses Objekt an dieser Stelle sichtbar ist oder nicht.
  • Wie in diesem Patent beschrieben wird, macht die Methode es besonders leicht, zutreffende Teile des Bildes mit Schatten zu versehen. Das System kann auch Transparenz behandeln, die diverse Formen haben kann.
  • Die Methode hat zwar Vorteile gegenüber dem z-Buffer-System, Bearbeitungsanforderungen können aber trotzdem immer noch eine Beschränkung bilden. Im Patent wird vorgeschlagen, die Leistung durch Unterteilen der Bildebene oder des Bildschirms in eine Mehrzahl von Subregionen oder „Fliesen" (Tiles) zu verbessern. Die Fliesen sind praktischerweise viereckig (einschließlich quadratisch). Dann werden für jede Fliese zuerst diejenigen Objekte bestimmt, die Oberflächen haben, die in die Fliese fallen könnten, und nur diese Objekte in der Fliese werden bearbeitet, wodurch die Anzahl von zu bearbeitenden Oberflächen verringert wird. Das Ermitteln, welche Objekte zu jeder Fliese beitragen könnten, kann erzielt werden, indem das Objekt mit einem Eingrenzungsvolumen umgeben wird, nämlich einem Quader, der das ganze Objekt enthält, und indem die Fliesenfläche mit dem Eingrenzungsvolumen verglichen wird. Zu diesem Zweck werden alle Eingrenzungsvolumen auf die Bildebene projiziert und gegen die Ecken der Fliesen getestet. Diejenigen Objekte mit Eingrenzungsoberflächen, die völlig außerhalb der Fliese sind, werden für diese Fliese verworfen. Die Zahl der Oberflächen, die pro Pixel in einer Fliese bearbeitet werden müssen, werden somit weniger und daher ist die Gesamtzeit zum Rendern eines Bilds reduziert, da die gesamte Bearbeitungszeit für alle Fliesen verkürzt ist.
  • Das US-Patent beschreibt die Verwendung von Fliesen variabler Größe. Dies reflektiert die Tatsache, dass Objekte normalerweise nicht gleichmäßig über den ganzen Bildschirm verteilt sind. Wie in 1 der Zeichnungen der vorliegenden Patentanmeldung gezeigt wird, sind drei Fliesen 3 10 Pixel im Quadrat, um drei bestimmte Objekte aufzunehmen, und vier Fliesen 12 sind 5 Pixel im Quadrat, um vier kleinere Objekte aufzunehmen. Die Bildteile für die mehreren Fliesen werden pipeline-mäßig in einem Bearbeitungssystem, wie es im Patent beschrieben wird, bearbeitet.
  • Wir haben anerkannt, dass Bearbeitungsleistung trotz all dieser Merkmale immer noch eine Beschränkung sein kann, mithilfe der vorliegenden Erfindung aber verbessert werden kann.
  • Es wird Bezug genommen auf die folgenden Druckschriften:
    • D1: Kawai T. et al: „Evaluation of Parallel Ray Tracing Algorithm Using Screen Space Subdivision for Image Generation System Magg" systems & computers in Japan, US, Scripta Technia Journals New York, Band 25, Nr. 11, Oktober 1994 (1194-10), Seite 78–86, XP000499051 ISSN: 0882-1666; und
    • D2: Coppen D. et al: „A Distributed Frame Buffer for Rapid Dynamic Changes to 3D Scenes" Computers and Graphics, GB, Pergamon Press Ltd. Oxford, Band 19, Nr. 2, März 1995 (1995-03), Seite 247–250, XP000546629 ISSN: 0097-8493.
  • Aus den obigen Druckschriften sind Bildbearbeitungsvorrichtungen bekannt, die eine Zuführeinrichtung zum Zuführen von Daten, die eine Gruppe von Oberflächen definieren, die jedes Objekt in einem Bild darstellen, eine mit der Zuführeinrichtung gekoppelte Unterteilungseinrichtung zum Unterteilen des anzuzeigenden Bilds in eine Mehrzahl von Subregionen und zum Bestimmen, welche Oberflächen in welche so abgeleitete Subregionen fallen, eine Mehrzahl von Rendering-Vorrichtungen, die jeweils mit der Unterteilungseinrichtung gekoppelt sind, und eine mit der Mehrzahl von Rendering-Vorrichtungen gekoppelte Kombiniereinrichtung zum Erhalten und Kombinieren der jeweiligen Ausgänge der Mehrzahl von Rendering-Vorrichtungen zum Anzeigen umfasst.
  • Zusammenfassung der Erfindung
  • Die Erfindung in ihren verschiedenen Aspekten ist in den angefügten Ansprüchen definiert, auf die jetzt Bezug zu nehmen ist. Bevorzugte Merkmale der Erfindung sind in den anhängigen Ansprüchen dargelegt.
  • Unten wird eine bevorzugte Ausgestaltung der Erfindung mit Bezug auf die Zeichnungen ausführlicher beschrieben. Kurz, diese bevorzugte Ausgestaltung der Erfindung hat die Form einer Bildverarbeitungsvorrichtung zum Rendern (d. h. Färben, Texturieren oder Schattieren) eines Bildes und hat eine Flieseneinrichtung, die das Bild in Subregionen oder Fliesen aufteilt. Zwei Rendering-Vorrichtungen sind vorgesehen und die Fliesen werden so zugeordnet, dass einige von einer Rendering-Vorrichtung und einige von der anderen bearbeitet werden. Oberflächen von anzuzeigenden Objekten darstellende Polygone werden gegen die Fliesen getestet. Wenn die Oberfläche nur in eine Subregion fällt, werden die Daten nur an eine Rendering-Vorrichtung gesendet. Wenn die Oberfläche andererseits in zwei Subregionen fällt, die von den verschiedenen Rendering-Vorrichtungen gehandhabt werden, dann werden die Daten zu beiden Rendering-Vorrichtungen gesendet. Das Ergebnis ist, dass ein beträchtlicher Anteil der Daten nur zu/von einer Rendering-Vorrichtung geliefert und bearbeitet zu werden braucht, wodurch der Betrieb der Vorrichtung beschleunigt wird. Die Ausgänge der zwei Rendering-Vorrichtungen werden anschließend von einer Fliesenverschachtelungs- und Bildanzeigeschaltungsanordnung kombiniert.
  • Kurze Beschreibung der Zeichnungen
  • Im Folgenden wird die Erfindung nun mit Bezug auf die Begleitzeichnungen beispielhaft ausführlicher beschrieben. Dabei zeigt:
  • 1 einen Teil einer Bildebene, die mehrere Objekte enthält und Fliesen unterschiedlicher Größen hat, entnommen aus US-Patent 5.729.672;
  • 2 einen Teil des Bildschirms, der gemäß einer Ausgestaltung der vorliegenden Erfindung Fliesen enthält;
  • 3 ein Diagramm, das einen Eingrenzungskasten um ein Objekt zeigt;
  • 4 ein Ablaufdiagramm des zum Ermitteln der Koordinaten eines Eingrenzungskastens um ein Objekt verwendeten Verfahrens;
  • 5 einen Fliesen enthaltenden Teil des Bildschirms in einer Modifikation der Ausgestaltung von 1 und
  • 6 ein schematisches Blockdiagramm von Hardware, die in einer die Erfindung ausgestaltenden bevorzugten Bildbearbeitungsvorrichtung verwendet wird.
  • Ausführliche Beschreibung der bevorzugten Ausgestaltungen
  • Im Folgenden wird nun ein Verfahren und eine Vorrichtung für die Bildbearbeitung, im Besonderen für die Echtzeit-Texturierung oder -Schattierung (Shading) von dreidimensionalen (3-D-) Bildern mit Bezug auf 2 et seq. der Zeichnungen beschrieben.
  • Die Einleitung oben beschreibt eine „Eingrenzungsvolumen"-Methode, bei der Objekte, die Eingrenzungsvolumen haben, die vollkommen außerhalb einer Fliese sind, für diese Fliese verworfen werden. In der folgenden Beschreibung wird eine spezifische Implementierung dieses Prinzips verwendet, es wird nämlich angenommen, dass Objekte auf den Bildschirm oder die Bildebene projiziert werden, und ihre Eingrenzungsflächen, wie sie auf dieser Ebene gesehen werden, werden mit den Fliesen verglichen.
  • In 2, auf die zunächst Bezug genommen wird, wird ein Teil 20 eines Bildschirms gezeigt, der zwölf Subregionen oder Fliesen 22 enthält, wie gezeigt. Jede Fliese ist typisch 32 Pixel oder 64 Pixel im Quadrat, d. h. bei Verwendung einer herkömmlichen Rasterabtastung 32 oder 64 Pixel lang und 32 bzw. 64 Zeilen hoch. Es ist zu sehen, dass in dieser Figur zwei Objekte graphisch gezeigt werden, nämlich ein Haus 24 und ein Fahrrad 26. Jedes dieser Objekte erstreckt sich zum Zweck der Veranschaulichung über zwei der Fliesen 22. Im Fall des Hauses 24 liegen diese im Bild übereinander und im Fall des Fahrrads nebeneinander. In beiden Fällen ist der Vorgang der gleiche.
  • Die Fliesen sind in zwei Gruppen von Fliesen eingeteilt. Wie gezeigt, sind die Fliesen schachbrettartig in zwei Gruppen aufgeteilt. Wie in 2 gezeigt wird, sind abwechselnde Fliesen in der Figur hell oder dunkel schattiert, wobei jede helle Fliese 22A von vier dunklen Fliesen umgeben ist und jede dunkle Fliese 22B von vier hellen Fliesen umgeben ist. Die hellen und dunklen Fliesen bilden so Diagonalen über den Bildschirm.
  • Gemäß dieser Erfindung wird das Rendering der Objekte, d. h. die Texturierung und Schattierung der Objekte, das bisher von einem einzelnen Prozessor gehandhabt wurde, auf zwei Prozessoren aufgeteilt, die Prozessor A und Prozessor B genannt werden können. Jede Fliesengruppe ist mit einem betreffenden der Prozessoren A und B assoziiert. Das heißt, alle hellen Fliesen 22A sind mit Prozessor A assoziiert und alls dunklen Fliesen 22B, wie in 2 gezeigt, sind mit Prozessor B assoziiert. Sämtliche Bearbeitung von Oberflächen, die in einer hellen Fliese zu sehen sind, wird von Prozessor A durchgeführt, und sämtliche Bearbeitung von Oberflächen, die in einer dunklen Fliese zu sehen sind, wird von Prozessor B durchgeführt.
  • Komplexe Objekte können aus einer Gruppe von mehreren kleineren Polygonen zusammengesetzt gesehen werden. Beispielsweise ist das Haus 24 aus einem Dreieck für das Dach 28, einem Dreieck und einem Quadrat für den Schornstein 30 und Rechtecken für den Hauptkörper 32 des Hauses, die Fenster 34 und die Tür 36 zusammengesetzt.
  • Jene Polygone, aus denen das Dach 28, der Schornstein 30 und das im oberen Stockwerk befindliche Fenster 34 zusammengesetzt ist, liegen völlig innerhalb einer hellen Fliese 22A und brauchen daher nur zu Prozessor oder Vorrichtung A gesendet zu werden. Die Tür 36 und das Fenster 34 unten liegen völlig innerhalb einer dunklen Fliese 22B und brauchen daher nur zu Prozessor oder Vorrichtung B gesendet zu werden. Der Hauptkörper 32 des Hauses überlappt aber zwei Fliesen. Dementsprechend muss er zu beiden Prozessoren oder Vorrichtungen gesendet werden, da er sich auf die Anzeige in einer hellen Fliese und auch in einer dunklen Fliese auswirkt.
  • Desgleichen werden für das Fahrrad 26 die Polygone, aus denen das Vorderrad, die Vorderradgabel und der Lenker zusammengesetzt sind, nur an Vorrichtung A gesendet; das Hinterrad, die Hinterradgabel und der Sattel werden nur an Vorrichtung B gesendet, während der Rahmen des Fahrrads an beide Vorrichtungen gesendet wird. Größere Objekte können sich über drei oder mehr Fliesen erstrecken, aber die angewendete Bearbeitung und ihre Wirkungen sind die gleichen wie bei Objekten, die nur zwei Fliesen überlappen.
  • Der Umfang jedes der Polygone, aus denen das komplexe Objekt zusammengesetzt ist, kann erreicht werden, indem ein Rechteck zum Einschließen des gesamten Polygons gezeichnet wird und das Rechteck dann gegen die Koordinaten der Fliesen des Bildschirms getestet wird, um den Umfang des Polygons zu ermitteln. Dies wird in 3 illustriert, die ein arbiträres Polygon 40 zeigt. Dieses Polygon wird als ein eingezogenes (rückspringendes) Polygon gezeigt und kann zur Bearbeitung bequem in nicht eingezogene Polygone zerlegt werden, wenn gewünscht, aber das Prinzip der Einrichtung des Eingrenzungskastens ist das gleiche. Polygondaten werden in die Rendering-Vorrichtung gespeist, indem die Koordinaten jedes Eckpunkts des Polygons gegeben werden. Die Koordinaten werden in einem kartesischen System mit drei orthogonalen Achsen, x, y und z, angegeben. Es wird angenommen, dass sich der Endbildschirm in der Ebene der x-y-Achsen befindet, während die z-Achse die Tiefe des Objekts darstellt, wie es konventionell ist. Das zum Ermitteln der Mindestwerte von x und y, die die Ecken 44 des Eingrenzungskastens 42 definieren, verwendete Verfahren wird in 4 illustriert.
  • Im Verfahren 50 von 4 wird in einem ersten Schritt 52 anfänglich angenommen, dass die Eingabewerte xin, yin für den ersten bearbeiteten Eckpunkt die gewünschten Werte xmin, xmax, ymin, ymax sind. Der nächste Eckpunkt wird dann in Schritt 54 bearbeitet. Die neuen Eingabewerte xin, yin werden mit den gespeicherten Werten für xmin, xmax, ymin, ymax verglichen. Wenn der neue Eingabewert für x oder y kleiner als der gespeicherte Mindestwert ist, dann ersetzt er den Mindestwert, und wenn der neue Eingabewert den Höchstwert übersteigt, ersetzt er den Höchstwert. Das Verfahren geht dann zu Schritt 56 über, wo eine Prüfung durchgeführt wird, um festzustellen, ob der letzte das Polygon definierende Eckpunkt bearbeitet wurde. Wenn nicht, kehrt das Verfahren zu Schritt 54 zurück, um den nächsten Eckpunkt zu bearbeiten. Wenn ja, dann sind jetzt die Koordinaten des Eingrenzungskastens 42 bestimmt und das Verfahren geht zu Schritt 58 über, wo eine Ermittlung durchgeführt wird, um festzustellen, ob der Eingrenzungskasten die Bildschirmfliese, die bearbeitet wird, überlappt. Diese Ermittlung erfolgt auch durch einfachen Vergleich der xy-Koordinaten der Ecken 44 des Eingrenzungskastens 42 mit den xy-Koordinaten der Ecken der Fliese. Die Fliesengröße hinsichtlich der Pixelzahl wird vorzugsweise als eine Potenz von zwei gewählt, z. B. 32 oder 64, was zur Folge hat, dass der Bildschirmfliesentest 58 auf eine Anzahl einfacher binärer Vergleiche reduziert wird.
  • Das beschriebene Eingrenzungskastenverfahren verursacht gelegentlich, dass das System anzeigt, dass eine Oberfläche innerhalb eine bestimmte Fliese fällt, wenn dies in Wirklichkeit nicht der Fall ist, aber das ist kein bedeutendes Problem.
  • Wie beschrieben, wurden die Fliesen in einem Schachbrettmuster auf die zwei Prozessoren A und B aufgeteilt. Es können aber auch andere Verfahren zum Aufteilen des Bildschirms verwendet werden. Das optimale Verfahren hängt vom Bildinhalt ab und kann bedeuten, dass mehr Fliesen von einem Prozessor als dem anderen bearbeitet werden. 5 illustriert eine Teilungsform, in der ein großes Rechteck 2 ein kleines Rechteck 1 kürzerer Höhe und Breite enthält. Die Vorrichtung B hat die Aufgabe, die das kleinere Rechteck 1 bildenden Fliesen zu bearbeiten, und der Prozessor A hat die Aufgabe, was übrig ist zu bearbeiten, d. h. Rechteck 2 ausgenommen Rechteck 1. Rechteck 1 wird somit für Prozessor A als ein Inklusionsrechteck und Rechteck 2 als ein Exklusionsrechteck definiert. Das heißt, alle Polygone, die vollständig in Rechteck 1 eingeschlossen sind, werden an Vorrichtung A gesendet. Polygone außerhalb von Rechteck 1, aber innerhalb von Rechteck 2 werden an Vorrichtung B gesendet. Polygone, die die zwei Bereiche überlappen, werden an beide Vorrichtungen gesendet.
  • Die Teilung des Bildschirms ist dergestalt, dass eine beträchtliche Anzahl von Oberflächen nur an einen Prozessor gesendet werden müssen. Die Fliesen sind also vorzugsweise im Wesentlichen rechtwinklig, wobei z. B. eine Seite höchstens das Zwei- oder Dreifache der Länge in Pixeln der anderen ist, sodass eine annehmbare Wahrscheinlichkeit besteht, dass ein guter Anteil der Oberflächen nur in eine Fliese fallen werden. Auf diese Weise wird das Bearbeiten dadurch reduziert, dass einige Oberflächen nur an einen Prozessor gesendet werden müssen. Eine Aufteilung, in der abwechselnde Abtastzeilen von verschiedenen Prozessoren bearbeitet würden, würde somit keine Vorteile bieten, weil die Anzahl von Oberflächen, die nur auf eine Abtastzeile fallen, null oder eng daran ist. Eine weitere mögliche Aufteilung wäre in horizontale Bänder über den Bildschirm, aber die Bänder müssten breit genug sein, z. B. könnte der Bildschirm als Ganzes in drei oder vier Bänder aufgeteilt werden. Das Fliesenaspektverhältnis ist dann kleiner als sechs zu eins. Auf jeden Fall gibt es normalerweise wenigstens drei Bildschirmbereiche, wobei wenigstens einer der Prozessoren die Aufgabe hat, wenigstens zwei diskrete separate Bildbereiche zu bearbeiten.
  • Die für die Implementierung der beschriebenen Ausgestaltung erforderliche Hardware hat die Form der in 6 gezeigten. 6 zeigt in Form eines Blockdiagramms die Bildbearbeitungsvorrichtung 60, die die Erfindung ausgestaltet und eine mit einem Hauptspeicher 64 verbundene Zentraleinheit (CPU) 62 aufweist. Die Fliesenunterteilungsvorrichtung 66 definiert die Fliesen und kommuniziert mit einem Lokalspeicher 68 sowie der Zentraleinheit 62. Die Fliesenunterteilungsvorrichtung hat effektiv zwei Ausgänge, an die eine erste Texturierungs- oder Rendering-Vorrichtung 70A und eine zweite Texturierungs- oder Rendering-Vorrichtung 70B angebracht ist. Die Ausgänge der zwei Rendering-Vorrichtungen 68A und 68B werden beide an die Fliesenverschachtelungs- und Bildanzeigeschaltungsanordnung 72 angelegt. Für die weitere Beschreibung geeigneter Hardware kann auf unser oben erwähntes US-Patent Bezug genommen werden, wobei der bedeutende Punkt darin liegt, dass es zwei Rendering-Vorrichtungen 70A, 70B gibt, die zwischen der Fliesenunterteilungsvorrichtung 66 und der Schaltungsanordnung 72 parallel geschaltet sind.
  • In der Praxis können die zwei Ausgänge der Fliesenunterteilungsvorrichtung 66 von einem einzelnen Datenbus zusammen mit entsprechender Adressierung zum Kennzeichnen einer gewünschten der zwei Rendering-Vorrichtungen 70A, 70B gebildet werden.
  • Die am Betrieb der Vorrichtung von 6 beteiligten Schritte können im Prinzip wie folgt beschrieben werden:
    • 1. Objekte werden vom Benutzer (Programmierer) generiert. Sie werden durch ihre Eckpunkte und durch Texturcodes, die die Art der für jede Oberfläche erforderlichen Texturierung anzeigen, definiert. Dazu gehören die Farbe und andere Oberflächeneffekte.
    • 2. Für jede Oberfläche wird nach dem oben beschriebenen Verfahren ein Eingrenzungskasten generiert.
    • 3. Der Eingrenzungskasten wird mit dem angewendeten Makro-Fliesenmuster verglichen, um zu bestimmen, welche Oberflächen in welche Fliesen fallen, und somit, welche der mehreren Rendering-Vorrichtungen (in diesem Fall zwei) die Daten benötigen. Oberflächeneckpunkte und Texturcodes werden dann in dem zutreffenden mit jeder Speichervorrichtung assoziierten Lokalspeicherteil gespeichert.
    • 4. An diesem Punkt wird eine Fliesenanzeigeliste für jede Rendering-Vorrichtung generiert, sodass, wenn die Rendering-Vorrichtung in Betrieb ist, sie nur Daten für jede ihrer Fliesen und nicht die ganze Szenenanzeigeliste zu durchqueren braucht.
    • 5. Für jedes Pixel der Fliese werden die Oberflächen nach Tiefe sortiert, wobei die nächsten Oberflächen zuerst aufgelistet werden.
    • 6. Das Ray-Casting-Verfahren des oben erwähnten US-Patents wird eingesetzt, um die vorderste opake Oberfläche zu finden, die an diesem betreffenden Pixel zu sehen ist.
    • 7. Die so ausgemachten vordersten sichtbaren Oberflächen werden dann gerendert, um die gewünschte Oberflächenfarbe, Textur und Schattierung zu bieten.
    • 8. Das Ergebnis wird in einem Anzeigepufferspeicher gespeichert.
  • Gemäß dieser Erfindung werden einige der obigen Schritte von zwei parallel arbeitenden Prozessoren ausgeführt. Die Operationen sind wie oben beschrieben auf die zwei Prozessoren verteilt. Das heißt, für einige Fliesen (die hellen Fliesen, wie oben genannt) wird Schritt 7 von einem Prozessor erzielt und der gleiche Schritt für die anderen (dunklen) Fliesen wird vom anderen Prozessor erzielt. Das reduziert die für die Bearbeitung benötigte Zeit um einen Faktor, der kleiner als aber annähernd eine Hälfte ist. Die Ausgänge der zwei Prozessoren werden zum Anlegen an den Anzeigepufferspeicher und zum anschließenden Anzeigen auf dem Bildschirm kombiniert.
  • Es ist daher zu sehen, dass das System durch Zuführen von Daten, die eine ein Objekt, z. B. das Haus oder das Fahrrad in 2, darstellende Oberflächengruppe definieren, funktioniert. Die Anzeige ist in eine große Anzahl von Fliesen unterteilt und eine Ermittlung wird dahingehend durchgeführt, welche Oberflächen in welche Fliesen fallen. Die Daten werden dann in Abhängigkeit davon, in welche Fliese die diversen Oberflächen fallen, an die zwei Rendering-Vorrichtungen angelegt. Die Daten einiger Oberflächen werden nur an eine Rendering-Vorrichtung gesendet und die Daten anderer Oberflächen werden an beide Rendering-Vorrichtungen gesendet. Im Besonderen brauchen die Daten, wenn die Oberfläche nur in eine Fliese fällt, z. B. das Dach oder die Tür in 2, nur an eine Rendering- oder Texturierungs-Vorrichtung gesendet zu werden. Wenn die Oberfläche in zwei Fliesen fällt, die von den verschiedenen Rendering-Vorrichtungen gehandhabt werden, müssen die Oberflächendaten zu beiden Rendering-Vorrichtungen gesendet werden.
  • Es kann sein, dass die Oberfläche in zwei Fliesen fällt, die beide von der/dem gleichen Rendering-Vorrichtung oder Prozessor gehandhabt werden, wobei in diesem Fall die Daten ebenfalls nur an eine Rendering-Vorrichtung gesendet werden müssen. Bei der Fliesenanordnung in 2 ist dies unwahrscheinlich, es könnte aber bei anderen Anordnungen leichter vorkommen.
  • Die illustrierten Ausgestaltungen der Erfindung gehen davon aus, dass es anstelle des gewöhnlich einen zwei Prozessoren für das Rendering (z. B. Texturieren oder Schattieren) gibt. Die Erfindung ist aber nicht auf die Verwendung von zwei Vorrichtungen begrenzt; falls gewünscht, können mehr als zwei verwendet werden, wobei in diesem Fall der Bildschirm in eine entsprechende größere Anzahl von Regionen aufgeteilt wird, die jeweils eine betreffende Fliesengruppe umfassen.
  • Die illustrierten Ausgestaltungen haben den Vorteil, dass, die Bearbeitung normaler Bilder vorausgesetzt, die Bearbeitungszeit auf Grund der Tatsache verkürzt wird, dass die Prozessoren gleichzeitig parallel arbeiten können, wobei jeder Prozessor nur einige der Oberflächen und nicht alle Oberflächen im Bild zu bearbeiten braucht.
  • Es ist zu beachten, dass an dem rein beispielhaft beschriebenen und illustrierten System viele andere Modifikationen im Rahmen der Erfindung gemäß den Ansprüchen vorgenommen werden können.

Claims (15)

  1. Bildbearbeitungsvorrichtung, umfassend: Einrichtung zum Zuführen von Daten, die eine Gruppe von Flächen, die jedes Objekt in einem Bild darstellen, definieren; mit der Zuführeinrichtung gekoppelte Unterteilungseinrichtung zum Unterteilen der Anzeige in eine Mehrzahl von Subregionen, um zu bestimmen, welche Flächen in welche der so abgeleiteten Subregionen fallen, und zum Anwenden so bestimmter Flächendaten für jede Subregion auf betreffende einer Mehrzahl von Ausgabeeinrichtungen; eine entsprechende Mehrzahl von Rendering-Vorrichtungen, die jeweils mit einem der Mehrzahl von Ausgängen der Unterteilungseinrichtung gekoppelt sind; mit der Mehrzahl von Rendering-Vorrichtungen gekoppelte Kombiniereinrichtung zum Erhalten und Kombinieren der betreffenden Ausgänge der Mehrzahl von Rendering-Vorrichtungen zum Anzeigen; bei der die Unterteilungseinrichtung in Abhängigkeit davon, ob die Fläche nur in eine Subregion oder in eine Mehrzahl von Subregionen fällt, die von verschiedenen Rendering-Vorrichtungen gehandhabt werden, Daten für einige Flächen nur zu einer Rendering-Vorrichtung sendet und Daten für andere Flächen zu mehr als einer Rendering-Vorrichtung sendet.
  2. Vorrichtung nach Anspruch 1, bei der die Zuführeinrichtung eine Zentraleinheit (CPU) (62) und eine Speichervorrichtung (64) umfasst.
  3. Vorrichtung nach Anspruch 1, bei der die Unterteilungseinrichtung (66) (ein) assoziierte(s) Speichermittel (68) hat.
  4. Vorrichtung nach Anspruch 1, bei der die Unterteilungseinrichtung (66) bestimmt, welche Flächen in welche Subregion fallen können, indem sie für jede Fläche ein rechteckiges Eingrenzungsvolumen bestimmt und indem sie bestimmt, in welche Subregionen die Eingrenzungsvolumen fallen.
  5. Vorrichtung nach Anspruch 1, bei der die Unterteilungseinrichtung (66) ein Ray-Casting-Verfahren verwendet, um zu bestimmen, welche Flächen in welche Subregionen in einer Bildebene fallen.
  6. Vorrichtung nach Anspruch 1, bei der die Flächen vor dem Rendern durch die Rendering-Mittel (70A, 70B) nach Tiefe sortiert werden.
  7. Vorrichtung nach Anspruch 1, bei der die Flächen Polygone sind.
  8. Vorrichtung nach Anspruch 1, in der es zwei und nur zwei Rendering-Vorrichtungen (70A, 70B) gibt.
  9. Vorrichtung nach Anspruch 8, bei der die Subregionen in einem Schachbrettmuster mit den Rendering-Vorrichtungen (70A, 70B) assoziiert sind.
  10. Vorrichtung nach Anspruch 1, bei der die Subregion aus betreffenden Bändern über das Bild besteht.
  11. Vorrichtung nach Anspruch 1, bei der die Subregionen rechteckig mit einem Aspektverhältnis von weniger als eins zu sechs sind.
  12. Vorrichtung nach Anspruch 1, bei der die Subregionen rechteckig mit einem Aspektverhältnis von weniger als eins zu drei sind.
  13. Vorrichtung nach Anspruch 1, bei der wenigstens einige der Subregionen im wesentlichen quadratisch sind.
  14. Vorrichtung nach Anspruch 1, bei der wenigstens eine Subregion durch Einschluss in ein erstes Rechteck und Ausschluss aus einem zweiten, in dem ersten Rechteck enthaltenen Rechteck definiert wird.
  15. Vorrichtung nach Anspruch 1, bei der wenigstens einige der Subregionen eine Breite und eine Höhe von 32 bis 64 Pixel haben.
DE69914355T 1998-11-06 1999-11-08 Bildverarbeitungsgerät Expired - Lifetime DE69914355T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9824406A GB2343598B (en) 1998-11-06 1998-11-06 Image processing apparatus
GB9824406 1998-11-06
PCT/GB1999/003716 WO2000028477A1 (en) 1998-11-06 1999-11-08 Image processing apparatus

Publications (2)

Publication Number Publication Date
DE69914355D1 DE69914355D1 (de) 2004-02-26
DE69914355T2 true DE69914355T2 (de) 2004-11-11

Family

ID=10842011

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69914355T Expired - Lifetime DE69914355T2 (de) 1998-11-06 1999-11-08 Bildverarbeitungsgerät

Country Status (7)

Country Link
US (1) US6750867B1 (de)
EP (1) EP1125250B1 (de)
JP (1) JP4480895B2 (de)
AT (1) ATE258327T1 (de)
DE (1) DE69914355T2 (de)
GB (1) GB2343598B (de)
WO (1) WO2000028477A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2469050A1 (en) * 2000-12-22 2002-07-04 Volume Interactions Pte. Ltd. A method of rendering a graphics image
US7796133B1 (en) 2002-11-18 2010-09-14 Ati Technologies Ulc Unified shader
US7061495B1 (en) * 2002-11-18 2006-06-13 Ati Technologies, Inc. Method and apparatus for rasterizer interpolation
US7633506B1 (en) * 2002-11-27 2009-12-15 Ati Technologies Ulc Parallel pipeline graphics system
US8933945B2 (en) * 2002-11-27 2015-01-13 Ati Technologies Ulc Dividing work among multiple graphics pipelines using a super-tiling technique
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US7403661B2 (en) * 2004-02-12 2008-07-22 Xerox Corporation Systems and methods for generating high compression image data files having multiple foreground planes
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
ATE383627T1 (de) * 2004-11-19 2008-01-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zur erzeugung dreidimensionaler bilder
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
GB2442266B (en) * 2006-09-29 2008-10-22 Imagination Tech Ltd Improvements in memory management for systems for generating 3-dimensional computer images
US8797320B2 (en) * 2007-08-02 2014-08-05 Disney Enterprises, Inc. Surface shading of computer-generated object using multiple surfaces
GB2461821B (en) * 2007-09-12 2010-06-30 Imagination Tech Ltd Methods and systems for generating 3-dimensional computer images
GB0723536D0 (en) 2007-11-30 2008-01-09 Imagination Tech Ltd Multi-core geometry processing in a tile based rendering system
JP5120174B2 (ja) * 2008-09-18 2013-01-16 富士通株式会社 描画装置
US8152613B2 (en) * 2009-01-14 2012-04-10 Sony Computer Entertainment America Llc Tiled objects in digital environments
GB0922126D0 (en) 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
JP5393574B2 (ja) 2010-04-08 2014-01-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
JP5595151B2 (ja) 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5643574B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法
JP5664052B2 (ja) 2010-09-15 2015-02-04 富士通セミコンダクター株式会社 グラフィック処理装置、及び、グラフィック処理プログラム
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
GB2494903B (en) 2011-09-22 2017-12-27 Advanced Risc Mach Ltd Graphics processing systems
EP2648107B1 (de) * 2012-04-05 2016-09-28 Siemens Healthcare GmbH Volumendarstellung auf gemeinsam genutzten Speichersystem mit mehrfachen Prozessoren durch Optimierung der Cache-Nutzung

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8828342D0 (en) * 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5008838A (en) * 1989-11-17 1991-04-16 Digital Corporation Method for simultaneous initialization of a double buffer and a frame buffer
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US6313841B1 (en) * 1998-04-13 2001-11-06 Terarecon, Inc. Parallel volume rendering system with a resampling module for parallel and perspective projections

Also Published As

Publication number Publication date
EP1125250B1 (de) 2004-01-21
JP2002529865A (ja) 2002-09-10
DE69914355D1 (de) 2004-02-26
ATE258327T1 (de) 2004-02-15
GB2343598B (en) 2003-03-19
GB9824406D0 (en) 1998-12-30
WO2000028477A1 (en) 2000-05-18
GB2343598A (en) 2000-05-10
US6750867B1 (en) 2004-06-15
JP4480895B2 (ja) 2010-06-16
EP1125250A1 (de) 2001-08-22

Similar Documents

Publication Publication Date Title
DE69914355T2 (de) Bildverarbeitungsgerät
DE69908966T3 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE69610341T2 (de) 3-D-Bildertexturierung und -schattierung
DE60217122T2 (de) Drei-dimensionales graphisches system
DE3854543T2 (de) Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung.
DE69916646T3 (de) Schattierung von 3-dimensionalen rechnererzeugten Bildern
DE69424074T2 (de) Bilderzeugungsgerät und Verfahren zur Erzeugung eines Bildes
DE69811849T2 (de) Verfahren und gerät zur interpolation von attributen bei 3d-grafiken
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE19709220B4 (de) System und Verfahren für eine beschleunigte Verdeckungsauslese
DE69127915T2 (de) System und Verfahren von Prioritätsfarbabbildung
DE69122557T2 (de) Bilderzeugung
DE69100140T2 (de) Verfahren zur Anzeige eines Bildteiles einer physikalischen Struktur.
DE69329572T2 (de) Bilderzeugungsgerät
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE69224499T2 (de) Dreidimensionale graphische Verarbeitung
DE69919497T2 (de) Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern
DE60012917T2 (de) Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69716877T2 (de) System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem
DE3831428C2 (de)
DE69609534T2 (de) Rechnerbasierte 3D-Darstellungsverfahren und -System
DE19600431A1 (de) Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht

Legal Events

Date Code Title Description
8363 Opposition against the patent