先日AviUtlを使って動画編集していたところ動画の色がおかしい(赤色が強く出すぎてしまう)という問題が発生したので、原因と対処法を調べてみました。同様の問題で頭を抱えている方の参考になれば幸いです。
目次
AviUtlで動画の色がおかしくなるタイミングは下記の2つがあります。私は前者のパターンで、比較的簡単に解決することができましたが、後者の場合改善はできても根本的には解決することが出来ない場合もありえます。
編集時または出力後の色がおかしい
私が遭遇したのがこのパターンでした。一括りにしてしまいましたがこの場合、実は編集時からすでに色合いが崩れているのにその時は編集に集中していて気づかず、出力後に動画をチェックした際に気づいたというパターンが濃厚ではないかと思います。(私がそうでした)
※完全に編集時から色合いがおかしいのであれば、ディスプレイのコントラストや不具合、VGA(グラフィックカード・ビデオカード)の処理能力の不足や不具合など、ハード面の問題が考えられます。
この場合AviUtl本体の「色変換の設定」が適切でない可能性が考えられます。私の場合、いつの間にか入力をBT.601にしてしまっており、入力・出力を両方とも自動にすることで解決しました。
設定を変更すると読み込んでいる動画に反映されますので、うまくいかない場合は色合いを見ながら変更してみて下さい。基本的には両方とも自動にしておくのが良さそうです。
エンコード後の色がおかしい
ここでは元の動画をエンコードしてmp4動画(H.264/MPEG-4 AVC)を作成することとして記述します。
まず、AviUtlを使用してmp4動画を作成する場合、仕様上どうしても色空間の問題が発生しやすくなります。というのも無圧縮Avi動画の色空間フォーマットはRGBなのですが、x264に橋渡しする際はYUY2(YUV422)、mp4動画ではYV12(YUV420)という色空間フォーマットを使用しています。(それぞれ色の再現方法が異なります)
そのため完全に同じ色を再現することがどうしても難しくなってしまいます。特に赤色が黒ずんでしまう赤色劣化はある程度防ぎようがありません。
対処法1
解決方法(改善方法)ですが、x264guiExとAviUtl本体の設定で改善される場合があります。x264guiExの「x264」タブにある「colormatrix」を「smpte170m」に、AviUtlの「色変換の設定」で「入力」を自動に、「出力」を「BT.601」に変更してみてください。
※基本的にはSD解像度(縦解像度が720未満)の場合はBT.601(SMPTE 170M)、HD解像度(縦解像度が720以上)の場合はBT.709を使用しましょう。ただし、使用環境によっては必ずしも適切でない場合もあります。
対処法2
元の動画の画面サイズを大きなサイズにリサイズしてからエンコードすることで間引きによる劣化が抑えられます。ある程度の効果が見込めますが、クオリティを維持するためにビットレートも高い数字が要求されるため、動画容量が大きくなってしまうデメリットがあります。
That’s a skillful answer to a difiucflt question
Dear Batbaatar
Thank you for your comment! I’m glad!