OCULA is a set of tools for dealing with everyday problems encountered in stereo post-production. It consists of:
Tools inside OCULA which help you fix day to day live action stereo-3D problems
Core engine tools do the hard maths which everything else spins off
Aid output quality assessment to ensure high quality results
Bi-directional conversion between disparity and depth maps enable simple use with CG material, as well as proving additional data for standard compositing tasks
Tools inside OCULA which help you fix day to day live action stereo-3D problems
O_VerticalAligner warps views vertically so that their corresponding features align, while keeping the horizontal position of each pixel the same. Not only realigning keystoning issues, when cameras used to shoot stereoscopic images converge (point inwards) some features in the resulting two views may be vertically misaligned, O_VerticalAligner can now remove focal length differences and rotations, remove lens or mirror distortions and fix issues with alignment depth. Improved for OCULA 3.0, O_VerticalAligner can now use a per pixel rebuild to assist in removing localised vertical misalignments.
O_ColourMatcher lets you match the colours of one view with those of another. It has been specifically designed to deal with the subtle colour differences that are sometimes present between stereo views.
O_InteraxialShifter lets you change the interocular separation of stereo images; that is, the distance between the two cameras. Using this plug-in, you can generate two new views at specified positions between the original images.
New in OCULA 3.0, O_FocusMatcher aids in matching focus points between cameras, by a combination of rebuilding one view from the other and deblurring the source view.
New in OCULA 3.0, O_Retimer is an optical flow based retiming engine designed for working with stereo material. Based on our Academy Award-winning Furnace algorithms, but reworked to remove vector differences between left and right views causing uncomfortable results, O_Retimer provides a familiar interface and robust stereo results.
Core engine tools do the hard maths which everything else spins off
O_Solver calculates the relationship between cameras on a stereo rig. It controls the key-frameable calibration of camera pairs, to allow artist control of how the toolset reacts to changing camera geometry through a shot. Improved for OCULA 3.0, O_Solver's core algorithm has been reworked for accuracy and ease of use.
O_DisparityGenerator creates disparity fields for stereo images, based on a stereo camera rig calculated by O_Solver. The disparity field maps the location of a pixel in one view to the location of its corresponding pixel in the other view. It includes two sets of disparity vectors: one maps the left view to the right, and the other maps the right view to the left. Improved for OCULA 3.0, 0_DisparityGenerator can now calculate disparity foreground and background, allowing separation of elements in a shot in order to rebuild fixes from one view to another. Additionally, the core disparity algorithms have been reworked for cleaner and more accurate results.
New in OCULA 3.0 O_VectorGenerator is the engine tool behind O_Retimer it calculates a related pair of motion vectors to prevent disparate results between views causing diffuclt viewing.
New in OCULA 3.0, O_OcclusionDetector generates an occlusion mask defining where picture building with disparity is likely to be incorrect. This mask is then used by a number of tools to tweak how they calculate their results in specific areas, and can optionally be manually edited to force fallback algorithms to be used in specific image areas.
Aid output quality assessment to ensure high quality results
O_DisparityViewer allows previewing of disparity maps in an artist friendly fashion, where vectors are drawn as arrow overlays. Improved for OCULA 3.0, O_DisparityViewer can calculate and render histograms of disparity and parallax lengths, allowing screen width violations to be easily previewed.
Using the O_NewView plug-in, you can create a single view from a stereo pair of images. You can create this new view at any position between the original views. The new view replaces both of the existing views.
Bi-directional conversion between disparity and depth maps enable simple use with CG material, as well as proving additional data for standard compositing tasks
Many OCULA plug-ins rely on disparity fields to produce their output. Usually, disparity fields are created using a combination of the O_Solver and O_DisparityGenerator nodes. However, if you have a CG scene with camera information and a z-depth map available, you can also use this O_DepthToDisparity plug-in to generate the disparity field. Provided that the camera information and z-depth map are correct, this is both faster and more accurate than using the O_Solver and O_DisparityGenerator nodes.
O_DisparityToDepth generates z-buffer depth maps per view in a stereo pair. The z-buffer depth data can then be used elsewhere in the NUKE pipeline – for example to perform depth of field effects.