3D video storage and transmission
3D video is a sad relic of a bygone era, though I suspect it'll make a comeback in the next decade (once technology makes it more accessible, and audiences start looking for the "next thing" beyond HDR. But 3D is not a new thing at all! It's already done a round, and we have the leftovers of how we managed to retrofit a completely different mode of operation into existing technologies: let's talk about it.
3D video storage
I'll only be discussing HDMI, and we'll limit ourselves to movies, i.e. a FullHD (1,920 horizontal by 1,080 vertical pixels) resolution at 24 frames per second (or "23.98" or 23.976 or "23.97").
Half resolutions
The simple way of fitting two frames into the space of one is to just squash them in next to each other. The two common approaches to this are called "side-by-side" (abbreviated SBS) and "top-and-bottom" (abbreviated TAB or TB). In this case, each "eye" gets half of the total resolution in one dimension, i.e. 960 by 540 pixels for SBS and 1920 by 540 pixels for TAB.
Full resolutions
These are the more interesting options, as they require some special extra support.
Full side-by-side
This is just like SBS above, except that it is two FullHD frames alongside each other for a total resultion of 3840 by 1080.
Multiview Video Coding (MVC)
This is a super-special feature which uses a single 2D frame, alongside another video stream which contains the "delta" (difference) needed to recreate the other frame to form a 3D perspective. This is what 3D Blu-rays use.
Transmission
Most of the formats transmit as-is, such as:
- Side-by-side
- Top-and-bottom
- Full side-by-side
The special cases
MVC can be transformed into a one of the above methods, and then transmitted as such.
However, there are two other cool methods: frame sequential, and frame packing.
Frame sequential
So you need to transmit twice as many frames? Just send them through twice as fast! Send a left-eye frame, then a right-eye frame, etcetera ad infinitum.
Frame packing
This is the "official" HDMI way of doing full-resolution FullHD 3D. Place the two frames above each other, with a 45 pixel blank gap in between them, transmit the whole thing as a 1920 by 2205 frame, at 24 frames per second.