# Time base correction

Time base correction (TBC) is a technique to reduce or eliminate errors caused by mechanical instability present in analog recordings on mechanical media. Without time base correction, a signal from a videotape recorder (VTR) or videocassette recorder (VCR), cannot be mixed with other, more time-stable devices such as character generators and video cameras found in television studios and post-production facilities.
Time base correction counteracts errors by buffering the video signal as it comes off the videotape at an unsteady rate, and releasing it after a delay at a steady rate. A sync generator provides the timing reference for all devices in the system. By adjusting the delay using a waveform monitor, the corrected signal can be made to match the timing of the other devices in the system. If all of the devices in a system are adjusted so their signals meet the video switcher at the same time and at the same rate, the signals can be mixed.
Though external TBCs are often used, most broadcast-quality VCRs have simple time base correctors built in. Some high-end domestic analog video recorders and camcorders also include a TBC circuit, which typically can be switched off if required.

## Background

As far back as 1956, professional reel-to-reel audio tape recorders were mechanically stable enough that pitch distortion could be below an audible level without time base correction. However, the higher sensitivity of video recordings meant that even the best mechanical solutions still resulted in detectable distortion of the video signals and difficulty in synchronizing with other devices. A video signal consists of not only picture information, but also sync and subcarrier signals. Sync allows the image to be framed up square on the monitor and allows the combination and switching of two or more video signals. The subcarrier is involved in reproducing colors accurately.

## Methods

Implicit in the idea of time base correction is that there must be some target time base that the corrector is aiming for. There are two time bases commonly used.
* The first method is to make the frames, fields and lines come out smoothly and uniformly, at the rates specified by the standards using an oscillator for time reference.
* The alternative to this method is to align the frames, fields, and lines with some external signal, a procedure called genlocking. Genlocking allows sources that are not themselves genlock-capable to be used with production switchers and A/B roll editing equipment. Stand-alone broadcast model time base correctors typically will genlock the signal to an external sync reference.
Some TBCs featured drop-out compensation (DOC) that enabled videotape flaws caused by oxide defects to be temporarily concealed. The DOC logic required dedicated cabling between the videotape player and the TBC in which irregularities were detected in portions of the video image. Previously captured and stored lines of video would then be superimposed over the flawed video lines.
A variant of the time base corrector is the frame synchronizer which allows devices that cannot be steered by a sync signal also to be time base corrected or timed into a system. Satellites, microwave transmitters and other broadcast signals as well as consumer VTRs cannot be sent a sync signal. The synchronizer accomplishes this by writing the incoming digital video into a frame buffer memory using the timing of the sync information contained in that video signal. A frame synchronizer stores at least a full frame of video. Simultaneously the digital video is being read back out of the buffer by an independent timing system that is genlocked to the house timing reference. If the buffer over or underfills, the Frame Sync will hold the last good frame of video until another full frame's worth of video is received. Usually, this is undetectable to viewers.

### Software time base correction

A modern fifth and final type of TBC developed in the late 2010s is software-defined. The python based project LD-Decode (and its extended versions VHS-Decode and CVBS-Decode) implement this software time base correction method. The programs take in raw PCM (or FLAC compressed) radio-frequency captures of analogue media signals, directly for baseband signals such as composite video but also applies de-modulation for tape formats before correcting the signal in software, this workflow is called FM RF archival in the common use context of tape media preservation.
The decode programs outputs the corrected signals in .tbc and _chroma.tbc files, called CVBS and S-Video style file sets respectively as said data within can be combined luminance and chrominance, or separated. S-Video style (two files) was implemented for color-under formats such as VHS and U-matic. The format contains a digital, lossless, 4fsc copy of the signal at 16 bits per sample – not unlike the older D-3 digital videotape. A JSON file is included for technical stream data for other tools to read and process the files.
ld-analyse, a tool from the LD-decode project, allows for visual frame by frame analysis, closed captioning & VITC timecode readout using the TBC file.
TBC files can have their chroma decoded to a uncompressed YUV or RGB video stream via ld-chroma-decoder then encoded into a video file stream typically lossless compressed codecs like FFV1 in the MKV container format via tools like FFmpeg or tbc-video-export (a wrapper for the ld-* tools and FFmpeg) ready for use in NLEs, the project built decoder can produce the full 4fsc signal frame or just the active picture area, thus allowing for better visual domain preservation then legacy hardware.
TBC file streams can also be directly played back to analog TV systems via a DAC.
Sampling NTSC: 4fsc NTSC (14,318,181+9⁄11 Hz)
* Data Rate NTSC:
** CVBS 1.7 GB/min 28.33 MB/s (226.5 mbps)
** Y+C 3.4 GB/min 56.66 MB/s (453 mbps)4fsc NTSC (910x525) from a VHS SP tape. (vhs-decode 2024)
Sampling PAL: 4fsc PAL (17,734,475 Hz)
* Data Rate PAL:
** CVBS 2.1 GB/min 35 MB/s (280 mbps)
** Y+C 4.2 GB/min 70 MB/s (560 mbps)4fsc PAL (1135x625) from a SVHS SP tape. (vhs-decode 2024)