Resolutions and codec for omnidirectional stereo videos
I'm thinking about rendering some videos with raytracing.
But i'm stuck about choosing resolution and video codec.
-----------------------------------------
About resolution
Oculus Rift / HTC Vive have a 2160x1200 panel. 1080x1200 for each eye.
Consider a FOV of 120°, an ODS image need
360°/120°*1080 = 3240 horizontal pixel and
180°/120°*1200 = 1800 vertical pixel
for each eye, to have a best/correct resolution (not enlarged pixels).
ODS format must have a 4:1 aspect ratio for side-by-side, or 1:1 for top-bottom.
The correct resolution (note: the MINIMUM to avoid that the image is enlarged on the display panel)
for a side-by-side is 7200 x 1800; for a top-bottom is 3600 x 3600.
In case of future generation of HMD with:
the minimum resolution for a side-by-side will be 12960 x 3240; for a top-bottom 6480 x 6480.
In case of future generation of HMD with
the minimum resolution for a side-by-side will be 24576 x 6144; for a top-bottom 12288 x 12288.
To be more precise, for calculate the perfect resolution it's necessary to know to exact FOV of the HMD.
Other people that i found about this topic say that:
-----------------------------------------
About Video Codec
So, i rendered (using POV-Ray) an ODS 3600 x 3600 top-bottom test video of ten seconds, at 75 FPS (note: not 90 FPS...), encoded with x265 (ffmpeg).
My test (on a Intel Core i7-6700 CPU @3.40Ghz 8 CPU - GeForce GTX 980 Ti - Windows 10):
-----------------------------------------
Questions
But i'm stuck about choosing resolution and video codec.
-----------------------------------------
About resolution
Oculus Rift / HTC Vive have a 2160x1200 panel. 1080x1200 for each eye.
Consider a FOV of 120°, an ODS image need
360°/120°*1080 = 3240 horizontal pixel and
180°/120°*1200 = 1800 vertical pixel
for each eye, to have a best/correct resolution (not enlarged pixels).
ODS format must have a 4:1 aspect ratio for side-by-side, or 1:1 for top-bottom.
The correct resolution (note: the MINIMUM to avoid that the image is enlarged on the display panel)
for a side-by-side is 7200 x 1800; for a top-bottom is 3600 x 3600.
In case of future generation of HMD with:
- 4K UHDTV / 2180p for both eye (3840 x 2160)
or - 4K DCI for both eye (4096 x 2160)
or - Current Oculus Rift / HTC Vive panel for each eye (2160 x 1200 x eye)
or - 1080p for each eye (1920 x 1080 x eye)
the minimum resolution for a side-by-side will be 12960 x 3240; for a top-bottom 6480 x 6480.
In case of future generation of HMD with
- UHDTV / 2180p for each eye (3840 x 2160 x eye)
or - 4K DCI for each eye (4096 x 2160 x eye)
the minimum resolution for a side-by-side will be 24576 x 6144; for a top-bottom 12288 x 12288.
To be more precise, for calculate the perfect resolution it's necessary to know to exact FOV of the HMD.
Other people that i found about this topic say that:
- DK2 has a ~94°x106° FOV, the correct resolution is 4962 x 4962 in top/bottom.
- If CV1 has the same FOV of DK2, 5502 x 5502 in top/bottom.
- HTC Vive, 5234 x 5234 in top/bottom.
-----------------------------------------
About Video Codec
- H264:
The max resolution for the x264 highest level (5.2) is 4096×2304.
All resolutions above are outside this limit. - HEVC/H265:
The max resolution is 8192 x 4320. It fit only the worst resolution of current generation of HMD.
So, i rendered (using POV-Ray) an ODS 3600 x 3600 top-bottom test video of ten seconds, at 75 FPS (note: not 90 FPS...), encoded with x265 (ffmpeg).
My test (on a Intel Core i7-6700 CPU @3.40Ghz 8 CPU - GeForce GTX 980 Ti - Windows 10):
- The latest VLC crash at play.
- The latest MPC-HC fill the CPU, and can't playback smoothly.
I discover that GTX 960 and above have an H265 hardware accelerated decoder (in DXVA mode), but in MPC-HC it's disabled by default.
I enable it, some less CPU load, but anyway unplayable. - On Rift, Virtual Desktop refuse to open the file.
- On Rift, MaxVR playback the file, but not smoothly.
-----------------------------------------
Questions
- "Oculus Video" that will shipped with CV1 (or SDK 1.0) will have h265 hardware accelerated support?
- Anyone know a Video Player optimized for high resolution ODS?
- Exists a a Video Player that can open 2 video (both h264 hardware accellerated) simultaneous and display on two hemispheres?
