Timecode

The allocation of bits within the Longitudinal (or Linear) Time Code (LTC) frame is shown in the following table - Vertical Interval Time Code (VITC) is similarly organised, but has an 8-bit CRC on the end in place of the 16-bit framing code used on LTC.  The bits in the User Groups can be used for any numerical or ASCII data (as defined by the Binary Groups Data Usage flag bits).  Videotape operators used to store the VT spool number there, but such use is now rare.

The "Bi-Phase Mark Correction bit" and "Binary Group Data Usage flags" use a different combination of the spare bits on 25- and 24/30 frame systems!.  Tables at the bottom of this page describe the differences.

There is an excellent dissertation on timecode by Phil Rees on his web page at http://www.philrees.co.uk/articles/timecode.htm.

Time Code Frame (S.M.P.T.E. 12M-1999 and 309M-1999)
LTC
 bit no. 
VITC
 bit no. 
Data assignment Fixed value 
/ weight
0VITC sync bits1
10
02Time Group 1
Frames Units
1's
132's
244's
358's
46User Group 1
Days Units
1's
572's
684's
798's
10VITC sync bits1
110
812Time Group 2
Frames Tens
10's
91320's
1014 Drop-frame Flag (30/60 fps only) 1 = df
1115Colour Frame1 = locked
1216User Group 2
Days Tens
10's
131720's
14180
15190
20VITC sync bits1
210
1622Time Group 3
Seconds Units
1's
17232's
18244's
19258's
2026User Group 3
Months Units
1's
21272's
22284's
23298's
30VITC sync bits1
310
2432Time Group 4
Seconds Tens
10's
253320's
263440's
2735Binary Group data usage flag BGF-0
2836User Group 4
Months Tens
10's
29370
30380
31390
40VITC sync bits1
410
3242Time Group 5
Minutes units
1's
33432's
34444's
35458's
3646User Group 5
Years Units
1's
37472's
38484's
39498's
50VITC sync bits1
510
4052Time Group 6
Minutes tens
10's
415320's
425440's
4355Binary Group data usage flag BGF-2
4456User Group 6
Years Tens
10's
455720's
465840's
475980's
60VITC sync bits1
610
4862Time Group 7
Hours units
1's
49632's
50644's
51658's
5266User Group 7
Timezone
1's
53672's
54684's
55698's
70VITC sync bits1
710
5672Time Group 8
Hours tens
10's
577320's
5874Binary Group data usage flag BGF-1
5975"Bi-Phase Mark Correction" Even Parity 
6076User Group 8
Timezone
16's
617732's
6278Unassigned0
6379MJD flag (0 = YYMMDD, 1 = MJD)0
80VITC sync bits1
810
6482LTC Sync Word / VITC CRC0 / x8
65830 / x7
66841 / x6
67851 / x5
68861 / x4
69871 / x3
70881 / x2
71891 / x1
72-1
73-1
74-1
75-1
76-1
77-1
78-0
79-1
LTC
 bit no. 
VITC
 bit no. 
 Data assignmentFixed value
/ weight

The following table lists the meaning of the timezone given by user-bits 7-1 to 8-2 above, and was copied directly from the S.M.P.T.E. specification 309M-1999.  See that document for for more information.

Time-zone definitions for User Groups 7 & 8 above
OffsetStandard time
(see note 2)
Daylight
saving
 OffsetStandard time
(see note 2)
Daylight
saving
CodeHoursCodeHours
0UTC Greenwich  0AUTC-00:30  
1UTC-01:00 Azores 0BUTC-01:30  
2UTC-02:00 Mid-Atlantic 0CUTC-02:30  Newfoundland 
3UTC-03:00 Buenos Aires Halifax0DUTC-03:30 Newfoundland 
4UTC-04:00 Halifax New York0EUTC-04:30  
5UTC-05:00 New York Chicago0FUTC-05:30  
6UTC-06:00 Chicago Denver 1AUTC-06:30  
7UTC-07:00 Denver Los Angeles1BUTC-07:30  
8UTC-08:00 Los Angeles 1CUTC-08:30  
9UTC-09:00 Alaska 1DUTC-09:30 Marquesa Islands  
10UTC-10:00 Hawaii 1EUTC-10:30  
11UTC-11:00 Midway Island 1FUTC-11:30  
12UTC-12:00 Kwaialein 2AUTC+11:30 Norfolk Island 
13 UTC+13:00   New Zealand 2B UTC+10:30  Lord Howe Is. 
14UTC+12:00 New Zealand 2CUTC+09:30 Darwin 
15UTC+11:00 Solomon Islands  2DUTC+08:30  
16UTC+10:00 Guam 2EUTC+07:30  
17UTC+09:00 Tokyo 2FUTC+06:30 Rangoon 
18UTC+08:00 Beijing 3AUTC+05:30 Bombay 
19UTC+07:00 Bangkok 3BUTC+04:30 Kabul 
20UTC+06:00 Dhaka 3CUTC+03:30 Tehran 
21UTC+05:00 Islamabad 3DUTC+02:30  
22UTC+04:00 Abu Dhabi 3EUTC+01:30  
23UTC+03:00 Moscow 3FUTC+00:30  
24UTC+02:00 Eastern Europe 32UTC+12:45 Chatham Island 
25UTC+01:00 Central Europe 33Undefined Reserved; do not use
26Undefined Reserved; do not use 34Undefined Reserved; do not use
27Undefined Reserved; do not use35Undefined Reserved; do not use
28TP-3 Time precision class 3 36Undefined Reserved; do not use
29TP-2 Time precision class 237Undefined Reserved; do not use
30TP-1 Time precision class 138  User defined time offset
31TP-0 Time precision class 039Undefined Unknown Unknown

The use of the User Groups was originally fairly limited, and original specifications merely defined "Not Specified" or "Eight bit" as shown in the following table for 25 fps systems (bit 58 not having been assigned at all):

Binary Group data usage Bit 27 (20 Bit 43 (21
Character set not specified00
Eight-bit character set01
Unassigned (reserved for use by SMPTE)10
 Unassigned (reserved for use by SMPTE) 11

However, more recent versions of the spec show how much more data can be sent using a multiplexed page/line system; and bit-58 now signals that the time is locked to local time ±0.5 of a second.  (They fail to mention, however, that off-tape timecode may have been recorded with accurate local time, but it is irrelevant now!)  The following table shows the meaning of the various User Group flag combinations:

 BGF2  BGF1  BGF0 Time dataBinary Group data usage
000 Not specified  Character set not specified 
001Not specifiedEight-bit character set
100Not specifiedDate and Time zone
101Not specifiedPage/Line
010Clock timeCharacter set not specified
011UnassignedReserved
110Clock timeDate and Time zone
111Clock timePage/Line

The "Bi-Phase Mark Correction Bit" (i.e. Even-Parity bit!) and Binary Group Data Usage flags are on different bits for 25 and 24/30 fps systems!  Further, in the original specification, bit 58 was undefined in all systems, and what is currently called BGF2 was then BGF1 (Binary Group Data Usage 21)!  Bit-58 has now been defined to show that, if set, the time data is locked to civil time within half a second.  However, to add to the confusion, it has now been labeled as BGF1!  The following table shows which bits the various flags are on for the different frame-rates:

 Flag  25 fps 
bit
 24 & 30 fps 
bit
BGF0 2743
BGF1 5858
BGF2 4359
 Parity 5927

References

The following S.M.P.T.E. documents contain detailed specifications and recommendations:

•  12M-1999Time and Control Code
•  262M-1995Binary Groups of Time and Control Codes - Storage and Transmission
•  309M-1999Transmission of Date and Time Zone Information in Binary Groups of Time and Control Code
•  EG35-1999Time and Control Code Time Address Clock Precision for Television, Audio and Film
•  RP159-1995Vertical Interval Time Code and Longitudinal Time Code Relationship
•  RP164-1996Location of Vertical Interval Time Code
•  RP169-1995Auxiliary Time Address Data in Binary Groups - Dialect Specification of Directory Index Locations
•  RP188-1999Transmission of Time Code and Control Code in the Ancillary Data Space of a Digital Television Stream
•  RP201-1999   Encoding Film and Transfer Information Using Vertical Interval Time Code

The I.E.C.'s specification 60461 is virtually identical to the S.M.P.T.E.'s 12M, but has English and French on alternate pages of a single document.


Links

•  S.M.P.T.E.   Standard 12M-1999 (etc.) may be purchased.
•  I.E.CStandard 60461 (2001) may be purchased.
•  E.B.U.Standards Tech.3097-E (1982), N12-1999, N18-1998, & I29-1995 (now obsoleted by above IEC document).
•  Phil Rees's descriptive website.

This page last updated 25th August 2005 http://www.barney-wol.net/time/timecode.html