Draft:Time Base Corrected Format
This article, Draft:Time Base Corrected Format, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Preload talk Inform author |
- File:Symbol opinion vote.svg Comment: There doesn't seem to be reliable secondary sourcing here that addresses the format in-depth to warrant general notability. VRXCES (talk) 05:36, 9 September 2025 (UTC)
The .TBC format created by Chad Page, is a free to use and open source developed video signal file formatting standard for uncompressed decoded analog video signals after software time base correction.
This format was originally developed and used for the Domesday86[1] LaserDisc Recovery Project[2] preserving the 1986 BBC LaserDiscs original modulated video/audio/data signals directly off the laser reading the pits of the disc.
| Time Base Corrected (.tbc) | |
|---|---|
| File:256-pix-tbc-ld-analyse.png ld-analyse icon 2023 (Linux/Windows/MacOS) | |
| Filename extension |
.tbc & _chroma.tbc |
| Internet media type | {{#property:P1163}} |
| Developed by | Chad Page* |
| Initial release | 2018 |
| Type of format | Uncompressed Video |
| Container for | 16-bit greyscale (GREY16) |
| Standard | 4fsc NTSC/PAL |
| Open format? | Yes |
| Free format? | Open-Source |
| Website | https://github.com/happycube/ld-decode/wiki/JSON-metadata-format |
Related is the open source hardware DomesDayDuplicator[3] (DdD) a USB 3.0 40msps RF capture device, standerdised by the projects for capturing orignal modulated RF signals off laser-discs but is compatable with analouge tape formats, but not composite video directly.
Software Time Base Corrected File
[edit | edit source]The format is a lossless and headerless, 4fsc sampled digital file format not dissembler to D-2 & D-3 video tape, storing time base corrected composite/s-video (combined or luminance/chrominance separated) analogue video signals in 16-bit unsigned grey scale "GREY16" values allowing signals to be stored and processed on affordable mass storage HDD/SSD drives or archived to optical discs such as M-Disc or Sony ODA and standard LTO data tapes.
These can be inspected inside the open source tool ld-analyse for frame by frame signal analysis on Windows, Linux & MacOS then files can easily be encoded to a video file via FFmpeg typically to a lossless interlaced FFV1 10-bit 4:2:2 file using the .mkv container then de-interlaced via W3FDIF[4] or more modern de-interlacers like Avisynths QTGMC[5] and IVTC for 24p or film content.
Media sources like LaserDisc and Composite (CVBS) are stored in one single TBC file and color-under tape formats such as (S)VHS, BetaMax, Umatic, Umatic-SP, Video8, High8, Video2000, Philips VCR, Philips N1500, Philips N1700 have luminance/chrominance separated into two TBC files allowing for cleaner direct image processing for black and white but especially color images, notably the chroma is QAM modulated as such this is playback compatible with standard S-Video output.
Formats like Betacam & Betacam SP, are still in development stage (FM Demodulation filters) but will be later supported by the system like the EIJ-1, EIJ-2, 1" Type-C formats..
History & Current Day Usage
[edit | edit source]While originally developed for LD-Decode[6] due to being open source, it has subsequently gained wide usage and development expansion by the VHS-Decode[7] (FM Modulated tape decoding, not limited to just VHS) & CVBS-Decode[8] (composite video decoding) projects, under the domesday86 community creating a modern archival ecosystem, consisting of directly digitizing the original modulated or even baseband composite signals off analogue mediums to be preserved and de-modulated later, skipping the immediate and optional processing of dedicated internal and or external hardware entirely removing the need for physical time base correctors commonly required for reliable standard capture.
Use In Lossless Analogue Playback
[edit | edit source]As the format allows for composite/s-video streams to be stored with sync signals (sub-carrer locked or line-locked), the files contents be streamed directly to an Digital to Analogue Converter (DAC) for live real time playback to an CRT or equipment with analouge inputs currently this is achieved with low cost USB 2.0/3.0 VGA adaptors that use the Frisco Logic 2000 (FL2K) chipset and a modified driver for Windows & Linux publically available on GitHub[9].
Format Description
[edit | edit source]General Information
[edit | edit source]- Format Name: ''TBC'' Time Base Corrected
- Year introduced: 2018
- Developer: Chad Page (Primary Developer)
- Format Type: 4fsc Composite or Y/C
Primary Data
[edit | edit source]- TV System: PAL/PAL-M/NTSC/NTSC-J/SECAM/MESECAM
- Data Format: 16-bit unsigned grey scale
- Image Area: Full VBI/Active/Sync
- Format type: digital composite & digital s-video
- Resolution PAL: 1135x625
- Resolution NTSC: 910x525
- Sampling Rate: 4fsc PAL (17727262 Hz)
- Sampling NTSC: 4fsc NTSC (14118181 Hz)
- Data Rate PAL:
- CVBS 2.1GB/min 35MB/s (280mbps)
- Y+C 4.2GB/min 70MB/s (560mbps)
- Data Rate NTSC:
- CVBS 3.4GB/min 56.66MB/s (453mbps)
- Y+C 1.7GB/min 28.33MB/s (226.5mbps)
Metadata[10]
[edit | edit source]- Format: .JSON (file is metadata for the single or pair of TBC files)
- Information Type: Frame Descriptor Table
- Information Content: System NTSC/PAL, Frame Count, Signal Dropouts, Black Signal To Noise Ratio, White Signal To Noise Ratio, Closed Captioning, VITS Signals, VITC Timecode.
Audio
[edit | edit source]- Codec: PCM Uncompressed & FLAC Lossless Compressed
- File Extension: .WAV or .FLAC
- Bit depth: 24-bit Integer or 32-bit Float
- Sample Rate: 48khz ~ 192khz
File System Layout
[edit | edit source]Direct CVBS
[edit | edit source]- filename.tbc - CVBS Image Data
- filename.tbc.json - Frame Descriptor Table
- filename.wav - External Audio
LaserDisc
[edit | edit source]- filename.tbc - CVBS Image Data
- filename.efm - Digital audio/data track
- filename.pcm - Uncompressed 44.1Khz 16-bit stereo analogue sound track
- filename.log - Date Indexed Action & Decoding Output Log
Tape Media
[edit | edit source]- filename.tbc - Luminance Image Data
- filename_chroma.tbc - Chrominance Image Data
- filename.tbc.json - Frame Descriptor Table
- filename.log - Date Indexed Action & Decoding Output Log
- filename.wav - Linear Audio (Mono/Stereo or LTC timecode)
- filename.flac - HiFi Decoded Stereo
TBC File Processing Suite
[edit | edit source]Linux & Windows supported, ld-tools is a set of tools to handle and process TBC files.
- ld-process-vbi - Reads VBI Data such as time codes, closed captioning, CGMS-A saving its traslated value into the .JSON metadata file.
- ld-process-vits - Reads VITC test signals and saves updated Black & White SNR values into the .JSON metadata file.
- ld-process-efm - LaserDisc Only, processes digital audio data.
- ld-export-metadata - Exports .JSON metadata to stardard formats for external use.
- ld-chroma-decoder - Decodes the QAM modualted chroma signal for muxing to normal colour video .
- ld-chroma-encoder - Encoder that takes raw video and encodes it to the TBC format in CVBS or S-Video.
- ld-disc-stacker - Image frame stacking for the .TBC files.
- ld-dropout-correct does dropout correction on a single TBC file or stacks data from multiple files to composite a cleaner file.
Tools Exclusive to use with the DomesDayDuplicator:
- ld-lds-converter - Converts 10-Bit packed captures to 16-bit signed used to unpack to file or in realtime for ld-compress
- ld-ldf-cut - allows for cutting of RF data files
- ld-compress - Compresses 10-bit/16-bit FM RF data into a FLAC file saving 30~60% space.
Related Tools:
- tbc-video-export - (Linux/Windows/MacOS) Exports video files from single or tbc file pairs, and runs ld-dropout-correct/ld-process-vbi and ld-chroma-encoder with FFmpeg to make a final video file. (.py & .exe tool)
- gen_chroma_vid.sh - (Linux/MacOS) Exports a FFV1 4:2:2 10-bit video file, first script made for duel tbc file export. (.sh script)
LD-Analyse (TBC Analysis & Adjustment Tool)
[edit | edit source]-
Y+C (Luma + Chroma) Chroma, VHS-C SP
-
Y (Luma) Source Mode, VHS-C SP
-
Y (Chroma) Source, VHS-C SP
-
C (Chroma) Source Mode, VHS-C SP
-
LD-Analyse Vector Scope
-
LD-Analyse Chroma Decoder Control PAL
-
LD-Analyse Chroma Decoder Control NTSC
LD-Analyse the primary application for viewing the TBC files directly allows for frame by frame inspection of the whole active image area and vertical blanking area, simmer to a H/V shift capable broadcast CRT's (Sony PVM/BVM etc) the whole signal area is available, and aspect ratios such as 1:1 SAR, DAR 4:3 & 16:9 can be defined, with dropouts being visually displayed with an overlay using red/blue colours on the effected lines of analogue video.
As shown with the set of images above and to the right side there is visual information and its relating graphing data of white and black signal to noise ratio and dropouts can be also viewed, there is also a vector-scope and scan-line oscilloscope Chroma colour decoding and video levels data can be changed on the fly inside ld-analyse to then be adjusted on the single command encoding to a final video file.
LD-Analyse ability's
[edit | edit source]- Vector-Scope
- Scan-Line Oscilloscope
- Visual Dropout Display
- FTT Visulisation Overlay
- Black & White Video Level Adjustment
- PNG Image Export
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External Links
[edit | edit source]Source (GitHub) References
[edit | edit source]- CVBS-Decode (Composite Decoding) - 2022
- VHS-Decode (Tape Decoding) Wiki - 2022
- LD-Decode (LaserDisk Decoding) Wiki - 2022
- TBC-Analogue (FL2K) - 2022
Technical References
[edit | edit source]- Domesday86 - 2022
- JSON Metadata Format ld-decode-wiki - 2022