The Unofficial Colour Recovery Wiki

In addition to the main Colour Recovery software application, a number of associated software tools have been developed. Use of those tools can considerably improve the quality of the final colour-recovered programme.

Chroma FFT utility[]

This utility displays a 2-dimensional spectrum of the source material (either a single frame or a composite spectrum of several frames). If Colour Recovery performance is worse than expected, it can be very useful in identifying the reason. The material having this spectrum initially gave very poor results:


It can be seen that the bright spots corresponding to the chrominance are well separated from their correct frequencies (indicated by the intersections of the blue lines). This indicates that the source material was scanned inappropriately - in fact the frame was 'zoomed in' by about 5%. Re-scanning the material with correct settings greatly improved performance.

The spectrum can also be useful in identifying material with little or no chrominance energy at 216 c/aph (for example because of excessive 'spot wobble' in the Film Recorder). Unfortunately this problem is not so easily fixed!

Custom Reference generation utility[]

The main Colour Recovery software application uses three chroma reference files: a U chroma reference, a V chroma reference and a Vertical reference. Put simply, these files provides a reference against which the geometric distortion of the source material is measured, and with which the chrominance in the source material is demodulated.

The greater the difference in geometry between the source programme and the reference files, the more difficulty the Colour Recovery process has in measuring that difference, and the greater the likelihood of the process making a 'mistake' when determining the colour quadrant. For that reason the default reference files (urefdist.bin, vrefdist.bin and wrefdist.bin) are pre-distorted to better match the distortions typical of the Film Recorders used, and thus to improve performance.

However, even better results (often substantially better) can be obtained by pre-distorting the reference files to the particular geometric characteristics of the source material (for example to match the specific Film Recorder used, rather than a 'generic' one); this is the purpose of the Colour Reference generation utility. The way this works is as follows:

  1. One frame is chosen from the source material, selected to be particularly suitable for distortion measurement (ideally one with an area of reasonably-saturated colour covering most of the frame).
  2. Using the default reference files, the geometric distortion is measured using that frame (since it was specially chosen to give good results, it shouldn't matter too much that the default 'pre-distortion' isn't a good match).
  3. The distortion measurements are written to file using the Export facility of the Colour Recovery application.
  4. The Custom Reference utility fits two polynomials (one for horizontal distortion, one for vertical) to the measured distortion values (see snapshot below).
  5. The Custom Reference utility generates new reference files to match the distortion.
  6. The Colour Recovery application is configured (using the Settings dialogue) to select the custom reference files rather than the default files.


The end result is that the 'residual' distortion, which must still be measured by the Colour Recovery software, is now much smaller (corresponding only to film stretch/weave and inadequacies of the polynomial representation). As a result the Colour Recovery performance should be significantly improved.

Undistort and Undistort_prepare utilities[]

Rather than pre-distorting the references to match (approximately) the distortion in the source material, an alternative is to 'undistort' the source material to match undistorted references. The pros and cons are as follows:


  • The chroma components will fall more accurately within the passband of the various filters used in the Colour Recovery process. This will improve performance and avoid effects such as the colour saturation being reduced where the geometric distortion is greatest.
  • Visible effects of the distortion, such as 'stretching and squeezing' as the camera pans (or tilts), are reduced.
  • Edges of the picture, which might otherwise be lost in the overscan of a domestic receiver, are moved nearer to their correct positions.
  • Overlaying colour from an alternative source (e.g. a domestic recording) may require less 'warping' to match the geometry of the Film Recorded source.


  • Undistorting the source material whilst maintaining excellent picture quality is a computationally-intensive task, taking a significant time.
  • The same correction must be applied to an entire programme (or, at least, an entire scene) to avoid sudden and disconcerting changes of geometry. If necessary 'undistortion' can be used in addition to the use of custom references.
  • The 'undistortion' process is likely to 'pull in' the edges of the picture, resulting in a black border.
  • There must be a suitable source frame, with adequate levels of chroma covering most of the area, to allow a sufficiently accurate correction to be determined.

The process involves the following steps:

  1. A suitable source frame (ideally one with an area of reasonably-saturated colour covering most of the frame) is selected, preferably from approximately half-way through the sequence to be undistorted.
  2. Using the default reference files, the geometric distortion is measured using that frame and the measurements are written to file using the Export facility of the Colour Recovery application.
  3. The Undistort_prepare utility is run, which creates a new source frame which has been 'undistorted' in the vertical direction (only).
  4. The geometric distortion for this new frame is measured, and the measurements again written to file.
  5. The Undistort_prepare utility now creates a pair of 'vector field' files (one vertical, one horizontal) containing the information needed to undistort the source material. Optionally these may be pre-corrected so that undistorted references (rather than the usual default references) may eventually be used.
  6. The Undistort utility is run, which creates new source files from the originals.

Quadrant Editor[]

Despite all the measures taken to optimise the performance of the Colour Recovery software application, it will inevitably occasionally make 'mistakes' (some of the reasons for this are described under Limitations of the process). These mistakes will result in the colour quadrant being incorrectly determined; so for example somebody's face may appear blue (+U, −V quadrant) rather than the correct hue (−U, +V quadrant).

The purpose of the Quadrant Editor is to allow such errors to be corrected, manually, as a post-processing operation. The utility displays each frame of the colour-recovered material, and allows regions with an incorrect quadrant to be identified, marked and put right. The software has these main features:

  • The user can draw (using the mouse) an irregular polygon around each region having the wrong quadrant.
  • The polygons can have as many vertices as needed to outline each region with sufficient accuracy.
  • The polygons can be moved, adjusted or have vertices added or deleted as required.
  • Every frame can have multiple regions, which can overlap, each defined by its own polygon.
  • The user can select how the quadrant should be modified within the polygon(s), either by forcing a specific quadrant or by inverting U or V (or both).

Here is a snapshot of the Quadrant Editor in use, where the colour of the 'red' rectangle has been deliberately changed to green (note how the polygon has been drawn around Jimmy's hair) and the quadrant has been corrected in a small region on the right: