-
Die Erfindung betrifft ein Verfahren zur Erzeugung eines 2D-Bildes einer 3D-Oberfläche. In vielen Bereichen der Technik ist es wünschenswert, ein 2D-Bild einer 3D-Oberfläche zu erzeugen. Die 3D-Oberfläche liegt dabei als Datenstruktur vor. Beispielsweise soll ein Ausschnitt eines datentechnisch gespeicherten 3D-Geländes, insbesondere eines Teils der Erdoberfläche, auf einer zweidimensionalen Fläche, zum Beispiel einem Bildschirm in Form eines 2D-Bildes darstellt werden. Oft sind der 3D-Oberfläche an bestimmten Orten, sogenannten Markerorten, bestimmte Marker zugewiesen. Die Marker sind z.B. Text, Symbole, Grafiken, usw. wie z.B. Namen von sich im Gelände der Erdoberfläche befindenden Städte, Straßen, Bergen, Flüssen usw. Derartige Markerorte werden üblicherweise auch als Pol (Point of Interest) bezeichnet. Bei der Abbildung eines, einen Markerort enthaltenden, Abschnittes der 3D-Oberfläche im 2D-Bild ist es wünschenswert, z.B. den Markerort - also dessen Abbildungsort im 2D-Bild - zu kennzeichnen und mit einem Markersymbol und/oder ein dem Markerort zugeordnetes Markerfeld (Label) anzuzeigen, welches z.B. den Marker, beispielsweise den entsprechenden Städte- oder Straßennamen, enthält.
-
Ein entsprechendes Vorgehen ist beispielsweise aus dem Artikel „'Particle-based labeling: Fast point-feature labeling without obscuring other visual features'. IEEE transactions on visualization and computer graphics. Martin Luboschik, Heidrun Schumann und Hilko Cords, 14(6): 1237-1224, 2008“ bekannt. Der Particle-based Labeling-Algorithmus garantiert eine verdeckungsfreie, proximale und echtzeitfähige Beschriftung für eine große Anzahl an Labels. Der Algorithmus geht dabei wie folgt vor: Zunächst wird vor der Platzierung der Labels ein Bild der zu beschriftenden Szene gerendert. Alle Teilbereiche des Bilds, in denen keine Labels platziert werden dürfen, werden mit virtuellen Partikeln, sogenannten Konfliktpartikeln, ausgefüllt. Anschließend platziert der Algorithmus die Labels mittels verschiedener Strategien. Dabei wird zunächst versucht, die Labels in einem freien Bereich am zugehörigen Pol zu platzieren. Gelingt dies nicht, wird das Label an einer anderen Stelle positioniert, und es wird eine Verbindungslinie zwischen Pol und Label gezogen. Wurde nun eine geeignete Labelposition gefunden, wird der von dem Label eingenommene Bereich ebenfalls mit Konfliktpartikeln aufgefüllt, sodass an dieser Stelle kein weiteres Label platziert werden kann. Dadurch lässt sich ein verdeckungsfreies Labeling garantieren. Mit der genannten Strategie werden nun nacheinander alle Label gesetzt, so lange wie noch freier Raum zur Verfügung steht. Besitzen die Label zudem eine Priorität, werden Labels höherer Priorität vor Labels mit geringer Priorität positioniert.
-
Aufgabe der vorliegenden Erfindung ist es, ein verbessertes Verfahren zur Erzeugung eines 2D-Bildes einer 3D-Oberfläche mit Markerorten vorzuschlagen.
-
Die Aufgabe wird gelöst durch ein Verfahren gemäß Patentanspruch 1. Bevorzugte oder vorteilhafte Ausführungsformen der Erfindung sowie anderer Erfindungskategorien ergeben sich aus den weiteren Ansprüchen, der nachfolgenden Beschreibung sowie den beigefügten Figuren.
-
Das Verfahren dient zur Erzeugung eines 2D-Bildes einer 3D-Oberfläche. Das 2D-Bild entsteht an einer Sichtfläche (Bildebene) eines Sichtkegels. Der Sichtkegel erweitert sich ausgehend von einer Sichtposition (Blickpunkt) zur 3D-Oberfläche hin. Der 3D-Oberfläche ist mindestens ein Markerort zugewiesen. Jedem Bildort der Sichtfläche wird ein Tiefenmaß zugeordnet. Das Tiefenmaß korreliert mit einem jeweiligen Abstand zwischen der Sichtfläche und der 3D-Oberfläche korreliert bzw. ist mit diesem korreliert, ist also insbesondere dieser Abstand, oder ein normierter Abstandswert. Der Abstand ist die jeweilige Strecke entlang einer Geraden zwischen Sichtfläche und 3D-Oberfläche (Auftreffort der Geraden), wobei insbesondere die Gerade von der Sichtposition durch den Bildort zur 3D-Oberfläche hin verläuft. Die Gerade verläuft nicht zwingend vom Blickpunkt durch die Bildebene zur 3D-Oberfläche. In der CG (Computer Graphics, Computergrafik) ist es auch üblich, die Gerade stets senkrecht durch die Bildebene zur 3D-Oberfläche zu führen. Geometrisch läuft dann die Gerade, deren Länge ermittelt wird, nicht durch den Blickpunkt. Grund für diese Variation ist die Nutzung des z-Buffers der Grafikkarte, welches lediglich den z-Wert berücksichtigt. Der Abstand und/oder das Tiefenmaß kann in einem beliebigen Maßsystem ermittelt werden, z.B. im realen Erdkoordinatensystem im Falle von Geländedaten. Für mindestens einen derjenigen Markerorte, die im Sichtkegel liegen, wird im 2D-Bild ein Markerfeld erzeugt. Das Markerfeld wird im 2D-Bild so nahe wie möglich am Bildort des Markerorts - insbesondere verdeckungsfrei zu anderen Markerfeldern - platziert. Die Bedingung „so nahe wie möglich“ wird durch die zusätzliche Bedingung eingeschränkt, dass alle Bildorte des Markerfeldes Tiefenmaße aufweisen müssen, die größer dem Tiefenmaß des Bildortes des Markerortes sind. Im ungünstigsten Fall kann auch bereits das erste Markerfeld nicht platziert werden. Nach der (insbesondere verdeckungsfreien) Platzierung des oder der Markerfelder werden die Markerfelder im 2D-Bild mit einem Projektionsbild der 3D-Oberfläche auf die Sichtfläche hinterlegt. Das 2D-Bild ist also das Bild der Projektion der 3D-Oberfläche auf die Sichtfläche.
-
Die 3D-Oberfläche liegt dabei als Datenstruktur vor. Insbesondere handelt es sich um sogenannte Geländedaten, d.h. einen in einer Datenstruktur abgebildeten Abschnitt des Geländeverlaufs der Erdoberfläche, wobei z.B. auch Daten der Form von Gebäuden etc. mit erfasst sind. Bei dem Verfahren wird insbesondere zunächst der im Sichtkegel liegende Teil der 3D-Oberfläche ermittelt. Nur dieser ist im 2D-Bild abzubilden und auch nur die darin liegenden Markerorte sind im Verfahren zu berücksichtigen.
-
Der Bildort ist ein Ort an der Sichtfläche, insbesondere entspricht der Bildort einem Bildpixel des zu erzeugenden 2D-Bildes.
-
„Nach der Platzierung“ bedeutet, dass entweder keines der Markerfelder platziert werden konnte oder so viele Markerfelder wie möglich platziert wurden (bis für kein weiteres mehr Platz ist) oder alle zu den Markerorten im 2D-Bild gehörenden Markerfelder platziert wurden. Eine Platzierung im 2D-Bild ist beispielsweise auch dann nicht mehr möglich, wenn im 2D-Bild kein Bereich in der Größe des Markerfeldes mehr verfügbar ist, der keinen Ort mit einem kleineren Tiefenmaß enthält.
-
Die Platzierung von Markerfeldern kann auch beendet werden, wenn eine gewisse maximale Anzahl von Markerfeldern im 2D-Bild platziert ist oder eine bestimmte maximale Gesamtfläche durch alle bisherigen Markerfelder eingenommen ist, usw.
-
Wenn eine Gerade von der Sichtposition aus durch einen Bildort nicht auf die 3D-Oberfläche auftrifft, so wird diesem Bildort ein Tiefenmaß zugeordnet, das dem Abstandswert „unendlich“ entspricht oder zumindest einem Abstandswert entspricht, der größer ist als das Maximum aller Abstände zwischen Bildorten und der 3D-Oberfläche für das 2D-Bild ist.
-
Insbesondere weist jeder Markerort als Marker eine Beschreibung oder Eigenschaft auf: Zum Beispiel Städte-, Fluss-, Bergnamen, Straßen- oder Gebäudebezeichnungen etc.
-
Der Sichtkegel erstreckt sich ausgehend von der Sichtposition entlang einer Sichtgeraden. Die Sichtfläche ist senkrecht zur Sichtgeraden und liegt zwischen der Sichtposition und der 3D-Oberfläche. Der Sichtkegel ist ein von der Sichtposition ausgehender Projektionskegel der Sichtfläche in Richtung zur 3D-Oberflläche hin.
-
Wenn ein Markerfeld „zu weit“ entfernt von einem Bildort des Markerorts entfernt platziert werden muss (der Abstand also einen bestimmten Grenzwert überschreitet), wird insbesondere eine Linie vom Markerfeld zum Bildort des Markerorts gezogen bzw. im 2D-Bild dargestellt, um den Zusammenhang zwischen Markerfeld und Markerort bzw. dessen Bildort anzuzeigen.
-
Die prinzipielle Platzierung „so nahe wie möglich“, das heißt mit möglichst geringem Abstand im 2D-Bild, wird nach in der Praxis üblichen bzw. bekannten Algorithmen bzw. Strategien durchgeführt, die hier nicht weiter erläutert werden sollen. Hierzu wird zum Beispiel auf den oben genannten Particle-based Labeling-Algorithmus verwiesen, jedoch sind auch sämtliche anderen Algorithmen und Strategien denkbar. Neben entsprechenden Platzierungskriterien dient dabei das Tiefenmaß als Zusatzkriterium für verbotene Platzierungsorte, die sich durch einen herkömmlichen Platzierungsalgorithmus ergeben würden.
-
Der Markerort ist insbesondere ein Pol. Insbesondere wird innerhalb des abzubildenden Bereiches der 3D-Oberfläche zunächst eine Untergruppe von dort vorhandenen Markerorten ausgewählt, die im Verfahren überhaupt zu berücksichtigen sind, alle anderen Markerorte werden ignoriert. Zum Beispiel werden nur Markerorte einer bestimmten Gruppe wie Städtenamen oder Straßennamen ausgewählt oder Markerorte wie Flughäfen oder Bergnamen. Denkbar sind auch Markerorte mit einem bestimmten Abstand zu einem Zielort usw. Die Tiefenmaße werden insbesondere als normierte Tiefenmaße ermittelt. Insbesondere werden alle Tiefenmaße in einem separaten Tiefenbild gespeichert, das vom 2D-Bild verschieden ist, insbesondere speichertechnisch verschieden ist.
-
Durch das erfindungsgemäße Verfahren wird verhindert, dass im 2D-Bild ein Markerfeld so platziert ist, dass es einen Teil der 3D-Oberfläche verdeckt, der näher an der Sichtfläche liegt als der Markerort. Somit ergibt sich eine sogenannte verdeckungsfreie Platzierung von Markerfeldern unter besonderer Berücksichtigung der zugrundeliegenden Topografie der 3D-Oberfläche. Als Folge ergibt sich so, dass Markerfelder im 2D-Bild entweder nur in Bereichen platziert werden, die nicht vom Abbild der 3D-Fläche eingenommen werden und/oder nur Teile der 3D-Fläche verdecken, welche von der Sichtposition aus hinter der Tiefenebene des Markerortes liegen.
-
In einer bevorzugten Ausführungsform ist das 2D-Bild ein Digitalbild mit Pixeln. Jeder Ort der Sichtfläche, der einem Pixel im 2D-Bild entspricht, wird als einer der Bildorte gewählt. Die Anzahl der Bildorte ist also gleich der Pixelzahl. Somit wird also jedem in Form eines Pixels abgebildeten Abschnitt der 3D-Oberfläche ein Tiefenmaß zugeordnet. Dies ergibt eine vom Rechenaufwand her sinnvolle Anzahl von zu ermittelten Tiefenmaßen.
-
In einer bevorzugten Variante dieser Ausführungsform wird als Tiefenmaß für ein Pixel bzw. einen Bildort (mit einer gewisse, der Pixelfläche entsprechenden Fläche, z.B. Quadrat oder Rechteck) ein Gesamtwert für alle Entfernungen im Projektionskegel des betreffenden (ausgedehnten) Bildortes auf die 3D-Oberfläche ermittelt. Der Gesamtwert ist insbesondere ein Mittelwert, ein Minimum oder ein Maximum aller im Projektionskegel auftretenden Entfernungen bzw. des entsprechenden Entfernungsbereiches. So wird ein algorithmisch sinnvolles Tiefenmaß für jedes Pixel ermittelt.
-
In einer bevorzugten Ausführungsform wird das Projektionsbild der 3D-Oberfläche auf die Sichtfläche, also die im 2D-Bild abzubildende Ansicht der 3D-Oberlfäche alleine, durch einen Rendering-Algorithmus aus der 3D-Oberfläche ermittelt. Insbesondere werden alle Tiefenmaße gleichzeitig mit dem Rendering ermittelt. Hieraus ergibt sich eine Echtzeitfähigkeit des Verfahrens. Die Tiefenmaße werden wie oben erwähnt gegebenenfalls in einem separaten Tiefenbild gespeichert. Ein Rendering-Algorithmus kann besonders schnell und effektiv in bekannter Weise durchgeführt werden, sodass auch dies einer Echtzeitfähigkeit des Verfahrens nicht entgegensteht. Rendering-Algorithmen sind aus der Praxis hinlänglich bekannt und sollen hier nicht weiter erläutert werden.
-
In einer bevorzugten Ausführungsform der Erfindung wird eine Reihenfolge für Markerorte festgelegt. Die Platzierung der Markerfelder erfolgt dann in der Reihenfolge der Markerorte, bis entweder alle Markerfelder platziert sind oder bis kein Platz mehr im 2D-Bild für ein weiteres Markerfeld verbleibt, um es mit den oben genannten Bedingungen zu platzieren. Die Kriterien für die Reihenfolge sind hierbei beliebig und stellen insbesondere die Relevanz des Markerortes in einem bestimmten Kontext dar. Zum Beispiel bei Städten werden diese je nach Einwohnerzahl oder nach Entfernung der Markerorte von einem Zielort aufgereiht. Somit ist im Verfahren sichergestellt, dass zumindest die jeweils wichtigsten Markerorte in Reihenfolge ihrer Wichtigkeit im 2D-Bild dargestellt werden.
-
In einer bevorzugten Ausführungsform werden - insbesondere vor Beginn der Platzierung der Markerfelder - mindestens ein, vorzugsweise alle Bildorte der Markerorte im 2D-Bild gekennzeichnet. Die Markierung bzw. Eintragung erfolgt zum Beispiel durch Färbung und/oder in Form eines im 2D-Bild in sonstiger Weise erkennbaren grafischen Symbols oder ähnlichem. So ist zumindest sichergestellt, dass zumindest die Bildorte von Markerorten im 2D-Bild angezeigt bzw. erkennbar sind, auch wenn für die Platzierung eines entsprechenden Markerfeldes evtl. kein Platz mehr verbleibt. Der Bildort kann auch durch das Ende einer vom zugehörigen Markerfeld kommenden Linie angezeigt werden. Insbesondere werden dabei also im 2D-Bild die Bildorte der Markerorte durch einen Grafikmarker gekennzeichnet. Dieser ist beispielsweise ein Punkt, ein Symbol, Linienende usw.
-
In einer bevorzugten Ausführungsform der Erfindung wird für die Platzierung von mindestens zwei Markerfeldern ein zweites und jedes weitere Markerfeld verdeckungsfrei zu den bereits platzierten Markerfeldern im 2D-Bild angeordnet. Somit ergibt sich eine zusätzliche Bedingung für die Platzierung der Markerfelder, die lediglich nebeneinander bzw. verdeckungsfrei platziert werden dürfen, sodass keines der Markerfelder ein anderes auch nicht teilweise überdeckt. Alternativ könnten beispielsweise im Falle einer Überdeckung Markerfelder mit größerem Tiefenmaß des Bildortes hinter solchen mit geringerem Tiefenmaß zumindest teilweise verschwinden. Wenn auch verdeckte Markerfelder dann nicht vollständig lesbar sein können, ist zumindest eine Tiefeninformation durch die Verdeckung gegeben.
-
In einer bevorzugten Ausführungsform wird als Sichtposition ein Ort einer realen und/oder virtuellen Kamera zur Aufnahme des Projektionsbildes von der 3D-Oberfläche gewählt. So entspricht das 2D-Bild einem realen und/oder virtuellen Kamerabild und ist daher intuitiv besonders aussagekräftig. Eine reale Kamera kann hierbei insbesondere ein Echtzeitbild der beobachteten 3D-Oberfläche erzeugen, um dieses im 2D-Bild zu verwenden. Die virtuelle Kamera kann insbesondere eine verdeckungsfreie Sicht bzw. ideale Sicht (z.B. ohne Wolken oder Nebel oder bei Tageslicht) auf die 3D-Oberfläche erzeugen.
-
In einer bevorzugten Ausführungsform wird als 3D-Oberfläche ein Gelände bzw. ein Teil der Erdoberfläche verwendet. Alternativ oder zusätzlich wird als Sichtposition eine aktuelle oder virtuelle Position eines Flugzeuges bezüglich der 3D-Fläche, insbesondere der Erdoberfläche, verwendet. Alternativ oder zusätzlich wird als Sichtfläche zumindest ein Teil eines Sichtfeldes aus einem Flugzeug, insbesondere Cockpit, gewählt. Das Sichtfeld wird dabei z.B. durch alle möglichen Blickwinkel und Blickrichtungen gegeben, die aus einem Flugzeugcockpit für einen Piloten o.ä. möglich sind.
-
So lassen sich als 2D-Bild insbesondere reale oder virtuelle Blicke aus einem Flugzeug an einer bestimmten Position über der Erdoberfläche als Blick auf die Erdoberfläche darstellen und verdeckungsfrei in Bezug auf die Erdoberfläche mit Markerfeldern versehen.
-
In einer bevorzugten Ausführungsform des Verfahrens wird in das Markerfeld eine alphanummerische Bezeichnung des Markerorts, insbesondere der oben genannte Marker eingefügt. Dies ist beispielsweise der Name einer Stadt eines Flusses oder eines Flughafens oder eine Höhe eines Berges.
-
In einer bevorzugten Ausführungsform des Verfahrens wird eine Größe des Markerfeldes abhängig von dessen Inhalt bestimmt. Die Größe richtet sich beispielsweise nach der Größe des im Markerfeld vorhandenen Textes bzw. der Schriftgröße eines Textes oder eines im Markerfeld platzierten Symboles oder sonstigen grafischen Inhalts.
-
In einer bevorzugten Ausführungsform wird eine Größe des Markerfeldes abhängig vom Tiefenmaß des zugehörigen Markerortes gewählt. Hierbei wird insbesondere das gesamte Markerfeld zusammen mit dem darin enthaltenen Text, Symbolen usw. ausgehend von einer Standardgröße skaliert. Insbesondere werden Markerfelder mit zunehmendem Abstand des Markerortes von der Sichtfläche verkleinert. So wird in der Darstellung des 2D-Bildes ein perspektivischer Eindruck von Markerfeldern erzeugt, indem weiter entfernt liegende Markerfelder auch kleiner dargestellt werden.
-
Insbesondere wird also zunächst ein Text mit Standardschriftgröße als Inhalt des Markerfeldes gewählt und die Größe des Feldes (Rahmen) entsprechend der Textlänge angepasst. Dann wird das Feld insgesamt (mit dem Text) skaliert.
-
In einer bevorzugten Variante dieser Ausführungsform wird für alle Markerfelder eine Skalierung deren Größe lediglich zwischen einer Minimal- und einer Maximaldimension vorgenommen. Die Dimension kann hierbei eine Breite, Höhe, Fläche des Markerfeldes sein, eine kleinste oder größte Schriftgröße für enthaltenen Text, usw. sein. Sämtliche Markerfelder werden also mit Schriftgrößen zwischen einem Minimum und einem Maximum skaliert. So ist sichergestellt, dass keines der Markerfelder eine zu kleine oder zu große Schrift aufweist bzw. Markerfelder einen zu großen Raum einnehmen oder als zu kleine Darstellung nicht mehr ausreichend erkennbar sind.
-
In einer bevorzugten Ausführungsform des Verfahrens wird die Platzierung „so nahe wie möglich“ am Bildort des Markerortes anhand einer Platzierungsstrategie gemäß dem „Particle-based Labeling-Algorithmus“ von Luboschik et al., wie oben erläutert, vorgenommen. Dieser Algorithmus bietet einen besonders vorteilhaften Ausgangspunkt für das erfindungsgemäße Verfahren, da dieser an sich bereits eine zufriedenstellende Platzierung für Markerfelder erzielt, die dann erfindungsgemäß weiter verbessert wird.
-
Die Erfindung beruht auf folgenden Erkenntnissen, Beobachtungen bzw. Überlegungen und weist noch die nachfolgenden Ausführungsformen auf. Die Ausführungsformen werden dabei teils vereinfachend auch „die Erfindung“ genannt. Die Ausführungsformen können hierbei auch Teile oder Kombinationen der oben genannten Ausführungsformen enthalten oder diesen entsprechen und/oder gegebenenfalls auch bisher nicht erwähnte Ausführungsformen einschließen.
-
Die Erfindung beruht auf der Erkenntnis, dass bei einem 2D-Labeling der dreidimensionale Szenenaufbau berücksichtigt werden sollte. Somit können z. B. nahe Berge nicht durch Labels von entfernten Pols verdeckt werden. Zudem wird die Tiefenwahrnehmung der Labels durch eine variable Schriftgröße verbessert und somit die räumliche Einschätzung ihrer Position verbessert.
-
Der Erfindung liegt die Idee zugrunde, die Darstellung von Labeln (Marker / Markerfelder / Markerorte) in einer dreidimensionalen Geländedarstellung (Projektionsbild der 3D-Oberfläche) in Echtzeit und verdeckungsfrei zu verwirklichen.
-
Die Erfindung basiert auf bekannten 2D-Labeling-Techniken, wobei eine Verwirklichung in Echtzeit bei vielen Pols eine Herausforderung der Erfindung ist. Sie basiert auf einer Platzierung in 3D neben dem zu beschriftenden Pol oder auf dem Gelände, jedoch mit angestrebter Lösung der Verdeckungsproblematik.
-
Die Erfindung beruht auf einer Kombination von Gelände-Rendering und partikelbasiertem Labeling mit entfernungsbasierter Skalierung und Integration der Tiefeninformation aus dem Geländebild.
-
Die Erfindung bezieht sich auf das echtzeitfähige, verdeckungsfreie Labeling von „Points of Interests“ (Pol) im 3D-Gelände. Hierbei sind folgende Anforderungen an die Platzierung der Labels gestellt:
- - Sichtbarkeit - fordert eine verdeckungsfreie Anordnung der Labels, d. h. kein Label darf ein anderes überdecken.
- - Lesbarkeit - sichert zu dem die Erkennbarkeit des Labels unabhängig vom Abstand zum Pol.
- - Proximale Platzierung - setzt das Label möglichst nah am Pol.
- - Räumlich korrekte Platzierung - berücksichtigt zudem die zugrunde liegende Geländetopografie.
- - Echtzeit - platziert die Labels verzögerungsfrei während der Navigation durch das Gelände.
-
Die Definition von „Echtzeit“ ist dabei aus Sicht der CG folgendermaßen zu verstehen: Auch das vorliegende Verfahren erfordert eine gewisse Rechenzeit, was zu Verzögerungen führt. Das Besondere an der Echtzeitfähigkeit ist, dass die Rechenzeit nie ein gegebenes Maß, z.B. 16ms, überschreitet und damit garantiert, dass die Verzögerung nicht wahrgenommen wird.
-
Wünschenswert ist ein Labeling-Algorithmus, der gleichzeitig alle fünf gestellten Kriterien für das Labeling im 3D-Gelände erfüllen kann.
-
Die Erfindung beruht daher auf der Idee einer Erweiterung des Particle-based Labeling für ein punkt-basiertes, verdeckungsfreies Labeling im 3D-Gelände, bei dem sich die platzierten Labels nahtlos in die dreidimensionale Szene einfügen. Dabei soll die zugrunde liegende Geländetopografie berücksichtigt werden und die Labels abhängig von ihrer Entfernung zum Betrachter skaliert werden. Hieraus resultieren die folgenden Erweiterungen:
-
Die Einführung von Tiefenpartikeln, um die Geländetopografie während der Platzierung der Labels zu berücksichtigen, und
die Skalierung der Labelgröße bezogen auf den Abstand der Kamera (Sichtfläche oder Sichtposition zur 3D-Oberfläche), um die räumliche Wahrnehmung der Labels zu unterstützen.
-
Das prinzipielle Vorgehen unterteilt sich in drei Schritte: 1) Rendern des Geländes 2) Konfigurierung und 3) Ausführung des Labeling-Algorithmus.
-
Das Gelände wird zunächst mit einem geeigneten Rendering-Algorithmus als 2D-Bild dargestellt. Dabei wird gleichzeitig das entsprechende Tiefenbild abgegriffen und zwischengespeichert. Das Tiefenbild enthält in jedem Bildpunkt die normierte Entfernung eines Geländepunkts (Ort auf der 3D-Oberfläche) zur Kamera (Sichtposition oder Sichtfläche). Anschließend werden die Pols (Markerorte) als Markersymbole (Grafikmarker) z.B. in Form von Punkten, an den entsprechenden Positionen (Bildort des Markerorts) eingetragen. Die Platzierung (und das zugehörige Rendering zur Fertigstellung des 2D-Bildes) der zugehörigen Labels erfolgt dagegen erst im letzten Schritt.
-
Als Eingabe erhält der Labeling-Algorithmus insbesondere folgende Informationen:
- - das zwischengespeicherte Tiefenbild zur Positionierung der Label,
- - die Position und Entfernung der Pols im Ausgabebild zur Verbesserung der Tiefenwahrnehmung,
- - die Priorität der Pols zur Bestimmung der Reihenfolge für die Platzierung der Labels,
- - die Größe der Labels im Ausgabebild zur Berücksichtigung der Perspektive und zur Gewährleistung der Lesbarkeit.
-
Das Tiefenbild sowie die Position und Entfernung der Pols sind aus dem Renderingschritt bekannt. Die Priorität eines Pols erfasst seine Relevanz in einem gegebenen Kontext. Sie lässt sich z. B. für Städte über die Einwohnerzahl und die Entfernung zum aktuellen Blickpunkt (Sichtposition / Sichtfläche) festlegen. Die Labelgröße ist abhängig vom Labeltext, von der gewählten Schriftgröße sowie vom Abstand zum Blickpunkt. Sie muss für jeden Pol individuell berechnet werden. Zunächst wird die Größe des Labels entsprechend Text und Schriftgröße berechnet und danach entsprechend skaliert, um einem perspektivischen Eindruck der Labels im 3D-Gelände zu erzeugen. Die Skalierung erfolgt abhängig von der berechneten Entfernung des zugehörigen Pols. Um dabei in jedem Fall die Lesbarkeit der Schrift zu gewährleisten, werden eine minimale und eine maximale Schriftgröße vorgegeben zwischen der die Schriftgröße skalierbar ist.
-
Die grundlegende Idee zur Berücksichtigung einer räumlich korrekten Platzierung besteht darin, sogenannte Tiefenpartikel einzuführen. Dazu werden die Bildpunkte des Tiefenbilds in Tiefenpartikel überführt. Somit wird der freie Raum mit Partikeln ausgefüllt und hält somit in jedem Bereich Informationen über das vorliegende Gelände bereit.
-
Anschließend werden für jedes Label die gewohnten Platzierungsstrategien abgearbeitet. Jedoch kann ein Label nur dann in einen Bereich gesetzt werden, wenn dieser keine Partikel von einem Label oder keine Tiefenpartikel enthält, die einen geringeren Tiefenwert als das zu platzierende Label besitzen. Wenn die potentielle Labelposition die Bedingung erfüllt, wird der Bereich mit Labelpartikeln ausgefüllt. Dadurch kann gewährleistet werden, dass die Label räumlich korrekt platziert werden und somit ein Label nur über oder vor dem Gelände platziert wird.
-
Der Labeling-Algorithmus ist beendet, wenn alle Label entsprechend ihrer Priorität platziert wurden, bzw. wenn kein freier Platz mehr für die Platzierung von Labeln zur Verfügung steht. Im Ergebnis entsteht ein Bild, bei dem sich durch die Berücksichtigung der Tiefeninformationen und der entfernungsbasierten Skalierung die platzierten Labels nahtlos in das 3D-Gelände einfügen. Somit ergibt sich durch die Anpassung des Particle-based Labelings ein verdeckungsfreies und echtzeitfähiges 3D-Labeling im Gelände das alle genannten Kriterien erfüllt.
-
Gemäß der Erfindung ergibt sich ein verdeckungsfreies 3D-Labeling unter Berücksichtigung von Tiefeninformationen im 3D-Gelände. Die Erfindung beschreibt einen Labeling-Algorithmus für Points of Interest im 3D-Gelände, der eine verdickungsfreie und echtzeitfähige Platzierung von Labels unter besonderer Berücksichtigung der zugrundeliegenden Geländetopografie durchführt. Gemäß der Erfindung ergibt sich ein echtzeitfähiges, verdeckungsfreies Labeling im 3D-Gelände unter Berücksichtigung der nahtlosen Platzierung der Label in der Geländetopografie.
-
Weitere Merkmale, Wirkungen und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung sowie der beigefügten Figuren. Dabei zeigen in einer schematischen Prinzipskizze:
- 1 eine 3D-Oberfläche mit Sichtkegel,
- 2 ein an der Sichtfläche aus 1 erzeugtes 2D-Bild,
- 3 ein Ablaufschema für das erfindungsgemäße Verfahren.
-
1 zeigt als Erläuterung zum erfindungsgemäßen Verfahren eine 3D-Oberfläche 2, hier ein Gelände 4 in Form einer Landschaft bzw. eines Abschnitts der Erdoberfläche mit drei Bergen 6a-c. Auf einer (virtuellen) Sichtfläche 8 soll ein in 2 dargestelltes 2D-Abbild bzw. Projektionsbild 10 der 3D-Oberfläche 2 erzeugt werden. Die Projektion erfolgt anhand eines (virtuellen) Sichtkegels 12, der sich von einer (virtuellen) Sichtposition 14 aus entlang einer (virtuellen) Sichtgeraden 16 zur 3D-Oberfläche 2 hin erweitert. Die Sichtfläche 8 ist hierbei senkrecht zur Sichtgeraden 16 orientiert. Der Sichtkegel 12 ist die Projektion der Sichtfläche 8 zur 3D-Oberfläche 2 hin. Im Projektionsbild 10 wird daher der im Sichtkegel 12 liegende Teil der 3D-Oberfläche 2 abgebildet, welcher in 1 gestrichelt umrandet angedeutet ist.
-
Die Sichtposition 14 ist im Beispiel der Ort einer virtuellen Kamera zur Aufnahme des Projektionsbildes 10 von der 3D-Oberfläche 2. Die Sichtposition 14 ist im Beispiel auch eine aktuelle Position eines nicht dargestellten Flugzeuges, welches sich bezüglich des realen Geländes 4 bewegt, die als 3D-Oberfläche auch virtuell vorliegt. Die Sichtfläche 8 ist als Teil eines Sichtfeldes eines Piloten des Flugzeuges gewählt, welcher aus dem Flugzeugcockpit nach draußen auf das Gelände 4 blickt, zeigt also einen Ausschnitt aller möglichen Ausblicke aus dem Cockpit.
-
Das Projektionsbild 10 soll Teil eines zu erzeugenden 2D-Bildes 18 gemäß 2 sein, das noch weitere Bildinhalte enthält, wie im Folgenden erläutert wird:
-
Der 3D-Oberfläche 2 sind im Beispiel zwei Markerorte 20a,b zugewiesen. Die Markerorte 20a,b kennzeichnen Orte der 3D-Oberfläche 2 von besonderem Interesse (Pol), hier zwei Städte mit Markern SA und SB - auch Bezeichnung der Markerorte 20a,b genannt - im Gelände 4. Die Marker SA und SB enthalten bzw. sind die jeweiligen Städtenamen der Städte an den Markerorten 20a,b. Die Markerorte 20a, b sind im Beispiel Pols im Kontext der Verwendung des 2D-Bildes 18, hier im Beispiel als Navigationsbild für ein über das Gelände 4 fliegendes, nicht dargestelltes Flugzeug.
-
Die Sichtfläche 8 wird in Bildorte 24 aufgeteilt, wobei jeder Bildort 24 einem Pixel 36 des Digitalbildes in Form des 2D-Bildes 18 entspricht. Jedem Bildort 24 der Sichtfläche 8 wird nun ein Tiefenmaß T zugeordnet. Das Tiefenmaß T korreliert mit dem jeweiligen Abstand A zwischen der Sichtfläche 8 und der 3D-Oberfläche 2 entlang einer jeweiligen Geraden 26 bzw. ist mit diesem korreliert. Die Gerade 26 erstreckt sich von der Sichtposition 14 durch den Bildort 24 zur 3D-Oberfläche 2. Im Beispiel ist dies beispielhaft für die Bildorte 24a-c bzw. die Abstände Aa-c und Tiefenmaße Ta-c dargestellt. Im Beispiel werden sämtliche Tiefenmaße T zunächst in einem separaten Tiefenbild 34 (siehe 3) abgelegt bzw. eingetragen bzw. gespeichert, die dort als Kreise symbolisiert sind.
-
Das 2D-Bild 18 ist ein Digitalbild mit Pixeln 36, wobei jedes der Pixel 36 als einer der Bildorte 24 gewählt wird. Da die Projektion eines Pixels 36 bzw. ausgedehnten Bildortes 24 ausgehend von der Sichtposition 14 einen gewissen Bereich der 3D-Oberfläche abdeckt, sind die Abstände A zwischen dem Pixel 36 und der 3D-Oberfläche 2 nicht allesamt gleich. Für die Bestimmung des Tiefenmaßes T wird daher ein Gesamtwert aller im Pixel 36 auftretenden Abstände A ermittelt, hier ein arithmetischer Mittelwert.
-
Das Projektionsbild 10 wird durch einen bekannten Renderingalgorithmus aus der 3D-Oberfläche 2 ermittelt. Mit Hilfe des Renderingalgorithmus werden auch gleichzeitig sämtliche Abstände A gleichzeitig mit ermittelt, weshalb das beschriebene Verfahren echtzeitfähig ist.
-
Die Bildorte 24a, b sind hierbei jeweils die Abbildungs- oder Projektionsorte der Markerorte 20a,b auf der Sichtfläche 8 und damit im 2D-Bild 18. Der Bildort 24c ist ein beispielhafter Abbildungsort eines Punktes des Berges 6b des Geländes 4 in der 3D-Oberfläche 2. Trifft eine entsprechende Gerade 26 durch einen Bildort 24 ausgehend von der Sichtposition 14 nicht auf die 3D-Oberfläche 2, so wird ein Abstand A gewählt, der dem Wert „unendlich“ entspricht.
-
Die Tiefenmaße T sind die auf einen Normwert A0 normierten Abstände A. Der Normwert A0 ist hierbei das Minimum aller für die Bildorte 24 der Sichtfläche 8 ermittelten Abstände A.
-
Für alle Markerorte 20 wird nun im 2D-Bild 18 sukzessive ein Markerfeld 28 erzeugt. Dies geschieht jeweils sukzessive für einen Markerort 20 nach dem anderen. Im Beispiel ist eine Priorität bzw. Reihenfolge für die Markerorte 20 in der Folge 20a,b gewählt. Die Platzierung der Markerfelder 28a, b im 2D-Bild 18 erfolgt in dieser Reihenfolge, vorliegend bis beide Markerfelder platziert sind. Die Reihenfolge wird hier nach Relevanz im vorliegenden Kontext für das 2D-Bild 18 festgelegt. Die Relevanz entscheidet sich nach den Einwohnerzahlen der Städte SA, SB. Da die Einwohnerzahl der Stadt SA höher ist als die der Stadt SB und diese daher wichtiger für die Darstellung im 2D-Bild 18 ist, wird diese in der Reihenfolge vorgezogen.
-
Das zugehörige Markerfeld 28a wird nun so nahe wie möglich, das heißt mit kleinstmöglichem Abstand 30 am Bildort 24a angeordnet. Die prinzipielle Platzierung der Markerfelder 28a, b erfolgt nach dem bekannten oben genannten Particle-based Labeling-Algorithmus. Hierbei ist die zusätzliche Bedingung zu erfüllen, dass alle Bildorte 24, die das Markerfeld 28a einnimmt, jeweils Tiefenmaße T aufweisen müssen, die größer dem Tiefenmaß Ta des Bildortes 24a des Markerortes 20a sind.
-
Für eine angestrebte gestrichelte Positionierung in 2 ist diese Bedingung verletzt, den der Bildort 24c weist ein Tiefenmaß Tc auf, das kleiner dem Tiefenmaß Ta ist. Mit anderen Worten liegt von der Sichtposition 14 aus gesehen, der Berg 6b näher als die Stadt SA. Für das Markerfeld 28a wird daher eine andere, nämlich die ausgezogen dargestellte Position gewählt, die keinen Teil des Berges 6b verdeckt. So weisen sämtliche (in 2 nur durch einige Kreise stellvertretend angedeutet) Bildorte 24, die vom Markerfeld 28a eingenommen werden, jeweilige Tiefenmaße T auf, die größer dem Tiefenmaß Ta sind. Für das Markerfeld 28b wird entsprechend vorgegangen.
-
Für das Markerfeld 28b ist die Verdeckung des Berges 6b unproblematisch, da das Tiefenmaß Tb kleiner ist als sämtliche Tiefenmaße aller vom Markerfeld 28b verdeckten Bildorte 24, vor allem aller Anteile des Berges 6b, aber auch des restlichen Geländes 4.
-
Ein weiteres Kriterium bei der Platzierung des zweiten und aller weiteren der Markerfelder 28 ist, dass diese verdeckungsfrei zu den vorher bereits platzierten Markerfeldern 28 zu platzieren sind. Das Markerfeld 28b ist also auch so zu platzieren, dass es das Markerfeld 28a nicht verdeckt. Hierzu werden bei der Platzierung eines bestimmten Markerfeldes 28 sämtliche bereits von platzierten Markerfeldern 28 eingenommenen Bildorte 24 als belegt markiert und stehen somit für eine Platzierung eines weiteren Markerfeldes 28 nicht mehr zur Verfügung.
-
Alternativ würde das Verfahren abgebrochen, wenn nach Platzierung des Markerfeldes 20a kein Platz mehr im 2D-Bild für das Markerfeld 20b verbleiben würde. Daher wird mit dem Markerort 20a begonnen.
-
Nach Platzierung aller Markerfelder 28, im Beispiel der Markerfelder 28a,b im 2D-Bild 18 werden diese im 2D-Bild 18 mit dem Projektionsbild 10 der 3D-Oberfläche 2 hinterlegt.
-
Da im 2D-Bild 18 das Markerfeld 28b im vorliegenden Fall wegen nicht näher erläuterter sonstiger Platzierungsbedingungen vergleichsweise weit entfernt (größer einem kritischen Abstand) vom Bildort 24b platziert werden musste, wird im 2D-Bild 18 eine Linie 32 vom Markerfeld 28b zum Bildort 24b geführt, um deren Zugehörigkeit zueinander zu symbolisieren.
-
Im 2D-Bild 18 werden außerdem die Bildorte 24a,b der Markerorte 20a,b durch einen Grafikmarker, 38, hier ein Quadrat, gekennzeichnet. Diese Markierung erfolgt auch, wenn das entsprechende Markerfeld 28 nicht mehr platzierbar wäre. So ist zumindest der Markerort 20 eines entsprechenden POIs im 2D-Bild 18 angezeigt, auch wenn dessen Beschreibung in Form des Markerfeldes 28 nicht darstellbar ist.
-
Die Markierung durch Grafikmarker 38 erfolgt insbesondere vor Beginn der Platzierung der Markerfelder 28 und erfolgt für alle Bildorte 24 aller Markerorte 20 im darzustellenden Teil der 3D-Oberfläche 2.
-
In das Markerfeld 28 ist jeweils der Marker SA,SB in Form des Städtenamens eingetragen, hier in Form der alphanumerischen Bezeichnung des Markerortes 24a,b, hier also als Namen der Städte an dem Markerorten 24a,b. Die Größe des jeweiligen Markerfeldes 28 ist hierbei von dessen Inhalt bestimmt. Da der Name der Stadt „SB“ kürzer ist als derjenige der Stadt „SA“, ist der Marker SA länger als der Marker SB. Das an die Größe der Marker SA,SB angepasste Markerfeld 28a ist - bei noch gleicher Skalierung - länger als das Markerfeld 28b. Eine Vergleichsgröße des Markerfeldes 28a zum Markerfeld 28b bei gleicher Skalierung ist gestrichelt in 2 angedeutet. Die Gesamtgröße des Markerfeldes (nach einer Skalierung) ist außerdem abhängig von dessen zugehörigen Tiefenmaß T des Markerorts 20 gewählt. Das Markerfeld 28a ist daher kleiner skaliert als das Markerfeld 28b. Für die Größenskalierung ist ein effektives Minimum und ein effektives Maximum festgelegt, das heißt die Markerfelder 28 werden weder kleiner als das Minimum noch größer als das Maximum skaliert. Im Beispiel zeigt das Markerfeld 28a die kleinstmögliche Skalierung, sodass der Stadtname „SA“ noch ausreichend lesbar ist. Das Markerfeld 28a weist also die kleinstmögliche Länge und Breite und Schriftgröße auf. Das Markerfeld 28b ist maximal skaliert, sodass keines der Markerfelder 28 eine größere Höhe bzw. Schriftgröße für enthaltenen Text aufweisen könnte. Die Breite ist hierbei gemäß der Andeutung für das gleichskalierte Markerfeld 28a auch auf die entsprechende Breite begrenzt.
-
3 zeigt den prinzipiellen Ablauf eines Verfahrens zur Erzeugung des 2D-Bildes 18. Die 3D-Oberfläche 2 bzw. die beschreibende Datenstruktur ist als „Geländedaten“ in einem Datenspeicher 50a abgelegt. Daten der Markerorte 20a,b und Bezeichnungen (Marker SA,SB, POI-Daten) sind im Datenspeicher 50b abgelegt. Zunächst werden die entsprechenden Daten aus den Datenspeichern 50a,b einem Rendering 52 unterworfen. Hieraus werden in einem Datenspeicher 50c als sogenannte Labelgrößen die Größen der Markerfelder 28 bzw. Marker SA,SB ermittelt. Außerdem werden die Bildorte 24 der Markerorte 20 als POI-Positionen und die entsprechenden Abstände A in Form von Entfernungen in einem Datenspeicher 50d abgelegt. Außerdem wird ein Tiefenbild 34 erzeugt, welches an jedem Bildpunkt bzw. Bildort 24 bzw. Pixel 36 entsprechend der Geometrie des 2D-Bildes 18 die entsprechenden Tiefenmaße T enthält. Die entsprechenden Informationen werden im Datenspeicher 50e als sogenannte Tiefenpartikel gespeichert. Außerdem entsteht das Projektionsbild 10, in welches bereits Grafikmarker 38 an den Bildorten 24a,b der Markerorte 20a,b (POI-Positionen) eingefügt sind. Hierbei handelt es sich in der Regel also um ein Farbbild mit POIs. Die genannten Elemente werden in einem Schritt des Labeling 54 zusammengefügt, um das 2D-Bild 18 zu erzeugen. Insbesondere erfolgt hierbei die Auswahl, Festlegung der Reihenfolge der Platzierung, Ermittlung der Abstände A und Skalierungen der Markerfelder 28.
-
Bezugszeichenliste
-
- 2
- 3D-Oberfläche
- 4
- Gelände
- 6a-c
- Berg
- 8
- Sichtfläche
- 10
- Projektionsbild
- 12
- Sichtkegel
- 14
- Sichtposition
- 16
- Sichtgerade
- 18
- 2D-Bild
- 20a,b
- Markerort
- 24a-c
- Bildort
- 26a-c
- Gerade
- 28a,b
- Markerfeld
- 30a,b
- Abstand
- 32
- Linie
- 34
- Tiefenbild
- 36
- Pixel
- 38
- Grafikmarker
- 50a-e
- Datenspeicher
- 52
- Rendering
- 54
- Labeling
- SA,SB
- Marker
- Ta-c
- Tiefenmaß
- Aa-c
- Abstand