Ocula 3.0v1

This is a major new release of Ocula. The plug-ins have been rewritten to increase the stability and accuracy as well as the ease of use in setting up and quality checking. This release also introduces four new plug-ins and one new gizmo.

Release Date

November 2011

Requirements

a version of Nuke 6.3 on

Windows XP 64-bit or Windows 7 64-bit

Mac OS X 10.5 “Leopard” or 10.6 "Snow Leopard", 64-bit

Linux RHEL 5.4 64-bit

Foundry FLEXlm Tools (FFT 5.0v1 or later) for floating licenses.

New Features

Ocula 3.0 introduces four new plug-ins:

O_OcclusionDetector

This plug-in outputs an occlusion mask for the left and right view to define where picture building with disparity is incorrect.

The occlusion mask is required by O_ColourMatcher and the new O_FocusMatcher node to identify image regions where local matching will fail. The occlusion layer can be edited to change how these plug-ins operate.

O_FocusMatcher

This is a new plug-in that lets you rebuild one view from the other to match focus. Matching is based on a combination of image rebuilding and deblurring.

You can also use this node to sharpen out-of-focus images.

There is an optional Kernel input to define the shape of the aperture causing the image blur.

O_VectorGenerator

This plug-in calculates consistent left and right motion vectors for retiming. The motion estimation algorithm is based on the new disparity engine in O_DisparityGenerator and delivers vectors that maintain stereo alignment.

O_Retimer

This plug-in lets you speed up or slow down a stereo clip based on the left and right motion vectors calculated by O_VectorGenerator. You can control the new timing of the clip using either the Speed or the Frame control. Both controls are animatable.

StereoReviewGizmo

This gizmo lets you compare left and right views in various ways. For example, you can use it for testing vertical alignment and colour matches or measuring parallax. You can also convert it to a group to copy and edit the internals. The gizmo is undocumented, but there are tool tips for all the controls.

Feature Enhancements

Ocula 3.0 includes key improvements to the quality and accuracy of existing plug-ins:

All Ocula nodes

BUG ID 22303 - Ocula nodes now cache results to disk to prevent recalculations and to reduce memory overhead.

O_Solver

O_Solver has been rewritten to increase the accuracy and the ease of use.

The controls have been simplified.

The node now uses a new, improved feature matching algorithm. This delivers more accurate alignment data to downstream Ocula nodes.

The Feature Matches display option has been renamed to Keyframe Matches. As before, this shows matches at keyframes only.

There’s a new Preview Alignment display option that lets you preview the alignment of feature matches at both keyframes and non-keyframes. This allows you to review how well the interpolated solve works and whether additional keyframes are required. It also makes it simpler to delete bad matches and preview the effect of user matches.

In the Preview Alignment mode, there’s a new Match Offset control that allows you to set the offset (in pixels) applied to the aligned feature matches. You can also interactively control the offset using the < and > keys on the Viewer. Increase the offset to view the matches with large disparities and spot bad matches. Decrease the offset to set the disparity of matches to zero to examine the vertical offset at each feature. Increase and decrease the offset interactively to view which matches do not move horizontally and are bad matches.

There is now an Error Threshold control that lets you select matches with a vertical error greater than the threshold when Display is set to Preview Alignment. This allows you to delete bad matches with large errors at keyframes and recalculate the alignment.

The influence of user matches has been increased and can now be previewed directly in the Preview Alignment display.

The right-click menu in the Viewer has been changed to provide access to the Display options and the Match Offset value. Shortcut keys have also been added.

O_DisparityGenerator

O_DisparityGenerator has been rewritten to deliver cleaner and more accurate disparity vectors. This leads to improved results in picture building operations, such as O_ColourMatcher, O_NewView, and O_InteraxialShifter.

The controls have been simplified.

Disparity vectors now have a user-controlled weighting to match the alignment data from an upstream O_Solver.

BUG ID 21787 & 22331 - Added new Parallax Limits with Negative and Positive controls. Negative sets the maximum negative parallax in pixels. Positive sets the maximum positive parallax. There is also an Enforce Disparity Limits control, which is off by default. The workflow is to review the disparities (you can use O_DisparityViewer histograms). If there are some incorrect disparities that are too large, switch on Enforce Disparity Limits and set the limits in terms of pixels.

BUG ID 22430 - This node now has Fg and Ignore mask inputs. Use the foreground mask to calculate vectors for a specific foreground element and the ignore mask to exclude regions from the vector calculations.

O_ColourMatcher

There’s a new 3D LUT algorithm to calculate local colour updates in occluded regions defined by the new O_OcclusionDetector plug-in.

There is a new Export 3D LUT button. When you use O_ColourMatcher in 3D LUT mode, this allows you to output the colour correction to a .vf file that you can use in Nuke’s Vectorfield node.

In the Local Matching mode, there is a new Occlusion Compensate checkbox that allows you to correct the colour in occluded regions using the valid colour match from unoccluded pixels. You can use the Edge Occlusions, Colour Sigma, and Region Size controls to define how this is done. Occlusion Compensate replaces the Halo Correct option in Ocula 2.

The Pre-blur Disparity control has been removed.

VerticalAligner

If cameras are attached to O_Solver, the camera data is used per frame in the Camera Rotation method in O_VerticalAligner. Previously, it was only taken from keyframes.

O_VerticalAligner has a new Warp Mode menu. Local Alignment can be used to rebuild a per-pixel vertical alignment to remove the vertical disparity calculated by an upstream O_DisparityGenerator.

O_DisparityViewer

BUG ID 21784 - Instead of displaying disparity information in a Viewer overlay, O_DisparityViewer now renders it to the image.

BUG ID 21786 - O_DisparityViewer has a new Display control, which you can set to show Disparity Vectors, Parallax Histogram, or Parallax Violations. Parallax Histogram and Parallax Violations also have associated Histogram and Parallax controls. The limits and ranges are all defined as a percentage of screen width, that is:

horizontal disparity (in pixels) * 100 / format width (in pixels).

Correlate

The option to Correlate with Ocula has been removed. Curves can be correlated from one view to another using Correlate points or Correlate average based on the improved disparity delivered by O_DisparityGenerator.

Bug Fixes

BUG ID 21147 - O_DisparityGenerator didn’t work with cropped images.

BUG ID 21770 - O_Solver: The influence of user matches has been increased.

Known Issues and Workarounds

BUG ID 22755 - O_Solver: Feature selection does not work with multiple Viewers.