Panorama schließen

Multiresolution Panoramen


am Beispiel des Hafen-Panoramas:
Resolution: 24576 x 12288 ~ 302 Megapixel
Multiresolutions: 24576x12288, 12288x6144, 6144x3072, 4096x2048, 2048x1024
Tilesize/Tiles: 1024x1024 = 24x12, 12x6, 6x3, 4x2, 2x1 = 136 Tiles (~28 MB Jpegs)
krpano XML: hafen.xml

Dieses Panorama hat eine Auflösung von 24576x12288 Pixel (~302 Megapixel). Um ein solch großes Panorama darstellen zu können, würde man alleine für das Panoramabild rund 1.2 Gigabyte freien Arbeitsspeicher benötigen.
Warum? 1 Pixel benötigt 4 byte - ergibt also 24576*12288*4 = 1.207.959.552 byte!!!
Zusätzlich müssten vorher noch ca. 17 MB an Daten herruntergeladen werden. (so viel Speicher benötigt dieses Panoramabild als JPEG komprimiert).

Das wäre natürlich viel zu viel für einen durchschnittlichen Rechner. Um das Panorama aber trotzdem in dieser Auflösung betrachten zu können - gibt es die Möglichkeit das Panoramabild in viele kleine Teile aufzuteilen und immer nur die Teile zu laden, die für die aktuelle Ansicht notwendig sind.
(In diesem Beispiel wurde das Bild in 1024x1024 Pixel große Stücke aufgeteilt)

Damit wäre es jetzt möglich das gesamte Panorama zu betrachen, ohne alles auf einmal laden zu müssen. Es gibt allerdings noch ein Problem - bei weiteren Bildwinkeln - sind sehr viele Teile auf einmal sichtbar, wodurch wieder sehr viele Daten geladen werden müssen und viel Speicher benötigt wird.

Dieses Problem wird dadurch gelöst, indem das Panoramabild in mehreren Auflösungen vorliegt. Je nach Ansicht/Zoomstufe werden dann nur die Teile, der am besten passenden Auflösung, geladen. Dadurch müssen nicht Unmengen an Daten geladen werden und es wird weniger Arbeitsspeicher benötigt.
Wenn sich die Ansicht ändert, werden bereits geladene Teile, die nicht mehr benötigt werden, zur Wiederverwendung aufgehoben. Erst wenn die Speicherbelegung ein eingestelltes Limit (memory.maxmem) erreicht, werden die nicht mehr benötigten Teile freigegeben. Falls die Teile später noch einmal benötigt werden, müssen diese wieder neu geladen werden.

Mit eingebundem Options-Plugin (Button rechts oben) kann der aktuell verwendete Speicher angezeigt werden:

mem imagefile - der verwendete Speicher der JPEG Dateien
mem imagedata - der verwendete Speicher der Bilddaten


Zur Veranschaulichung und besserem Vergleich:

Das Panorama in den einzelnen Auflösungstufen (klicken zum betrachen)

2 Megapixel - Auflösung 2048x1024
8 Megapixel - Auflösung 4096x2048
19 Megapixel - Auflösung 6144x3072
75 Megapixel - Auflösung 12288x6144
302 Megapixel - Auflösung 24576x12288

ACHTUNG: Bei der Auflösung 24576x12288 gibt es bei größeren Bildwinkeln bereits Probleme: Standardmäßig ist das Limit für den Speicher auf 350 MB gesetzt, d.h. es können nicht alle Teile auf einmal geladen werden!



Vergleich der einzelnen Auflösungen anhand eines Ausschnittes:





2 Megapixel - 2048x1024 - 0.5 MB JPEG Bilddaten - 8 Megabyte Arbeitspeicher

8 Megapixel - 4096x2048 - 1.4 MB JPEG Bilddaten - 32 Megabyte Arbeitspeicher

19 Megapixel - 6144x3072 - 2.1 MB JPEG Bilddaten - 72 Megabyte Arbeitspeicher

75 Megapixel - 12288x6144 - 6.1 MB JPEG Bilddaten - 288 Megabyte Arbeitspeicher

302 Megapixel - 24576x12288 - 17.4 MB JPEG Bilddaten - 1.2 Gigabyte Arbeitspeicher