Time Code is a method of accurately identifying each frame in a video sequence. It is an international standard jointly developed by the Society of Motion Picture and Television Engineers (SMPTE) and the European Broadcasting Union (EBU). VTR transports and associated equipment use SMPTE/EBU timecode values for Frame Accurate cueing.
SMPTE/EBU Time Code values are represented in four (8-bit) bytes, where each byte contains two BCD encoded digits, the tens digit and the unit digit. The bytes represent values for Hours, Minutes, Seconds and Frames accordingly.
The notion of dropped frames is a second order effect, deriving from the modifications to NTSC that enable color broadcasting. NTSC colour signals have an actual frequency of close to 29.97FPS (frames-per-second).
One of the side effects of this change was that frame rate clocks would slowly get out of sync with wall clocks. This was reconciled by dropping some of the timecode labels.
24FPS (derived from Film) and 25FPS systems (derived from PAL) do not have this concern.
In one hour, a 30FPS system produces 108 frames more than one running at 29.97FPS. To reconcile this difference, two specific time code frame values are dropped each minute (2x60=120), except every 10th minute (2x60-2x6=108). The time code values dropped are specified as the first two frames of a minute.
Thus, the time code label following 01:04:59:29 would be
01:05:00:02, time code labels 01:05:00:00 and
01:05:00:01 don't exist.
SMPTE/EBU did not define a standard display representation for displaying
timecode values. The eight BCD values (contained within four bytes) are
typically represented by eight characters, two each for hours (HH),
minutes (MM), seconds (SS), and frames (FF).
These values are typically delimited by punctuation, today a number of
representations are in common usage:
HH:MM:SS:FF and dropframe values as
HH:MM:SS.FF, the dropped dot is a clever mnemonic.
But the format can now could be confused with the decimal fractions of seconds in an
ISO-8601 time of day profile.HH:MM:SS:FF and dropframe values as
HH:MM:SS;FFHH:MM:SS:FF
string is accompanied by a character N(NDF), D(DF), P(PAL), or F(film)Timecode is used in two different domains. In production, (editing) timecode is a means of identifying video frames, but in (master control) presentation, timecode is used to synchronize activities along a timeline. Timecode is a useful, (good enough) but not perfect bridge between the production and presentation aspects of television. Where this is most noticeable is in timecode math:
01:02:03:05 - 01:02:03:04 = 2 frames
01:02:03:05 - 01:02:03:04 = 1 frame
Until recently, as production and presentation were essentially separate, so this difference was not significant. But as new technologies start to move timecode data across these domain, it is more important to acknowledge and accommodate the differences.
SMPTE Drop-Frame Timecode values were only intended as a handle to
identify specific video frames. As such the only valid values are
in the range 00:00:00:00 to 23:59:59:29.
However, Drop-Frame Timecode notation is also a convieniant way to
express duration. For example, a 900 frame commercial spot is commonly
described as having a duration of 00:00:30:00. This pattern
of use infers values beyond those described by SMPTE. For example, a
four-day telethon could be described as having a duration of
96:00:00:00.
For these long events, sometimes an extra column for days is used,
so the string becomes DD:HH:MM:SS:FF.
Drop-Frame Timecode notation is also commonly used when compare durations. In this usage pattern, the notation is extended to support a concept of sign. For Example a negative value can represent that a timeslot is insufficiently filled (time-under) by programming, while a positive value represents the opposite (time-over) condition.
In these ways, Drop-Frame Timecode notation is used in ways not encompassed by the original SMPTE definitions.