DE102015115576A1 - Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren - Google Patents

Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren Download PDF

Info

Publication number
DE102015115576A1
DE102015115576A1 DE102015115576.1A DE102015115576A DE102015115576A1 DE 102015115576 A1 DE102015115576 A1 DE 102015115576A1 DE 102015115576 A DE102015115576 A DE 102015115576A DE 102015115576 A1 DE102015115576 A1 DE 102015115576A1
Authority
DE
Germany
Prior art keywords
processing unit
primitive
color data
aliasing
graphics processing
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.)
Granted
Application number
DE102015115576.1A
Other languages
English (en)
Other versions
DE102015115576B4 (de
Inventor
Yong-Kwon Cho
Chang-Hyo Yu
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102015115576A1 publication Critical patent/DE102015115576A1/de
Application granted granted Critical
Publication of DE102015115576B4 publication Critical patent/DE102015115576B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

Eine Grafikverarbeitungseinheit (100, 300, 3100) weist eine Geometrieverarbeitungseinheit (110, 310) und eine Render-Verarbeitungseinheit (120, 320, 420) auf. Die Geometrieverarbeitungseinheit (110, 310) ist konfiguriert, um Vertices (Eckpunkte) zu empfangen und um wenigstens ein Primitiv unter Verwendung der Vertices zu erzeugen. Die Render-Verarbeitungseinheit (120, 320, 420) ist konfiguriert, um das erzeugte wenigstens eine Primitiv in Fragmente umzuwandeln, um eine Fragmentschattierung auf den umgewandelten Fragmenten durchzuführen, und um ein Anti-Aliasing auf den Fragmenten durchzuführen, auf welchen die Fragmentschattierung durchgeführt wurde. Die Render-Verarbeitungseinheit (120, 320, 420) führt das Anti-Aliasing auf ersten Farbdaten und zweiten Farbdaten, welche unterschiedlich von den ersten Farbdaten sind, unter Verwendung voneinander unterschiedlicher Operationen durch.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2014-0142675 , welche am 21. Oktober 2014 beim koreanischen Amt für gewerblichen Rechtsschutz (Korean Intellectual Property Office) eingereicht wurde, deren Offenbarung hierin durch Bezugnahme in ihrer Gesamtheit mit eingebunden ist.
  • TECHNISCHES GEBIET
  • Das vorliegende erfinderische Konzept bezieht sich auf eine Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem, welches die Grafikverarbeitungseinheit aufweist, und ein Anti-Aliasing-Verfahren, welches die Grafikverarbeitungseinheit verwendet.
  • DISKUSSION DES STANDES DER TECHNIK
  • Eine Grafikverarbeitungseinheit (GPU = Graphic Processing Unit = Grafikverarbeitungseinheit) ist ein Kern, welcher Grafikverarbeitungsoperationen in einem Berechnungssystem beziehungsweise Computersystem durchführt. Eine Grafikpipeline, eine Hardwarekonfiguration der GPU, kann ein dreidimensionales (3D-)Objekt als eine Eingabe und ein zweidimensionales (2D-)Renderbild als eine Ausgabe empfangen. Wenn die Grafikauflösung sich erhöht, nimmt auch die Anforderung für eine leistungsfähigere GPU und eine größere Speicherbandbreite zu.
  • KURZFASSUNG
  • Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist eine Grafikverarbeitungseinheit vorgesehen. Die Grafikverarbeitungseinheit weist eine Geometrieverarbeitungseinheit und eine Renderverarbeitungseinheit auf. Die Geometrieverarbeitungseinheit ist konfiguriert, um Vertices beziehungsweise Eckpunkte zu empfangen, und um wenigstens ein Primitiv unter Verwendung des Vertex zu erzeugen. Die Renderverarbeitungseinheit ist konfiguriert, um das erzeugte wenigstens eine Primitiv in Fragmente umzuwandeln, um eine Fragmentschattierung auf den umgewandelten Fragmenten durchzuführen, und um ein Anti-Aliasing auf den Fragmenten durchzuführen, auf welchen die Fragmentschattierung durchgeführt worden ist. Die Renderverarbeitungseinheit führt das Anti-Aliasing auf ersten Farbdaten und zweiten Farbdaten, welche von den ersten Farbdaten unterschiedlich sind, unter Verwendung voneinander unterschiedlicher Operationen durch.
  • Die Renderverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • Die Renderverarbeitungseinheit kann ein Supersampling-Anti-Aliasing(SSAA = Supersampling Anti-Aliasing)-Verfahren, ein Multisampling-Anti-Aliasing(MSAA = Multisampling Anti-Aliasing)-Verfahren oder ein morphologisches Anti-Aliasing(MLAA = morphological Anti-Aliasing)-Verfahren verwenden.
  • Die Renderverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten durchführen, und die Renderverarbeitungseinheit kann das Anti-Aliasing auf den zweiten Farbdaten nicht durchführen.
  • Die Renderverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durchführen.
  • Die Geometrieverarbeitungseinheit kann eine Vertexverarbeitungseinheit und eine Primitivanordnungseinheit beziehungsweise Primitivzusammenfügeeinheit aufweisen. Die Vertexverarbeitungseinheit kann konfiguriert sein, um die Vertices zu empfangen, die empfangenen Vertices umzuwandeln und um die umgewandelten Vertices auszugeben. Die Primitivanordnungseinheit kann konfiguriert sein, um das wenigstens eine Primitiv und Texturpatchinformationen, welche dem wenigstens einen Primitiv entsprechen, unter Verwendung der umgewandelten Vertices zu erzeugen.
  • Das wenigstens eine Primitiv kann vom Dreieckstyp sein.
  • Die Geometrieverarbeitungseinheit kann weiterhin eine Tilingeinheit beziehungsweise Kacheleinheit aufweisen. Die Kacheleinheit kann konfiguriert sein, um einen Bildrahmen beziehungsweise Bildframe in eine Mehrzahl von Kacheln zu unterteilen, und um eine erste Primitiv-Liste des wenigstens einen Primitivs zu erzeugen, welches einer ersten Kachel der Mehrzahl von Kacheln entspricht.
  • Die erste Primitiv-Liste kann Positionsinformationen und Attributinformationen des wenigstens einen Primitivs aufweisen, welches der ersten Kachel entspricht.
  • Die Renderverarbeitungseinheit kann einen Rasterer und eine Fragmentverarbeitungseinheit aufweisen. Der Rasterer kann konfiguriert sein, um eine Rasterung auf dem wenigstens einen Primitiv durchzuführen, um das wenigstens eine Primitiv in die Fragmente umzuwandeln. Die Fragmentverarbeitungseinheit kann konfiguriert sein, um das Anti-Aliasing auf den Fragmenten durchzuführen.
  • Die Renderverarbeitungseinheit kann weiterhin einen Tiefentester aufweisen. Der Tiefentester kann konfiguriert sein, um einen Sichtbarkeitstest auf dem wenigstens einen Primitiv durchzuführen, um ein unsichtbares Primitiv unter dem wenigstens einen Primitiv zu erkennen, und um das unsichtbare Primitiv zu verwerfen. Der Rasterer kann eine Rasterung auf einer Ausgabe des Tiefentesters durchführen.
  • Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist eine Grafikverarbeitungseinheit vorgesehen. Die Grafikverarbeitungseinheit weist eine Primitivanordnungseinheit, eine Tilingeinheit beziehungsweise Kacheleinheit und eine Rendereinheit auf. Die Primitivanordnungseinheit ist konfiguriert, um Vertices zu empfangen und um wenigstens ein Primitiv unter Verwendung der Vertices zu erzeugen. Die Kacheleinheit ist konfiguriert, um einen Bildrahmen beziehungsweise einen Bildframe in eine Mehrzahl von Kacheln zu unterteilen und um Texturpatchinformationen, welche dem wenigstens einen Primitiv entsprechen, zu erzeugen. Das wenigstens eine Primitiv entspricht einer ersten Kachel der Mehrzahl von Kacheln. Die Renderverarbeitungseinheit ist konfiguriert, um eine Fragmentschattierung auf Fragmenten in dem wenigstens einen Primitiv unter Verwendung der erzeugten Texturpatchinformationen durchzuführen. Die Renderverarbeitungseinheit führt die Fragmentschattierung auf ersten Farbdaten und zweiten Farbdaten, welche unterschiedlich von den ersten Farbdaten sind, unter Verwendung voneinander unterschiedlicher Operationen durch.
  • Die Renderverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • Die Renderverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten durchführen und die Renderverarbeitungseinheit kann die Fragmentschattierung auf den zweiten Farbdaten nicht durchführen.
  • Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist ein Grafikverarbeitungssystem vorgesehen. Das Grafikverarbeitungssystem weist eine Grafikverarbeitungseinheit und einen externen Speicher auf. Die Grafikverarbeitungseinheit ist konfiguriert, um ein Anti-Aliasing auf ersten Farbdaten und zweiten Farbdaten, welche unterschiedlich von den ersten Farbdaten sind, durchzuführen. Der externe Speicher ist konfiguriert, um erste Daten zu speichern, welche erzeugt werden, wenn die Grafikverarbeitungseinheit das Anti-Aliasing durchführt. Die Grafikverarbeitungseinheit führt das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durch.
  • Die Grafikverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • Die Grafikverarbeitungseinheit kann das Anti-Aliasing unter Verwendung eines Supersampling-Anti-Aliasing(SSAA = Supersampling Anti-Aliasing)-Verfahrens, eines Multisampling-Anti-Aliasing(MSAA = Multisampling Anti-Aliasing)-Verfahrens oder ein morphologischen Anti-Aliasing(MLAA = morphological Anti-Aliasing)-Verfahrens durchführen.
  • Die Grafikverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten durchführen, und die Grafikverarbeitungseinheit kann das Anti-Aliasing auf den zweiten Farbdaten nicht durchführen.
  • Die Grafikverarbeitungseinheit kann wenigstens ein Primitiv unter Verwendung von Vertices erzeugen, das wenigstens eine Primitiv in Fragmente umwandeln und eine Fragmentschattierung auf den umgewandelten Fragmenten durchführen.
  • Die Grafikverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durchführen.
  • Die Grafikverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten durchführen, und die Grafikverarbeitungseinheit kann die Fragmentschattierung auf den zweiten Farbdaten nicht durchführen.
  • Das Grafikverarbeitungssystem kann weiterhin eine Anzeigeeinheit aufweisen. Die Anzeigeeinheit kann konfiguriert sein, um die ersten Daten, welche in dem externen Speicher gespeichert sind, anzuzeigen.
  • Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist ein Anti-Aliasing-Verfahren vorgesehen. Das Verfahren weist ein Empfangen von Vertices, ein Erzeugen wenigstens eines Primitivs unter Verwendung der Vertices, ein Definieren von Texturpatches bzw. Texturstellen bzw. Texturflecken, welche dem wenigstens einen Primitiv entsprechen, ein Umwandeln des wenigstens einen Primitivs in Fragmente durch ein Durchführen einer Rasterung auf dem erzeugten wenigstens einen Primitiv, ein Durchführen einer Fragmentschattierung auf den Fragmenten unter Verwendung der definierten Texturpatches und ein Durchführen von Anti-Aliasing auf den Fragmenten, von welchen die Fragmentschattierung durchgeführt worden ist, auf. Wenn das Anti-Aliasing durchgeführt wird, werden voneinander unterschiedliche Operationen auf ersten Farbdaten und zweiten Farbdaten, welche unterschiedlich von den ersten Farbdaten sind, durchgeführt.
  • Das Durchführen des Anti-Aliasing kann voneinander unterschiedliche Anzahlen von Abtastdaten auf den ersten Farbdaten und den zweiten Farbdaten verwenden.
  • Das Durchführen des Anti-Aliasing kann ein Supersampling-Anti-Aliasing(SSAA = Supersampling Anti-Aliasing)-Verfahren, ein Multisampling-Anti-Aliasing(MSAA = Multisampling Anti-Aliasing)-Verfahren oder ein morphologisches Anti-Aliasing(MLAA = morphological Anti-Aliasing)-Verfahren verwenden.
  • Das Anti-Aliasing kann auf den ersten Farbdaten durchgeführt werden, und das Anti-Aliasing kann auf den zweiten Farbdaten nicht durchgeführt werden.
  • Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist eine Grafikverarbeitungseinheit vorgesehen. Die Grafikverarbeitungseinheit weist eine Geometrieverarbeitungseinheit und eine Renderverarbeitungseinheit auf. Die Geometrieverarbeitungseinheit ist konfiguriert, um Vertices zu empfangen, und um ein erstes Primitiv und ein zweites Primitiv unter Verwendung der Vertices zu erzeugen. Die Renderverarbeitungseinheit ist konfiguriert, um das erste Primitiv in Fragmente umzuwandeln, um eine Fragmentschattierung auf den Fragmenten durchzuführen, und um ein Anti-Aliasing auf den Fragmenten, auf welchen die Fragmentschattierung durchgeführt worden ist, durchzuführen. Die Renderverarbeitungseinheit weist einen Tiefentester auf. Der Tiefentester ist konfiguriert, um das erste Primitiv als ein sichtbares Primitiv zu bestimmen, um das zweite Primitiv als ein unsichtbares Primitiv zu bestimmen, und um das zweite Primitiv zu verwerfen. Die Renderverarbeitungseinheit kann die Fragmentschattierung auf ersten Farbdaten und zweiten Farbdaten unter Verwendung von voneinander unterschiedlichen Operationen durchführen. Ein Wichtigkeitsgrad der ersten Farbdaten ist höher als ein Wichtigkeitsgrad der zweiten Farbdaten.
  • Die ersten Farbdaten können eine Chroma-Komponente beziehungsweise Chrominanz-Komponente aufweisen, und die zweiten Farbdaten können eine Luma-Komponente beziehungsweise Luminanz-Komponente aufweisen.
  • Die Renderverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten unter Verwendung einer ersten Anzahl von Abtastdaten durchführen, und kann die Fragmentschattierung auf den zweiten Farbdaten unter Verwendung einer zweiten Anzahl von Abtastdaten durchführen. Die zweite Anzahl von Abtastdaten kann kleiner sein als die erste Anzahl von Abtastdaten.
  • Die Renderverarbeitungseinheit kann die Fragmentschattierung auf den ersten Farbdaten durchführen, und die Renderverarbeitungseinheit kann die Fragmentschattierung auf den zweiten Farbdaten nicht durchführen.
  • Die Renderverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durchführen.
  • Die Renderverarbeitungseinheit kann das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGN
  • Die obigen und andere Merkmale des vorliegenden erfinderischen Konzepts werden offensichtlicher aus der folgenden detaillierten Beschreibung von beispielhaften Ausführungsformen davon, zusammengenommen mit den beigefügten Zeichnungen, in welchen:
  • 1 ein Blockschaltbild ist, welches ein Grafikverarbeitungssystem gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 2 ein Blockschaltbild ist, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 3 und 4 Diagramme sind, welche einen Betrieb einer Primitivanordnungseinheit der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulichen;
  • 5 ein Blockschaltbild ist, welches eine detaillierte Konfiguration einer Kacheleinheit beziehungsweise Tilingeinheit der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 6 ein Blockschaltbild ist, welches einen Betrieb der Kacheleinheit der 5 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 7 ein Diagramm ist, welches eine beispielhafte Primitiv-Liste veranschaulicht, welche durch einen Primitiv-Listenerzeuger der 5 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts erzeugt wird;
  • 8 ein Blockschaltbild ist, welches eine detaillierte Konfiguration eines Rasterers der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 9 ein Blockschaltbild ist, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 10 und 11 Diagramme sind, welche einen Betrieb eines Tiefentesters der 9 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulichen;
  • 12 ein Blockschaltbild ist, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 13 ein Flussdiagramm ist, welches ein Anti-Aliasing-Verfahren gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht;
  • 14 ein Blockschaltbild ist, welches eine drahtlose Kommunikationsvorrichtung veranschaulicht, welche eine Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts aufweist; und
  • 15 ein Blockschaltbild ist, welches ein Berechnungssystem beziehungsweise Computersystem veranschaulicht, welches eine Grafikverarbeitungseinheit gemäß Ausführungsformen des vorliegenden erfinderischen Konzepts aufweist.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die vorliegende Erfindung wird nun vollständiger hierin nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden, in welchen beispielhafte Ausführungsformen des vorliegenden erfinderischen Konzepts gezeigt sind. Dieses vorliegende erfinderische Konzept kann jedoch in unterschiedlichen Formen ausgeführt werden, ohne von dem Gedanken und Umfang des vorliegenden erfinderischen Konzepts abzuweichen und sollte nicht als auf die Ausführungsformen, welche hierin erläutert sind, beschränkt betrachtet werden. Dieselben Bezugszeichen können dieselben Elemente über die Beschreibung und die Zeichnungen hinweg bezeichnen. In den beigefügten Figuren kann die Dicke von Schichten und Bereichen zur Klarheit überhöht sein.
  • Die Verwendung der Begriffe ”einer/eine/eines” und ”der/die/das” und ähnliche Referenzen im Zusammenhang des Beschreiben der Erfindung (insbesondere im Zusammenhang der folgenden Ansprüche) sind als sowohl den Singular als auch den Plural umfassend zu betrachten, solange hierin nicht anderweitig angezeigt oder deutlich durch den Zusammenhang widersprochen wird.
  • Hierin nachstehend wird unter Bezugnahme auf die 1 bis 5 ein Computersystem beziehungsweise Berechnungssystem, welches eine Grafikverarbeitungseinheit aufweist, auf welche ein Verfahren zum Steuern einer Renderqualität gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts angewandt wird, beschrieben werden.
  • 1 ist ein Blockschaltbild, welches eine Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 1 weist ein Grafikverarbeitungssystem gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts eine Grafikverarbeitungseinheit (GPU = Graphic Processing Unit = Grafikverarbeitungseinheit) 100 und einen externen Speicher 200 auf.
  • Die Grafikverarbeitungseinheit 100 kann Vertices empfangen, Primitive unter Verwendung der empfangenen Vertices erzeugen, die erzeugten Primitive in Fragmente umwandeln und eine Fragmentschattierung auf den umgewandelten Fragmenten durchführen.
  • Die Grafikverarbeitungseinheit 100 kann ein Rendern durchführen. Beispielsweise kann die Grafikverarbeitungseinheit 100 ein kachelbasiertes Rendern durchführen. Was dies betrifft, kann die Grafikverarbeitungseinheit 100 Grafikpipelines aufweisen.
  • Auf die Grafikverarbeitungseinheit kann Bezug genommen werden als eine Render-Pipeline. Die Grafikpipeline kann eingegebene beziehungsweise zugeführte Grafikdaten parallel verarbeiten (beispielsweise in Art und Weise einer Pipeline). Die Grafikpipelines können durch eine Software- oder einen Hardware-Lösungsweg gebildet werden.
  • Wenn das Rendern durchgeführt wird, kann die Grafikverarbeitungseinheit 100 ein Anti-Aliasing durchführen. Beispielsweise kann in dem Fall des Durchführens des Anti-Aliasing die Grafikverarbeitungseinheit 100 unterschiedliche Operationen auf ersten Farbdaten CD_1 und zweiten Farbdaten CD_2 durchführen.
  • Beispielsweise kann, wenn ein Farbformat von Farbdaten, welche über einen Farbkanal zugeführt werden, YCbCr ist, die Grafikverarbeitungseinheit 100 unterschiedliche Operationen auf einer Luma-Komponente beziehungsweise Luminanz-Komponente und einer Chroma-Komponente beziehungsweise Chrominanz-Komponente durchführen. Wenn die ersten Farbdaten CD_1 Informationen über die Luminanz-Komponente aufweisen und die zweiten Farbdaten CD_2 Informationen über die Chrominanz-Komponente aufweisen, kann die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 und den zweiten Farbdaten CD_2 unter Verwendung voneinander unterschiedlicher Operationen durchführen.
  • Da ein menschliches Auge auf die Luminanz-Komponente empfindlicher reagiert als auf die Chrominanz-Komponente, kann ein Grad der Wichtigkeit der ersten Farbdaten CD_1 höher sein als derjenige der zweiten Farbdaten CD_2. Demzufolge kann die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 und den zweiten Farbdaten CD_2 unter Verwendung voneinander unterschiedlicher Operationen durchführen. Beispielsweise kann die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 und den zweiten Farbdaten CD_2 unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • In dem Fall des Durchführen des Anti-Aliasing unter Verwendung eines Mehrfach-Abtast-Anti-Aliasing(MSAA = Multisampling-Anti-Aliasing = Mehrfach-Abtast-Anti-Aliasing)-Verfahrens kann die Grafikverarbeitungseinheit das Anti-Aliasing durch ein Anwenden von achtmal MSAA (8 × MSAA) auf die ersten Farbdaten CD_1 durchführen und kann das Anti-Aliasing durch ein Anwenden von viermal MSAA (4 × MSAA), zweimal MSAA (2 × MSAA) oder eine einzelne Abtastung auf die zweiten Farbdaten CD_2 durchführen.
  • In diesem Fall kann die gesamte Menge von Operationen der Grafikverarbeitungseinheit 100 verringert werden und demnach kann eine Betriebsgeschwindigkeit der Grafikverarbeitungseinheit 100 erhöht werden.
  • Wenn das Anti-Aliasing unter Verwendung eines Supersampling-Anti-Aliasing(SSAA)-Verfahrens, eines morphologischen Anti-Aliasing(MLAA)-Verfahrens oder dergleichen durchgeführt wird, kann die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 und den zweiten Farbdaten CD_2 unter Verwendung einer voneinander unterschiedlichen Anzahl von Abtastdaten durchführen.
  • Beispielsweise kann, wenn das Anti-Aliasing auf voneinander unterschiedlichen Farbdaten durchgeführt wird, welche Farbformate (beispielsweise YC, YCbCr und YPbPr) haben, deren Wichtigkeitsgrade unterschiedlich voneinander sind, die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den voneinander unterschiedlichen Farbdaten unter Verwendung der voneinander unterschiedlichen Anzahlen von Abtastdaten durchführen.
  • Weiterhin kann die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 durchführen und kann das Anti-Aliasing auf den zweiten Farbdaten CD_2 nicht durchführen. Beispielsweise kann in dem Fall eines Durchführens des Anti-Aliasing auf den Farbformaten (beispielsweise YC, YCbCr und YPbPr) der Farbdaten, welche unterschiedliche Wichtigkeitsgrade voneinander haben, die Grafikverarbeitungseinheit 100 das Anti-Aliasing auf den ersten Farbdaten CD_1 durchführen und kann das Anti-Aliasing auf den zweiten Farbdaten CD_2 nicht durchführen. Hier können die ersten Farbdaten CD_1 Informationen über die Luminanz-Komponente aufweisen, und die zweiten Farbdaten CD_2 können Informationen über die Chrominanz-Komponente aufweisen.
  • Der externe Speicher 200 kann für die Grafikverarbeitungseinheit 100 verwendet werden, um ein Rendern durchzuführen. Weiterhin kann der externe Speicher 200 für die Grafikverarbeitungseinheit 100 verwendet werden, um das Anti-Aliasing durchzuführen. Wie obenstehend beschrieben ist, kann der externe Speicher 200 konfiguriert sein, um Daten zu speichern. Beispielsweise kann der externe Speicher 200 verwendet werden, um Grafikdaten zu speichern, welche durch die Grafikverarbeitungseinheit 100 verarbeitet werden, oder um Grafikdaten zu speichern, welche für die Grafikverarbeitungseinheit 100 vorgesehen sind. In dem externen Speicher 200 können Grafikdaten, auf welchen das Anti-Aliasing durch die Grafikverarbeitungseinheit 100 durchgeführt worden ist, gespeichert werden.
  • Zusätzlich kann der externe Speicher 200 als ein Betriebsspeicher der Grafikverarbeitungseinheit 100 dienen. Der externe Speicher 200 kann wenigstens einen flüchtigen Speicher wie beispielsweise einen Doppeldatenraten-statischen dynamischen Direktzugriffsspeicher (DDRSDRAM = Double Data Rate Static Dynamic Random Access Memory = Doppeldatenraten-statischen dynamischen Direktzugriffsspeicher), einen Einzeldatenraten-statischen dynamischen Direktzugriffsspeicher (SDRSDRAM = Double Data Rate Static Dynamic Random Access Memory = Einzeldatenraten-statischen dynamischen Direktzugriffsspeicher) oder dergleichen aufweisen und/oder wenigstens einen nicht flüchtigen Speicher wie beispielsweise einen elektrisch löschbaren programmierbaren Lesespeicher (EEPROM = Electrical Erasable Progammable Read Only Memory = elektrisch löschbarer programmierbarer Lesespeicher), einen Flashspeicher oder dergleichen.
  • 2 ist ein Blockschaltbild, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 2 kann die Grafikverarbeitungseinheit 100 eine Geometrieverarbeitungseinheit 110 und eine Renderverarbeitungseinheit 120 aufweisen. In einer Ausführungsform des vorliegenden erfinderischen Konzeptes können die Geometrieverarbeitungseinheit 110 und die Renderverarbeitungseinheit 120 unter Verwendung voneinander unterschiedlicher Prozessoren arbeiten. Das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt. Die Geometrieverarbeitungseinheit 110 und die Renderverarbeitungseinheit 120 können unter Verwendung eines gemeinsamen Prozessors arbeiten.
  • Die Geometrieverarbeitungseinheit 110 kann eine Vertex- bzw. Eckpunktverarbeitungseinheit 112, ein Primitivanordnungseinheit 114 und eine Tilingeinheit beziehungsweise Kacheleinheit 116 aufweisen.
  • Die Vertexverarbeitungseinheit 112 kann ein Vertex empfangen, den empfangenen Vertex umwandeln und den umgewandelten Vertex ausgeben. Hier kann der Vertex beispielsweise von einer zentralen Verarbeitungseinheit (CPU) vorgesehen werden, das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt. Der Vertex kann Eigenschaften wie beispielsweise eine Position, einen Normalen-Vektor, einen Farbwert, Texturkoordinaten oder dergleichen aufweisen, das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt.
  • Die Positionseigenschaft des Vertex kann als eine Koordinate in einem dreidimensionalen (3D) Raum vorgesehen sein. Beispielsweise kann die Positionseigenschaft des Vertex x-Koordinaten, y-Koordinaten und z-Koordinaten aufweisen. Hier können die x-Koordinaten horizontale Koordinaten sein, die y-Koordinaten können vertikale Koordinaten sein und die z-Koordinaten können Tiefenkoordinaten sein. Die Vertexverarbeitungseinheit 112 kann ein Objektraumvertex (object space vertex) in einen Clipraumvertex (clip space vertex) umwandeln.
  • Beispielsweise kann die Vertexverarbeitungseinheit 112 den Objektraumvertex (object space vertex) in einen Weltraumvertex (world space vertex) umwandeln, kann den Weltraumvertex in einen Kameraraumvertex (camera space vertex) umwandeln, und kann den Kameraraumvertex in den Clipraumvertex umwandeln.
  • Die Primitivanordnungseinheit 114 kann einen Clipraumvertex empfangen und kann ein Primitiv erzeugen und ausgeben. Die Primitivanordnungseinheit 114 kann ein Primitiv erzeugen, welches wenigstens einen Vertex aufweist. Beispielsweise kann die Primitivanordnungseinheit 114 ein Primitiv vom Dreieckstyp erzeugen, welches drei Vertices aufweist. Hierin nachstehend werden Ausführungsformen des vorliegenden erfinderischen Konzepts unter Verwendung des Primitivs vom Dreieckstyp beschrieben werden. Das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt und das vorliegende erfinderische Konzept kann auf andere Typen von Primitiven beispielsweise ein Primitiv vom Punkttyp, ein Primitiv vom Linientyp oder ein Primitiv vom Vierecktyp im Wesentlichen in derselben Art und Weise wie die oben beschriebenen angewandt werden.
  • Das Primitiv kann eine Eigenschaft von Verbindungsinformationen zwischen Vertices aufweisen. Die Verbindungsinformationen zwischen den Vertices können eine Reihenfolge anzeigen, in welcher die Vertices, welche in dem Primitiv enthalten sind, miteinander verbunden sind (beispielsweise in einer im Uhrzeigersinn gerichteten Richtung oder einer gegen den Uhrzeigersinn gerichteten Richtung). In Übereinstimmung mit Werten der Verbindungsinformationen können eine vordere Fläche und eine hintere Fläche des Primitivs voneinander unterschieden werden.
  • In einer Ausführungsform des vorliegenden erfinderischen Konzepts kann, wenn die Primitivanordnungseinheit 114 das Primitiv erzeugt, ein Texturpatch, welcher dem erzeugten Primitiv entspricht, definiert werden. Weiterhin können, wenn der Texturpatch, welcher dem erzeugten Primitiv entspricht, definiert ist, Texturpatchinformationen zusammen erzeugt werden.
  • Hierin nachstehend wird unter Bezugnahme auf die 3 und 4 ein Betrieb der Primitivanordnungseinheit 114 im Detail beschrieben werden.
  • Die 3 und 4 sind Diagramme, welche einen Betrieb einer Primitivanordnungseinheit der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulichen.
  • Bezug nehmend auf 3 kann, wenn ein erstes bis drittes Primitiv Pa bis Pc aus Vertices erzeugt werden, welche die Primitivanordnungseinheit 114 empfängt, jeweils ein erster bis dritter Texturpatch TPa bis TPc, welche dem ersten bis dritten Primitiv Pa bis Pc entsprechen, definiert werden. Hier kann der erste Texturpatch TPa beispielsweise eine Textur-Grundfläche beziehungsweise ein Texturfußabdruck sein, welcher dem ersten Primitiv Pa in einer ersten Textur Ta, welche in dem externen Speicher 200 gespeichert ist, entspricht. Weiterhin kann beispielsweise der zweite Texturpatch TPb eine Textur-Grundfläche beziehungsweise ein Texturfußabdruck sein, welcher dem zweiten Primitiv Pb in der ersten Textur Ta, welche in dem externen Speicher 200 gespeichert ist, entspricht. Weiterhin kann der dritte Texturpatch TPc beispielsweise eine Textur-Grundfläche beziehungsweise ein Texturfußabdruck sein, welcher dem dritten Primitiv Pc in der ersten Textur Ta, welche in dem externen Speicher 200 gespeichert ist, entspricht. Beispielsweise können der erste bis dritte Texturpatch TPa bis TPc, welche jeweils dem ersten bis dritten Primitiv Pa bis Pc entsprechen, aus der ersten Textur Ta definiert werden.
  • Zusätzlich kann in einer Ausführungsform des vorliegenden erfinderischen Konzepts eine Mehrzahl von Texturen (beispielsweise eine erste bis dritte Textur Ta bis Tc) in dem externen Speicher 200 gespeichert werden. In diesem Fall können, wie obenstehend beschrieben ist, die Texturpatches TPa bis TPc der Mehrzahl von Texturen Ta bis Tc jeweils entsprechen. Beispielsweise kann der erste Texturpatch TPa ein Texturfußabdruck sein, welcher dem ersten Primitiv Pa in jeder der ersten bis dritten Textur Ta bis Tc entspricht, der zweite Texturpatch TPb kann ein Texturfußabdruck sein, welcher dem zweiten Primitiv Pb in jeder der ersten bis dritten Textur Ta bis Tc entspricht, und der dritte Texturpatch TPc kann ein Texturfußabdruck sein, welcher dem dritten Primitiv Pc in jeder der ersten bis dritten Textur Ta bis Tc entspricht. Beispielsweise kann die Anzahl von Texturen Ta bis Tc, welche jedem Texturpatch TPa bis TPc entspricht, ohne Beschränkung erhöht werden.
  • Bezug nehmend auf 4 kann, wenn die Texturpatches TPa bis TPc, welche den jeweiligen Primitiven Pa bis Pc entsprechen, wie obenstehend beschrieben definiert sind, die Primitivanordnungseinheit 114 Texturpatchinformationen zusammen erzeugen. In einer Ausführungsform des vorliegenden erfinderischen Konzepts können solche Texturpatchinformationen Texturpatchdeskriptoren aufweisen. Jeder der Texturpatchdeskriptoren kann Bereiche anzeigen, in dem jeder der Texturpatches TPa bis TPc in den Texturen Ta bis Tc definiert ist.
  • Beispielsweise kann ein erster Texturpatchdeskriptor (beispielsweise TPa-Deskriptor) unter den Texturpatchdeskriptoren einen Bereich anzeigen, in dem der erste Texturpatch TPa in den jeweiligen Texturen Ta bis Tc definiert ist, ein zweiter Texturpatchdeskriptor (beispielsweise TPb-Deskriptor) unter den Texturpatchdeskriptoren kann einen Bereich anzeigen, in dem der zweite Texturpatch TPb in den jeweiligen Texturen Ta bis Tc definiert ist, und ein dritter Texturpatchdeskriptor (beispielsweise TPc-Deskriptor) unter den Texturpatchdeskriptoren kann einen Bereich anzeigen, in dem der dritte Texturpatch TPc in den jeweiligen Texturen Ta bis Tc definiert ist.
  • Jeder der Texturpatchdeskriptoren (beispielsweise TPa- bis TPc-Deskriptoren) kann beispielsweise einen Startadresswert, die Anzahl von Bytes und einen Optionswert zum Anzeigen entsprechender Texturpatches TPa bis TPc in den jeweiligen Texturen Ta bis Tc aufweisen, das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt. In einer Ausführungsform des vorliegenden erfinderischen Konzepts können die Texturpatchdeskriptoren (beispielsweise TPa- bis TPc-Deskriptoren), welche wie obenstehend erzeugt werden, beispielsweise in dem externen Speicher 200 gespeichert werden.
  • Wie obenstehend beschrieben ist, kann, wenn die Texturpatches TPa bis TPc, welche den jeweiligen Primitiven Pa bis Pc entsprechen, definiert werden, die Primitivanordnungseinheit 114 die Texturpatchinformationen (beispielsweise TPa bis TPc-Deskriptoren) erzeugen, und sie speichert die erzeugten Texturpatchinformationen in dem externen Speicher 200, das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt. In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts kann ein Zeitpunkt, zu dem die Texturpatchinformationen erzeugt werden, nach vorne geschoben werden oder verzögert werden hinsichtlich eines Zeitpunktes, wenn die Texturpatches TPa bis TPc definiert werden.
  • Bezug nehmend wiederum auf 2 kann die Kacheleinheit 116 die Primitivausgabe von beispielsweise der Primitivanordnungseinheit 114 empfangen und eine Primitiv-Liste erzeugen und ausgeben. Hierin nachstehend wird Bezug nehmend auf die 5 bis 7 die Kacheleinheit 116 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts detaillierter beschrieben werden.
  • 5 ist ein Blockschaltbild, welches eine detaillierte Konfiguration einer Kacheleinheit der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht, 6 ist ein Blockschaltbild, welches einen Betrieb der Kacheleinheit der 5 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht, und 7 ist ein Diagramm, welches eine beispielhafte Primitiv-Liste, welche durch einen Primitiv-Listenerzeuger der 5 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts erzeugt wird, veranschaulicht.
  • Bezug nehmend auf 5 kann die Kacheleinheit 116 einen Boundingboxberechner 116a beziehungsweise Zeichenboxberechner und einen Primitiv-Listenerzeuger 116b aufweisen.
  • Die Kacheleinheit 116 kann einen Bildrahmen beziehungsweise Bildframe, welcher zu rendern ist, in eine Mehrzahl von Kacheln unterteilen. Jede Kachel kann eine Mehrzahl von Pixeln oder Fragmenten aufweisen, welche in dem Bildframe enthalten sind. Weiterhin kann die Kacheleinheit 116 jede Kachel in eine Mehrzahl von Unter-Kacheln aufteilen.
  • Durch ein Durchführen einer Kachelklasseneinteilung auf dem empfangenen Primitiv kann die Kacheleinheit 116 annähernd bestimmen, welche Kacheln das empfangene Primitiv berührt. Welches Primitiv eine bestimmte Kachel berührt kann verstanden werden als bedeutend, dass wenigstens ein Abschnitt des Primitivs zu der entsprechenden Kachel gehört. Weiterhin kann die Kacheleinheit 116 das Primitv, welches die Kachel berührt, beispielsweise einer Primitiv-Liste für die entsprechende Kachel zuordnen beziehungsweise zuweisen, wie in 7 veranschaulicht ist. Die Grafikpipeline kann ein Rendern auf den jeweiligen Kacheln durchführen, um das Rendern auf dem gesamten Bildframe zu vollenden.
  • Was dies anbelangt, kann der Boundingboxberechner 116a eine Boundingbox berechnen, welche Grenzen des Primitivs bildet. Beispielsweise kann in dem Fall eines Primitivs vom Dreieckstyp der Boundingboxberechner 116a die Boundingbox unter Verwendung eines maximalen Werts und eines minimalen Werts der x-Koordinaten und eines maximalen Werts und eines minimalen Werts der y-Koordinaten, welche drei Vertices entsprechen, welche das Primitiv aufbauen, berechnen. In einer Ausführungsform des vorliegenden erfinderischen Konzepts kann eine 3D-Boundingbox berechnet werden. In diesem Fall kann der Boundingboxberechner 116a die 3D-Boundingbox unter Verwendung der x-Koordinaten, y-Koordinaten und z-Koordinaten des Primitivs berechnen.
  • Beispielsweise kann in dem Fall des Primitivs vom Dreieckstyp der Boundingboxberechner 116a die 3D-Boundingbox unter Verwendung eines maximalen Werts und eines minimalen Werts jeder der x-Koordinaten, y-Koordinaten und z-Koordinaten der drei Vertices berechnen, welche das Primitiv aufbauen.
  • Die Boundingbox kann in einer Form berechnet werden, welche die Grenzen des Primitivs vollständig umgibt. Beispielsweise kann in dem ersten Primitiv Pa, welches in 6 veranschaulicht ist, die Boundingbox Ba durch den maximalen Wert xa_min und den minimalen Wert xa_Min der x-Koordinaten und den maximalen Wert ya_max und den minimalen Wert ya_min der y-Koordinaten der drei Vertices, welches das Primitiv bilden, definiert werden. Die maximalen Werte xa_max, ya_max und die minimalen Werte xa_min, ya_min in den x-Koordinaten und den y-Koordinaten, welche die erste Boundingbox Ba definieren, können verwendet werden, um eine Kachelklasseneinteilung auf dem ersten Primitiv Pa durchzuführen.
  • Beispielsweise kann in 4 × Kacheln der 6 die Kacheleinheit 116 eine Kachelklasseneinteilung auf dem ersten Primitiv Pa unter Verwendung der x-Koordinaten und der y-Koordinaten der ersten Boundingbox Ba durchführen. 6 veranschaulicht Primitive Pa, Pb und Pc und eine Boundingbox Ba, welche auf einen zweidimensionalen(2D)-Schirm projiziert sind. In einer Ausführungsform des vorliegenden erfinderischen Konzepts ist zur Vereinfachung der Beschreibung der 2D-Schirm in 4 × Kacheln unterteilt, das vorliegende erfinderische Konzept ist jedoch nicht darauf beschränkt.
  • Unter Verwendung des maximalen Werts (beispielsweise xa_max, ya_max) und des minimalen Werts (beispielsweise xa_min, ya_min) der x-Koordinaten und der y-Koordinaten der ersten Boundingbox Ba kann die Kacheleinheit 116 bestimmen, dass das erste Primitiv Pa eine Mehrzahl von Kacheln (beispielsweise eine n-te Kachel Tn) berührt, und kann das erste Primitiv Pa einer Primitiv-Liste der n-ten Kachel Tn zuweisen. Dann kann in derselben Art und Weise die Kacheleinheit 116 bestimmen, dass das zweite Primitiv Pb und das dritte Primitiv Pc die n-te Kachel Tn berühren, und kann das zweite Primitiv Pb und das dritte Primitiv Pc der Primitiv-Liste der n-ten Kachel Tn zuweisen.
  • Der Primitiv-Listenerzeuger 116b kann eine Primitiv-Liste für jede Kachel erzeugen und an den externen Speicher 200 ausgeben. Die Primitiv-Liste, welche ausgegeben wird und in dem externen Speicher wie obenstehend beschrieben gespeichert wird, kann durch einen Rasterer 122 und eine Textureinheit 126, welche später beschrieben werden, verwendet werden. In diesem Fall kann die Primitiv-Liste, welche zu dem externen Speicher 200 ausgegeben wird, wie in 7 veranschaulicht ist, Positionsinformationen, Attributinformationen oder Texturpatchdeskriptorinformationen für jedes Primitiv aufweisen, welches zu einer entsprechenden einen der unterteilten Kacheln gehört.
  • In einer Ausführungsform des vorliegenden erfinderischen Konzepts können die Texturpatchdeskriptorinformationen, welche in der Primitiv-Liste enthalten sind, Indizes aufweisen, welche die Texturpatchdeskriptoren anzeigen. Wenn die Primitiv-Liste, welche durch den Primitiv-Listenerzeuger 116b ausgegeben wird, nur die Indizes aufweist, welche die Texturpatchdeskriptoren anzeigen, können die Texturpatches, welche zu den jeweiligen Kacheln gehören, identifiziert werden, und eine Gesamtgröße der Primitiv-Liste kann minimiert werden. Beispielsweise kann bei einem Speichern der Primitiv-Liste beispielsweise in dem externen Speicher 200 eine Betriebslast des externen Speichers 200 verringert werden.
  • Wenn die Kacheleinheit 116 Bildframes durch eine Einheit einer Unterkachel verwaltet, kann die Kacheleinheit 116 eine Primitiv-Liste für jede Unterkachel erzeugen und an den externen Speicher 200 ausgeben. In diesem Fall kann die Primitiv-Liste, welche zu dem externen Speicher 200 ausgegeben wird, Positionsinformationen, Attributinformationen oder Texturpatchdeskriptorinformationen für Primitive, welche zu jeder Unterkachel gehören, aufweisen.
  • Bezug nehmend wiederum auf 2 kann die Renderverarbeitungseinheit 120 einen Rasterer 122, eine Fragmentverarbeitungseinheit 124 und eine Textureinheit 126 aufweisen.
  • Der Rasterer 122 kann eine Rasterung auf den jeweiligen Primitiven durchführen, um die Primitive in Fragmente umzuwandeln. Hierin nachstehend wird Bezug nehmend auf 8 ein Betrieb des Rasterers 122 detaillierter beschrieben werden.
  • 8 ist ein Blockschaltbild, welches eine detaillierte Konfiguration des Rasterers der 2 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 8 kann der Rasterer 122 einen Primitiv-Listenleser beziehungsweise ein Primitiv-Listenlesegerät 122a, eine Interpolationseinheit 122b und einen Früh- beziehungsweise Anfangs-Tiefentester 122c aufweisen.
  • Der Primitiv-Listenleser 122a kann die Primitiv-Liste für jede Kachel von dem externen Speicher 200 lesen. Beispielsweise kann der Primitiv-Listenleser 122a die Primitive, welche zu jeder Kachel gehören, gemäß einer Render-Reihenfolge empfangen.
  • Die Interpolationseinheit 122b kann einen Satz von Fragmenten unter Verwendung der Primitive erzeugen, welche durch den Primitiv-Listenleser 122a vorgesehen sind. Die Fragmente können verstanden werden, 3D-Punkte zu bedeuten, welche das Innere jedes Primitivs bilden beziehungsweise aufbauen. Die jeweiligen Fragmente können jeweiligen Pixeln eines Bildframes entsprechen. Beispielsweise können die x-Koordinaten und die y-Koordinaten der Fragmente auf einem Pixelgitter eines 2D-Schirms beziehungsweise Bildschirms angeordnet sein.
  • Die Interpolationseinheit 122b kann Positionen von Fragmenten, Normalen-Vektoren der Fragmente und Farbwerte der Fragmente durch ein Interpolieren von Werten von Vertices bestimmen, welche jedes Primitiv bilden. Beispielsweise können Positionseigenschaften der Fragmente x-Koordinaten, y-Koordinaten und z-Koordinaten in im Wesentlichen derselben Art und Weise wie Positionseigenschaften der Vertices aufweisen. Die z-Koordinaten können Tiefenwerte von den Fragmenten anzeigen.
  • Der Anfangs-Tiefentester 122c kann einen anfänglichen beziehungsweise frühen Tiefentest eines Fragmentniveaus für jede Kachel durchführen. Der frühe Tiefentest kann eine Sichtbarkeit für Fragmente bestimmen, welche zu der entsprechenden Kachel gehören, kann sichtbare Fragmente unter den Fragmenten, welche von dem Bildframe, von welchem das Rendern vollendet ist, anzuzeigen sind, bestimmen, und kann Daten von unsichtbaren Fragmenten unter den Fragmenten verwerfen.
  • Der Anfangs-Tiefentester 122c kann einen maximalen Tiefenwert und einen minimalen Tiefenwert der Fragmente, welche zu dem Inneren der jeweiligen Kachel gehören, gemäß einem Ergebnis des Tests bestimmen. Der Anfangs-Tiefentester 122c kann eine Sichtbarkeit für die Fragmente durch ein Vergleichen eines Tiefenwerts der entsprechenden Kachel mit einem Tiefenwert jedes Fragments bestimmen. Im Gegensatz zu einem maximalen Tiefenwert und einem minimalen Tiefenwert der Kachel in der Kachelstufe können als ein maximaler Tiefenwert und ein minimaler Tiefenwert der Kacheln in der Rasterungsstufe ein maximaler Tiefenwert und ein minimaler Tiefenwert der Tiefenwerte der Fragmente, welche zu der entsprechenden Kachel gehören, zugewiesen werden. Wenn ein Tiefenwert eines Fragments größer ist als der maximale Tiefenwert der Kachel, kann der Anfangs-Tiefentester 122c das entsprechende Fragment als ein unsichtbares Fragment bestimmen. Wenn der Tiefenwert des entsprechenden Fragments kleiner ist als der maximale Tiefenwert der Kachel, kann der Anfangs-Tiefentester 122c das entsprechende Fragment als ein sichtbares Fragment bestimmen. Wenn ein erstes Fragment, welches den maximalen Tiefenwert der Kachel hat, durch ein zweites Fragment ersetzt wird, welches dieselben x- und y-Koordinaten hat und einen Tiefenwert (beispielsweise z-Koordinate) kleiner als den maximalen Tiefenwert der Kachel hat, kann der Anfangs-Tiefentester 122c den maximalen Tiefenwert der Kachel mit dem Tiefenwert des zweiten Fragments aktualisieren.
  • Beispielsweise kann, wie in 6 veranschaulicht ist, der Anfangs-Tiefentester 122c eine Sichtbarkeit der Fragmente, welche das erste Primitiv Pa bilden, für die n-te Kachel Tn bestimmen und kann einen maximalen Tiefenwert und einen minimalen Tiefenwert unter den Tiefenwerten der Fragmente, welche zu der n-ten Kachel Tn gehören und das erste Primitiv Pa bilden, als den maximalen Tiefenwert und den minimalen Tiefenwert der n-ten Kachel Tn zuordnen. Der Anfangs-Tiefentester 122c kann eine Sichtbarkeit von Fragmenten bestimmen, welche das dritte Primitiv Pc für die n-te Kachel Tn bilden. Da Tiefenwerte der Fragmente, welche das zweite Primitiv Pb bilden größer sind als der maximale Tiefenwert der n-ten Kachel Tn, kann der Anfangs-Tiefentester 122c die Fragmente, welche das zweite Primitiv Pb bilden, als unsichtbare Fragmente für die n-te Kachel Tn bestimmen. Wenn die Sichtbarkeit der Fragmente, welche das dritte Primitiv Pc bilden, wie obenstehend beschrieben ist, für die n-te Kachel Tn bestimmt wird, kann der Anfangs-Tiefentester 122c ebenso die Fragmente, welche das dritte Primitiv Pc bilden, als unsichtbare Fragmente hinsichtlich der n-ten Kachel Tn bestimmen. Demzufolge können Fragmente, welche von dem Rasterer 122 ausgegeben werden, nur auf das erste Primitiv Pa bezogen sein.
  • Bezug nehmend wiederum auf 2 kann die Fragmentverarbeitungseinheit 124 eine Fragmentschattierung einschließlich einer Beseitigung von versteckten Oberflächen, einer Beleuchtung, einer Oberflächenschattierung und einer Texturierung auf den zugeführten Fragmenten durchführen. In diesem Fall kann gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts die Textureinheit 126 für die Fragmentschattierung durch die Fragmentverarbeitungseinheit 124 verwendet werden.
  • Die Fragmentschattierung ist es, Farbwerte und Texturen auf die jeweiligen Fragmente anzuwenden. In dem Fall des Durchführens der Fragmentschattierung auf Farbformaten (beispielsweise YC, YCbCr und YPbPr), welche Farbwerte haben, welche voneinander unterschiedliche Wichtigkeitsgrade haben, kann die Fragmentverarbeitungseinheit 124 die Fragmentschattierung auf dem ersten Farbwert CV_1 durchführen und kann die Fragmentschattierung auf dem zweiten Farbwert CV_2 nicht durchführen. Hier kann der erste Farbwert CV_1 eine Luminanz-Komponente aufweisen und der zweite Farbwert kann eine Chrominanz-Komponente aufweisen.
  • Weiterhin kann die Fragmentverarbeitungseinheit 124 ein Anti-Aliasing durchführen. Das Anti-Aliasing kann verstanden werden, eine Verringerung einer Farbdifferenz an einer Grenzlinie eines digitalen Bildes durch ein Mischen von Farben um die Grenzlinie des digitalen Bildes herum zu bedeuten, und demnach kann ein Stufenschrittphänomen (Stair-Step-Phänomen) entfernt werden. In dem Fall des Durchführens des Anti-Aliasing auf den Farbformaten (beispielsweise YC, YCbCr und YPbPr), welche die Farbwerte haben, welche voneinander unterschiedliche Wichtigkeitsgrade haben, kann die Fragmentverarbeitungseinheit 124 das Anti-Aliasing auf den voneinander unterschiedlichen Farbwerten (beispielsweise dem ersten und dem zweiten Farbwert CV_1 und CV_2) unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführen.
  • Beispielsweise kann in dem Fall des Durchführens des Anti-Aliasing unter Verwendung des MSAA-Verfahrens die Fragmentverarbeitungseinheit 124 das Anti-Aliasing durch ein Anwenden von 8 × MSAA auf den ersten Farbwert CV_1 durchführen, und kann das Anti-Aliasing durch ein Anwenden von 4 × MSAA, 2 × MSAA oder einer einzelnen Abtastung auf den zweiten Farbwert CV_2 durchführen. Weiterhin kann die Fragmentverarbeitungseinheit 124 das Anti-Aliasing auf dem ersten Farbwert CV_1 durchführen und kann das Anti-Aliasing auf dem zweiten Farbwert CV_2 nicht durchführen. Hier kann der erste Farbwert CV_1 die Luminanz-Komponente aufweisen, und der zweite Farbwert CV_2 kann die Chrominanz-Komponente aufweisen.
  • Wenn die Fragmentschattierung und das Anti-Aliasing aller Fragmente durch die oben beschriebenen Vorgänge durchgeführt werden, kann die Fragmentverarbeitungseinheit 124 einen Bildframe, dessen Rendern vollendet worden ist, an einen Framepuffer oder an eine Anzeige ausgeben.
  • Als Nächstes wird unter Bezugnahme auf 9 eine Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts beschrieben werden. Hierin nachstehend werden Beschreibungen derselben konstituierenden Elemente wie diejenigen, welche unter Bezugnahme auf die oben beschriebenen Zeichnungen beschrieben sind, ausgelassen werden, und die Beschreibungen werden auf unterschiedlichen Punkten zwischen 9 und den oben beschriebenen Zeichnungen getätigt werden.
  • 9 ist ein Blockschaltbild, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 9 kann die Grafikverarbeitungseinheit 300 eine geometrische Verarbeitungseinheit 310 und eine Renderverarbeitungseinheit 320 aufweisen. Die geometrische Verarbeitungseinheit 310 weist eine Vertexverarbeitungseinheit 312, eine Primitivanordnungseinheit 314 und eine Kacheleinheit 316 auf. Die Renderverarbeitungseinheit 320 kann einen Tiefentester 328, einen Rasterer 322, eine Fragmentverarbeitungseinheit 324 und eine Textureinheit 326 aufweisen. Der Tiefentester 328 kann einen Sichtbarkeitstest an Primitiven durchführen, um unsichtbare Primitive zu verwerfen. Der Rasterer 322 kann eine Rasterung an einer Ausgabe des Tiefentesters 328 durchführen.
  • Hierin nachstehend wird unter Bezugnahme auf die 10 und 11 ein Betrieb des Tiefentesters 328 detaillierter beschrieben werden.
  • Die 10 und 11 sind Diagramme, welche einen Betrieb des Tiefentesters der 9 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulichen.
  • Wie beispielhaft obenstehend unter Bezugnahme auf 6 beschrieben ist, gehören das erste bis dritte Primitiv Pa, Pb und Pc jeweils zu der n-ten Kachel Tn. Demzufolge kann der Tiefentester 328 das erste bis dritte Primitiv Pa, Pb und Pc hinsichtlich der n-ten Kachel Tn empfangen und kann einen Tiefentest durchführen, um die unsichtbaren Primitive durch ein Durchführen des Sichtbarkeitstests auf dem ersten bis dritten Primitiv Pa, Pb und Pc zu verwerfen.
  • Beispielsweise können unter Bezugnahme auf 10 beim Durchführen des Tiefentests auf der n-ten Kachel Tn die Primitive in einer Render-Reihenfolge des dritten Primitivs Pc, des zweiten Primitivs Pb und des ersten Primitivs Pa eingegeben beziehungsweise zugeführt werden. In diesem Fall kann der Tiefentester 328 zuerst eine Identifizierung (ID) des nähesten Primitivs als eine ID des dritten Primitivs Pc zuweisen beziehungsweise zuordnen. In diesem Fall kann beispielsweise ein minimaler Tiefenwert der n-ten Kachel ein minimaler Tiefenwert zc_min des dritten Primitivs Pc sein. Da ein minimaler Tiefenwert zb_min des zweiten Primitivs Pb kleiner ist als der minimale Tiefenwert (beispielsweise der minimale Tiefenwert zc_min des dritten Primitivs Pc) der n-ten Kachel Tn, kann der Tiefentester 328 das zweite Primitiv Pb mit einem neuen nähesten Primitiv aktualisieren. In diesem Fall können beispielsweise ein maximaler und ein minimaler Tiefenwert der n-ten Kachel der maximale und minimale Tiefenwert zb_min und zb_max jeweils des zweiten Primitivs Pc sein. Weiterhin kann, da der minimale Tiefenwert zc_min des dritten Primitivs Pc größer ist als der maximale Tiefenwert (beispielsweise der maximale Tiefenwert zb_max des zweiten Primitivs Pb) der n-ten Kachel Tn, der Tiefentester 328 bestimmen, dass das dritte Primitiv Pc durch das zweite Primitiv Pb in der n-ten Kachel Tn versteckt beziehungsweise verborgen ist. Da ein minimaler Tiefenwert za_min des ersten Primitivs Pa kleiner ist als der minimale Tiefenwert (beispielsweise der minimale Tiefenwert zb_min des zweiten Primitivs Pb) der n-ten Kachel Tn, kann der Tiefentester 328 das erste Primitiv Pa mit einem neuen nähesten Primitiv aktualisieren. In diesem Fall können ein maximaler und minimaler Tiefenwert der n-ten Kachel der maximale und minimale Tiefenwert za_min und za_max jeweils des erstens Primitivs Pa sein. Da der minimale Tiefenwert zb_min des zweiten Primitivs Pb größer ist als der maximale Tiefenwert (beispielsweise der maximale Tiefenwert za_max des ersten Primitivs Pa) der n-ten Kachel Tn, kann der Tiefentester 328 bestimmen, dass das zweite Primitiv Pb durch das erste Primitiv Pa in der n-ten Kachel Tn versteckt beziehungsweise verborgen ist.
  • Demzufolge werden, wie in 11 veranschaulicht ist, da das zweite und dritte Primitiv Pb und Pc durch das erste Primitiv Pa verborgen sind, das zweite und dritte Primitiv Pb und Pc als unsichtbar bestimmt und werden verworfen, und demnach wird nur das erste Primitiv Pa für den Rasterer 322 vorgesehen.
  • Wie obenstehend beschrieben ist, kann der Rasterer 322, welcher das erste Primitiv Pa empfängt, die Rasterung auf dem ersten Primitiv Pa durchführen. In einer Ausführungsform, welche unter Bezugnahme auf die 1 bis 8 beschrieben ist, führt der Rasterer 122 die Rasterung auf allen des ersten bis dritten Primitivs Pa, Pb und Pc durch. In einer Ausführungsform, welche unter Bezugnahme auf die 9 bis 11 beschrieben ist, führt der Rasterer 322 eine Rasterung auf dem ersten Primitiv Pa durch, welches von dem Tiefentester 328 ausgegeben wird. Zusätzlich werden, da die Vertexverarbeitungseinheit 312, die Primitivanordnungseinheit 314, die Kacheleinheit 316, die Fragmentverarbeitungseinheit 324 und die Textureinheit 326 im Wesentlichen dieselben sind wie diejenigen, die in 2 gezeigt sind, duplizierte Beschreibungen davon ausgelassen werden, und die Beschreibungen werden an unterschiedlichen Punkten zwischen den 9 bis 11 und den oben beschriebenen Zeichnungen getätigt werden.
  • Zusätzlich wird unter Bezugnahme auf 12 eine Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts beschrieben werden. Hierin nachstehend werden Beschreibungen derselben konstituierenden Elemente, wie diejenigen, welche unter Bezugnahme auf die oben beschriebenen Zeichnungen beschrieben sind, ausgelassen werden, und die Beschreibungen werden an unterschiedlichen Punkten zwischen der 12 und oben beschriebenen Zeichnungen getätigt werden.
  • 12 ist ein Blockschaltbild, welches eine detaillierte Konfiguration einer Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 12 kann die Grafikverarbeitungseinheit 400 eine geometrische Verarbeitungseinheit 410 und eine Renderverarbeitungseinheit 420 aufweisen. Die geometrische Verarbeitungseinheit 410 weist eine Vertexverarbeitungseinheit 412 und eine Primitivanordnungseinheit 414 auf. Die Renderverarbeitungseinheit 420 kann einen Rasterer 422, eine Fragmentverarbeitungseinheit 424 und eine Textureinheit 426 aufweisen. Die geometrische Verarbeitungseinheit 410 kann die Kacheleinheit 116 (siehe 2) oder 316 (siehe 11) wie obenstehend beschrieben nicht aufweisen. Beispielsweise kann die Grafikverarbeitungseinheit 400 der 12 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts ein primitivbasiertes Rendern durchführen und kann das kachelbasierte Rendern nicht durchführen, welches durch die Grafikverarbeitungseinheit 100 der 2 oder die Grafikverarbeitungseinheit 300 der 9 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts durchgeführt wird. Demzufolge führt unter Bezugnahme auf 12 der Rasterer 422 eine Rasterung für jedes von Primitiven, welche durch die Primitivanordnungseinheit 414 erzeugt werden, durch.
  • Zusätzlich werden, da die Vertexverarbeitungseinheit 412, die Fragmentverarbeitungseinheit 424 und die Textureinheit 426 im Wesentlichen dieselben sind wie diejenigen, welche in 2 oder 9 gezeigt sind, duplizierte Beschreibungen davon ausgelassen werden.
  • Hierin nachstehend wird ein Anti-Aliasing-Verfahren gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts beschrieben werden. Duplizierte Beschreibungen von im Wesentlichen denselben Inhalten wie denjenigen, welche wie obenstehend beschrieben sind, werden ausgelassen werden.
  • 13 ist ein Flussdiagramm, welches ein Anti-Aliasing-Verfahren gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts veranschaulicht.
  • Bezug nehmend auf 13 wird ein Vertex von beispielsweise einer zentralen Verarbeitungseinheit (CPU) zugeführt, und der zugeführte Vertex wird umgewandelt und ausgegeben (S100).
  • Eine Mehrzahl von Primitiven, von welchen jedes wenigstens einen Vertex aufweist, wird erzeugt (S110). In diesem Fall kann ein Texturpatch beziehungsweise Texturfleck, welcher dem erzeugten Primitiv entspricht, definiert werden. Weiterhin kann, wenn der Texturpatch, welcher dem erzeugten Primitiv entspricht, definiert ist, eine Texturpatchinformation zusammen erzeugt werden.
  • Eine Kachelung auf der Mehrzahl von Primitiven wird in einer Render-Reihenfolge durchgeführt (S120). Beispielsweise wird ein Bildframe in eine Mehrzahl von Kacheln unterteilt, eine Kachelklasseneinteilung wird auf der Mehrzahl von Primitiven in einer Render-Reihenfolge durchgeführt, und eine Primitiv-Liste für jede Kachel wird auf der Basis eines Ergebnisses der Kachelklasseneinteilung erzeugt.
  • Die Primitive, welche die entsprechenden Kacheln berühren, werden durch eine Einheit der Kachel gerastert (S130). Eine Fragmentverarbeitung wird auf Fragmenten durchgeführt (S140). Beispielsweise kann die Fragmentverarbeitung eine Fragmentschattierung sein, welche eine Beseitigung einer versteckten Oberfläche, eine Beleuchtung, eine Oberflächenschattierung, eine Texturierung oder dergleichen aufweist. Weiterhin kann ein Anti-Aliasing als das Fragmentschattieren beispielhaft genannt werden. Das Anti-Aliasing kann auf den Fragmenten durchgeführt werden, an welchen die Fragmentschattierung durchgeführt worden ist. In diesem Fall kann das Anti-Aliasing auf voneinander unterschiedlichen Farbdaten durchgeführt werden, welche voneinander unterschiedliche Farbwerte haben, welche wenigstens einem von Farbformaten (beispielsweise YC, YCbCr und YPbPr) entsprechen. Die Farbwerte können voneinander unterschiedliche Wichtigkeitsgrade haben.
  • Beispielsweise kann in dem Fall des Durchführens des Anti-Aliasing unter Verwendung des MSAA-Verfahrens das Anti-Aliasing durchgeführt werden durch ein Anwenden von 8 × MSAA auf einen ersten Farbwert CV_1, und das Anti-Aliasing kann durchgeführt werden durch ein Anwenden von 4 × MSAA, 2 × MSAA oder einer einzelnen Abtastung auf einen zweiten Farbwert CV_2, welcher ein unterschiedliches Farbformat von dem ersten Farbwert CV_1 hat. Weiterhin kann das Anti-Aliasing auf dem ersten Farbwert CV_1 durchgeführt werden und das Anti-Aliasing kann auf dem zweiten Farbwert CV_2 nicht durchgeführt werden. Hier kann der erste Farbwert CV_1 die Luminanz-Komponente aufweisen, und der zweite Farbwert CV_2 kann die Chrominanz-Komponente aufweisen.
  • 14 ist ein Blockschaltbild, welches eine drahtlose Kommunikationsvorrichtung veranschaulicht, welche eine Grafikverarbeitungseinheit aufweist, welche ein Verfahren zum Steuern einer Renderqualität gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts verwendet.
  • Bezug nehmend auf 14 kann eine Vorrichtung 900 ein Mobiltelefon, ein Smartphone-Datenendgerät, ein Hörer, ein persönlicher digitaler Assistent (PDA = Personal Digital Assistent = persönlicher digitaler Assistent), ein Laptopcomputer, eine Videospieleinheit oder dergleichen sein. Die Vorrichtung 900 kann ein Code Division Multiple Access(CDMA)-Verfahren, ein Time Division Multiple Access(TDMA)-Verfahren oder dergleichen verwenden, welches in einem drahtlosen Kommunikationsstandard wie beispielsweise einem Global System for Mobile Communikation (GSM) oder dergleichen verwendet wird.
  • Die Vorrichtung 900 kann eine bi-direktionale Kommunikation über einen Empfangsweg und einen Übertragungsweg vorsehen. Auf dem Empfangsweg kann ein Signal, welches von einem oder mehreren Basisstationen übertragen wird, durch eine Antenne 911 der Vorrichtung 900 empfangen werden oder kann für einen Empfänger (RCVR) 913 der Vorrichtung vorgesehen werden. Der Empfänger 913 kann eine Konditionierung und Digitalisierung auf dem empfangenen Signal durchführen und digitalisierte Abtastungen für eine digitale Sektion 920 für eine zusätzliche Verarbeitung vorsehen. Auf dem Übertragungspfad kann ein Transmitter (TMTR) 915 Daten empfangen, welche von der digitalen Sektion 920 übertragen werden, eine Verarbeitung und eine Konditionierung der Daten durchführen und ein moduliertes Signal erzeugen. Das modulierte Signal kann zu einer oder mehreren Basisstationen über die Antenne 911 übertragen werden.
  • Die digitale Sektion 920 kann einen oder mehrere digitale Signalprozessor(en) (DSP) aufweisen, einen Mikroprozessor und einen Computer mit einem reduzierten Befehlssatz (RISC = Reduced Instruction Set Computer = Computer mit einem reduzierten Befehlssatz). Weiterhin kann die digitale Sektion 920 auf einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASIC = Application-Specific Integrated Circuit = anwendungsspezifische integrierte Schaltung) oder anderen Typen von integrierten Schaltungen (IC = Integrated Circuit = integrierte Schaltung) gebildet werden.
  • Die digitale Sektion 920 kann weiterhin beispielsweise verschiedene Verarbeitungs- und Schnittstelleneinheiten wie beispielsweise einen Modemprozessor 934, einen Videoprozessor 922, einen Anwendungsprozessor 924, einen Anzeigeprozessor 928, einen Controller- beziehungsweise Steuerungs-/Multikernprozessor 926, eine zentrale Verarbeitungseinheit 930, eine externe Busschnittstelle (EBI = External Bus Interfaces = externe Busschnittstelle) 932 oder dergleichen aufweisen.
  • Der Videoprozessor 922 kann eine Verarbeitung auf Grafikanwendungen durchführen und kann die Grafikverarbeitungseinheit 100 oder 1100 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts übernehmen beziehungsweise einsetzen. Der Videoprozessor 922 kann eine Mehrzahl von Verarbeitungseinheiten oder Modulen, welche jeweils einer Mehrzahl von Grafikoperationen entsprechen, aufweisen.
  • Ein bestimmter Teil des Videoprozessors 922 kann durch eine Firmware und/oder Software implementiert sein. Beispielsweise kann eine Steuereinheit durch Firmware und/oder Softwaremodule (beispielsweise Prozeduren oder Funktionen) zum Durchführen der oben beschriebenen Funktionen implementiert sein. Firmware- und/oder Softwarecodes können in einem Speicher (beispielsweise dem externen Speicher 200 in 1) gespeichert werden oder können durch einen Prozessor (beispielsweise den Multikernprozessor 926) ausgeführt werden. Der Speicher kann in dem Prozessor (beispielsweise dem Videoprozessor 922) oder außerhalb des Prozessors implementiert sein.
  • Der Videoprozessor 922 kann eine Softwareschnittstelle, wie beispielsweise eine offene Grafikbibliothek (OpenGL = Open Graphic Library = offene Grafikbibliothek), Direct3D oder dergleichen implementieren. Die zentrale Verarbeitungseinheit (CPU) 930 kann eine Serie von Grafikverarbeitungsoperationen zusammen mit dem Videoprozessor 922 durchführen. Der Controller-/Multikernprozessor 926 kann wenigstens zwei Kerne aufweisen und Arbeitslasten zwei Kernen abhängig von der Arbeitslast, welche durch den Controller-/Multikernprozessor 926 zu verarbeiten ist, zuweisen, und demnach können die entsprechenden Arbeitslasten zu derselben Zeit verarbeitet werden.
  • 15 ist ein Blockschaltbild, welches ein Berechnungssystem veranschaulicht, welches eine Grafikverarbeitungseinheit gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts aufweist.
  • Bezug nehmend auf 15 weist ein Berechnungssystem beziehungsweise Computersystem 1000 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts eine zentrale Verarbeitungseinheit (CPU) 1005, einen Systemspeicher 2000, ein Unter-Grafiksystem beziehungsweise Sub-Grafiksystem 3000 und eine Anzeige 4000 auf.
  • Die zentrale Verarbeitungseinheit 1005 ist konfiguriert, um ein Gitter beziehungsweise Netz durch ein Treiben beziehungsweise betreiben einer Anwendung zu erzeugen. Das Netz kann eine Oberfläche eines Objekts beschreiben. Das Netz kann eine Mehrzahl von Primitiven aufweisen und jedes der Primitive kann wenigstens einen Vertex beziehungsweise Eckpunkt aufweisen.
  • Der Systemspeicher 2000 ist konfiguriert, um Daten zu speichern. Der Systemspeicher 2000 kann Daten speichern, welche durch die zentrale Verarbeitungseinheit 1005 verarbeitet werden. Der Systemspeicher 2000 kann als ein Betriebsspeicher der zentralen Verarbeitungseinheit 1005 dienen. Der Systemspeicher 2000 kann einen oder mehrere flüchtige Speicher aufweisen wie beispielsweise einen Doppeldatenraten-statischen Direktzugriffspeicher (DDR SDRAM = Double Data Rate Static Dynamic Random Access Memory = Doppeldatenraten-statischer Direktzugriffsspeicher), einen Einzeldatenraten-Direktzugriffsspeicher (SDRAM = Single Data Rate Random Access Memory = Einzeldatenraten-Direktzugriffsspeicher) oder dergleichen und/oder einen oder mehrere nicht flüchtige Speicher wie beispielsweise einen elektrisch löschbaren programmierbaren Lesespeicher (EEPROM = Electrical Erasable Programmable Read Only Memory = elektrisch löschbarer programmierbarer Lesespeicher), einen Flashspeicher oder dergleichen.
  • Das Unter-Grafiksystem 3000 kann eine Grafikverarbeitungseinheit (GPU) 3100, einen Grafikspeicher 3200, einen Anzeigecontroller 3300, eine Grafikschnittstelle 3400 und einen Grafikspeichercontroller 3500 aufweisen.
  • Die Grafikverarbeitungseinheit 3100 kann in im Wesentlichen derselben Art und Weise wie die Grafikverarbeitungseinheit 100 oder 1100 gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts wie obenstehend beschrieben konfiguriert sein. Die Grafikverarbeitungseinheit 3100 kann ein Kachel-basiertes Rendern durch ein Verwenden einer Mehrzahl von Primitiven durchführen, welche das Netz bilden. Die Grafikverarbeitungseinheit 3100 kann Daten der Vertices, welche das Netz konstituieren, von der zentralen Verarbeitungseinheit 1005 empfangen. Die Grafikverarbeitungseinheit 3100 kann die Primitive, von welchen jedes wenigstens einen Vertex aufweist, anordnen und kann das Rendern unter Verwendung der angeordneten Primitive durchführen.
  • Der Grafikspeicher 3200 kann Grafikdaten speichern, welche durch die Grafikverarbeitungseinheit 3100 verarbeitet werden, oder Grafikdaten, welche für die Grafikverarbeitungseinheit 3100 vorgesehen sind. Weiterhin kann der Grafikspeicher 3200 als ein Betriebsspeicher der Grafikverarbeitungseinheit 3100 dienen.
  • Der Anzeigecontroller 3300 kann die Anzeige 4000 steuern, um gerenderte Bildframes anzuzeigen.
  • Die Grafikschnittstelle 3400 kann ein Koppeln beziehungsweise ein Bilden einer Schnittstelle zwischen der zentralen Verarbeitungseinheit 1005 und der Grafikverarbeitungseinheit 3100 durchführen, und der Grafikspeichercontroller 3500 kann einen Speicherzugriff zwischen dem Systemspeicher 2000 und der Grafikverarbeitungseinheit 3100 vorsehen.
  • Das Berechnungssystem 1000 kann weiterhin ein oder mehrere Eingabevorrichtungen wie beispielsweise Knöpfe, einen Touchscreen, ein Mikrofon oder dergleichen und/oder ein oder mehrere Ausgabevorrichtungen wie beispielsweise Lautsprecher oder dergleichen aufweisen. Weiterhin kann das Berechnungssystem 1000 eine Schnittstellenvorrichtung zum Austauschen von Daten mit einer externen Vorrichtung durch einen Draht oder einen drahtlosen Kanal aufweisen. Die Schnittstellenvorrichtung kann beispielsweise eine Antenne und/oder einen verdrahteten/drahtlosen Transceiver aufweisen.
  • Gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts kann das Berechnungssystem 1000 ein mobiles Telefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Desktopcomputer, ein Notebookcomputer, ein Tablet oder dergleichen sein.
  • Das Verfahren gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts oder ein Algorithmus, welcher dem Verfahren entspricht, kann durch ein Hardwaremodul, ein Softwaremodul oder eine Kombination des Hardware- und des Softwaremoduls implementiert sein, welches durch einen Prozessor ausgeführt werden kann.
  • Das Softwaremodul kann in einem computerlesbaren Aufzeichnungsmedium wie beispielsweise einem Direktzugriffsspeicher (RAM), einem Flashspeicher, einem Lesespeicher, einem EPROM-Speicher, einem EEPROM-Speicher, einem Register, einer Festplatte, einer entfernbaren Platte, einem Compact-Disc-Lesespeicher (CD-ROM = Compact Disc Read Only Memory = Compact-Disc-Lesespeicher) oder dergleichen residieren. Ein beispielhaftes Aufzeichnungsmedium kann mit einem Prozessor verbunden sein, und der Prozessor kann Informationen von dem Aufzeichnungsmedium lesen oder Informationen in das Aufzeichnungsmedium schreiben. In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts kann das Aufzeichnungsmedium in den Prozessor integriert sein. Der Prozessor und das Aufzeichnungsmedium können in einer anwendungsspezifischen integrierten Schaltung (ASIC) residieren. Die ASIC kann in einem Verwenderdatenendgerät residieren. In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts können der Prozessor und das Aufzeichnungsmedium als individuelle konstituierende Elemente in dem Verwenderdatenendgerät residieren.
  • Obwohl das vorliegende erfinderische Konzept insbesondere unter Bezugnahme auf die beispielhaften Ausführungsformen davon gezeigt und beschrieben wurde, wird verstanden werden, dass verschiedene Änderungen in der Form und den Details darin getätigt werden können, ohne von dem Umfang und dem Gedanken des vorliegenden erfinderischen Konzepts abzuweichen, wie es in den beigefügten Ansprüchen offenbart ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2014-0142675 [0001]

Claims (20)

  1. Grafikverarbeitungseinheit (100, 300, 3100), die Folgendes aufweist: eine Geometrieverarbeitungseinheit (110, 310), welche konfiguriert ist, um Vertices zu empfangen und um wenigstens ein Primitiv unter Verwendung der Vertices zu erzeugen; und eine Renderverarbeitungseinheit (120, 320, 420), welche konfiguriert ist, um das erzeugte wenigstens eine Primitiv in Fragmente umzuwandeln, um eine Fragmentschattierung auf den umgewandelten Fragmenten durchzuführen, und um ein Anti-Aliasing auf den Fragementen durchzuführen, auf welchen die Fragmentschattierung durchgeführt wurde, wobei die Renderverarbeitungseinheit (120, 320, 420) das Anti-Aliasing auf ersten Farbdaten und zweiten Farbdaten, welche von den ersten Farbdaten unterschiedlich sind, unter Verwendung voneinander unterschiedlicher Operationen durchführt.
  2. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 1, wobei die Renderverarbeitungseinheit (120, 320, 420) das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführt.
  3. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 2, wobei die Renderverarbeitungseinheit (120, 320, 420) ein Supersampling-Anti-Aliasing(SSAA)-Verfahren, ein Multisampling-Anti-Aliasing(MSAA)-Verfahren oder ein morphologisches Anti-Aliasing(MLAA)-Verfahren verwendet.
  4. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 1, wobei die Renderverarbeitungseinheit (120, 320, 420) das Anti-Aliasing auf den ersten Farbdaten durchführt, und die Renderverarbeitungseinheit (120, 320, 420) das Anti-Aliasing auf den zweiten Farbdaten nicht durchführt.
  5. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 1, wobei die Renderverarbeitungseinheit (120, 320, 420) die Fragmentschattierung auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durchführt.
  6. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 1, wobei die Geometrieverarbeitungseinheit (110, 310) Folgendes aufweist: eine Vertexverarbeitungseinheit (112, 312, 412), welche konfiguriert ist, um die Vertices zu empfangen, die empfangenen Vertices umzuwandeln, und um die umgewandelten Vertices auszugeben; und eine Primitivanordnungseinheit (114, 314, 414), welche konfiguriert ist, um das wenigstens eine Primitiv und Texturpatchinformationen, welche dem wenigstens einen Primitiv entsprechen, unter Verwendung der umgewandelten Vertices zu erzeugen.
  7. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 6, wobei das wenigstens eine Primitiv vom Dreieckstyp ist.
  8. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 6, wobei die Geometrieverarbeitungseinheit (110, 310) weiterhin eine Kacheleinheit (116, 316) aufweist, welche konfiguriert ist, um einen Bildframe in eine Mehrzahl von Kacheln zu unterteilen, und um eine erste Primitiv-Liste des wenigstens einen Primitivs zu erzeugen, welches einer ersten Kachel der Mehrzahl von Kacheln entspricht.
  9. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 8, wobei die erste Primitiv-Liste Positionsinformationen und Attributinformationen des wenigstens einen Primitivs, welches der ersten Kachel entspricht, aufweist.
  10. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 1, wobei die Renderverarbeitungseinheit (120, 320, 420) Folgendes aufweist: einen Rasterer (122, 322, 422), welcher konfiguriert ist, um eine Rasterung auf dem wenigstens einen Primitiv durchzuführen, um das wenigstens eine Primitiv in die Fragmente umzuwandeln; und eine Fragmentverarbeitungseinheit (124, 324, 424), welche konfiguriert ist, um das Anti-Aliasing auf den Fragmenten durchzuführen.
  11. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 10, wobei die Renderverarbeitungseinheit (120, 320, 420) weiterhin einen Tiefentester aufweist, welcher konfiguriert ist, um einen Sichtbarkeitstest auf dem wenigstens einen Primitiv durchzuführen, um ein unsichtbares Primitiv unter dem wenigstens einen Primitiv zu bestimmen, und um das unsichtbare Primitiv zu verwerfen, wobei der Rasterer (122, 322, 422) eine Rasterung auf einer Ausgabe des Tiefentesters durchführt.
  12. Grafikverarbeitungseinheit (100, 300, 3100), die Folgendes aufweist: eine Primitivanordnungseinheit (114, 314, 414), welche konfiguriert ist, um Vertices zu empfangen und um wenigstens ein Primitiv unter Verwendung der Vertices zu erzeugen; eine Kacheleinheit (116, 316), welche konfiguriert ist, um einen Bildframe in eine Mehrzahl von Kacheln zu unterteilen und um Texturpatchinformationen zu erzeugen, welche dem wenigstens einen Primitiv entsprechen, wobei das wenigstens eine Primitiv einer ersten Kachel der Mehrzahl von Kacheln entspricht; und eine Renderverarbeitungseinheit (120, 320, 420), welche konfiguriert ist, um eine Fragmentschattierung auf Fragmenten in dem wenigstens einen Primitiv unter Verwendung der erzeugten Texturpatchinformationen durchzuführen, wobei die Renderverarbeitungseinheit (120, 320, 420) die Fragmentschattierung auf ersten Farbdaten und zweiten Farbdaten, welche unterschiedlich von den ersten Farbdaten sind, unter Verwendung voneinander unterschiedlicher Operationen durchführt.
  13. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 12, wobei die Renderverarbeitungseinheit (120, 320, 420) die Fragmentschattierung auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführt.
  14. Grafikverarbeitungseinheit (100, 300, 3100) nach Anspruch 12, wobei die Renderverarbeitungseinheit (120, 320, 420) die Fragmentschattierung auf den ersten Farbdaten durchführt, und die Renderverarbeitungseinheit (120, 320, 420) die Fragmentschattierung auf den zweiten Farbdaten nicht durchführt.
  15. Grafikverarbeitungssystem, das Folgendes aufweist: eine Grafikverarbeitungseinheit (100, 300, 3100), welche konfiguriert ist, um ein Anti-Aliasing auf ersten Farbdaten und zweiten Farbdaten durchzuführen, welche unterschiedlich von den ersten Farbdaten sind; und einen externen Speicher (200), welcher konfiguriert ist, um erste Daten zu speichern, welche erzeugt werden, wenn die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing durchführt, wobei die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Operationen durchführt.
  16. Grafikverarbeitungssystem nach Anspruch 15, wobei die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing auf den ersten Farbdaten und den zweiten Farbdaten unter Verwendung voneinander unterschiedlicher Anzahlen von Abtastdaten durchführt.
  17. Grafikverarbeitungssystem nach Anspruch 16, wobei die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing unter Verwendung eines Supersampling-Anti-Aliasing(SSAA)-Verfahrens, eines Multisampling-Anti-Aliasing(MSAA)-Verfahrens oder eines morphologischen Anti-Aliasing(MLAA)-Verfahrens durchführt.
  18. Grafikverarbeitungssystem nach Anspruch 15, wobei die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing auf den ersten Farbdaten durchführt, und die Grafikverarbeitungseinheit (100, 300, 3100) das Anti-Aliasing auf den zweiten Farbdaten nicht durchführt.
  19. Grafikverarbeitungssystem nach Anspruch 15, wobei die Grafikverarbeitungseinheit (100, 300, 3100) wenigstens ein Primitiv unter Verwendung von Vertices erzeugt, das wenigstens eine Primitiv in Fragmente umwandelt, und eine Fragmentschattierung auf den umgewandelten Fragmenten durchführt.
  20. Grafikverarbeitungssystem nach Anspruch 15, weiterhin aufweisend eine Anzeigeeinheit, welche konfiguriert ist, um die ersten Daten, welche in dem externen Speicher (200) gespeichert sind, anzuzeigen.
DE102015115576.1A 2014-10-21 2015-09-16 Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren Active DE102015115576B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0142675 2014-10-21
KR1020140142675A KR102251444B1 (ko) 2014-10-21 2014-10-21 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 안티 에일리어싱 방법

Publications (2)

Publication Number Publication Date
DE102015115576A1 true DE102015115576A1 (de) 2016-04-21
DE102015115576B4 DE102015115576B4 (de) 2024-05-29

Family

ID=55638064

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015115576.1A Active DE102015115576B4 (de) 2014-10-21 2015-09-16 Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren

Country Status (4)

Country Link
US (1) US9830740B2 (de)
KR (1) KR102251444B1 (de)
CN (1) CN105550973B (de)
DE (1) DE102015115576B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526598B (en) 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US10460513B2 (en) * 2016-09-22 2019-10-29 Advanced Micro Devices, Inc. Combined world-space pipeline shader stages
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
EP4016462A1 (de) * 2020-12-18 2022-06-22 Imagination Technologies Limited Systeme und verfahren zur grafischen verarbeitung
US11790479B2 (en) * 2021-01-29 2023-10-17 Arm Limited Primitive assembly and vertex shading of vertex attributes in graphics processing systems
CN112785676B (zh) * 2021-02-08 2024-04-12 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142675A (ko) 2013-06-04 2014-12-12 닛토덴코 가부시키가이샤 열경화형 다이 본딩 필름, 다이싱 시트 부착 다이 본딩 필름, 및 반도체 장치의 제조 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990904A (en) 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
EP1182617A3 (de) * 2000-08-23 2004-01-02 Nintendo Co., Limited Graphisches System mit eingebettetem rekonfigurierbarem Rasterpuffer und mit Daten-Convertierung während Kopieroperationen von dem eingebettetem Rasterpuffer zu dem Hauptspeicher
US20050017969A1 (en) * 2003-05-27 2005-01-27 Pradeep Sen Computer graphics rendering using boundary information
US6967663B1 (en) 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US7245302B1 (en) * 2003-10-30 2007-07-17 Nvidia Corporation Processing high numbers of independent textures in a 3-D graphics pipeline
JP2005167399A (ja) 2003-11-28 2005-06-23 Noritsu Koki Co Ltd 画像ノイズ除去方法
US7348996B2 (en) 2004-09-20 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for pixel sampling
GB0426170D0 (en) * 2004-11-29 2004-12-29 Falanx Microsystems As Processing of computer graphics
US7525583B2 (en) 2005-02-11 2009-04-28 Hewlett-Packard Development Company, L.P. Decreasing aliasing in electronic images
JP4669334B2 (ja) 2005-07-06 2011-04-13 株式会社ディジタルメディアプロフェッショナル エッジ・マルチサンプリングハイブリッドアンチエイリアス
GB2431803A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Alias avoidance in image processing
US8130227B2 (en) 2006-05-12 2012-03-06 Nvidia Corporation Distributed antialiasing in a multiprocessor graphics system
US20090033671A1 (en) * 2007-08-02 2009-02-05 Ati Technologies Ulc Multi-sample rendering of 2d vector images
WO2009124248A1 (en) 2008-04-04 2009-10-08 Advanced Micro Devices, Inc. Filtering method and apparatus for anti-aliasing
GB0819570D0 (en) 2008-10-24 2008-12-03 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
KR20110029001A (ko) 2009-09-14 2011-03-22 삼성전자주식회사 베이어 영상에서의 이미지 처리 방법 및 장치
US8692848B2 (en) * 2009-12-17 2014-04-08 Broadcom Corporation Method and system for tile mode renderer with coordinate shader
KR101451134B1 (ko) 2010-02-12 2014-10-15 삼성테크윈 주식회사 폰트 안티 알리아싱 방법
KR101824665B1 (ko) 2010-07-19 2018-02-01 어드밴스드 마이크로 디바이시즈, 인코포레이티드 안티-앨리어싱된 샘플들의 분할 저장
US8786625B2 (en) 2010-09-30 2014-07-22 Apple Inc. System and method for processing image data using an image signal processor having back-end processing logic
KR20120069134A (ko) 2010-12-20 2012-06-28 삼성전자주식회사 이차원 평면에서 계단현상 개선 장치 및 방법
GB2497302B (en) * 2011-12-05 2017-04-12 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US9437040B2 (en) * 2013-11-15 2016-09-06 Nvidia Corporation System, method, and computer program product for implementing anti-aliasing operations using a programmable sample pattern table

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142675A (ko) 2013-06-04 2014-12-12 닛토덴코 가부시키가이샤 열경화형 다이 본딩 필름, 다이싱 시트 부착 다이 본딩 필름, 및 반도체 장치의 제조 방법

Also Published As

Publication number Publication date
CN105550973B (zh) 2020-10-13
US9830740B2 (en) 2017-11-28
KR102251444B1 (ko) 2021-05-13
CN105550973A (zh) 2016-05-04
US20160110914A1 (en) 2016-04-21
KR20160046574A (ko) 2016-04-29
DE102015115576B4 (de) 2024-05-29

Similar Documents

Publication Publication Date Title
DE102015115576B4 (de) Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
DE102015113240A1 (de) System, verfahren und computerprogrammprodukt für schattierung unter verwendung eines dynamischen objektraumgitters
TWI616846B (zh) 利用以空間及/或時間方式改變取樣圖案之增強型消鋸齒的一種圖形子系統、電腦實施方法及電腦裝置
US8325177B2 (en) Leveraging graphics processors to optimize rendering 2-D objects
CN108734624B (zh) 包括多个处理级的图形处理流水线及其操作方法与介质
DE102014106780A1 (de) Graphikverarbeitungseinheit und Kachel-basiertes Renderingverfahren
US8044955B1 (en) Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering
DE102017108096A1 (de) System, verfahren und computerprogrammprodukt zum rendern bei variablen abtastraten mittels projektiver geometrischer verzerrung
CN107256573B (zh) 基于图块的计算机图形
DE102013114373A1 (de) Konsistente Vertex-Einrastung für Rendering mit variabler Auflösung
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE102013114090A1 (de) Konservative Rasterung von Primitiven unter Benutzung eines Fehler-Terms
DE102010048486A1 (de) Bildverarbeitungstechniken
DE102010033318A1 (de) Techniken zum Speichern und Abrufen von Bilddaten
DE102015113927B4 (de) Graphikverarbeitungseinheit zum Einstellen eines Detailierungsgrads, Verfahren zum Betreiben derselben und Vorrichtungen mit derselben
DE102016109905A1 (de) Stückweise lineare unregelmäßige Rasterisierung
DE102011011947A1 (de) Kantenverarbeitungstechniken
DE102013017639A1 (de) Zwischenspeicherung von adaptiv dimensionierten Cache-Kacheln in einem vereinheitlichen L2-Cache-Speicher mit Oberflächenkomprimierung
DE102016103854A1 (de) Graphikverarbeitung mit direktionalen Darstellungen der Beleuchtung an Sondenpositionen innerhalb einer Szene
US10217259B2 (en) Method of and apparatus for graphics processing
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
US10733782B2 (en) Graphics processing systems
DE102017109472A1 (de) Stereo-mehrfach-projektion implementiert unter verwendung einer graphikverarbeitungs-pipeline
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division