タイムコードとDF 猫でもわかるアラカルト

動画[MOVIE]

一般にはフレームレート(枚数/1秒)と呼びます。
動画撮影する時に、カメラ側で1秒間に何枚の画を撮影するかを決めます。
動画業界では、映像に対して番地を決めておいて、その番地で一つの動画の位置を表す事にしています。

それをTC(タイムコントロール)値と呼びます。
(ゲンロックの話しはここではしません。猫にはわからないので(^^;))

TC値は、時:分:秒:フレーム と四つのパラメータで構成されています。
通常の時刻の概念にフレームが追加されています。
フレームはTCの規格によって、幾つか選択できるのですが、29.97Fpsでは 00からは始まり、29で終了して桁上がりで秒数が1秒上がります。

例) 00時:00分:00秒:00 から始まって
00秒:00 / 00秒:01 / 00秒:02 ~ / 00秒:29 / 01秒:00 /  01秒:01
と言う具合になります。
これは時間の形式ではありますが、実際には時刻形式に似せた番地 という事で理解して下さい。よって、厳密には時刻に同期はしていません。

因みに時刻であれば、秒の下の単位は、ms単位で1000ms=1秒となるので、全然違いますよね。
ここで嫌らしいのは、話しの都合上、TCが扱うフレームとミラーレスカメラ等の動画の収録時パラメータのフレームレート(収録フレームレート)とは別物と思って下さい。
ここでは理解の為、番地を表すTCと、画質を表す収録フレームレートは別物と思って下さい。
但しその収録フレームレートもTC値も発生起源は同じですが…
(なお収録フレームレートは画質には直接影響しませんが、ここでは表現方法を含めて画質と呼んでいます。)

 

SMPTE(Society of Motion picture and Televison Engineers/米国映画テレビ技術者協会)という規格で決められている標準的なTCフレームは、日本・アメリカでは、29.97Fpsで運用されています。(ヨーロッパ圏では別な規格が使われています)

29.97Fpsというは、29.97番地/1秒間 という番地のあて方を指し示しています。
1秒間に、29.97枚の画像番地を割り当てます。
少数点以下が定義されているので、非常に理解がムズイですよね~。
少数点の扱いをいかに実装するかを以下に説明致します。
基本的に少数のままで扱うと端数があるじゃないでか、その端数の処理だけなんですが…

A.表記を変えれば1フレームの時間の長さ

1フレームの時間の長さ = 1/29.97秒 = 1.001/30秒 = 約0.0333 = 33.3ms

話しは脱線しますが、現状のミラーレスの最速連写速度は 20枚/秒 ですので、
1枚辺りの写真撮影間隔 = 1/20秒= 0.05秒 = 50ms となります。

29.97Fps はTCフレームの単位とした場合、収録フレームレート29.97Fpsに対して、ピッタリ一致して問題ないのですが、59.94Fps(=29.97Fps×2)収録フレームレート時には、収録フレーム2枚に一つの同じTC値が割り当てられる事になってしまいますが… これはどうなのよ? と言う疑問がありますが、これは今の所は謎という事にしておきます。また、25Fpsとかはヨーロッパで使われている規格ですが、これらは、TC値を発生させるメカニズムの方にそういう設定ができるようになっています。
因みに一般的には、59.94FpsなんてTC値発生機はないと思うのですけど…

DF(ドロップフレーム)方式の実例

A.の実際の考え方は、
30フレームあたり1.001秒 つまり、0.001秒だけ誤差というか、実時間と合わなくなってきます。
1時間=3600秒 の収録をTC値を元に作成したとしたら、
TC値上は 3603.6秒 分の番地が必要となつてきます。
1時間枠を想定して収録番組を放映して、TC値通りに、3600番地=3600秒相当で切ると、最後の3.6秒が1時間枠に入りきらないという事になります。

という事で、つじつまを合わせるような基準が必要となってきます。

例えば、1時間経過する時に、
実時間 59分:59秒:29F  TC値59分:00秒:29F
実時間 60分:00秒:00F  TC値60分:00秒:02F 2フレーム分飛ばしてカウント
実時間 60分:00秒:01F  TC値60分:00秒:03F

というように定期的にフレーム数をカウントしない事にしてつじつま合わせをしています。これは概念図なので、実際上は、一気に2フレームもカウントしないとすると、不都合が生じる恐れも高いので、もう少しうまくやっています。
分の桁が00分になる時刻に、フレームカウントの2フレーム分(00,01)をカウントしない=フレームをドロップさせて、本来は、
00分:59秒:29F 01分:00秒:00Fとなる所を 01分:00秒:02F にしてしまいます。
基本的には、毎分これをやるのですが、これだとフレームを省き過ぎになるので、もう少し調整して、00分 10分 20分 30分 40分 50分 になる時には、省かないようにします。
00分:59秒:29F — 01分:00秒:02F ~ 09分:59秒:29F – 10分:00秒:00F
という具合に進んで行きます。
00分:59秒:29F の次は 00F  01F はありませんが、
09分:59秒:29F 00F 01F は存在する事になります。

よってTCカウンタを見れる場合には、
00分:59秒:29Fの次のTC値を見た場合
01分:00秒:00F であれば NDF(ノンドロップ)方式
01分:00秒:02F であれば  DF(ドロップ)方式
という事がわかる事になります。

とりあえず深く考えないで、DFの場合はフレームカウンタ値を時々間引いていると考えておけば良いでしょう。

さてさて…

基本的には、上記考え方なのですが、収録フレームレートが、TCフレームレート29.97Fpsの倍である、59.94Fpsの場合は、基本的には、TCフレームレートは29.97Fpsが用いられているようです。少し精度は悪くなりますけど…

但し、最近は、120Fpsの動画が作成されてきており、精度の面など不都合も発生し、新しい規格が必要となってきているようです。

一方、フレームという言葉、動画編集ソフトでも利用されて、フレーム単位の編集を行う場合がありますよね。

Davinici等の動画編集ソフトでも1フレーム単位に編集カーソルを動かす事が可能です。
収録フレームレートがTCフレームレートと同一である 29.97Fpsであれば、1フレームはTC値と同一単位となり、動画の位置を完全にTC値で一つに決める事ができます。

しかし、TCフレームレート29.97Fpsの倍である収録フレームレートが59.94Fpsの場合には、編集ソフト上では、画像の2フレーム分に一つのTC値が割り当てられる事になります。なっているんじゃないかと思っています。(ここは推定です)

画質フレーム
M01  /  M02 /  M03 /  M04 /  M05 /  M06 /
TCフレーム
T01  /  T01 /  T02 /  T02   /  T03 /  T03  /

というイメージになってると思えます。TC値だけでは、一つの画像を特定できないと思えます。
まぁ実際上は問題ないと思いますが、これが120Fpsとかになれば、問題が発覚してくると思います。120Fpsでは音声が付かないという動画カメラがありますが、この辺りの事を考慮しているのか知れませんね。

NDFの利用

ノンドロップ方式を使う場合というのは、映像でなく音声だけで同期をSMPTEで同期を合わせる場合はに NDF で十分です。

また、30Fps以下でタイムコード同期を使う場合には、タイムコード発生側で動画で扱うFpsに合わせておく必要があります。

いわゆるシネマカメラ(映画作成相当)で多用される23.976 などは、きちんとタイムコードを意識しておく必要があるでしょう。

通常は 29.97Fps DF を基準としていたら良いと思います。

備考

ZOOM F6 (=F8n) でのタイムコード設定は 以下となってます。
23.976ND   24ND   25ND   29.97ND  29.97D  30ND  30D