DE602004009714T2 - Verfahren zur wiedergabe graphischer objekte - Google Patents
Verfahren zur wiedergabe graphischer objekte Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric 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: 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: 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:
- 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 aus5 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. - 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.
- 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: - 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: wobei D = d1 + d2 + d3 + d4 und i = 1, 2, 3 oder 4. -
- 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:
- 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: - 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 in6 dargestellt, ein neuer Scheitelpunkt, beispielsweise an der Basis von einer Höhe des Dreiecks. In6 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)
- 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.
- 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.
- Verfahren nach Anspruch 2, wobei der Filtervorgang eine bilineare Interpolation unter Verwendung von vier Texeln umfasst, die den transformierten Eingabepunkt umgeben.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 1, welches vor dem Anwenden der direkten affinen Transformation weiterhin einen Schritt des Unterteilens des Ausgabedreiecks in zwei Teildreiecke umfasst.
- 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.
- 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.
- Tragbares Gerät mit der Vorrichtung nach Anspruch 9.
- Computerprogrammerzeugnis mit Programmbefehlen zum Implementieren eines Verfahrens gemäß Anspruch 1, wenn das Programm von einem Prozessor ausgeführt wird.
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)
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)
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 | 皇家飞利浦电子股份有限公司 | 计算机图像中的无级三维纹理映射 |
-
2004
- 2004-12-29 EP EP04806496A patent/EP1704535B1/de not_active Not-in-force
- 2004-12-29 AT AT04806496T patent/ATE376699T1/de not_active IP Right Cessation
- 2004-12-29 WO PCT/IB2004/004332 patent/WO2005076224A1/en active IP Right Grant
- 2004-12-29 DE DE602004009714T patent/DE602004009714T2/de active Active
- 2004-12-29 KR KR1020067013532A patent/KR101107114B1/ko not_active IP Right Cessation
- 2004-12-29 JP JP2006546405A patent/JP2007518162A/ja active Pending
- 2004-12-29 CN CNB2004800399016A patent/CN100476879C/zh not_active Expired - Fee Related
- 2004-12-29 US US10/585,062 patent/US20070080963A1/en not_active Abandoned
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 |