DE602004009714T2 - Verfahren zur wiedergabe graphischer objekte - Google Patents

Verfahren zur wiedergabe graphischer objekte Download PDF

Info

Publication number
DE602004009714T2
DE602004009714T2 DE602004009714T DE602004009714T DE602004009714T2 DE 602004009714 T2 DE602004009714 T2 DE 602004009714T2 DE 602004009714 T DE602004009714 T DE 602004009714T DE 602004009714 T DE602004009714 T DE 602004009714T DE 602004009714 T2 DE602004009714 T2 DE 602004009714T2
Authority
DE
Germany
Prior art keywords
output
triangle
input
point
affine transformation
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.)
Active
Application number
DE602004009714T
Other languages
English (en)
Other versions
DE602004009714D1 (de
Inventor
Christophe Cunat
Yves Mathieu
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.)
Entropic Communications LLC
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of DE602004009714D1 publication Critical patent/DE602004009714D1/de
Application granted granted Critical
Publication of DE602004009714T2 publication Critical patent/DE602004009714T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Manufacturing Optical Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Abbilden eines Eingabebildes auf einem Ausgabebild.
  • Diese Erfindung kann in Digitalgeräten zum Einsatz kommen, die zur Wiedergabe grafischer Objekte ausgelegt sind, z. B. Videorecorder, 3-D-Grafikbeschleuniger, Videospielkonsolen, PDAs oder Mobiltelefone.
  • HINTERGRUND DER ERFINDUNG
  • Textur-Mapping ist ein Verfahren zum Abbilden eines Eingabebildes auf einer Oberfläche eines grafischen Objektes, das ein erzeugtes Ausgabebild mit dem grafischen Objekt realistischer erscheinen lässt. Komplizierte Details an der Oberfläche des grafischen Objektes lassen sich mit Hilfe von Polygonen oder anderen geometrischen Grundelementen nur sehr schwer modellieren, und wenn, dann erhöhen sich die Berechnungskosten für dieses Objekt erheblich. Das Textur-Mapping ist eine effektivere Art, feine Details an der Oberfläche des grafischen Objektes darzustellen. Beim Textur-Mapping wird ein Datenelement mit Oberflächenstruktur des Eingabebildes auf der Oberfläche des grafischen Objektes abgebildet, wenn das Objekt zur Erstellung des Ausgabebildes wiedergegeben wird.
  • Bei herkömmlichen Digitalbildern werden die Eingabe- und Ausgabebilder an einzelnen Punkten abgetastet, normalerweise auf einem Punktgitter mit ganzzahligen Koordinaten. Das Eingabebild hat seinen eigenen Koordinatenraum (u, v). Einzelne Elemente des Eingabebildes werden auch als „Texel" bezeichnet. Diese Texel befinden sich an ganzzahligen Koordinaten im Eingabekoordinatensystem (u, v). Ebenso hat auch das Ausgabebild seinen eigenen Koordinatenraum (x, y). Die einzelnen Elemente des Ausgabebildes werden als „Pixel" bezeichnet. Diese Pixel befinden sich an den ganzzahligen Koordinaten im Ausgabekoordinatensystem (x, y).
  • Der Prozess des Textur-Mappings umfasst herkömmlicherweise das Filtern von Texeln aus dem Eingabebild, so dass ein Intensitätswert für ein Pixel im Ausgabebild berechnet werden kann. Herkömmlicherweise ist das Eingabebild über eine inverse affine Transformation T-1 mit dem Ausgabebild verknüpft, die durch die folgenden Gleichungen ausgedrückt werden kann:
    Figure 00020001
    wobei (u, v) die Koordinaten eines aktuellen Eingabepunktes sind, (uref, vref) die Koordinaten eines Eingabe-Referenzpunktes sind, ∂u / ∂x, ∂u / ∂y, ∂v / ∂x und ∂v / ∂y affine Koeffizienten sind und dx = x – xref, dy = y – yref.
  • Weiterhin ist das Ausgabebild über eine direkte affine Transformation T mit dem Eingabebild verknüpft, die durch die folgenden Gleichungen ausgedrückt werden kann:
    Figure 00020002
    wobei (x, y) die Koordinaten eines aktuellen Ausgabepunktes sind, (xref, yref) die Koordinaten eines Ausgabe-Referenzpunktes sind, ∂x / ∂u, ∂y / ∂u, ∂x / ∂v und ∂y / ∂v die affinen Koeffizienten sind und du = u – uref, dv = v – vref.
  • Die Gleichungen (1) werden Rückwärts-Mapping-Gleichungen genannt (d. h. die Eingabekoordinaten sind als Funktion der Ausgabekoordinaten ausgedrückt), und die Gleichungen (2) werden als Vorwärts-Mapping-Gleichungen bezeichnet (d. h. die Ausgabekoordinaten sind als Funktion der Eingabekoordinaten ausgedrückt).
  • In der Schrift von Ghazanfarpour D., Peroche B., „A high-quality filtering using forward texture mapping", Computers and Graphics, Pergamon Press Ltd., Oxford, GB, Band 15, Nr. 4, Seiten 569-577 vom Januar 1991 sind beide Verfahren erwähnt.
  • Wie oben erwähnt, besteht das Ausgabebild aus einer Vielzahl von Dreiecken, die durch die Positionen ihrer Scheitelpunkte sowohl im Ausgabe- als auch im Eingabe-Koordinatensystem definiert sind. Diese Positionen bilden eine eindeutige affine Transformation zwischen einem Dreieck im Eingabebild und einem Dreieck im Ausgabebild. Zum Erzeugen des Ausgabebildes wird jedes Ausgabedreieck scan-konvertiert, wodurch ausgehend von den Intensitätswerten der Texel der Intensitätswert jedes Pixels des Dreiecks berechnet wird.
  • Die für ein bestimmtes Pixel zu filternden Texel werden mit Hilfe der inversen affinen Transformation T-1 ermittelt. Das Ergebnis der inversen affinen Transformation des bestimmten Pixels ist ein transformierter Punkt im Eingabebild. Die Texel neben dem transformierten Punkt im Eingabebild werden anschließend abgetastet, gewichtet und addiert, so dass der Intensitätswert des Pixels berechnet wird. Dieser Prozess wird für sämtliche Pixel im Ausgabebild wiederholt.
  • Um die Scan-Konvertierung lediglich mit Inkrementberechnungen relativ einfach zu gestalten, ist ein hoher Berechnungsaufwand erforderlich. Dabei werden die affinen Koeffizienten ∂u / ∂x, ∂u / ∂y, ∂v / ∂x und ∂v / ∂y sowie die Kantenabschrägungen a01, a02 und a12 des Ausgabedreiecks berechnet. Wenn die Koordinaten der Scheitelpunkte des Eingabedreiecks (u0, v0), (u1, v1) und (u2, v2) sind und die Koordinaten der Scheitelpunkte des Ausgabedreiecks (x0, y0), (x1, y1) und (x2, y2) sind, dann werden die Koeffizienten und Abschrägungen jeweils aus den Gleichungen (3) bzw. (4) ermittelt:
    Figure 00030001
  • Ein Hardwaresystem, das imstande ist, diese Koeffizienten zu berechnen, erfordert große arithmetische Operatoren. Dadurch erhöht sich die für die Implementierung der Operatoren benötigte Siliziumfläche und folglich der Preis des Hardwaresystems.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung besteht darin, ein Verfahren und eine Vorrichtung zum Abbilden eines Eingabebildes auf einem Ausgabebild vorzuschlagen, die einen geringeren Rechenaufwand benötigen als nach dem Stand der Technik.
  • Dementsprechend ist das erfindungsgemäße Abbildungsverfahren dadurch gekennzeichnet, dass es die folgenden Schritte umfasst:
    • – Ermitteln einer inversen affinen Transformation zum Transformieren des Dreiecks eines Zwischenvierecks in ein Eingabedreieck,
    • – Ermitteln einer direkten affinen Transformation zum Transformieren des Dreiecks des Zwischenvierecks in ein Ausgabedreieck,
    • – Anwenden der inversen affinen Transformation auf Zwischenpunkte des Dreiecks des Zwischenvierecks, um auf der Grundlage der Intensitätswerte der Eingabetexel die Zwischenintensitätswerte zu ermitteln, die den Zwischenpunkten entsprechen, und
    • – Anwenden der direkten affinen Transformation auf die Zwischenpunkte, um auf der Grundlage der Zwischenintensitätswerte die Intensitätswerte der Ausgabepixel zu ermitteln.
  • Wie nachfolgend genauer erläutert wird, ermöglicht es die Einführung eines Zwischenraums zwischen dem Eingabebild und dem Ausgabebild, die inverse affine Transformation und die direkte affine Transformation mühelos zu bestimmen – im Gegensatz zum Stand der Technik, bei dem die Ermittlung der inversen bzw. direkten affinen Transformation komplizierter ist. Somit gestattet es das erfindungsgemäße Abbildungsverfahren, Siliziumfläche einzusparen und den Energieverbrauch zu senken.
  • Die vorliegende Erfindung betrifft zudem eine Vorrichtung, welche ein solches Abbildungsverfahren implementiert, und ein tragbares Gerät mit dieser Vorrichtung.
  • Schließlich betrifft die Erfindung ein Computerprogramm mit Programmbefehlen zum Implementieren des Abbildungs-/Mappingverfahrens.
  • Diese und weitere Aspekte der Erfindung werden anhand der nachfolgend beschriebenen Ausführungsformen deutlicher und verständlicher.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird nun beispielhaft anhand der beigefügten Zeichnungen näher beschrieben, wobei:
  • 1 ein Bild mit Dreiecksgittern zeigt;
  • 2 eine erste Ausführungsform des erfindungsgemäßen Abbildungsverfahrens darstellt;
  • 3 einen Filterschritt ausgehend von FIR-Filtern (Finite Impulse Response) zeigt;
  • 4 eine weitere Ausführungsform des erfindungsgemäßen Abbildungsverfahrens veranschaulicht;
  • 5 einen Sonderfall einer Transformation zwischen einem Zwischenraum und einem Ausgabebild darstellt;
  • 6 eine andere Ausführungsform des erfindungsgemäßen Abbildungsverfahrens für die Lösung des Sonderfalls aus 5 zeigt, und
  • 7 ein Blockdiagramm einer erfindungsgemäßen Wiedergabevorrichtung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren zum Abbilden/Mappen von Texturdaten, d. h. Luminanz- bzw. Chrominanzdaten, eines Eingabebildes, das in Eingabedreiecke unterteilt ist, die ebenfalls in entsprechende Ausgabedreiecke unterteilt sind. Die Eingabe- und Ausgabedreiecksgitter können wie in 1 aus allen möglichen Dreiecken bestehen.
  • Da entsprechend den Gleichungen (1) für das Rückwärts-Mapping bzw. entsprechend den Gleichungen (2) für das Vorwärts-Mapping weder das Ausgabegitter noch das Eingabegitter regelmäßig sein kann, wird ein zusätzlicher Scan-Konvertierungsraum (s, t) eingeführt, der nachstehend auch als Zwischenraum bezeichnet wird. Die aktuellen Positionen (x, y) und (u, v) im Ausgabebild bzw. im Eingabebild werden ausgehend von einem aktuellen Punkt in diesem Zwischenraum berechnet.
  • 2 zeigt eine erste Ausführungsform des erfindungsgemäßen Mapping-Verfahrens. Der Zwischenraum umfasst ein Dreieck T0 eines Zwischenvierecks mit drei Scheitelpunkten (s0, t0) = (0, 0), (s1, t1) = (b, 0) und (s2, t2) = (0, a). Ein Eingabedrei eck T1 mit den Scheitelpunkten (u0, v0), (u1, v1) und (u2, v2) ist über eine inverse affine Transformation BT, die durch die Rückwärts-Mapping-Gleichungen (1) ausgedrückt werden kann, mit dem Dreieck T0 des Zwischenvierecks verknüpft. Dank der Verwendung des Dreiecks des Zwischenvierecks wird die Berechnung der affinen Koeffizienten ∂u / ∂s, ∂u / ∂t, ∂v / ∂s und ∂v / ∂t, wie in den Gleichungen (5) ausgedrückt, vereinfacht.
    Figure 00060001
  • Ebenso ist ein Ausgabedreieck T2 mit den Scheitelpunkten (x0, y0), (x1, y1) und (x2, y2) über eine inverse affine Transformation FT, die durch die Vorwärts-Mapping-Gleichungen (2) ausgedrückt werden kann, mit dem Dreieck T0 des Zwischenvierecks verknüpft. Dank des Viereck-Dreiecks wird die Berechnung der affinen Koeffizienten ∂x / ∂s, ∂x / ∂t, ∂y / ∂s und ∂y / ∂t ebenfalls vereinfacht, wie durch die Gleichungen (6) ausgedrückt.
  • Figure 00060002
  • Folglich werden zwei Sätze affiner Koeffizienten berechnet:
    • – einer für das Rückwärts-Mapping zwischen dem Zwischenraum und dem Eingabebild, und
    • – einer für das Vorwärts-Mapping zwischen dem Zwischenraum und dem Ausgabebild.
  • Diese Sätze von Koeffizienten werden mit relativ wenig Rechenaufwand berechnet, wodurch Siliziumfläche eingespart und weniger Energie verbraucht wird.
  • Nachdem die beiden Koeffizientensätze berechnet worden sind, ist das erfindungsgemäße Mapping-Verfahren dazu ausgelegt, mit Hilfe der inversen affinen Transformation BT einen transformierten Eingabepunkt p1(n) in dem Eingabedreieck T1 für einen Zwischenpunkt p0(n) des Dreiecks T0 des Zwischenvierecks zu ermitteln, wobei n eine ganze Zahl ist. Der transformierte Eingabepunkt p1(n), der zu dem Eingabedreieck gehört, befindet sich allgemein nicht auf einem Texelgitter mit ganzzahligen Koordinaten. Anschließend wird ein gefilterter Intensitätswert I(n), der dem Punkt p1(n) entspricht, bei einem Filterschritt eines Texelsatzes der Eingabedreiecke, welche den transformierten Eingabepunkt p1(n) umgeben, abgeleitet.
  • Als ein erstes Beispiel basiert der Filterschritt auf der Verwendung eines bilinearen Filters, der eine bilineare Transformation ausführen kann. Die bilineare Interpolation wird durch die Vergrößerung in 2 verdeutlicht und geht beispielsweise von der Verwendung der Textur-Werte I(t1) bis I(t4) der 4 Texel t1 bis t4 aus, welche den transformierten Eingabepunkt t1(n) umgeben, sowie von dem Abstand a1 bis a4 des Punktes p1(n) zu diesen 4 Texeln. Anschließend wird der gefilterte Intensitätswert 1(n) wie folgt abgeleitet:
    Figure 00070001
  • Diese bilineare Interpolation lässt sich besonders einfach anwenden. Für Fachleute liegt es auf der Hand, dass die bilineare Interpolation entsprechend anderer äquivalenter Prinzipien berechnet werden kann. So können beispielsweise die Koeffizienten a1 bis a4 auch der Oberfläche von vier Quadranten entsprechen, die von einer Horizontalen und einer Vertikalen begrenzt werden, die durch den transformierten Eingabepunkt p1(n) verlaufen.
  • Als anderes Beispiel basiert der Filterschritt auf der Verwendung von zwei eindimensionalen FIR-Filtern, die nacheinander in horizontaler und vertikaler Richtung angelegt werden. Die Filterabgriffe werden auf der Grundlage der Impulsantwort IR1 oder IR2 ermittelt, die entsprechend einer vorgegebenen Richtung, d. h. horizontal oder vertikal, auf den transformierten Eingabepunkt p1(n) zentriert ist, und auf Grundlage des Texelgitters GR mit ganzzahligen Koordinaten, wie bei dem Filter mit vier Abgriffen aus 3 dargestellt. Dadurch entstehen für jedes FIR-Filter vier Koeffizienten h1 bis h4 und v1 bis v4. Das horizontale FIR-Filter wird an die vier horizontalen Segmente des Satzes aus 16 Texeln angelegt, wodurch 4 Zwischenfilter-Intensitätswerte entstehen. Anschließend wird das vertikale FIR-Filter an die 4 Zwischenfilter-Intensitätswerte angelegt, so dass ein endgültiger Filter-Intensitätswert I(n) entsteht. Für Fachleute liegt es auf der Hand, dass die Anzahl von Filterabgriffen nicht auf 4 begrenzt ist und diese Anzahl erhöht oder verringert werden kann. Je nach der gewünschten optischen Qualität und/oder der verfügbaren Berechnungsleistung können auch andere Filter zum Einsatz kommen, beispielsweise ein Mehrphasenfilter.
  • Nachdem der zu einem Zwischenpunkt p0(n) des Dreiecks T0 des Zwischenvierecks gehörende gefilterte Intensitätswert I(n) ermittelt worden ist, ist das erfindungsgemäße Mapping-Verfahren dazu geeignet, mit Hilfe der direkten affinen Transformation FT für den Zwischenpunkt p0(n) einen transformierten Ausgabepunkt p2(n) im Ausgabedreieck (t2) zu ermitteln, dem der gefilterte Intensitätswert anschließend zugeordnet wird.
  • Als Nächstes umfasst das erfindungsgemäße Mapping-Verfahren einen Schritt des Berechnens eines Beitrags zu einem Satz von Pixeln, die den transformierten Ausgabepunkt p2(n) umgeben, ausgehend von dem gefilterten Intensitätswert I(n) und einer Position des Ausgabepunktes in Bezug auf den Pixelsatz.
  • Als erstes Beispiel beruht der Berechnungsschritt auf dem Abstand des transformierten Ausgabepunktes p2(n) zu einem Pixelsatz, der zu einem Pixelgitter mit ganzzahligen Koordinaten gehört und den transformierten Ausgabepunkt umgibt. Wenn beispielsweise d1 bis d4 die Abstände zwischen dem transformierten Ausgabepunkt p2(n) und den 4 Pixeln um den Punkt p2(n) herum sind, wie in der Vergrößerung aus 2 dargestellt, werden die vier Beiträge j1(n) bis j4(n) wie folgt berechnet:
    Figure 00080001
    wobei D = d1 + d2 + d3 + d4 und i = 1, 2, 3 oder 4.
  • Dieser Berechnungsschritt kann weiterhin einen Teilschritt des Wichtens des Beitrags Ii(n) durch eine Fläche S2 umfassen, die der direkten affinen Transformation FT der zu dem Zwischenpunkt p0(n) gehörenden Einheitsfläche S0 entspricht. Daraufhin wird der Beitrag wie folgt berechnet:
    Figure 00090001
  • Für ein bestimmtes Pixel können die Beiträge von verschiedenen transformierten Ausgabepunkten kommen. Diese Beiträge werden für das bestimmte Pixel solange addiert, bis die Summe der Koeffizienten ki gleich 1 ist.
  • 4 veranschaulicht eine weitere Ausführungsform des erfindungsgemäßen Mapping-Verfahrens. Das Mapping-Verfahren umfasst einen Schritt des Ermittelns eines ersten Satzes von Koeffizienten, welche die inverse affine Transformation BT definieren, wobei die inverse Transformation imstande ist, ein Dreieck eines Zwischenvierecks in ein Eingabedreieck zu transformieren. Dieses Mapping-Verfahren umfasst weiterhin einen Schritt des Ermittelns eines zweiten Satzes affiner Koeffizienten, die der direkten affinen Transformation FT entsprechen, wobei die direkte Transformation dazu ausgelegt ist, das Dreieck des Zwischenvierecks in das Ausgabedreieck zu transformieren.
  • Nachdem die beiden Koeffizientensätze berechnet worden sind, ist das Mapping-Verfahren gemäß dieser anderen Ausführungsform dazu ausgelegt, mit Hilfe der direkten affinen Transformation FT für einen Zwischenpunkt p0(n) des Dreiecks T0 im Zwischenviereck einen transformierten Ausgabepunkt p2(n) in dem Ausgabedreieck zu ermitteln. Mit der Transformation kann zudem eine Fläche S0(n), die durch die Zwischenpunkte gebildet wird, in eine Fläche S2(n) transformiert werden. Anschließend wird ein Pixel pix(n) mit ganzzahligen Koordinaten in dem zu der Fläche S2(n) gehörenden Koordinatensystem (x, y), falls vorhanden, ermittelt. Somit wird der Ausgabevektor V2(p, q) berechnet, der der Translation des transformierten Ausgabepunktes p2(n) zu dem verschobenen Pixel pix(n) hin entspricht. Der entsprechende Zwischenvektor V0(p', q') im Zwischenraum wird daher wie folgt abgeleitet:
    Figure 00090002
  • Danach erfolgt eine Translation des Zwischenpunktes p0(n) gemäß dem Zwischenvektor V0 zu einem verschobenen Zwischenpunkt p'0(n). Anschließend wird das erfindungsgemäße Mapping-Verfahren angewendet, um mithilfe der inversen affinen Transformation BT für den verschobenen Zwischenpunkt p'0(n) einen transformier ten Eingabepunkt p'1(n) im Eingabedreieck zu ermitteln (siehe durchgezogenen Pfeil in 4). Nach dem Filtern eines Texelsatzes aus dem Eingabedreieck, das den transformierten Eingabepunkt p'1(n) umgibt, wird daraufhin wie oben beschrieben ein gefilterter Intensitätswert I(n) entsprechend dem Punkt p'1(n) ermittelt. Im Vergleich zur ersten Ausführungsform wird für diese Ausführungsform lediglich ein Filterschritt benötigt und folglich Berechnungsaufwand eingespart.
  • Als Alternative dazu wird der verschobene Zwischenpunkt p'0(n) nicht berechnet, sondern das Mapping-Verfahren ist so ausgelegt, dass mithilfe der inversen affinen Transformation BT für den Zwischenpunkt p0(n) ein transformierter Eingabepunkt p1(n) im Eingabedreieck ermittelt wird (siehe durchgezogener Pfeil in 4). Ein Eingabevektor V1(p'', q''), der dem Zwischenvektor V0(p', q') im Zwischenraum entspricht, wird demnach wie folgt abgeleitet:
    Figure 00100001
  • Als Nächstes wird mit Hilfe des Eingabevektors V1(p'', q'') ein verschobener transformierter Eingabepunkt p'1(n) ermittelt, woraufhin ein gefilterter Intensitätswert I(n), der dem Punkt p'1(n) entspricht, durch Filtern eines Texelsatzes des Eingabedreiecks um den Punkt p'1(n) herum abgeleitet wird, wie bereits zuvor beschrieben.
  • Das erfindungsgemäße Mapping-Verfahren erzeugt einen Zwischen-Scan-Konvertierungsraum und ist dazu eingerichtet:
    • – einen Rückwärts-Mapping-Vorgang von dem Zwischenraum zu dem Eingabebild auszuführen, um auf der Grundlage der Eingabeintensitätswerte der Texel des Eingabebildes Zwischenintensitätswerte zu ermitteln, die Punkten des Zwischenraumes entsprechen, und
    • – um einen Vorwärts-Mapping-Vorgang von dem Zwischenraum zu dem Ausgabebild auszuführen, um auf der Grundlage der Zwischenintensitätswerte Intensitätswerte zu ermitteln, die Pixeln des Ausgabebildes entsprechen.
  • Dieses Mapping-Verfahren kann gemäß verschiedenen Ausführungsformen weiterentwickelt werden.
  • Nach einer ersten erfindungsgemäßen Ausführungsform wird das Dreieck des Zwischenvierecks durch die Längen a und b definiert, bei denen es sich um die Kantenlängen handelt, die zur s- und t-Achse ausgerichtet sind, d. h. gegenüber der Hypote nuse. Diese beiden Längen a, b werden vorzugsweise als eine Potenz von 2 gewählt, um die Berechnung der affinen Koeffizienten zu vereinfachen.
  • Damit sichergestellt wird, dass im Ausgabebild kein Loch vorhanden ist, werden die Vektoren auf der Grundlage der affinen Koeffizienten ( ∂x / ∂s, ∂x / ∂t) und ( ∂y / ∂s, ∂y / ∂t) ebenfalls vorzugsweise mit einer Länge kleiner 1 ausgewählt. Zum Beispiel können die beiden Längen a und b um eine Potenz von 2 größer sein als die Länge der entsprechenden Kanten e1 und e2 im Ausgabedreieck.
  • In einigen Sonderfällen kann es eine große Verzerrung zwischen dem Dreieck des Zwischenvierecks und dem Ausgabedreieck geben. 5 veranschaulicht einen solchen Fall, der von Nachteil für die zur Scan-Konvertierung angeforderte Rechenleistung ist. Die Fläche des Zwischendreiecks ist viel größer als die des Ausgabedreiecks, so dass die Anzahl gescannter Zwischenpunkte im Vergleich zur tatsächlichen Anzahl an Pixeln, die berechnet werden müssen, unverhältnismäßig ist. Daher ist bei einer anderen erfindungsgemäßen Ausführungsform das Ausgabedreieck in zwei Teildreiecke aufgeteilt. Dadurch entsteht auf der längsten Kante des Ausgabedreiecks, wie in 6 dargestellt, ein neuer Scheitelpunkt, beispielsweise an der Basis von einer Höhe des Dreiecks. In 6 entsprechen die Zwischenpunkte (s0, t0), (s1, t1), (s2, t2) und (s3, t3) den transformierten Ausgabepunkten (x0, y0), (x1, y1), (x2, y2) und (x3, y3). Danach erfolgt die Scan-Konvertierung des Zwischendreiecks. Für einen Zwischenpunkt wird ein transformierter Eingabepunkt in dem Eingabebild ermittelt. Die Texel, die den transformieren Eingabepunkt umgeben, werden daraufhin wie zuvor beschrieben gefiltert. Weiter wird die Position des transformierten Ausgabepunktes im Ausgabedreieck ermittelt. Als Nächstes werden mithilfe eines eingabebezogenen Filters die Zwischenpunkte wie zuvor beschrieben erneut abgetastet, wobei das Filter die Intensitätswerte der Pixel erzeugt, die sich auf einem Gitter mit ganzzahligen Koordinaten im Ausgabebild befinden. Durch das Mapping eines Viereck-Dreiecks auf ein anderes wird ein ausgewogenes Verhältnis zwischen Zwischenpunkten und Pixeln gewährleistet.
  • 7 zeigt ein Blockdiagramm einer erfindungsgemäßen Wiedergabevorrichtung. Die Wiedergabevorrichtung basiert auf einer Hardwareausführung in Form eines Coprozessors. Es wird davon ausgegangen, dass der Coprozessor Teil eines gemeinsamen Speichersystems ist. Die dynamische Speicherzugriffseinheit (Dynamic Memory Access – DMA) hat eine Schnittstelle zu dem Coprozessor mit einem Hauptspeicher (nicht abgebildet). Eine Steuerung CTRL steuert die internen Prozessabläufe. Ein Eingabespeicher IM enthält eine lokale Kopie des Eingabebildes. Eine Initialisierungseinheit INIT greift über die DMA-Einheit auf geometrische Parameter, d. h. die Scheitelpunkte der verschiedenen Dreiecke, zu. Aus den geometrischen Parametern errechnet die INIT-Einheit die affinen Koeffizienten und die Kantenabschrägungen für die Scan-Konvertierung.
  • Anschließend werden diese geometrischen Parameter mittels der Wiedergabeeinheit REND verarbeitet, die während des Initialisierungsprozesses durch die INIT-Einheit für die Scan-Konvertierung des Zwischendreiecks verantwortlich ist. Das Ergebnis des Scan-Konvertierungsprozesses wird in einem lokalen Ausgabespeicher OM abgelegt.
  • Die Wiedergabeeinheit REND umfasst eine Dreiecks-Scaneinheit TSC, mit der jedes Pixel p0 einer Linie des Zwischendreiecks, die entsprechende Stelle p1 innerhalb des Eingabebildes und die entsprechende Stelle des Ausgabebildes p2 berechnet werden können. Die Koordinaten des Eingabepunktes p1 werden daraufhin zum Adressieren des Eingabespeichers IM verwendet, wodurch man einen Satz Texel mit ganzzahligen Koordinaten (u, v) erhält, die mit einer ersten Filtereinheit INF gefiltert werden, so dass ein gefilterter Intensitätswert entsteht. Zusammen mit den Koordinaten des Ausgabepunktes p2 wird der gefilterte Intensitätswert den Eingängen einer zweiten Filtereinheit OUTF zugeführt, die eingabebezogen arbeitet. Die zweite Filtereinheit ist so beschaffen, dass sie Beiträge zu Pixeln des Ausgabebildes mit ganzzahligen Koordinaten (x, y) um den Ausgabepunkt p2 herum berechnet. Der Ausgabespeicher OM speichert die akkumulierten Beiträge. Nachdem alle Dreiecke wiedergegeben worden sind, wird der Ausgabespeicher wieder in einen Systemspeicher zurückgeschrieben, wobei eine Videosteuerung in der Lage ist, auf das Ausgabebild im Systemspeicher zuzugreifen und es anzuzeigen.
  • Das erfindungsgemäße Mapping-Verfahren kann mittels Hardware oder Software bzw. mit beidem implementiert werden. Die Hardware oder Software kann auf verschiedene Art und Weise umgesetzt sein, z. B. mithilfe von verdrahteten elektronischen Schaltungen oder einer integrierten Schaltung, die entsprechend programmiert ist. Die integrierte Schaltung kann in einem tragbaren Gerät untergebracht sein. Sie umfasst einen Satz Befehle. Dieser Befehlssatz, der sich beispielsweise in einem Speicher des tragbaren Gerätes befindet, kann die integrierte Schaltung dazu veranlassen, die verschiedenen Schritte des Mapping-Verfahrens auszuführen. Der Befehlssatz kann in den Speicher geladen werden, indem ein Datenträger ausgelesen wird, z. B. eine Platte/Diskette. Ein Dienstanbieter kann ebenso den Befehlssatz zur Verfügung stellen, beispielsweise über das Internet.
  • Die Bezugszeichen in den nachfolgenden Patentansprüchen sollten nicht als Eingrenzung verstanden werden. Es ist offensichtlich, dass die Verwendung des Verbs „umfassen" und dessen Konjugationen nicht das Vorhandensein weiterer Schritte oder Elemente außer jenen, die in den Ansprüchen definiert sind, ausschließt. Das Wort „ein" vor einem Element oder Schritt schließt nicht das Vorliegen mehrerer solcher Elemente oder Schritte aus.

Claims (11)

  1. Verfahren zum Abbilden eines Eingabebildes, das in Eingabedreiecke mit Texeln unterteilt ist, auf einem Ausgabebild, welches in entsprechende Ausgabedreiecke mit Pixeln unterteilt ist, wobei das Verfahren die folgenden Schritte umfasst: – Ermitteln einer inversen affinen Transformation (BT) zum Transformieren des Dreiecks eines Zwischenvierecks (T0) in ein Eingabedreieck (T1); – Ermitteln einer direkten affinen Transformation (FT) zum Transformieren des Dreiecks des Zwischenvierecks (T0) in ein Ausgabedreieck (T2); – Anwenden der inversen affinen Transformation auf Zwischenpunkte des Dreiecks des Zwischenvierecks (T0), um auf der Grundlage der Eingabeintensitätswerte der Texel die Zwischenintensitätswerte zu ermitteln, die den Zwischenpunkten entsprechen, und – Anwenden der direkten affinen Transformation auf die Zwischenpunkte, um auf der Grundlage der Zwischenintensitätswerte die Ausgabeintensitätswerte der Pixel zu ermitteln.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Anwendens der inversen affinen Transformation angewendet wird, um einen Zwischenpunkt (p0(n)) in einen transformierten Eingabepunkt (p1(n)) in dem Eingabedreieck zu transformieren und um ausgehend von einem Filtervorgang der Texel, die den transformierten Eingabepunkt umgeben, einen Zwischenintensitätswert für den Zwischenpunkt zu bestimmen.
  3. Verfahren nach Anspruch 2, wobei der Filtervorgang eine bilineare Interpolation unter Verwendung von vier Texeln umfasst, die den transformierten Eingabepunkt umgeben.
  4. Verfahren nach Anspruch 2, wobei der Filtervorgang das aufeinander folgende Anwenden eines ersten eindimensionalen FIR-Filters (Finite Impulse Response) in horizontaler Richtung und eines zweiten eindimensionalen FIR-Filters in vertikaler Richtung umfasst.
  5. Verfahren nach Anspruch 1, wobei der Schritt des Anwendens der direkten affinen Transformation dazu ausgelegt ist, einen Zwischenpunkt (p0(n)) in einen transformierten Ausgabepunkt (p2(n)) im Ausgabedreieck zu transformieren und für diesen Zwischenpunkt einen Beitrag zu dem Ausgabeintensitätswert der Pixel, die den transformierten Ausgabepunkt umgeben, auf der Grundlage des Zwischenintensitätswertes zu bestimmen.
  6. Verfahren nach Anspruch 1, welches weiterhin den Schritt des Ermittelns von Längen (a, b) des Dreiecks des Zwischenvierecks gegenüber der Hypotenuse umfasst, die um eine Potenz von 2 größer sind als die Länge der entsprechenden Kanten (e1, e2) im Ausgabedreieck.
  7. Verfahren nach Anspruch 1, welches vor dem Anwenden der direkten affinen Transformation weiterhin einen Schritt des Unterteilens des Ausgabedreiecks in zwei Teildreiecke umfasst.
  8. Verfahren nach Anspruch 1, wobei: – der Schritt des Anwendens der direkten affinen Transformation dazu ausgelegt ist, aus einem Zwischenpunkt (p0(n)) und einer entsprechenden einheitlichen Zwischenfläche (S0(n)) einen Ausgabepunkt (p2(n)) und eine entsprechende Ausgabefläche (S2(n)) in dem Ausgabedreieck (T2) zu ermitteln, ein Pixel (pix(n)) mit ganzzahligen Koordinaten, die zu der Ausgabefläche gehören, zu ermitteln, und einen Ausgabevektor (V2) zu ermitteln, der durch den Ausgabepunkt und das Pixel mit den ganzzahligen Koordinaten definiert ist; und – der Schritt des Anwendens der inversen affinen Transformation dazu ausgelegt ist, aus dem Zwischenpunkt und dem Ausgabevektor einen transformierten Eingabepunkt (p'1(n)) in dem Eingabedreieck (T1) zu ermitteln und die Eingabeintensitätswerte der Texel um den transformierten Eingabepunkt herum zu filtern, um einen Ausgabeintensitätswert des Pixels mit den ganzzahligen Koordinaten abzuleiten.
  9. Vorrichtung zur Wiedergabe eines Ausgabebildes, welches in entsprechende Ausgabedreiecke mit Pixeln unterteilt ist, auf der Grundlage von texturierten Daten eines Eingabebildes, welches in Eingabedreiecke mit Texeln unterteilt ist, wobei die Vorrichtung umfasst: – Mittel (INIT) zum Ermitteln einer inversen affinen Transformation (BT) zum Transformieren eines Dreiecks eines Zwischenvierecks in ein Eingabedreieck und zum Ermitteln einer direkten affinen Transformation (FT) zum Transformieren eines Dreiecks eines Zwischenvierecks in ein Ausgabedreieck; – Mittel (TSC, IM, INF) zum Anwenden der inversen affinen Transformation auf Zwischenpunkte des Zwischenviereck-Dreiecks (T0), so dass auf der Grundlage der Eingabeintensitätswerte der Texel Zwischenintensitätswerte entsprechend den vorgegeben Punkten ermittelt werden, und – Mittel (TSC, OM, OUTF) zum Anwenden der direkten affinen Transformation auf die Zwischenpunkte, um die Ausgabeintensitätswerte der Pixel auf der Grundlage der Zwischenintensitätswerte zu ermitteln.
  10. Tragbares Gerät mit der Vorrichtung nach Anspruch 9.
  11. Computerprogrammerzeugnis mit Programmbefehlen zum Implementieren eines Verfahrens gemäß Anspruch 1, wenn das Programm von einem Prozessor ausgeführt wird.
DE602004009714T 2004-01-06 2004-12-29 Verfahren zur wiedergabe graphischer objekte Active DE602004009714T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04300010 2004-01-06
EP04300010 2004-01-06
PCT/IB2004/004332 WO2005076224A1 (en) 2004-01-06 2004-12-29 Method of rendering graphical objects

Publications (2)

Publication Number Publication Date
DE602004009714D1 DE602004009714D1 (de) 2007-12-06
DE602004009714T2 true DE602004009714T2 (de) 2008-03-06

Family

ID=34833802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004009714T Active DE602004009714T2 (de) 2004-01-06 2004-12-29 Verfahren zur wiedergabe graphischer objekte

Country Status (8)

Country Link
US (1) US20070080963A1 (de)
EP (1) EP1704535B1 (de)
JP (1) JP2007518162A (de)
KR (1) KR101107114B1 (de)
CN (1) CN100476879C (de)
AT (1) ATE376699T1 (de)
DE (1) DE602004009714T2 (de)
WO (1) WO2005076224A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860673B1 (ko) * 2007-03-13 2008-09-26 삼성전자주식회사 3차원 이미지 생성을 위한 이미지 생성 장치 및 방법
US9293117B2 (en) 2010-10-01 2016-03-22 Lucid Software, Inc Manipulating graphical objects
US9019275B2 (en) 2010-10-01 2015-04-28 Lucid Software, Inc. Manipulating graphical objects
EP2883214B1 (de) * 2012-08-07 2019-09-11 Lucid Software Inc. Manipulation grafischer objekte
EP3335195A2 (de) * 2015-08-14 2018-06-20 Metail Limited Verfahren zur erzeugung von personalisierten 3d-kopfmodellen oder 3d-körpermodellen
US10803272B1 (en) * 2016-09-26 2020-10-13 Digimarc Corporation Detection of encoded signals and icons
US10853903B1 (en) 2016-09-26 2020-12-01 Digimarc Corporation Detection of encoded signals and icons
US11257198B1 (en) 2017-04-28 2022-02-22 Digimarc Corporation Detection of encoded signals and icons
CN109491781A (zh) * 2018-11-26 2019-03-19 深圳市瑞云科技有限公司 一种基于物体单元的云渲染方法
EP3667623A1 (de) * 2018-12-12 2020-06-17 Twikit NV System zur optimierung eines 3d-gitters
CN116597109B (zh) * 2023-01-13 2023-12-22 东莘电磁科技(成都)有限公司 一种复杂三维曲面共型网格生成方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3313221B2 (ja) * 1993-12-28 2002-08-12 松下電器産業株式会社 画像生成方法及び画像生成装置
US6064393A (en) * 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
JPH09106453A (ja) * 1995-10-11 1997-04-22 Dainippon Screen Mfg Co Ltd 画像の変形方法
US5808623A (en) * 1996-10-07 1998-09-15 Adobe Systems Incorporated System and method for perspective transform in computer using multi-pass algorithm
US5999656A (en) * 1997-01-17 1999-12-07 Ricoh Co., Ltd. Overlapped reversible transforms for unified lossless/lossy compression
US5905500A (en) * 1997-02-19 1999-05-18 Seiko Epson Corporation Method and apparatus for adaptive nonlinear projective rendering
GB9716251D0 (en) * 1997-08-01 1997-10-08 Philips Electronics Nv Attribute interpolation in 3d graphics
JP4056118B2 (ja) * 1997-12-26 2008-03-05 株式会社日立製作所 画像処理装置
FR2794269B1 (fr) * 1999-05-26 2001-08-17 France Telecom Procede de codage d'images, a partition triangulaire et transformation reversible, et procede de decodage correspondant
JP2000348213A (ja) * 1999-06-07 2000-12-15 Sanyo Electric Co Ltd 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体
US6683615B1 (en) * 1999-06-09 2004-01-27 3Dlabs Inc., Ltd. Doubly-virtualized texture memory
US6339428B1 (en) * 1999-07-16 2002-01-15 Ati International Srl Method and apparatus for compressed texture caching in a video graphics system
US6542154B1 (en) * 1999-08-07 2003-04-01 Hewlett-Packard Company Architectural extensions to 3D texturing units for accelerated volume rendering
US6731303B1 (en) * 2000-06-15 2004-05-04 International Business Machines Corporation Hardware perspective correction of pixel coordinates and texture coordinates
FR2820255A1 (fr) * 2001-01-26 2002-08-02 France Telecom Procedes de codage et de decodage d'images, dispositifs, systemes, signaux et applications correspondants
US20020126133A1 (en) * 2001-02-08 2002-09-12 3Dlabs Inc., Ltd. Fast anisotropic/anisotropy sensitive single MIPmap sampled filtering
US7106323B2 (en) * 2001-02-08 2006-09-12 3Dlabs, Ltd Rasterizer edge function optimizations
CN1625757A (zh) * 2002-02-01 2005-06-08 皇家飞利浦电子股份有限公司 计算机图像中的无级三维纹理映射

Also Published As

Publication number Publication date
EP1704535A1 (de) 2006-09-27
CN1902661A (zh) 2007-01-24
DE602004009714D1 (de) 2007-12-06
US20070080963A1 (en) 2007-04-12
ATE376699T1 (de) 2007-11-15
JP2007518162A (ja) 2007-07-05
WO2005076224A1 (en) 2005-08-18
KR101107114B1 (ko) 2012-01-30
EP1704535B1 (de) 2007-10-24
CN100476879C (zh) 2009-04-08
KR20060124673A (ko) 2006-12-05

Similar Documents

Publication Publication Date Title
DE69816824T2 (de) Texturabbildung in 3-d-rechnergraphik
DE3855334T2 (de) Videobildänderungsverfahren und Gerät
DE3686233T2 (de) Videosignalverarbeitung.
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE69926986T2 (de) Rechnergrafiken-animationsverfahren und vorrichtung
DE69625561T2 (de) Antialiasing für Silhouetteränder
DE60126967T2 (de) Verfahren und Vorrichtung für Anti-Aliasing durch Überabtastung
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE68925399T2 (de) Verfahren und Gerät zur Bildtransformation
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE69720131T2 (de) System und Verfahren zur Perspektivetransformation
DE602004009714T2 (de) Verfahren zur wiedergabe graphischer objekte
DE3854223T2 (de) Erzeugung und Anzeige von Rechnergraphiken.
DE102010046507A1 (de) Berechnung der Detailstufe für die anisotrope Filterung
EP0984397A2 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE4211385A1 (de) Daten-projektionssystem
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE19827726A1 (de) Verfahren und Vorrichtung zum Liefern von Polygonpixelunterabtastinformationen unter Verwendung einer Inkrementaleinrichtung
DE102008026431A1 (de) Extrapolation von nicht residenten Mipmap-Daten unter Verwendung residenter Mipmap-Daten
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
DE60118222T2 (de) Skalieren von bildern
DE102017102952A1 (de) Eine Vorrichtung zum Erzeugen eines dreidimensionalen Farbbildes und ein Verfahren zum Produzieren eines dreidimensionalen Farbbildes
DE19807053A1 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE102018125472A1 (de) Grafikprozessor, der Abtastungs-basiertes Rendering durchführt, und Verfahren zum Betreiben desselben

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: MATHIEU, YVES, F-75008 PARIS, FR

Inventor name: CUNAT, CHRISTOPHE, F-75008 PARIS, FR

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

Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CA, KY

8328 Change in the person/name/address of the agent

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCHAFT

R082 Change of representative

Ref document number: 1704535

Country of ref document: EP

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

R081 Change of applicant/patentee

Ref document number: 1704535

Country of ref document: EP

Owner name: ENTROPIC COMMUNICATIONS, INC., US

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CAYMAN, KY

Effective date: 20121023

R082 Change of representative

Ref document number: 1704535

Country of ref document: EP

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

Effective date: 20121023