Langbahn Team – Weltmeisterschaft

Time base correction: Difference between revisions

Content deleted Content added
review: add links. clarifications.
Harry munday (talk | contribs)
Add visual context to 4fsc sampling for NTSC and PAL, add better breakdown of tbc stages in software.
Line 27: Line 27:


=== Software time base correction ===
=== Software time base correction ===
[[File:Xmas-1989-decode-2.tbc-luma2-frame-18613-vhs-decode-2023.png|thumb|Software TBC Example (Luma Only) - 1989 VHS-SP PAL TapeDecoded with VHS-Decode in 2023]]
[[File:Xmas-1989-decode-2.tbc-luma2-frame-18613-vhs-decode-2023.png|thumb|Software TBC Example (Luma Only) - 1989 VHS-SP PAL tape decoded with VHS-Decode in 2023.|398x398px]]


A modern 5th and final type of TBC being achieved in the late 2010s is software-defined. The [[Python (programming language)|python]] project LD-Decode<ref>{{Citation |last=Page |first=Chad |title=ld-decode |date=2023-03-13 |url=https://github.com/happycube/ld-decode |access-date=2023-03-13}}</ref> (and its extended versions
A modern 5th and final type of TBC being achieved in the late 2010s is software-defined. The [[Python (programming language)|python]] based project LD-Decode<ref>{{Citation |last=Page |first=Chad |title=ld-decode |date=2023-03-13 |url=https://github.com/happycube/ld-decode |access-date=2023-03-13}}</ref> (and its extended versions
VHS-Decode<ref>{{Citation |last=oyvindln |title=VHS-Decode (It does more than VHS now!) |date=2023-03-01 |url=https://github.com/oyvindln/vhs-decode |access-date=2023-03-13}}</ref> and CVBS-Decode<ref>{{Cite web |title=CVBS Composite Decode |url=https://github.com/oyvindln/vhs-decode/wiki/CVBS-Composite-Decode |access-date=2023-03-13 |website=GitHub |language=en}}</ref>) implement this "software time base correction" method. The programs take in radio-frequency captures of analogue media signals, then [[Demodulation|de-modulates]] and corrects the signal in software.
VHS-Decode<ref>{{Citation |last=oyvindln |title=VHS-Decode (It does more than VHS now!) |date=2023-03-01 |url=https://github.com/oyvindln/vhs-decode |access-date=2023-03-13}}</ref> and CVBS-Decode<ref>{{Cite web |title=CVBS Composite Decode |url=https://github.com/oyvindln/vhs-decode/wiki/CVBS-Composite-Decode |access-date=2023-03-13 |website=GitHub |language=en}}</ref>) implement this "software time base correction" method. The programs take in raw [[Pulse-code modulation|PCM]] (or [[FLAC]] compressed) [[Radio frequency|radio-frequency]] captures of analogue media signals, directly for [[baseband]] signals such as [[composite video]] but also applies [[Demodulation|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 TBC programs stores the corrected signals in a ".TBC" file, containing a digital, lossless, {{abbr|4fsc|sampled at a rate of four times the color subcarrier frequency}} copy of the signal at 16 bits per sample<ref>{{Cite web |title=JSON Metadata format |url=https://github.com/happycube/ld-decode/wiki/JSON-Metadata-format |access-date=2023-03-13 |website=GitHub |language=en}}</ref> &ndash; not unlike the older [[D-3 (video)|D-3]] digital videotape. The data within can be combined luminance and chrominance, or separated. ld-analyze, a tool from the LD-decode project, allows frame by frame analysis, [[closed captioning]] & [[Vertical interval timecode|VITC timecode]] readout using the TBC file.<ref>{{Cite web |title=ld analyse |url=https://github.com/happycube/ld-decode/wiki/ld-analyse |access-date=2023-03-13 |website=GitHub |language=en}}</ref> TBC files can have their chroma decoded to a uncompressed YUV{{efn|YUV is technically a misnomer for [[YCbCr]], but the use is customary among codec developers dealing with e.g. YUV4MPEG2.}} or RGB video stream, then encoded into a [[Lossless compression|lossless compressed]] [[FFV1]] [[Matroska|.mkv]] video file for archival via tools like tbc-video-export.
The decode programs outputs the corrected signals in ".tbc" & "_chroma.tbc" files, called [[Composite video|CVBS]] and [[S-Video]] (Y+C) style file sets respectively as said data within can be combined luminance and chrominance, or separated. S-Video style (two files) was implemented for colour-under formats such as [[VHS]] & [[U-matic]]. The format contains a digital, lossless, {{abbr|4fsc|sampled at a rate of four times the color subcarrier frequency}} [https://github.com/oyvindln/vhs-decode/wiki/Signal-Sampling#4fsc]copy of the signal at 16 bits per sample<ref>{{Cite web |title=JSON Metadata format |url=https://github.com/happycube/ld-decode/wiki/JSON-Metadata-format |access-date=2023-03-13 |website=GitHub |language=en}}</ref> &ndash; not unlike the older [[D-3 (video)|D-3]] digital videotape alongside a [[JSON]] file 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]] & [[Vertical interval timecode|VITC timecode]] readout using the TBC file.<ref>{{Cite web |title=ld analyse |url=https://github.com/happycube/ld-decode/wiki/ld-analyse |access-date=2023-03-13 |website=GitHub |language=en}}</ref>
TBC file streams can also be directly played back to analouge TV systems via a [[Digital-to-analog converter|DAC]].


TBC files can have their [[Comb filter|chroma decoded]] to a uncompressed YUV{{efn|YUV is technically a misnomer for [[YCbCr]], but the use is customary among codec developers dealing with e.g. YUV4MPEG2.}} or RGB video stream via ld-chroma-decoder<ref>{{Cite web |title=ld chroma decoder |url=https://github.com/happycube/ld-decode/wiki/ld-chroma-decoder |access-date=2024-12-04 |website=GitHub |language=en}}</ref> then encoded into a video file stream typically [[Lossless compression|lossless compressed]] codecs like [[FFV1]] in the [[Matroska|MKV]] container format via tools like [[FFmpeg]] or tbc-video-export<ref>{{Citation |last=Jitterbug |title=JuniorIsAJitterbug/tbc-video-export |date=2024-10-30 |url=https://github.com/JuniorIsAJitterbug/tbc-video-export |access-date=2024-12-04}}</ref> (a wrapper for the ld-* tools and FFmpeg) ready for use in [[Non-linear editing|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]].
* Sampling Rate: 4fsc PAL (17734475&nbsp;Hz){{cn|date=July 2024}}

* Sampling NTSC: 4fsc NTSC (14318181&nbsp;Hz){{cn|date=July 2024}}
TBC file streams can also be directly played back to analog TV systems via a [[Digital-to-analog converter|DAC]].
* <u>Data Rate PAL</u>:

** CVBS 2.1&nbsp;GB/min 35&nbsp;MB/s (280&nbsp;mbps)
Sampling NTSC: 4fsc NTSC (14318181&nbsp;Hz)<ref name=":0">{{Cite web |title=Signal Sampling |url=https://github.com/oyvindln/vhs-decode/wiki/Signal-Sampling#4fsc |access-date=2024-12-04 |website=GitHub |language=en}}</ref>
** Y+C 4.2&nbsp;GB/min 70&nbsp;MB/s (560&nbsp;mbps)
* <u>Data Rate NTSC</u>:
* <u>Data Rate NTSC</u>:
** CVBS 1.7&nbsp;GB/min 28.33&nbsp;MB/s (226.5&nbsp;mbps)
** CVBS 1.7&nbsp;GB/min 28.33&nbsp;MB/s (226.5&nbsp;mbps)
** Y+C 3.4&nbsp;GB/min 56.66&nbsp;MB/s (453&nbsp;mbps)
** Y+C 3.4&nbsp;GB/min 56.66&nbsp;MB/s (453&nbsp;mbps)[[File:4fsc NTSC 910x525.png|thumb|4fsc NTSC (910x525) from a VHS SP tape. (vhs-decode 2024)]]


Sampling Rate: 4fsc PAL (17734475&nbsp;Hz)<ref name=":0" />
* <u>Data Rate PAL</u>:
** CVBS 2.1&nbsp;GB/min 35&nbsp;MB/s (280&nbsp;mbps)
** Y+C 4.2&nbsp;GB/min 70&nbsp;MB/s (560&nbsp;mbps)[[File:4fsc PAL 1135x625.png|thumb|4fsc PAL (1135x625) from a SVHS SP tape. (vhs-decode 2024)]]


== See also ==
== See also ==

Revision as of 11:41, 4 December 2024

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.[1] 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.[a]

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.[b] 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 to also 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[c] 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.

Types

Physically there are only 4 types: dedicated IC, add-in cards for prosumer/professorial VTR/VCRs, desktop standalone units, and dedicated rack mount units.

In the broadcast world, 1U Rack-mount type time base correctors were common. They are intended to be easily slid out of a rack on rails to be serviced, as these units were meant for 24/7 workloads. They typically contained little to no SMD hardware, only operator serviceable through-hole electronics, making these units quite heavy.

Software time base correction

Software TBC Example (Luma Only) - 1989 VHS-SP PAL tape decoded with VHS-Decode in 2023.

A modern 5th and final type of TBC being achieved in the late 2010s is software-defined. The python based project LD-Decode[3] (and its extended versions VHS-Decode[4] and CVBS-Decode[5]) 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" & "_chroma.tbc" files, called CVBS and S-Video (Y+C) style file sets respectively as said data within can be combined luminance and chrominance, or separated. S-Video style (two files) was implemented for colour-under formats such as VHS & U-matic. The format contains a digital, lossless, 4fsc [1]copy of the signal at 16 bits per sample[6] – not unlike the older D-3 digital videotape alongside a JSON file 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.[7]

TBC files can have their chroma decoded to a uncompressed YUV[d] or RGB video stream via ld-chroma-decoder[8] 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[9] (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 (14318181 Hz)[10]

  • 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 Rate: 4fsc PAL (17734475 Hz)[10]

  • 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)

See also

Notes

  1. ^ In particular, the color information in NTSC is encoded relative to the phase of a high-frequency color sub-carrier, making the displayed colors extremely sensitive to time base errors.
  2. ^ To handle a randomly varying analog signal, a stable pilot tone is recorded along with the signal. Upon playback, the pilot tone is extracted with filters and frequency variations in the pilot tone are used to generate an error signal that drives the time base correction circuits. A notch filter is then used to suppress the pilot tone from the recovered signal.<[2]
  3. ^ Analog video must first be digitized.
  4. ^ YUV is technically a misnomer for YCbCr, but the use is customary among codec developers dealing with e.g. YUV4MPEG2.

References

  1. ^ "How To Buy A TBC & Genlock". October 6, 1992. Retrieved 2021-03-05.
  2. ^ J. Develet (29 January 2003), Fundamental accuracy limitations for pilot-tone time-base correction
  3. ^ Page, Chad (2023-03-13), ld-decode, retrieved 2023-03-13
  4. ^ oyvindln (2023-03-01), VHS-Decode (It does more than VHS now!), retrieved 2023-03-13
  5. ^ "CVBS Composite Decode". GitHub. Retrieved 2023-03-13.
  6. ^ "JSON Metadata format". GitHub. Retrieved 2023-03-13.
  7. ^ "ld analyse". GitHub. Retrieved 2023-03-13.
  8. ^ "ld chroma decoder". GitHub. Retrieved 2024-12-04.
  9. ^ Jitterbug (2024-10-30), JuniorIsAJitterbug/tbc-video-export, retrieved 2024-12-04
  10. ^ a b "Signal Sampling". GitHub. Retrieved 2024-12-04.

Further reading

  • oldvcr.com Sony, Sony BVT-800, Professional Timebase Corrector
  • oldvcr.com FOR.A FA-410, Professional Timebase Corrector