OCULA | Features

OCULA is a set of tools for dealing with everyday problems encountered in stereo post-production. It consists of:

Problem Solvers

Tools inside OCULA which help you fix day to day live action stereo-3D problems

Engine Tools

Core engine tools do the hard maths which everything else spins off

Troubleshooting Tools

Aid output quality assessment to ensure high quality results

Depth Tools

Bi-directional conversion between disparity and depth maps enable simple use with CG material, as well as proving additional data for standard compositing tasks


Problem Solvers

Tools inside OCULA which help you fix day to day live action stereo-3D problems

O_VerticalAligner

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

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.

Before (left) and After (right): Colour matching and focus matching.
Note insert close-up on control panel (below).

O_InteraxialShifter

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.

O_FocusMatcher

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.

Before (left) and After (right): Colour matching and focus matching.
Note insert close-up on control panel (below).

O_Retimer

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.

Left and right stereo pair retiming.


Engine Tools

Core engine tools do the hard maths which everything else spins off

O_Solver

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

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.

Source & disparity vectors split into OCULA 2.2 (left) and OCULA 3.0 (right).
Note the cleaner, smoother vectors from OCULA 3.0.

Source & disparity vectors split into OCULA 2.2 (left) and OCULA 3.0 (right).
Note the cleaner, smoother vectors from OCULA 3.0.

O_VectorGenerator

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.

O_OcclusionDetector

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.


Troubleshooting Tools

Aid output quality assessment to ensure high quality results

O_DisparityViewer

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.

O_NewView

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.


Depth Tools

Bi-directional conversion between disparity and depth maps enable simple use with CG material, as well as proving additional data for standard compositing tasks

O_DepthToDisparity

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

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.