日本語

ビデオと字幕 · 字幕ツールキット

字幕ドリフトの説明: 固定オフセットが失敗する理由とストレッチの仕組み

· 仕組み

字幕 タイムコード フレームレート

会話に対する 2 つの字幕タイムライン: 1 つは一定のギャップによって遅れ、もう 1 つは終わりに向かってギャップが拡大します
オリジナル ToolAcre ベクトル イラスト

キャプションが最初は問題なく、最後まで遅い場合、問題はオフセットではなく速度です。この記事では、フレームレートの不一致がどのようにドリフトを引き起こすか、ドリフトを診断する方法、および線形ストレッチの計算がシフトとどのように異なるかについて説明します。

1分で同期、30分までに0.5秒遅れ — オフセットではなくドリフトの兆候

同期していないキャプションの背後には 2 つの異なる障害があり、それぞれ反対の修正が必要です。オフセットは一定です。どの行も同じ量だけ遅れており、ファイルは最初の 1 分間も最後の 1 分間も同じように間違っています。ドリフトは増大します。開始ラインは正しく着地しますが、10 分ではエラーはほとんど目立たなくなりますが、終了ラインは数秒ずれています。それらを区別する症状は、終了時のエラーが開始時のエラーよりも大きいかどうかです。

この診断を誤ると、明らかな行動が状況を悪化させるため、高くつくことになります。ドリフト ファイルの最初の行をオフセットで並べると、ファイル全体が移動するため、末尾は元の量に追加されたものを加えた量だけドリフトします。このツールは、これをよくある間違いとして直接文書化し、スケーリングの前に両方の操作を元に戻す必要があることを指摘しています。

ドリフトの発生源 — 23.976 fps ビデオに対して再生される 25 fps のタイミングで再生されるファイル、またはその逆

通常の原因は、ファイルが作成されたタイミングと再生されるビデオの間のフレーム レートの不一致です。字幕のタイムスタンプは実時間ですが、多くの場合、フレーム数から導出されます。 23.976 fps マテリアルに対して生成されたフレーム カウントが、各フレームが 25 分の 2 秒であるかのように再生される場合、すべてのタイムスタンプは同じ割合で誤りがあり、増加する数値に一定の割合を適用すると、増加するエラーが生成されます。

その比率は、25 fps で再生される 23.976 fps マテリアルのおおよその 1.0427 であり、これはツールのスケール フィールドの横に記載されています。この数値は、試行によって発見された調整ノブではありません。これは 2 つのフレーム レートの商であるため、一方の世界では正しかったファイルが、もう一方の世界では体系的に伸長または圧縮されます。これが、ドリフトがほとんどの場合、不安定ではなくスムーズで直線的である理由です。

2 つの基準点によるドリフトの診断 - 開始付近と終了付近の誤差を測定

ドリフトの診断には 1 回ではなく 2 回の測定が必要です。正確にキャプションのタイミングを計ることができるダイアログの開始近くの行と、終了近くの別の行を見つけて、ファイルが主張するタイムスタンプとダイアログが実際に発生したタイムスタンプをそれぞれ記録します。観測された 1 つの誤差は一定のオフセットとストレッチの両方と一致するため、1 つの測定では 2 つの故障を区別することはできません。

材料が許す限り離れた 2 つの点を選択します。計算全体では 1 つの差を別の差異で除算するため、ベースラインが短いと、結果における小さな測定誤差が大きくなります。 90 分のファイル内で 1 分ごとに 2 つのポイントが離れている場合、測定ではサポートされていない精度に確信のある比率が生成されます。

線形ストレッチの計算 — 定数を追加するのではなく、比率によってすべてのタイムコードをスケーリングする

シフトは加算であり、ストレッチは乗算であり、それがすべての違いです。シフトにより、すべての開始と終了に 1 つの定数が追加されます。内部的には、キューはゼロから数えられる整数のミリ秒であるため、この操作はタイムスタンプごとに 1 回の加算であり、それ自体の丸めは発生しません。どこにでも同じ数字を追加するため、最初のキューと最後のキューの間の距離を変更することはできません。これがまさにドリフトの間違いです。

ストレッチでは、すべてのタイムスタンプにゼロから測定される係数が乗算されます。乗数はファイルの後の方でより大きな数値に作用するため、開始部分よりも終了部分が大きく移動します。これはシェイプ ドリフトに必要です。タイムスタンプはスケーリング後にミリ秒単位に再四捨五入されるため、シフトのようにスケールを完全に元に戻すことはできません。複数のパスにわたって係数を調整するのではなく、元の状態から 1 回スケーリングします。

実践例: 2 つの測定値から比率を計算する - 観測された 2 つの誤差を 1 つの補正に変換する

2 分のキャプションが 00:02:00.000 であり、ダイアログが 00:01:59.750 であり、58 分のキャプションが主張しているとします。 00:58:00.000、ダイアログは 00:57:52.750 です。ファイルにはミリ秒単位で 120000 および 3480000 と表示されます。ビデオには 119750 と 3472750 が必要です。誤差は 250 ms から 7250 ms まで増加しました。これはオフセットではなくドリフトです。

係数は 2 つの間隔の比です。実際のスパン 3472750 から 119750 または 3353000 を引いた値を、要求されたスパン 3480000 から 120000 を引いたもの、または 3360000 で割ります。これは約 0.99792 になります。要求された時間を乗算すると、119750 と 3472750 (両方の測定値) が返されます。これは、修正がオフセットの残りのない純粋なストレッチであることを確認します。残留物が残っている場合は、まずストレッチを修正してから、残った部分にシフトを適用します。

これでカバーされないもの — スムーズなドリフトではなくジャンプを生成するカット、追加シーン、広告ブレイク

これは、スムーズかつ比例的に増加するエラーをカバーします。 20 分間は正しいのに、編集の痕跡である残りの部分が突然一定量削除されるファイル (シーンの削除、広告の挿入、または同じ作品の別のカット) は対象外です。その欠陥はファイルの一部に適用されたシフトであり、単一の比率で修正することはできません。

シフト ツールはファイル内のすべてのキューに適用され、選択した範囲のタイミングを変更する方法がないため、中間点ジャンプのあるファイルを 1 回のパスで修復することはできません。また、クランプから回復することもできません。どちらの形式も負の時間を表現できないため、負の結果はゼロで下限され、その後前方にシフトしても、そこに固定されていたキューは復元されません。このツールはキューがクランプされると警告を発し、文書化された解決策はシフトを補償するのではなく元に戻すことです。

要点: オフセットにはシフト、ドリフトにはスケール — 固定オフセットの場合に字幕ツールキットのリタイム機能を使用する方法と、ドリフトに依存する前に「このツールが実行しないこと」リストを確認する場所

オフセットの場合はシフト、ドリフトの場合はスケールし、いずれかを実行する前に測定します。このフィールドには秒またはタイムコードの入力がなく、2 と入力するとファイルが 2 秒ではなく 2 ミリ秒シフトされるため、オフセットをミリ秒単位で入力します。操作が成功すると、ファイルは実際に変更され、同期は以前とまったく同じように間違っているように見えます。正のオフセットを指定すると、ダイアログの前に表示されるキャプションが遅れます。

ドリフトの場合は、オフセットを繰り返し微調整するのではなく、オフセットの横にあるスケール係数を使用します。ツールに依存する前に、ツール ページの制限をお読みください。元に戻すには、最後の 20 個の操作が保持されます。一方の端だけが固定されている場合、クランプされたキューは継続時間がゼロになるか長くなる可能性があります。また、変更のたびに検証が再実行されるため、これらのケースはサイレントに出荷されるのではなく報告されます。