-
Die
vorliegende Erfindung betrifft ein Verfahren, eine Vorrichtung und
ein System zur Darstellung und/oder Übertragung drei-dimensionaler Objekte,
die jeweils als Polygonnetz repräsentiert
werden, welches unter anderem Informationen bezüglich einer Vielzahl von Raumpunkten
eines Objekts umfasst.
-
In
der Computergrafik sind eine Reihe von Techniken und Algorithmen
bekannt, welche die Darstellung von 3D-Objekten und Szenen ermöglichen. Üblicherweise
werden drei-dimensionale Objekte in Form von Polygonnetzen (Englisch „mesh") und Texturen beschrieben.
Es gibt dabei eine große
Anzahl an Variationen der internen Darstellung der Polygonnetze.
Meist wird ein Polygonnetz in Form eines Feldes (Englisch „array") mit Punkten P (x,
y, z) (Englisch „vertices") und eines Feldes
mit Indexen I (i1, i2, i3) (Englisch „indices") abgebildet. Mit den Indexen werden
jeweils drei Punkte des Feldes indiziert, welche ein Dreieck im
Raum definieren. So ergibt sich eine einfache Darstellung von 3D-Objekten
in Form eines Netzes aus Dreiecken, die sich im Bereich der Computergrafik
für die
Verarbeitung durch Software und Hardware durchgesetzt hat. Je nach
Bedarf werden zu den Raumpunkten P (x, y, z) weitere Vektoren, wie
z.B. Oberflächennormale
N (nx, ny, nz), Texturkoordinaten T (tu, tv), Farbwerte, Beleuchtungskoeffizienten,
Wichtungen und anderes, gespeichert.
-
Mit
Hilfe einer Geometrietransformation kann das drei-dimensionale Objekt
in seiner räumlichen
Lage verändert
werden. Hierzu werden die Polygone entsprechenden Transformationsmatrizen
unterworfen, z.B. für Translation,
Skalierung oder Rotation. Polygone, die von einer Betrachtungsebene
aus gesehen nicht sichtbar sind, können eliminiert und Flächenelemente,
die nur zum Teil innerhalb eines drei-dimensionalen Sichtbereichs liegen,
können
an den Grenzflächen
abgeschnitten werden. Die entstehende Drahtmodelldarstellung des
im Raum gedrehten oder skalierten drei-dimensionalen Objekts kann
anschließend
als Projektion im zwei-dimensionalen Raum, z.B. auf einem Monitor,
dargestellt werden.
-
Mittels
bekannter Rendering-Verfahren, wie z.B. dem Scannline oder Z-Buffer-Algorithmus,
werden die Dreiecke des Polygonnetzes gefüllt, wobei Normalen, Texturkoordinaten
usw. berücksichtigt
werden können.
Oftmals werden für
die Darstellung der Polygone nicht nur die Oberflächentextur
des drei-dimensionales Objektes, sondern auch Reflexionseigenschaften,
Farbeigenschaften und/oder Transparenzeigenschaften herangezogen.
Obwohl in letzter Zeit vermehrt Anstrengungen zur Optimierung der
Render-Verfahren gemacht wurden, entfällt typischerweise mehr als
95 % der für
die Berechnung eines Bildes (Englisch „frame") notwendigen Rechenzeit auf das Render-Verfahren. Kommen
noch Texturfilter, Beleuchtungs- und andere Effekte zum Einsatz,
entfallen über
99 % der Rechenzeit auf die Render-Funktion. Dabei steigt der Rechenaufwand exponentiell
mit der Zahl der zu rendernden Dreiecke an. Das Render-Verfahren
stellt somit den Flaschenhals bei der Verarbeitung der 3D-Objekte
dar.
-
In
einem als „Progressive
Mesh" bekannten
Verfahren zur Reduzierung der Komplexität der Polygonnetze werden die
Polygone hierarchisch mit zunehmender Auflösung angeordnet. Hierzu werden,
ausgehend von dem ursprünglichen
Drahtmodell des 3D-Objekts, Kanten der Polygone selektiv entfernt
und diese so stufenweise „vergröbert". Die Auswahl der
zu entfernenden Kanten erfolgt anhand eines Fehlermaßes, welches die
verringerte Genauigkeit bei der Darstellung der Gestalt des drei-dimensionalen
Körpers
berücksichtigt.
Dieses Verfahren hat jedoch den Nachteil, dass, neben einem hohen
Rechenaufwand, nur die bei der Erstellung der hierarchischen Darstellung
des Polygonnetzes vorgesehenen Polygone zur Darstellung des drei- dimensionalen Körpers genutzt
werden können.
Eine dynamische Erzeugung von Raumpunkten zum Zeitpunkt der Darstellung
des Körpers
basierend auf zuvor nicht bekannten Anforderungen ist nicht möglich.
-
Dieser
Nachteil tritt besonders zutage, wenn die Repräsentation des Polygonnetzes
zur Speicherung und Übertragung
unabhängig
von dem zur Darstellung benutzten Endgerät erfolgen soll. Beispielsweise
ergeben sich für
die Darstellung drei-dimensionaler Körper auf einem mobilen Endgerät, wie einem
Mobiltelefon oder einem PDA, andere Anforderungen an die interne
Repräsentation
der 3D-Objekte als bei einer Darstellung auf einer leistungsfähigen Arbeitsplatzstation.
Dabei sind die zur Verfügung
stehende Bandbreite des Kommunikationsnetzwerkes, der zur Verfügung stehende
Speicher und der Befehlssatz der Prozessoreinheit in dem Endgerät sowie
die Größe des Monitors
zu berücksichtigen.
Während
bei der Darstellung auf einem Computermonitor die Größe der verwendeten
Texturen im Wesentlichen die zu speichernde und zu verarbeitende
Datenmenge bestimmt, und auf eine Komprimierung der Polygonnetze
weitgehend verzichtet werden kann, genügen bei einer geringen Displaygröße, wie
sie zurzeit für
mobile Endgeräte
typisch ist, wesentlich kleinere Texturen, die zudem mit gängigen Bildkomprimierungsverfahren
komprimiert werden können.
Bei derartigen Endgeräten,
die in der Regel über
eine drahtlose Netzwerkverbindung (z.B. WLAN, GSM, UMTS, oder andere)
mit einer Quelle für
die darzustellenden 3D-Objekte verbunden sind, ergeben sich somit
andere Anforderungen an die Repräsentation
der Polygonnetze und deren Komprimierung.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, Lösungen für die zuvor genannten Probleme
zu schaffen, und insbesondere ein Verfahren und ein System zur Darstellung
drei-dimensionaler Objekte vorzusehen, die unabhängig von der verwendeten Anzeigeeinheit
eine dynamische Komprimierung und/oder eine dynamische Erzeugung
von Polygonnetzen ermöglichen.
-
Diese
Aufgabe wird durch die Gegenstände
der unabhängigen
Patentansprüche
gelöst.
Die abhängigen
Patentansprüche
betreffen vorteilhafte Ausgestaltungen der Erfindung.
-
Ein
erfindungsgemäßes Verfahren
zur Darstellung drei-dimensionaler Objekte, die jeweils als Polygonnetz,
welches Informationen bezüglich
einer Vielzahl von Raumpunkten eines Objekts umfasst, repräsentiert
werden, kann die folgenden Schritte aufweisen:
- – Transformieren
von Daten des Polygonnetzes des Objekts mittels einer Spektraltransformation,
- – Rekonstruieren
von Daten des Polygonnetzes durch Synthese zumindest eines rekonstruierten
Polygons aus den transformierten Daten, und
- – Darstellen
des rekonstruierten Objekts.
-
Durch
die Transformation von Daten des Polygonnetzes mittels der Spektraltransformation
können
die Daten in eine vorteilhafte Repräsentation gebracht werden,
welche eine dynamische Rekonstruktion der Daten ermöglicht,
indem, je nach Anforderungen, eine unterschiedliche Anzahl rekonstruierter
Polygone und somit eine unterschiedliche, an die jeweiligen Anforderungen
angepasste Auflösung
des rekonstruierten Körpers
erzeugt wird. Entsprechend den Eigenschaften der zur Darstellung
des rekonstruierten Körpers
verwendeten Anzeigeeinheit kann so eine entsprechende Anzahl benötigter Polygone
aus den transformierten Daten rekonstruiert werden. Weiterhin können auch
bei der Darstellung von 3D-Objekten in virtuellen Szenen die Anzeigeparameter,
wie z.B. die Anzahl der verwendeten Polygone, dynamisch an die jeweilig
gewählte
Darstellungsart angepasst werden. Dies ermöglicht es, weiter entfernt
angeordnete Objekte mit weniger Polygonen darzustellen als nähere Objekte.
Hierbei können
gemäß der Erfindung
aus einer einzigen vorgegebenen Repräsentation der drei-dimensionalen
Objekte Polygonnetze mit unterschiedlicher Auflösung und Polygonzahl dynamisch
generiert werden, ohne dass unterschiedliche interne Repräsentationen
der 3D-Objekte für
verschiedene Bedingungen erforderlich sind. Dies ermöglicht die
Realisierung größerer 3D-Szenen
unter Berücksichtigung
der gegebenen Umstände,
wie Position und Beleuchtung des Objekts oder gewählte Perspektive.
-
Grundsätzlich basiert
die vorliegende Erfindung darauf, dass für jede mathematische Funktion
eine Spektraltransformation bestimmen lässt. Beispielsweise kann eine
periodische Funktion in einer Fourier-Reihe entwickelt werden. Werden die
Werte einer Funktion als Signal aufgefasst, kann dasjenige Frequenzspektrum berechnet
werden, welches die Funktion repräsentiert. Umgekehrt kann aus
einem gegebenen Frequenzspektrum das entsprechende Signal rekonstruiert
werden. Das Frequenzspektrum ist somit eine umkehrbare mathema tische
Abbildung, die das Signal mit beliebiger Genauigkeit repräsentiert.
-
Als
Spektraltransformation sind dabei die Fourier-Transformation, die
Fourier-Reihenentwicklung und/oder eine schnelle Fourier-Transformation (FFT)
geeignet. Vorzugsweise werden eine Diskrete Fourier-Transformation
(DFT) bzw. eine Harmonische Analyse eingesetzt, um die spektralen
Komponenten der transformierten Daten zu ermitteln. Durch die Repräsentation
der Daten des drei-dimensionalen
Körpers
im Frequenz- bzw. Spektralbereich werden eine Vielzahl von Möglichkeiten
bei der Rekonstruktion der Daten eröffnet, beispielsweise die Synthese
einer beliebigen Anzahl von Raumpunkten bzw. Polygonen. Ähnlich wie beim
Verfahren des „Progressive
Meshes" besteht
die Möglichkeit
zuerst die groben Umrisse des Körpers
anhand einer geringen Anzahl von Polygonen darzustellen, wobei im
Verlauf der Zeit weitere Polygone erzeugt werden können, um
anschließend
genauere Darstellungen des rekonstruierten Körpers anzuzeigen. Weiterhin handelt
es sich bei den verwendeten Spektraltransformationen um Verfahren,
die nur eine relativ einfache Arithmetik erfordern, und so auch
auf Anzeigeeinheiten durchgeführt
werden können,
die einen Prozessor mit eingeschränktem Befehlssatz, z.B. ohne
mathematischen Coprozessor oder Gleitkommarithmetikeinheit, aufweisen.
Da die einzigen hierfür
notwendigen, über
die Grundrechenarten hinausgehenden arithmetischen Operation die
Berechnung von Sinus- und Cosinuswerten an vorgegebenen Stützstellen
betreffen, und diese in bereits zuvor berechneten Tabellen abgespeichert
werden können,
eignet sich das vorgeschlagene Verfahren auch für relativ einfache Berechnungseinheiten,
wie sie z.B. in Form von DSPs (Digital Signal Prozessor) in Mobiltelefonen
zur Verfügung
stehen. Weiterhin erlaubt die vorliegende Erfindung die inkrementelle
dynamische Erzeugung einzelner Polygone, sodass es nicht erforderlich
ist, das gesamte Polygonnetz vor der Weiterverarbeitung zu rekonstruieren
und zu speichern.
-
Vorzugsweise
werden die transformierten Daten über ein Kommunikationsnetzwerk übertragen
und in einem Endgerät
des Kommunikationsnetzwerks rekonstruiert. Dies hat den Vorteil,
dass die Rekonstruktion und Anzeige des drei-dimensionalen Körpers durch
die Anzeigeeinheit an einem beliebigen anderen Ort als die Erzeugung
und Transformation des Polygonnetzes erfolgen kann. Eine größtmögliche Mobilität wird beispielsweise
durch eine Übertragung über ein
Mobilfunknetzwerk oder ein anderes drahtloses Kommunikationsnetzwerk
ermöglicht.
Da die Repräsentation
des Polygonnetzes durch die Spektraltransformation eine an das verwendete
Endgerät
angepasste Rekonstruktion der 3D-Daten ermöglicht, wird somit ein heterogenes, Plattform
unabhängiges
System ermöglicht,
bei dem eine Vielzahl unterschiedlicher Endgeräte mit jeweils anderen Anforderungen
bezüglich
der Darstellung des zu rekonstruierenden Körpers auf eine einzige Repräsentation
der 3D-Daten, beispielsweise in einem zentralen Server, zugreifen
können.
Selbstverständlich
können die
transformierten Daten mit oder ohne Übertragung über das Kommunikationsnetzwerk
vor der Rekonstruktion auch gespeichert werden.
-
Für die Spektraltransformation
der Daten des Polygonnetzes ist es zweckmäßig dieses als zwei-dimensionales
Feld, dessen Elemente jeweils Koordinaten von Raumpunkten des Körpers angeben,
anzu ordnen. Ausgangspunkt für
die interne Darstellung des Polygonnetzes ist dabei ein geschlossenes
polygonales Netz. Dieses wird derart in dem zwei-dimensionalen Feld
organisiert, dass die Nachbarschaftsbeziehungen von Raumpunkten
des Polygonnetzes erhalten bleiben. Dies ist besonders einfach für drei-dimensionale
Körper,
deren Polygonnetz durch ein CAD-Programm erzeugt wurde. Derartige
Polygonnetze weisen eine regelmäßige Anordnung
von Dreiecken oder Vierecken auf, deren Raumpunkte unter Beibehaltung
der Nachbarschaftsbeziehung einfach in das zwei-dimensionale Feld übertragen
werden können.
-
Bei
gescannten Körpern
mit unregelmäßigem Polygonnetz
kann es erforderlich sein dieses zu regularisieren, indem das Polygonnetz
des Körpers
mit einer Folge von parallelen Ebenen geschnitten wird. Für jede Schnittebene
werden dazu die entsprechenden Schnittpunkte der betroffenen Polygone
mit der Ebene berechnet. Die so entstehenden neuen Raumpunkte werden
unter Berücksichtigung
ihrer Nachbarschaftsbeziehung auf der Oberfläche des drei-dimensionalen
Körpers,
d.h. entlang der Schnittlinie des Körpers mit der jeweiligen Schnittebene,
in das zwei-dimensionale Feld übertragen.
Beispielsweise wird ein drei-dimensionaler Körper mit einer Vielzahl von
parallelen Schnittebenen geschnitten und die so gewonnen Koordinaten
der Schnittpunkte für
eine jeweilige Schnittebene werden in eine Zeile oder Spalte des
Feldes übertragen.
Je nach Anzahl der sich ergebenden Schnittpunkte, können die
einzelnen Zeilen oder Spalten auch eine unterschiedliche Anzahl
von Elementen aufweisen. Betrachtet man nun die in einer Zeile abgespeicherten
Raumpunkte, so beschreiben diese die Kontur der Schnittlinie des
Körpers
mit der zuge hörigen
Schnittfläche.
Vorzugsweise werden nun zeilenweise oder spaltenweise die Spektraltransformationen
der in den jeweiligen Zeilen bzw. Spalten gespeicherten Raumpunkte
des Körpers
ermittelt.
-
Das
polygonale Netz wird also zweckmäßigerweise
in Zeilen und Spalten organisiert. Dabei entfällt das Feld mit Indexen, da
die Flächen
als Vierecke zwischen den benachbarten Raumpunkten des Netzes definiert
sind. Für
konvexe polygonale Körper
kann immer eine derartige rechteckige Anordnung der Raumpunkte gefunden
werden. Dies ist auch für
nicht konvexe Körper
mit einfacher Topologie möglich.
Für komplexe
Objekte besteht die Möglichkeit
einer Unterteilung in mehrere Netze, die auch aus anderen Gründen, beispielsweise
wegen optimaler Texturierung, oftmals wünschenswert ist. Selbstverständlich gibt
es viele Möglichkeiten diesen
Aspekt der Erfindung zu realisieren. Beispielsweise ist es nicht
erforderlich die Raumpunkte direkt in dem zwei-dimensionalen Feld
zu speichern; es ist durchaus ausreichend nur Verweise („pointer") auf die einzelnen
Vektoren derart anzuordnen und diese in anderen Datenstrukturen
zu organisieren.
-
Die
Spektralkomponenten der in einer Zeile oder Spalte angeordneten
Raumpunkte des Polygonnetzes können
mittels ein- oder mehrdimensionaler Spektraltransformationsverfahren
ermittelt werden. Vorzugsweise werden die Spektralkomponenten einer
Folge von Raumkoordinaten der Raumpunkte entlang der Koordinatenachsen
mittels einer ein-dimensionalen Spektraltransformation bestimmt.
So können
beispielsweise die Spektren der x-Werte, der y-Werte und der z-Werte
der in einer Zeile des Feldes gespeicherten Raumpunkte getrennt
ermittelt werden. Die Frequenzspektren Fx, Fy und Fz sind dann die transformierten
Daten einer Zeile des Feldes und stellen die spektrale Repräsentation
der in dieser Zeile angeordneten Raumpunkte des polygonalen Netzes
dar.
-
Gemäß einer
bevorzugten Ausgestaltung der Erfindung wird in einem Element des
zwei-dimensionalen Feldes ein mehrdimensionaler Vektor gespeichert,
der unter anderem die Koordinatenwerte eines Raumpunktes umfasst.
Der Vektor kann jedoch noch weitere, beliebige im Zusammenhang mit
dem jeweiligen Raumpunkt bzw. Polygon stehende Daten aufweisen.
Beispielsweise können
Normalen, Texturkoordinaten und andere für die Darstellung des Polygons
benötigte
Informationen in dem mehrdimensionalen Vektor gespeichert werden.
Dies ermöglicht
es, die Spektralkomponenten der einzelnen Vektorkomponenten einer
Folge von Vektoren gemäß dem oben
beschriebenen Aspekt der Erfindung zu ermitteln und so systematisch gleich
zu den Daten der Raumpunkte zu behandeln. Auf diese Weise können alle
zur Darstellung drei-dimensionaler Objekte mittels Polygonnetz vorgesehenen
Daten transformiert und dynamisch rekonstruiert werden.
-
Um
die zur Speicherung bzw. Übertragung
der transformierten Daten erforderliche Datenmenge zu reduzieren,
können
diese einem verlustlosen und/oder einem verlustbehafteten Komprimierungsverfahren
unterzogen werden. Vorzugsweise erfolgt die Komprimierung durch
ein Komprimierungsverfahren, das sowohl eine genaue Rekonstruktion
als auch eine dynamische verlustbehaftete Komprimierung der Daten
ermöglicht. In
diesem Fall kann beispielsweise die Rekonstruktionsgüte durch
die zur Verfügung
stehende Bandbreite des Daten übertragungsnetzwerks
und/oder durch die Eigenschaften der Anzeigeeinheit dynamisch festgelegt
werden. Hierzu sind grundsätzlich
alle Verfahren geeignet, bei denen die Rekonstruktionsgüte durch
Heranziehen weiterer Komponenten der komprimierten Daten erhöht werden
kann.
-
Ein
besonders vorteilhaftes Komprimierungsverfahren besteht in einer
Auswahl einer Teilmenge der ermittelten Spektralkomponenten des
Polygonnetzes. Zu diesem Zweck können
vorzugsweise die den niederfrequenteren Frequenzanteilen entsprechenden
Spektralkomponenten ausgewählt
werden. Bei einer anschließenden
Synthese von Polygonen werden dann die höheren Frequenzanteile der Frequenzspektren
nicht berücksichtigt,
so dass ein Tiefpass-Effekt auftritt und das reproduzierte Polygonnetz
weniger detailliert die Gestalt des drei-dimensionalen Körpers wiedergibt. Der Detaillierungsgrad
des rekonstruierten Polygonnetzes nimmt dabei mit der Anzahl der
ausgewählten
Spektralkomponenten zu. Selbstverständlich ist es auch möglich nur
den benötigten
Teil der Spektralkomponenten zu berechnen, sodass keine explizite
Auswahl erforderlich ist.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung kann das Verfahren ferner folgende Schritte aufweisen:
- – Ermitteln
von Wertefolgen aus den einzelnen Komponenten der in Zeilen und
Spalten angeordneten drei-dimensionalen Raumpunkte des Polygonnetzes,
- – Ermitteln
von Spektralkoeffizienten der einzelnen Wertefolgen nach dem Verfahren
der Harmonischen Analyse, und
- – Komprimieren
der Spektralkoeffizienten der einzelnen Wertefolgen.
-
Dieses
Ausführungsbeispiel
hat den Vorteil einer effizienten Berechnung der spektralen Repräsentationen
des Polygons durch die Spektralkoeffizienten mittels der Harmonischen
Analyse, die beispielsweise durch ein Weglassen der höherfrequenteren
Spektralkomponenten auf einfache Weise komprimiert werden können. Durch
diese verlustbehaftete Komprimierung können komplexe Objekte und Szenen
derart repräsentiert
werden, dass sie in akzeptablen Zeiten, beispielsweise über ein
GSM- oder UMTS-Netzwerk, auf ein Endgerät übertragen werden können. Weiterhin
werden durch die kompakte Darstellung der komprimierten Spektralkoeffizienten
die Speicherressourcen des Endgeräts, beispielsweise ein Handheld-Computer,
nicht überfordert.
-
Vorzugsweise
weist der Komprimierungsschritt eine Quantisierung der ermittelten
Spektralkomponenten auf. Durch die Quantisierung können die
ermittelten Spektralkomponenten, welche von der Spektraltransformation,
wie z.B. der Harmonischen Analyse, in Form von rationalen Zahlen
(beispielsweise in einer Gleitkommadarstellung) geliefert werden,
einzelnen diskreten Symbolen eines Symbolvorrats (Alphabet) zugeordnet
werden. Durch diese Codierung der (beliebig genau) ermittelten Spektralkomponenten
in diskrete Symbole kann eine weitere Reduzierung der Daten erfolgen.
Beispielsweise wird eine Spektralkomponente einem aus 256 verschiedenen
Symbolen (Wer ten) zugeordnet, wobei dann nur ein Code zur Identifizierung
dieses Symbols (z.B. als 8 Bitzahl) übertragen bzw. gespeichert
werden muss. Die Anzahl der verschiedenen Symbole und die Zuordnung
der Spektralkomponenten kann an den gewünschten Quantisierungsfehler
angepasst werden. Hierfür
steht eine Vielzahl bekannter Quantisierungsalgorithmen zur Verfügung.
-
Eine
zweckmäßige Quantisierung
erfolgt durch eine Umwandlung der Zahlendarstellung der Spektralkomponenten
von einer Gleitkommadarstellung in eine Festpunktdarstellung. Dies
kann beispielsweise durch die Multiplikation der gebrochenen Zahlen
mit einem konstanten Wert, zweckmäßigerweise mit einer Zweierpotenz,
und einem Abschneiden des Rests erfolgen. Auf diese Weise kann die
zur Darstellung der Spektralkomponenten benötigte Datenmenge reduziert
werden und die notwendigen Berechnungen zur Rekonstruktion der Polygondaten
können
durch eine Ganzzahlenarithmetik, z.B. auf einem einfachen DSP durchgeführt werden.
Dies ist wiederum dann besonders von Vorteil, wenn es sich bei dem
Endgerät
um ein Gerät
mit einer relativ einfachen Prozessoreinheit handelt, die beispielsweise
keine Gleitkommaarithmetik in Hardware durchführen kann.
-
Eine
besonders vorteilhafte Ausgestaltung der Erfindung sieht vor, dass
die Quantisierung der niederfrequenteren Spektralkomponenten mit
einer höheren
Auflösung
erfolgt als die der höherfrequenteren
Spektralkomponenten. Dies bedeutet, dass die besonders wichtigen
niederfrequenten Spektralanteile, welche die grobe Kontur des Objekts
beschreiben, genauer und mit einem geringeren Quantisierungsfehler
codiert werden, während
die höherfrequenteren
Anteile des Frequenzspektrums unter Inkaufnahme eines größeren Quantisierungsfehlers
stärker
komprimiert werden. Auf diese Weise kann die Quantisierung an die
Anforderungen bezüglich
des Rekonstruktionsfehlers angepasst werden. Die einzelnen Werte
des Frequenzspektrums können
so, je nach geforderter Präzision,
mit unterschiedlicher Auflösung,
oder ggf. sogar überhaupt nicht,
gespeichert bzw. übertragen
werden.
-
Der
Komprimierungsschritt kann weiterhin auch eine Quellencodierung
umfassen. Mittels der Quellencodierung können Redundanzen und statistische
Abhängigkeiten
der von einer binären
Quelle erzeugten Daten zur Komprimierung der Daten genutzt werden.
Dies kann explizit durch einen separaten Komprimierungsschritt des
vorgeschlagenen Verfahrens oder implizit durch die Sendeeinrichtung
des verwendeten Übertragungsweges
erfolgen. Beispielsweise kann eine derartige Codierung automatisch
bei einer Modemübertragung
oder einer Mobilfunkübertragung
erfolgen. Grundsätzlich
sind alle verlustlosen Verfahren, wie z.B. ZIP, GZIP oder ähnliche,
geeignet. Besonders vorteilhaft ist es die Spektralkomponenten gemäß ihrer
Auftretenswahrscheinlichkeiten zu codieren, um eine optimale Ausnutzung
des Codierungsalphabets zu erzielen. Dazu werden häufig auftretende
Werte der Spektralkomponenten kurzen Codes mit einer geringen binären Länge und
weniger häufig
auftretende Werte von Spektralkomponenten längeren Codes mit mehr Bits
zugeordnet. Ein bekanntes derartiges und besonders geeignetes Codierungsverfahren
ist das Huffman-Codierungsschema. Je nach Anforderungen können die
Spektralkomponenten auch zuerst quantisiert und unter Berücksichtigung
der Auftretenswahrscheinlichkeiten der quantisierten Werte anschließend binär codiert
werden. Dabei kann es wiederum zweckmäßig sein, die einzelnen Spektralkomponenten
gemäß der ihnen
zugeordneten Frequenzen unterschiedlich zu codieren. Dies ist besonders
dann sinnvoll, wenn die Werte der einzelnen Spektralkomponenten
eine unterschiedliche statistische Verteilung aufweisen. Es kann
auch zweckmäßig sein,
die unterschiedlichen Komponenten der transformierten Raumpunkte
(x, y, z) bzw. der erweiterten Vektoren unterschiedlich zu codieren.
-
Um
bei relativ geringen zur Verfügung
stehenden Bandbreiten bei der Datenübertragung, z.B. bei einer Übertragung über ein
Mobilfunknetz, drei-dimensionale Objekte und Szenen bereits unvollständig und
mit geringerer Genauigkeit anzuzeigen, während noch Daten übertragen
werden, ist es besonders zweckmäßig, die Übertragung
von Komponenten der transformierten und/oder komprimierten Daten
des Körpers
in einer vorgegebenen Reihenfolge durchzuführen. Wenn grobe Konturen der
Gestalt des Körpers
betreffende Komponenten vor Komponenten übertragen werden, die feinere
Konturen betreffen, können
die groben Konturen des rekonstruierten Körpers bereits angezeigt werden,
während
im Hintergrund die Daten für
die feinen Konturen nachgeladen werden. Durch die vorgeschlagene
Datenrepräsentation
im Spektralbereich ergibt sich eine sog. Streaming-Fähigkeit des vorgeschlagenen
Verfahrens, die besonders bei einer Onlinedarstellung eines drei-dimensionalen
Körpers über ein
Kommunikationsnetzwerk von Vorteil ist. Dies wird vorzugsweise dadurch
erzielt, dass zunächst
die unteren Frequenzen des Spektrums, welche bereits die Grundformen
des Objekts beschreiben, übertragen
werden. Im weiteren Verlauf können
dann die höheren
Frequenzen im Hintergrund nachgeladen werden, wodurch die Objekte
dynamisch weiter verfeinert werden können.
-
Für die Rekonstruktion
der Raumpunkte des drei-dimensionalen Körpers aus den übertragenen
Spektralkoeffizienten ist besonders die Harmonische Synthese geeignet.
Zur Synthese der Polygone werden dabei vorteilhafter Weise nur einfache
Multiplikation und Addition benötigt,
die zudem gegebenenfalls auch ohne Gleitkommaarithmetik in der Anzeigeeinheit
ausgeführt
werden können.
Eine derartige Synthese erfordert deshalb relativ wenig Rechenzeit
des Prozessors der Anzeigeeinheit. Auch können die gewünschten
Raumpunkte getrennt und einzeln aus den übertragenen Spektralkoeffizienten
ermittelt werden, ohne dass eine vollständige Rekonstruktion des Polygonnetzes
notwendig ist.
-
In
Abhängigkeit
von den Anforderungen bei der Darstellung des rekonstruierten Körpers kann
gemäß der vorliegenden
Erfindung auch eine verringerte Anzahl von Raumpunkten bzw. eine
verringerte Anzahl von rekonstruierten Polygone dynamisch aus den übertragenen
Spektralkoeffizienten erzeugt werden. Da die polygonalen Körper in
der Anzeigeeinheit als Spektralkoeffizienten bzw. Frequenzspektren
vorliegen, können
die erforderlichen Polygone durch Rücktransformation der Raumpunkte
an gewünschten
und optimalen Stellen erzeugt werden. Auf diese Weise ist es beispielsweise
möglich,
bei virtuell weiter entfernt liegenden Objekten nur ein grobes Gittermodell
mit weniger Polygonen als in dem ursprünglichen Polygonnetz des darzustellenden
Körpers
zu erzeugen. Da ein derartiger Körper
in der perspektivischer Darstellung nur sehr klein erscheint, reicht
oftmals eine grobe Rekonstruktion der Gestalt des Körpers aus.
Auf diese Weise kann in dem Endgerät, dynamisch und unter Berücksichtigung
der gegebenen Anforderungen, die Anzahl der zu verarbeitenden Polygone
drastisch reduziert werden, ohne dass es zu einer erkennbaren Einbuße in der
Qualität
der Darstellung des Objekts kommt. Zweckmäßigerweise können in
der Harmonischen Synthese bei einer gröberen Rekonstruktion des Körpers durch
eine verringerte Anzahl von Raumpunkten auch höhere Spektralkoeffizienten
ignoriert werden, da die von diesen beschriebenen feineren Strukturen
des Körpers
sowieso nicht angezeigt werden. Dies hat zudem den Effekt, dass
durch das Weglassen der höheren
Frequenzanteile der entfernt dargestellte Körper etwas abgerundet erscheint,
d.h. scharfe Ecken und Kanten werden in diesem Fall durch die Tiefpass-Wirkung
entfernt.
-
Gemäß einer
besonders bevorzugten Ausgestaltung der Erfindung werden weitere
zusätzliche
Raumpunkte zu den im ursprünglichen
Polygonnetz enthaltenen interpoliert. Durch diese Interpolation
von Zwischenwerten der ursprünglichen
Raumpunkte können
weitere Polygone synthetisiert werden, was zu einem feineren Polygonnetz
mit größerer Auflösung führt. Die
Interpolation von Zwischenwerten für eine Spektraldarstellung
mittels Diskreter Fourier-Transformation kann mittels beliebiger
Interpolationsfunktionen, z.B. Sinus (x)/x, Gauß oder Linear, erfolgen. Vorzugsweise
werden die interpolierten Werte durch eine trigonometrische Interpolation
nach dem Verfahren der Harmonischen Synthese erzeugt.
-
Der
Schritt der Darstellung des rekonstruierten Objekts kann die Auswahl
einer Ansicht des Körpers und
die Ermittlung der perspekti vischen Darstellung des Körpers gemäß der gewählten Auswahl
umfassen. Auf diese Weise ist es möglich, das Objekt auf der Anzeigeeinheit
zu drehen und aus unterschiedlichen Perspektiven zu betrachten.
Die jeweilige perspektivische Darstellung wird dabei anhand des
aus den übertragenen
Spektralkoeffizienten rekonstruierten Polygonnetzes erzeugt. Anhand
entsprechender Transformationsmatrizen, z.B. für Translation, Skalierung oder
Rotation, werden die Polygone für
die gewünschte
perspektivische Darstellung transformiert.
-
Die
Darstellung des Körpers
kann auch das Rendering des rekonstruierten Polygons umfassen. Hierbei
können
Oberflächentextur,
Reflexionseigenschaften, Farbeigenschaften und/oder Transparenzeigenschaften
der Polygone berücksichtigt
werden. Weiterhin gibt es eine Vielzahl zusätzlicher Verarbeitungsschritte
um den räumlichen
Tiefeneindruck der perspektivischen Darstellung zu verbessern. Um
die Verarbeitungsgeschwindigkeit des Rendering zu erhöhen, ist
es zweckmäßig zuvor
nicht sichtbare Polygone, z.B. auf der Rückseite des Körpers, zu
entfernen.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung umfasst das Verfahren einen Schritt zur
Auswahl eines drei-dimensionalen
Objekts aus einer Datenbank. Auf diese Weise können beliebige Objekte ausgewählt und
zur Anzeige an ein Endgerät übertragen
werden. Vorzugsweise erfolgt die Übertragung über ein Mobilfunknetz auf ein
Mobilfunkendgerät,
auf dem dann das drei-dimensionale
Objekt angezeigt wird.
-
Das
erfindungsgemäße Verfahren
kann weiterhin einen Schritt zur Übermittlung von Abrechnungsinformation
für die Übertragung
der Daten des drei-dimensionalen Körpers umfassen. Auf diese Weise
wird es ermöglicht,
die Darstellung bzw. Übertragung
drei-dimensionaler Objekte auf ein Endgerät als Dienst eines Kommunikationsnetzwerkes
vorzusehen. Der Benutzer eines Endgerätes kann ein ausgewähltes Objekt,
beispielsweise gegen Entgelt auf der Anzeigeeinheit betrachten und/oder
die übertragenen
Daten des Objekts speichern und das Objekt zu späteren Zeitpunkten betrachten.
Dies ermöglicht
den Betrieb von Diensten über das
Kommunikationsnetzwerk, welche, ähnlich
wie beim bekannten Herunterladen von Klingeltönen oder SMS-Symbolen für Handys,
die Übertragung
der digitalen Repräsentation
eines drei-dimensionalen Objekts zur Betrachtung auf der Anzeigeeinheit
des Endgeräts
ermöglichen.
Die übertragene
Abrechnungsinformation kann jedoch auch anderweitig verwendet werden,
beispielsweise für
die Abrechnung einer Bestellung eines Exemplars des betrachteten
Objekts. Das Objekt kann zuvor in seiner drei-dimensionalen Repräsentation
gemäß der vorliegenden
Erfindung auf das Endgerät übermittelt
und dort betrachtet worden sein. Der Benutzer des Endgeräts hat somit
die Möglichkeit
das entsprechende Objekt, z.B. ein Handy, auf seinem Endgerät eingehend
und von allen Seiten zu betrachten, um bei Interesse einen Bestellvorgang
für ein
Exemplar des Objekts auszulösen.
Auf diese Weise können
3D-Modelle der angebotenen Objekte sowie komplette Modelle von Personen
in und von virtuellen Shops, Aneinanderreihungen von Shops sowie
ganze Modelle mit mehreren Shops (virtuelle Malls) übertragen
und dargestellt werden.
-
Eine
bevorzugte Verwendung der vorliegenden Erfindung sieht die Darstellung
der Objekte von virtuellen Szenen oder Umgebungen auf der Anzeigeeinheit
vor. Da die erfindungsgemäße Repräsentation
der Daten von Polygonnetzen drei-dimensionaler Objekte eine dynamische
Generierung des rekonstruierten Polygonnetzes ermöglicht,
können
die in der virtuellen Szene oder Umgebung dargestellten Objekte
unter Berücksichtigung
der jeweils vorliegenden Darstellungsparameter rekonstruiert und
angezeigt werden. Beispielsweise können Objekte, die aufgrund
der perspektivischen Darstellung nur sehr klein erscheinen, mit
einer verringerten Anzahl von Polygonen rekonstruiert und dargestellt
werden, wodurch die benötigte
Rechenzeit und der notwendige Speicherplatz in der Anzeigeeinheit
reduziert werden kann. In einer anderen Darstellung, beispielsweise
nach einem Zoomen, kann das Objekt aufgrund der gleichen spektralen
Repräsentation
der Daten seines Polygonnetzes mit einer größeren Anzahl von Polygonen
rekonstruiert und dargestellt werden. Dies ermöglicht eine effektive Darstellung
von drei-dimensionalen Objekten in virtuellen Szenen oder Umgebungen, insbesondere über bandbegrenzte Übertragungswege
und auf relativ einfachen Endgeräten.
-
Eine
Vorrichtung zur Darstellung von jeweils als Polygonnetz repräsentierten
drei-dimensionalen Objekten kann Transformationsmittel zum Transformieren
von Daten des Polygonnetzes mittels einer Spektraltransformation,
Rekonstruktionsmittel zum Rekonstruieren von Daten des Polygonnetzes
durch Synthese zumindest eines rekonstruierten Polygons aus den
transformierten Daten und eine Anzeigeeinrichtung zum Anzeigen des
rekonstruierten Objekts aufweisen.
-
Vorzugsweise
weisen die Transformationsmittel eine Spektralanalyseeinrichtung
zum Ermitteln von Spektralkomponenten von Bestandteilen der in Elementen
eines zwei-dimensionalen Feldes angeordneten Raumpunkte des Polygonnetzes
auf.
-
Weiterhin
können
Komprimierungsmittel zum Komprimieren der transformierten Daten
vorgesehen sein. Die Komprimierungsmittel können beispielsweise als Selektionseinrichtung
zur Auswahl einer Teilmenge der ermittelten Spektralkomponenten
ausgebildet sein. Die Komprimierungsmittel können auch eine Quantisiereinrichtung
zum Quantisieren der transformierten Daten aufweisen. Weiterhin
können
die Komprimierungsmittel eine Quellenkodiereinrichtung zum Kodieren
der Daten des drei-dimensionalen Objekts anhand von Eigenschaften
der zu kodierenden Daten aufweisen.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung sind Übertragungsmittel
zum Übertragen
der transformierten und/oder komprimierten Daten über ein
Kommunikationsnetz vorgesehen, wobei die Übertragungsmittel eine Sendeeinrichtung
zum Senden der Repräsentation
des drei-dimensionalen Körpers über das
Kommunikationsnetzwerk und Empfangsmittel zum Empfangen der übertragenen
Daten aufweisen können.
-
Vorzugsweise
weist das Kommunikationsnetzwerk ein Datenübertragungsnetzwerk, insbesondere nach
dem Internetstandard, ein Mobilfunknetzwerk, insbesondere nach dem
GSM- oder UMTS-Standard, und/oder eine Kombination aus diesen auf.
Um eine progressive Rekonstruktion des drei-dimensionalen Objekts
mit zunehmender Ge nauigkeit der Darstellung zu ermöglichen,
können
die Übertragungsmittel
eine Sendefolgebereitstellungseinrichtung zum Bereitstellen der
Komponenten der transformierten und/oder komprimierten Daten des
Polygonnetzes in einer vorgegebenen Reihenfolge für das Senden
aufweisen.
-
Um
weitere, in dem ursprünglichen
Polygonnetz nicht enthaltene Raumpunkte zu interpolieren und um so
eine genauere Darstellung des drei-dimensionalen Objekts zu erhalten,
können
die Rekonstruktionsmittel vorteilhafter Weise eine Interpolationseinrichtung
aufweisen.
-
Zur
räumlichen
Darstellung des rekonstruierten Objekts kann die Anzeigeeinrichtung
zweckmäßigerweise
eine Rendereinrichtung zum Rendering von Polygonen aus rekonstruierten
Raumpunkten aufweisen.
-
Weiterhin
kann eine Eingabeeinrichtung zur Eingabe von Anzeigeparametern für das Objekt,
insbesondere zur Eingabe einer Ansicht des drei-dimensionalen Objekts,
und eine Verarbeitungseinrichtung zur Verarbeitung der Daten des
rekonstruierten Objekts gemäß der ausgewählten Anzeigeparameter
vorgesehen sein. Die Verarbeitungseinrichtung dient insbesondere
zur Ermittlung der perspektivischen Darstellung des Körpers gemäß der gewählten Ansicht
durch Transformation der Daten des Polygonnetzes mittels entsprechender
Transformationsmatrizen.
-
Vorzugsweise
sind die Rekonstruktionsmittel und/oder die Anzeigeeinrichtung in
einem mobilen Endgerät
des Kommunikationsnetzes angeordnet. Bevorzugte Endgeräte sind
Mobilfunkendgeräte,
wie Handys, PDAs, Handheld-Computers oder mobile Communicators.
Selbstverständlich
ist die vorliegende Erfindung nicht auf diese Endgeräte beschränkt und
kann beispielsweise auch in einer Arbeitsplatzstation, einem PC oder
einem Netzwerkrechner vorgesehen sein.
-
Weitere
vorteilhafte Wirkungen und Merkmale der vorliegenden Erfindung ergeben
sich aus der folgenden Beschreibung bevorzugter Ausführungsbeispiele
anhand der beigefügten
Zeichnungen wobei,
-
1 schematisch
ein Blockdiagramm eines erfindungsgemäßen Systems zur Übertragung
und Darstellung drei-dimensionaler Objekte zeigt;
-
2 schematisch
ein Blockdiagram einer Codiereinheit 1 für ein Ausführungsbeispiel
gemäß der vorliegenden
Erfindung zeigt;
-
3 schematisch
die Erzeugung und Auswahl der Spektralkoeffizienten für ein Polygonnetz
erläutert;
-
4 schematisch
eine bevorzugte Möglichkeit
zur Speicherung der transformierten Daten von Raumpunkten eines
Polygonnetzes zeigt;
-
5 schematisch
ein Flussdiagramm für
ein Ausführungsbeispiel
eines erfindungsgemäßen Verfahrens
zur Ermittlung der transformierten und komprimierten Repräsentation
eines dreidimensionalen Objekts zeigt;
-
6 schematisch ein Beispiel eines durch
ein Polygonnetz dargestellten drei-dimensionalen Körpers zur
Veranschaulichung des erfindungsgemäßen Verfahrens darstellt.
-
1 zeigt
schematisch ein Blockdiagramm eines erfindungsgemäßen Systems
zur Übertragung
und Darstellung drei-dimensionaler Objekte. Eine Codiereinheit 1 erhält als Eingabe
ein aus einer Datenbank 8 ausgewähltes Polygonnetz, das von
der Codiereinheit 1 gemäß der vorliegenden
Erfindung transformiert und codiert wird. Die codierten Daten werden
an eine Sendeeinheit 2 weitergeleitet, welche die Übertragung
der codierten Daten über
ein beliebiges Kommunikationsnetzwerk 9 veranlasst. Als
Beispiele sind in 1 eine Mobilfunkübertragung,
beispielsweise über
GSM oder UMTS, oder eine drahtgebundene Übertragung, z.B. über das
Internet, angedeutet.
-
Die übertragenen
Daten werden von einem Empfänger 3 empfangen
und einer Decodiereinheit 4 zugeführt. Diese rekonstruiert das
Polygonnetz, wobei die Anzahl der rekonstruierten Polygone bzw.
Raumpunkte entsprechend den Erfordernissen der Anzeigeeinheit 7 und/oder
den vorliegenden Anzeigeparametern entsprechend festgelegt werden
kann. In einer Verarbeitungseinheit 5 wird das rekonstruierte
Polygonnetz den aufgrund der Lage des Körpers im Raum und der gewählten Anzeigeperspektive
erforderlichen Transformatio nen unterworfen. Hierbei können auch
die Beleuchtungsverhältnisse
für die
Darstellung des virtuellen Objekts berücksichtigt werden. Weiterhin
ist es sinnvoll unter den gewählten
Anzeigeparametern nicht sichtbare Polygone zu entfernen. Aufgrund
der Fähigkeit
der vorliegenden Erfindung einzelne Polygone dynamisch zu generieren,
ist es dabei nicht erforderlich das gesamte Polygonnetz zuerst vollständig zu
erzeugen und anschließend
zu verarbeiten. Das vorgeschlagene Vorgehen hat den Vorteil, dass
inkrementell ein Teil der ursprünglichen
Polygone rekonstruiert und weiterverarbeitet werden kann. Die erzeugten
und bearbeiteten Polygone werden anschließend einer Rendereinheit 6 zugeführt, welche
unter anderem das Füllen
der Dreiecke übernimmt.
Dabei können
Oberflächentexturen,
Reflexionseigenschaften, Farbeigenschaften und Transparenzeigenschaften
berücksichtigt
werden. Die auf diese Weise erzeugte zwei-dimensionale Ansicht des
rekonstruierten Objekts wird auf einer Anzeigeeinheit 7 dargestellt.
-
Die 2 zeigt
schematisch ein Blockdiagramm einer Codiereinheit 1 für ein Ausführungsbeispiel
gemäß der vorliegenden
Erfindung. In einer Spektralanalyseeinrichtung 10 werden
die Spektralkomponenten der in dem Polygonnetz vorgesehenen Raumpunkte
des drei-dimensionalen
Objekts ermittelt. Diese Spektralkoeffizienten werden anschließend einer
Quantisiereinrichtung 11 zugeführt, welche beispielsweise
die Spektralkomponenten in eine Festpunktdarstellung umwandelt.
Hierbei ist es zweckmäßig für die einzelnen
Spektralkomponenten unterschiedliche Quantisierungsstufen vorzusehen,
um beispielsweise niederfrequentere Spektralkomponenten mit höherer Genauigkeit
und höherfrequentere
Spektralkomponenten mit redu zierter Genauigkeit abzubilden. Die
quantisierten Spektralkomponenten werden anschließend in
einer Quellenkodiereinrichtung 12 anhand ihrer Auftretenswahrscheinlichkeiten
codiert. Dies erfolgt vorzugsweise nach dem Huffman-Codierungsschema,
wobei jedoch auch andere verlustlose Komprimierungsverfahren, wie
ZIP oder GZIP, herangezogen werden können. Die komprimierten Daten
werden einer Sendefolgebereitstellungseinrichtung 13 zugeführt, welche
die Bereitstellung der einzelnen Komponenten der Daten in einer
vorgegebenen Reihenfolge für
das Senden durch die Sendeeinrichtung 2 vornimmt. Vorzugsweise
werden die Komponenten, welche eine grobe Kontur des Objekts betreffen,
vor solchen Komponenten übertragen,
welche feine Konturen beschreiben. Dies kann beispielsweise dadurch
erreicht werden, dass die codierten Daten derjenigen Spektralkoeffizienten,
vor den codierten Daten der niederfrequenten Spektralkoeffizienten,
welche höheren
Frequenzanteilen entsprechen, übertragen
werden. Durch das Streaming der entsprechend angeordneten Daten, kann
eine progressive Rekonstruktion des Polygonnetzes erzielt werden,
wobei zuerst eine gröbere
Darstellung des drei-dimensionalen Objekts erzeugt werden kann,
welche nach Übertragung
der weiteren Daten nach und nach verfeinert wird.
-
Die 3 erläutert schematisch
die Erzeugung und Auswahl der Spektralkoeffizienten für ein Polygonnetz.
In den Elementen des zwei-dimensionalen
Feldes 20 sind jeweils die Koordinaten (x, y, z) der Raumpunkte
(„vertices") des Polygonnetzes
angeordnet. Dabei erfolgt die Anordnung derart, dass im Polygonnetz
benachbarte Raumpunkte auch in dem zwei-dimensionalen Feld 20 in
angrenzenden Feldelementen angeordnet werden. Betrachtet man beispielsweise
eine Zeile des Feldes für
ein regularisiertes Polygonnetz, welches z.B. durch Schneiden eines
beliebigen Polygonnetzes mit parallelen Schnittebenen entsteht,
so beschreiben die Koordinaten in einer Zeile die Schnittlinie des
drei-dimensionalen Körpers
mit der entsprechenden Schnittfläche.
-
Eine
Spektralanalyseeinrichtung 10 ermittelt aus den einzelnen
Komponenten (x, y, z) der in den Zeilen und Spalten angeordneten
drei-dimensionalen Raumpunkten entsprechende Wertefolgen; beispielsweise die
Folge der x-Koordinaten der in der ersten Zeile des Feldes 20 angeordneten
Raumpunkte. Diese einzelnen Wertefolgen werden jeweils einer getrennten
Spektraltransformation, beispielsweise nach dem Verfahren der Harmonischen
Analyse, unterworfen. Auf diese Weise entsteht für jede Zeile und jede Komponente
(Dimension) des Vektors jeweils ein Satz von Spektralkoeffizienten.
Die Gesamtheit der ermittelten Spektralkoeffizienten stellt die
Transformation der Raumpunkte des Polygonnetzes dar und beschreibt
die Konturen des durch das Polygonnetz repräsentierten drei-dimensionalen
Körpers
im Frequenzbereich.
-
Die
ermittelten Spektralkomponenten werden einer Selektionseinrichtung 14 zur
Auswahl einer Teilmenge der Spektralkomponenten zugeführt. Vorzugsweise
werden diejenigen Spektralkomponenten ausgewählt, die den niederfrequenteren
Signalanteil beschreiben. Diejenigen Spektralkomponenten, welche
den höheren
Frequenzen entsprechen, werden entfernt. Dies entspricht einer Tiefpass-Filterung
des die Kontur des drei-dimensionalen Körpers beschreibenden Signals.
Je nach Anteil der weggelassenen Frequenzkomponenten kann so die Repräsentation
des drei-dimensionalen Körpers
auf die groben Konturen des Körpers
beschränkt
werden. Auf diese Weise wird auch eine Datenkomprimierung der spektralen
Repräsentation
des Körpers
bewirkt. Die reduzierten Spektralkoeffizienten können anschließend der
Quantisiereinrichtung 11 zur weiteren Datenkomprimierung
zugeführt
werden.
-
Die 4 zeigt
schematisch eine bevorzugte Möglichkeit
zur Speicherung der transformierten Daten von Raumpunkten eines
Polygonnetzes. Es wird die Anordnung der komprimierten Spektralkoeffizienten
a, b für
zwei Raumpunkte P1 und P2 dargestellt.
Für jeden
Punkt P1, P2 werden
für jede
Dimension (x, y, z) die jeweiligen Spektralkoeffizienten a0, a1,
b1, a2, b2 ... an, bn ermittelt und abgespeichert. Um eine progressive Rekonstruktion
der Polygone zu ermöglichen,
ist es zweckmäßig die
Koeffizienten in einer Reihenfolge abzuspeichern, die ansteigenden
Frequenzanteilen entspricht. In dieser Reihenfolge sollten die Spektralkoeffizienten
auch übertragen
werden. Selbstverständlich
ist die genaue Anordnung der Sinus- und Cosinusanteile (a, b) und
die Reihenfolge der einzelnen Raumachsen (x, y, z) nicht von belang
und kann beliebig variiert werden.
-
In
dem in 4 dargestellten Beispiel wird die unterschiedliche
Quantisierung (Auflösung)
für die
einzelnen Spektralkoeffizienten durch die unterschiedlichen Größen der
jeweiligen Felder dargestellt. Da in der Regel die höherfrequenteren
Spektralkoeffizienten mit einer geringeren Auflösung codiert werden, können diese
mit weniger Bits dargestellt werden. Beispielsweise ist es möglich die
a0-Koeffizienten für
den Gleichanteil sowie die a1- und b1-Koeffizienten für die Grundperiode
mittels einer 16-Bit-Festkommazahl und die höheren Spektralkoeffizienten
a2, b2, ... mit einer 8-Bit-Festkommazahl darzustellen. Selbstverständlich kann
dieses Schema erweitert und variiert werden. Möglicherweise genügt für die den
höchsten
Frequenzen entsprechenden Spektralkomponenten bereits eine 4-Bit-Darstellung.
-
Die 5 zeigt
ein Flussdiagram für
ein Ausführungsbeispiel
eines erfindungsgemäßen Verfahrens zur
Ermittlung der transformierten und komprimierten Repräsentation
eines drei-dimensionalen Objekts.
-
Nachdem
das Polygonnetz, wie oben beschrieben, in einem zwei-dimensionalen Feld 20 organisiert und
die Vektoren („vertices") in den Elementen
des Feldes angeordnet sind, wird in Schritt 100 die erste
Zeile des Feldes ausgewählt.
-
In
Schritt 105 wird die erste Vektorkomponente (Dimension)
der in den Elementen des Feldes gespeicherten Vektoren ausgewählt. Wie
bereits erwähnt,
können
in den Vektoren (Vertices) neben den Raumkoordinaten (x, y, z) noch
weitere dem entsprechenden Polygon zugeordnete Daten abgelegt werden.
Zur Vereinfachung der Erläuterung
wird im Folgenden davon ausgegangen, dass nur die x-, y- und z-Komponenten der Raumpunkte
in den Elementvektoren vorgesehen sind. Beispielsweise wird zuerst
die x-Komponente ausgewählt.
-
In
Schritt 110 wird dann für
die ausgewählte
Zeile und die ausgewählte
Dimension des Elementvektors eine Folge der in den Elementvektoren
gespeicherten Werte ermittelt. In dem hier erläuterten Bei spiel also die Folge
der x-Komponenten der in einer Zeile angeordneten Raumpunkte.
-
Für diese
Wertefolge wird in Schritt 115 eine Spektraltransformation
durchgeführt,
um die Spektralkomponenten der Folge zu ermitteln. Dies kann beispielsweise
mittels Harmonischer Analyse erfolgen. Auf diese Weise wird ein
Satz von Spektralkoeffizienten für
den Gleichanteil (a0), die Cosinus- (a1-an) und die Sinusanteile
(bn) erhalten.
-
In
Schritt 120 werden diejenigen Spektralkomponenten, welche
den tieferen Frequenzanteilen entsprechen, ausgewählt. Die
höheren
Spektralkomponenten werden weggelassen. Auf diese Weise findet eine erste
Datenkomprimierung statt, da nicht der gesamte Satz an Spektralkoeffizienten
gespeichert bzw. übertragen
werden muss. Weiterhin bewirkt dieser Schritt eine Tiefpass-Filterung
der durch die Raumpunkte beschriebenen Kontur des Körpers.
-
In
Schritt 125 werden die ausgewählten Spektralkomponenten zur
weiteren Datenkomprimierung codiert. Dies geschieht einerseits durch
die Umwandlung der rationalen Zahlen der Spektralkoeffizienten in
eine Ganzzahlendarstellung mittels geeigneter Skalierung. Weiterhin
kann eine optionale Quellencodierung, z.B. nach dem Huffman-Verfahren,
vorgesehen sein.
-
In
Schritt 130 wird festgestellt, ob der Elementvektor noch
weitere, bisher nicht verarbeitete Dimensionen aufweist. Falls weitere
Dimensionen des Elementvektors vorhanden sind, wird in Schritt 135 die nächste Dimension,
z.B. y, ausgewählt
und das Verfahren kehrt zur Verarbeitung dieser Dimension zu Schritt 110 zurück.
-
Sollte
keine weitere Dimension des Elementvektors mehr vorhanden sein,
wird in Schritt 140 festgestellt, ob eine weitere Zeile
in dem Feld 20 vorhanden ist. Falls möglich wird in Schritt 145 die
nächste
Zeile des Feldes ausgewählt
und das Verfahren kehrt zu Schritt 105 zurück. Anderenfalls
ist die Abarbeitung des Polygonnetzes abgeschlossen.
-
Wie
bereits erwähnt,
kann die erfindungsgemäße Repräsentation
der Raumpunkte des Polygonnetzes auch auf andere mit dem Polygonnetz
im Zusammenhang stehende Daten erweitert werden. Dazu kann eine mehrdimensionale
Vektordarstellung gewählt
werden, die unter anderem die Koordinaten der Raumpunkte aber auch
Farbwerte, Beleuchtungskoeffizienten, Oberflächennormalen, Texturkoordinaten
und anderes enthält.
Diese Vektorkomponenten werden analog in eine Frequenzdarstellung
transformiert und gespeichert bzw. übertragen.
-
Betrachtet
man die in einer Zeile oder einer Spalte des zwei-dimensionalen Feldes
20 angeordneten Vektoren
(„vertices"), so ergeben sich
für die
einzelnen Dimensionen (x, y, z, nx, ny, nz, tu, tv ...) je eine
einfache Zahlenreihe. Man kann sich die Zeilen oder Spalten als
Geodäten
auf der Oberfläche
eines drei-dimensionalen Objektes vorstellen. Werden diese Zahlenreihen
als Funktionen aufgefasst, kann man diese leicht in einer Fourier-Reihe
entwickeln:
-
Dabei
wird die Periode 2π der
Länge 1
einer Zeile gleichgesetzt. Die Veränderliche x wird dabei durch π·x/1 ersetzt.
-
Im
Ergebnis erhält
man die Fourier-Koeffizienten a0, a1 ... an, b1 ... bn. Diese Koeffizienten
entsprechen dem Spektrum der Funktion bzw. der Zahlenreihe. Für jede Dimension
der Vektoren in jeder Zeile des zwei-dimensionalen Feldes werden
so die Spektren ermitteln. Analog können die Koeffizienten für jede Zeile als
Funktion in Y aufgefasst und analysiert werden.
-
Im
Gegensatz zu bekannten Verfahren werden gemäß der vorliegenden Erfindung
die Polygonnetze nicht als Arrays von Vertices und Indices, sondern
als Fourier-Koeffizient gespeichert und/oder übertragen. Das heisst, es werden
die Frequenzspektren für
die Konturbeschreibungen in den Spalten und/oder Zeilen ermittelt,
gespeichert und/oder übertragen.
Mittels den Verfahren der Harmonischen Synthese können die Raumpunkte
bzw. Polygone rekonstruiert werden.
-
-
Wie
aus der Gleichung der Harmonischen Synthese ersichtlich, lassen
sich Werte für
beliebige Punkte rekonstruieren. Auf diese Weise können einzelne
Raumpunkte rekonstruiert werden und neue Raum punkte lassen sich
interpolieren. Zur Rekonstruktion werden effektiv nur Multiplikation
und Addition benötigt.
Das sind Operationen, die von einfachen RISC Prozessoren sehr schnell
ausgeführt
werden können.
Bei gleicher Spalten- bzw. Zeilenlänge 1 können die Cosinus- und Sinus-Terme
gleich gehalten und vorausberechnet werden. Auf diese Weise kann
bei der Rekonstruktion mit Konstanten k
an,
k
bn, die aus entsprechenden vorbereiteten Tabellen
entnommen werden können,
gerechnet werden, und die expliziten Berechnungen von Sinus und
Cosinus entfallen. Für
die Harmonische Synthese gilt dann:
-
Wie
bereits erwähnt,
können
bei der Harmonischen Synthese auch Zwischenwerte harmonisch interpoliert
werden. Durch die Darstellung des Körpers im Frequenzbereich liegt
letztlich eine Beschreibung der Oberfläche des Körpers vor, und für jeden
Punkt auf der Oberfläche
können
die Raumkoordinaten bestimmt werden.
-
Weiterhin
erlaubt die vorliegende Erfindung, dass Polygone direkt in der Render-Pipe
synthetisiert werden. Dabei können
die Polygone leicht rekursiv unterteilt werden, um an die gewünschte effektive
Auflösung
angepasst zu werden. Gegenüber
dem konventionellen Zugriff auf feste Polygonnetze erfordert dies
zwar zusätzliche
Operationen, doch lässt
sich auf diese Weise die Anzahl der zu rendernden Dreiecke drastisch
reduzieren, sodass in der Gesamtbilanz sehr viel weniger Operationen
notwendig sind. Durch die dynamische Generie rung der Polygone können weit
entferntere Objekte mit weniger Polygonen dargestellt werden. Um
Polygone mit geringerer Auflösung
zu synthetisieren, können
auch höhere
Frequenzkomponenten weggelassen werden. In diesem Fall entsteht
eine Tiefpass-Wirkung, welche die Ecken und Kanten eines rekonstruierten Objektes
abrundet. Dies kann beispielsweise realisiert werden, indem in der
Harmonischen Synthese der Laufindex n nur bis zu einem reduzierten
Wert N läuft.
Im Extremfall mit n = 1 erhält
man mithin die Form einer Kugel. Man beachte, dass dabei auch Multiplikation
und Addition entfallen, was sich weiter positiv auf die Geschwindigkeit
des Verfahrens auswirkt.
-
In 6 ist ein Beispiel eines durch ein Polygonnetz
dargestellten drei-dimensionalen Körpers zur Veranschaulichung
des erfindungsgemäßen Verfahrens
dargestellt. Bei dem gezeigten Beispiel wird die progressive Rekonstruktion
des drei-dimensionalen Gegenstandes (ein mobiles Endgerät – ein Communicator) deutlich.
Bei der erfindungsgemäßen Synthese
des Polygonnetzes aus der spektralen Repräsentation des Objekts werden
zuerst nur wenige Polygone zur Rekonstruktion der groben Kontur
des Körpers
ermittelt. Mit der Übertragung
weiterer Spektralkomponenten auf das mobile Endgerät können dort
zusätzliche
Polygone mit einer höheren
Genauigkeit rekonstruiert werden. Die Darstellung des drei-dimensionalen
Objekts verfeinert sich so, bis eine vollständigere Rekonstruktion des
ursprünglichen
Polygonnetzes erhalten wird. Zusätzlich
können, z.B.
veranlasst durch eine Zoomanweisung, weitere Polygone interpoliert
werden, sodass entsprechende Detailansichten mit hoher Qualität möglich sind.
-
Die
vorliegende Erfindung ermöglicht,
dass die Polygonnetze im Frequenzspektrum effizient, wenn auch verlustbehaftet,
komprimiert werden. Dies ist sinnvoll, da in den tiefen Frequenzen
im Allgemeinen die groben Formen des Objekts und in den höheren Frequenzen
die kleineren Details enthalten sind. Hierbei kann die Komprimierung
durch eine Vielzahl von Möglichkeiten
realisiert werden. Eine Möglichkeit
besteht darin, dass die höherfrequenten
Anteile der Spektren mit geringerer Genauigkeit oder gar nicht gespeichert
und/oder übertragen
werden. Die Objekte können
somit weniger detailliert reproduziert werden, jedoch bleibt die
grobe Form erhalten. Auch andere Bestandteile der Vertices, wie
Normalen oder Wichtungen, können
grundsätzlich mit
einer geringeren Genauigkeit gespeichert und/oder übertragen
werden. Wie auch bei anderen verlustbehafteten Komprimierungsverfahren
besteht dabei ein Kompromiss zwischen Qualität und Speicherbedarf.
-
Vorteilhaft
ist weiterhin, dass bereits unvollständig übertragene Objekte in ihren
groben Konturen angezeigt werden können. Dazu werden zunächst die
tiefen Frequenzen übertragen.
Höhere
Frequenzen können
im Hintergrund weiter übertragen
werden, was zu einer dynamischen Verfeinerung der angezeigten Objekte
(progressive Rekonstruktion) führt.
-
Die
vorliegende Erfindung weist insbesondere Vorteile bezüglich einer
Realisierung auf tragbaren Endgeräten mit begrenzter Leistungsfähigkeit
(bezüglich
Speicher, Rechenleistung, Größe des Anzeigebereichs)
auf. Die Erfindung ist deshalb besonders zur Darstellung drei-dimensionaler Objekte
auf Mobiltelefonen oder PDAs geeignet. Wei terhin steht bei diesen
Endgeräten
immer noch relativ wenig Speicher zur Verfügung. Das erfindungsgemäße Verfahren
bietet jedoch die Möglichkeit
zur Laufzeit direkt auf die komprimierten Daten zuzugreifen, wodurch
die Polygone sukzessiv rekonstruiert werden können, ohne dass das gesamte
Polygonnetz auf einmal abgespeichert werden muss.
-
Die
Erfindung erlaubt es auch, die Zahl der zu rendernden Polygone dynamisch
auf ein Mindestmaß zu
reduzieren. Dabei kommt man mit Arithmetik aus, die bei den verwendeten
Prozessoren oftmals in Hardware realisiert ist. Die rechenaufwendige
Renderfunktion wird stark entlastet, sodass auch bei schwachem Prozessor
und ohne Hardware-Beschleunigung
noch relativ komplexe 3D-Darstellungen erzeugt werden können. Aufgrund
der relativ kleinen Auflösungen
der Displays von mobilen Endgeräten
können
angemessene Anzeigequalitäten
bereits mit relativ kleinen Texturgrößen erzielt werden. Im Vergleich
zu der Darstellung von drei-dimensionalen Objekten auf Arbeitsplatzstationen
mit großem
Bildschirm, bei der relativ große
Texturen benötigt
werden, spielt eine Komprimierung der Texturen für die Anzeige auf relativ kleinen
Bildschirmen meist keine Rolle. Jedoch ist meist eine Komprimierung
der Polygonnetze erforderlich, um angesichts der geringen bei Mobilfunkübertragungssystemen,
wie GSM, UMTS oder GPRS, zur Verfügung stehenden Bandbreite eine ausreichend
schnelle Übertragung
der Daten von drei-dimensionalen Objekten zu ermöglichen. Die vorliegende Erfindung
erlaubt somit durch die an die Übertragungsverhältnisse
und Anzeigebedingungen angepasste Datenkomprimierung die Entwicklung
von Onlineanwendun gen über
Mobilfunksysteme oder andere bandbegrenzte drahtlose Übertragungskanäle.