SMPTEタイムコードとは、映像(動画像)の同期に用いられるタイムコードの一種で、1970年よりSMPTEによって規格化されたもの。1974年にIECによってIEC 60461として標準化された。1フレームあたり80ビットの二進化十進表現で表わされ、ビットは二相マークプロトコル(差動マンチェスターエンコーディング)によって表現される。80ビットの内訳は、アドレス(時分秒・フレーム番号)が27ビット、同期信号が16ビット、バイナリーグループ(ユーザーズビット)が32ビットとなる[1][2]。
タイムコード信号を機器間で伝送するときは、BNC端子もしくはXLRタイプコネクターを持つケーブルが主に使われ、スピーカーに接続するとおおよそ1.2から2.4kHzの音が聞こえる[注 1]。まれにRS-422端子(EIA-422)も用いられる[3]。
SMPTEタイムコードは、次の80ビットにより構成される[2]。
名称 | ビット数 |
---|---|
フレーム番号(1の位) | 4ビット |
バイナリーグループ1 | 4ビット |
フレーム番号(10の位) | 2ビット |
ドロップフレームフラグ | 1ビット |
未使用ビット(常に0) | 1ビット |
バイナリーグループ2 | 4ビット |
秒(1の位) | 4ビット |
バイナリーグループ3 | 4ビット |
秒(10の位) | 3ビット |
未使用ビット(常に0) | 1ビット |
バイナリーグループ4 | 4ビット |
分(1の位) | 4ビット |
バイナリーグループ5 | 4ビット |
分(10の位) | 3ビット |
未使用ビット(常に0) | 1ビット |
バイナリーグループ6 | 4ビット |
時間(1の位) | 4ビット |
バイナリーグループ7 | 4ビット |
時間(10の位) | 2ビット |
未使用ビット(常に0) | 2ビット |
バイナリーグループ8 | 4ビット |
同期信号 | 16ビット[注 2] |
ここで、ドロップフレームフラグビットが1であると、29.97fpsなどの値をとるNTSCカラー同期の映像で、実時間とのずれ(1時間あたり3.6秒)を補正するため、一部のフレーム番号を飛ばして調整する。飛ばすフレームは、毎時0分・10分・20分・30分・40分・50分を除く、1分毎に最初の2フレーム(00秒00、01フレーム)である[2][注 3]。
また、バイナリーグループの32ビットは、ユーザーが自由に使える領域として確保されており、年月日を挿入したり、番組コードやテープ番号、リール番号を記録したりする[4]。文字情報を記録する際には、0から9の数字とAからFのアルファベットとしたり[3]、ASCII文字4文字を挿入したりすることもある[2]。
同期信号は、12個の連続した1を読み取ることで判別できるようになっている。また、12個の1の次に01が来た場合は順方向に、00が来た場合は逆方向に読み取っている(逆再生)ことがわかるようになっている[2]。
インターレース映像信号(NTSCなど)の時代に作成された信号規格なので、プログレッシブ映像信号では2フレームごとにフレーム番号が歩進する。映像編集などの際は インターレース映像信号のOddとEvenフィールドに相当する部分を、それぞれプログレッシブ映像信号の1フレームに割り当てて運用される。