180° VR-Videos aus 2D Material erstellen?

Xes

Admiral
Registriert
Nov. 2013
Beiträge
7.496
Hey zusammen,

mir fehlt gerade noch ein bisschen das Verständnis wie das mit den Videos in VR genau funktioniert bzw. wie man diese am besten erstellt.
Für 360° brauch man ja spezielle Kameras um alle Seiten filmen zu können aber wie sieht das mit den 180° Videos aus?
Brauche ich dafür auch zwangsläufig eine spezielle Kamera oder kann man das auch per Software aus normalen Videos (vom Handy und der normalen Kamera) erstellen?
Wenn man sich 180° Videos ohne VR-Brille anschaut bestehen diese ja aus zwei Videos nebeneinander die jeweils eine Art Fisheye-Effekt haben um in VR nicht verzerrt dargestellt zu werden.
Gibt es allgemeingültige Parameter wie diese Verzerrung genau sein muss? (Habe eine Vegas Pro Lizenz aus dem Humblebunde damit kann man dahingehend ja einiges machen.)
Oder geht das schlicht nicht sauber ohne diese speziell darauf ausgelegen Dualkameras?

Danke schonmal im vorraus. :)
 
Hi Xes,

das ist ein klares "Kommt darauf an". ;) Aus normalen 2D-Daten wirst du ohne KI-Extrapolation keine vollen 180° bekommen können, da normale Kameraobjektive keine 180° aufnehmen. Dafür brauchst du dann eben Fisheye-Objektive, die man für Systemkameras und DSLRs kaufen kann.

Zum grundlegenden Verständnis:
Es gibt nicht "das" 180°-Video-Format, sondern ganz viele Verschiedene.
Gemeinsam haben sie alle, dass sie (annähernd) 180° an Sichtwinkel in ihren Bilddaten abbilden.
Allerdings gibt es viele verschiedene Ansätze, wie man eine Halbkugel (dein 180° mal 180° Sichtfeld) auf eine rechteckige Fläche (das Video) abbildet.
Zum Beispiel:

1) Equirectangular: Jeder Schritt um einen Pixel entspricht der gleichen Winkelgröße auf deiner Halbkugel. Diese Projektion hat den Nachteil, dass der Nord- und Südpol jeweils von einer ganzen Pixelreihe abgedeckt werden, obwohl sie eigtl. nur ein Punkt sind.

2) "Fisheye-Projektion": (hat wsl. einen speziellen Namen, den ich nicht kenne): Typische Fischaugenobjektive projizieren alles in einen Kreis, bei dem der Abstand vom Mittelpunkt linear mit dem Winkel vom "Zenith" zusammenhängt.

3) Eine andere Möglichkeit hatte Oculus zumindest vor ein paar Jahren als Bildformat: 6 Quadrate, die je 90° mal 90° (eine Seite eines Würfels) abdecken und damit eine 360°-Vollkugel abbilden. Das hat den Vorteil, dass man mit der Standard perspektivischen Projektion, wie sie Grafikkarten hardware-beschleunigt unterstützen, rendern kann und nicht sinus und cosinus für die Abbildungsberechnung braucht. Außerdem bildest du relativ gleichförmig von Winkeln auf Pixel ab und hast nicht irgendwo besondars krasse Singularitäten mit viel zu vielen oder viel zu wenig Pixeln pro Raumwinkel.

Das sind jetzt nur drei Beispiele, die mir spontan einfallen.

Nun zu den zwei Videos: Das ist Stereoskopie, also eine Halb-/Vollkugel pro Auge und damit erstmal unabhängig von der Projektion auf ein Rechteck. Aus einem 2D-Video zwei verschiedene Ansichten für die beiden Augen zu erzeugen ist auch eine Kunst für sich. (Siehe nachträglich erzeugte 3D-Kinofilme). Evtl. kannst du einfach was mit dem Pulfrich-Effekt (Zeitversatz zwischen links und rechts) erzeugen, habe davon aber noch nie was im Zusammenhang mit VR gelesen und es wsl. eine sehr auf den Magen schlagende Idee, das mit VR zu kombinieren.

Zurück zu deiner Frage: Wenn du weißt, wie die Projektionsfunktion deiner 2D-Aufnahme Kamera aussieht, kannst du eine Abbildungsfunktion schreiben, die auf equirectangular, fisheye oder was auch immer übersetzt. Am Rand sind dann schwarze Balken, weil halt nicht ganz 180° aufgenommen wurden. Implmentieren könntest du das wsl. als custom shader. KA, ob sony vegas so was kann. Kleine Warnung: Das ist mathematisch nicht ganz simpel, wenn du den entsprechenden Background hast aber machbar.

Ich hoffe das war verständlich und beantwortet deine Frage. :)
Vielleicht hat das irgendjemand auch schon gemacht, ich habe so was mal für reshade und eyefinity geschrieben, es sah danach zumindest besser als vorher aus. :p
 
  • Gefällt mir
Reaktionen: Xes und Snudl
@ALU33 hat mir schon das meiste vorweggenommen.

180° und 360° Bilder und Videos gibt es mit einer Perspektive oder 2 nebeneinader, also stereoskopisch. Mit letzterem erreicht man die Tiefenwahrnehmung für VR, man darf den Kopf aber nicht zu sehr drehen und neigen, sonst stimmen die Perspektiven nicht mehr mit der Augenposition überein. Für die Projektion gibt es auch 2 grundsätzliche Möglichkeiten - Fischauge und Rektangular (Equirectangular in Englisch). Fischauge selbst hat verschiedene Varianten. Rektangular ist die Projektion bei Panoramas, es wird oft bevorzugt weil es die Bildfläche voll ausfüllt und bei 360° auch ohne Korrektur nahtlos aneinander gereiht werden kann. Es hängt dann halt von der jeweiligen Plattform ab was unterstützt wird. Youtube unterstützt soweit mir bekannt all diese Kombinationen und erhält die Informationen aus den Metadaten des Videos - Die Gear VR Gallerie App macht das anscheinend über eine Konvention im Dateinamen selbst.

Man benötigt nicht zwangsläufig eine Kamera mit Fischaugenobjektiv, oder sogar 2 gleichzeitig für Stereo, aber anderenfalls muss man sich die Aufnahmen im Nachhinein zusammenstückeln. Für Fotos gibt es eine Reihe Panorama Stitcher Funktionen, für Videos ist die Sache schwieriger. Soweit ich sehe hat Vegas zumindest einen gewissen Umfang an Panorama Stitching, was genau man damit anfangen kann musst du selber herausfinden. Mein erster Schritt wäre mich in Natron einzuarbeiten, das ist Open Source und unterstützt Shadertoy, G'MIC und andere Plugins (damit lässt sich praktisch jeder Filter und Shader erstellen), aber das ist halt möglicherweise weit aufwändiger als man gern hätte.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Xes
Hui das klingt wirklich komplex. Werde mich mal weiter einlesen.
Vielen Dank für die umfangreichen Antworten. :)
 
Zurück
Oben