配信:音ズレの補正について

音ズレとは

音ズレとは、動画の「映像(Video)」と「音声(Audio)」の、再生タイミングがズレることです。
「音ズレが発生している」とされるときは、数十ミリ秒~数秒ぐらい、映像と音声がズレて再生されます。




通常、動画配信サービス(Youtube等)や、動画ファイル(mpegファイル・mp4ファイルなど)、DVD等で動画をみるときは、映像と音声が同時に再生されていると思います。
これは、映像データ と 音声データ を、同時にタイミングよく再生しているため、そのように見えるのですが、本来、映像データと音声データは、別のものです。
(これは昔のVHSや8mmフィルムのころからずっとそうです。映像データと音声データは別に処理され、記録されています。)

音声のデータは音声の再生処理がされ、映像データは映像の再生処理がされます。
それを、製作者が意図したタイミングで映像・音声が再生されるようにタイミングを合わせる(同期をとる)処理をしながら、動画は再生されます。

しかしながら、何らかの原因でこの「映像と音声の同期のタイミング」が「製作者が想定するタイミング」と ズレてしまうことがあります。
これが「音ズレ」です。

音ズレの補正

音ズレを補正する場合は、どこに音ズレの原因があるか、を調べる必要があります。
細かく言えばきりがないのですが、配信時の音ズレに関して言えば、以下のようなところが音ズレの原因となります。

・入力機器ごとの入力にかかる時間の違い(カメラ・オーディオインターフェース等)
・入力された信号の加工・合成処理にかかる時間の違い
・機器設定変更などに伴う、ラグ・コマ落ち
・長時間配信における原因不明の遅延
サンプリングレートの設定ミスによる遅延[別ページ]

音ズレの補正の考え方

基本

・入力機器(カメラ・オーディオインターフェース等)ごとに、入力するのにかかる時間というものがあります。
・入力された信号をもとに、配信時に映像と音声を合成したデータを、配信先に向けて送信することになります。

では、どういったときに音ズレが発生するか、というと、
・複数の カメラ(画面キャプチャも含む)やオーディオインターフェース を利用した場合
に、音ズレが発生します。

備考:
・スマホのカメラ や マイク付きWebカメラ などは、たいていの場合、映像と音声の信号がほぼ同時に入力されるよう調整済みです。
・同一のオーディオインターフェースから入力される複数の音声信号は、ほぼ同時に入力されると思ってよいです。

例として、映像(Webカメラ)・音声1(マイク)・音声2(ライン入力)で、音ズレが発生した場合の補正方法について考えます。


図1 機器ごとの信号入力にかかる時間の違い

この場合、映像入力に一番時間がかかっており、音声入力にはそれほど時間がかかっていないということになります。

この動画を実際に再生してみると、


図 機器ごとの音ズレ時間

同一タイミングで再生されるべき部分が、
まず音声2が、少し遅れて音声1が、さらに少し遅れて映像が流れます。

音ズレ補正の考え方は、この一番遅い、この場合 映像の信号に それぞれの音声信号を合わせていく、という考え方になります。
入力に時間かかるものはそれより短くできないので、早く入力できるものを遅らせる、ということです。

その為、それぞれの音ズレ分、再生を遅らせる補正をかけます。


図 それぞれの信号入力で補正する時間

これで、入力機器ごとの入力にかかる時間の違い に対する音ズレが補正されます。
(安定した配信のためにはもう一つ補正が必要なので、後で触れます)

補正には主に2つの方法があります。
・入力機器の設定でバッファを増やす
・遅延のフィルターを入れる
以下でそれぞれの方法について触れます。

・入力機器の設定でバッファを増やす

バッファとはオーディオインターフェース等の機器と、PC等とのデータのやり取りをするときに使われるメモリのことで、これが多いと音声入力時の音飛びやノイズなどを防ぐことができます。
オーディオインターフェースによってはドライバ設定などで、バッファの量の調整ができるものがあります。
安定した配信をするなら、バッファは多いに越したことはありません。
配信は長時間の作業なので、このバッファが多いと、配信がより安定します。
そのかわり、バッファが多ければ多いほど、音声入力の遅延時間が増加します。
配信以外の、リアルタイム性を求める作業(PCでソフトウェア音源を鳴らしながら弾く~等)の場合、バッファが多すぎるのも問題です。
※ バッファの増加による遅延時間の正確な調整・時間計算はむずかしいので、結局のところ下記の遅延フィルターも入れることになると思います。

・遅延のフィルターを入れる

配信専用のアプリ(OBS・XSplitなど)では、音声や映像のズレ対策のため、ミリ秒単位で調整する機能があります。(※注釈1)
また、音楽制作をしたことのある方なら、DAW や ミキサーソフト あるいは OBS(※注釈2) などで、ディレイフィルターを通す、というのもひとつの手段です。

※注釈1
配信専用のアプリ(OBS・XSplit)は、動画配信サービス用なので、動画配信サービス(Youtube Live や Facebook Live 等)に主に対応しています。
Web会議アプリ(ZOOMミーティング 等)で使うには一工夫必要であり、さらに一部機能が使えません。
ここで記載したズレ対策の機能も、標準で搭載されているものでは 音声については、ZOOMミーティングで使えないようです。
その為、ディレイフィルターを別の方法で入れる必要があります。

※注釈2
OBSは VSTプラグイン Ver2 にも対応しているため、直接 個々の音声入力に VSTのディレイフィルター等を追加できます。

応用

さて、そうして音ズレがない状態で実際に配信を始めると、時間がたつごとに困ったことが出てきたりもします。


図4 配信中 時間がたってくると・・・

映像のほうでよく起きるのですが、さらに謎の遅延が発生してしまうことがあります。
(Webカメラ直接ではなく、映像を加工処理していると発生することが多いように感じます)
こまかい原因はわからない部分も多いのですが、配信中に発生したズレは、すぐに補正しなければなりません。

音声のほうの補正量を増やしてもいいのですが、
音声のほうは修正箇所が2か所と多く、うろ覚えであわててやるとミスをする可能性があります。
(配信中の補正量の調整は大変 気を使います。)
また、補正のタイミングでノイズ・音飛びが発生してしまいます。
人間は映像のコマ落ちには割と寛容ですが、音楽のノイズ・音飛びには敏感なため、できるだけ映像のほうで何とか補正したい。

そこで・・・


図5 あらかじめ 追加で予備の補正をかけておく

あらかじめ、予備の補正を足しておきます。
配信自体は、配信先に動画がとどく時間が少し増えてしまいますが、
そうすると、


図6 配信中 遅延が発生しても・・・

先ほどと同じように遅延が発生しても、


図7 配信中 補正ができる

配信中、映像の補正量を減らすことで、音ズレを補正できます。

補足

サンプリングレートの設定ミスによる遅延

タイトルとURLをコピーしました