出力動画のYUVカラースペース(colorspace
)とダイナミックレンジ(color_range
)を指定します。
Colorspace | |
---|---|
unspecified | 何もしません。過去のバージョンと同じ動作になります。 |
auto | 入力動画と同じカラースペース・ダイナミックレンジを使用します。 |
bt709 | BT.709を使用します。ダイナミックレンジは入力動画と同じになります。 |
bt709-pc | BT.709 フルレンジ |
bt709-tv | BT.709 リミテッドレンジ |
bt601* | bt709-*のBT.601版です |
unspecifiedが指定された場合、動画がリミテッドレンジだった場合でもフレーム画像のダイナミックレンジを変換せずにステレオ生成処理(フルレンジの入力を期待)を実行します。 これは色が変わったりバンディングアーティファクトが発生する原因になることがあります。
unspecified以外のオプションが指定された場合は、フレーム画像をフルレンジに変換してからステレオ生成処理を実行します。 そして出力がリミテッドレンジの場合は、エンコード時にフルレンジからリミテッドレンジに再変換します。 これはすべてがうまくいけば、unspecifiedよりも正しい処理になります。 しかし入力動画のカラースペースとダイナミックレンジが不明な場合や未定義の値を持っている場合に変換が正しくなかったりエラーになったりすることがあります。
ピクセルフォーマットにrgb24が指定されている場合は、色空間に何を指定していてもunspecifiedの動作になります。 ピクセルフォーマットにyuv420pまたはyuv444pが指定されていて、出力のダイナミックレンジがフルレンジの場合はyuvj420pまたはyuvj444pが代わりに使用されます。
入力動画が720pより小さければBT.601、それ以外はBT.709とします。
ピクセルフォーマットからダイナミックレンジを判定します。yuv4*はリミテッドレンジ、yuvj4*、rgb*, gbr*はフルレンジとします。 どれでもないときは、不明(unspecified)のままにします。
片方だけ不明な場合は予測値で変換します。 どちらも不明な場合はunspecifiedが指定された場合と同じ動作になります。
入力動画と出力動画でダイナミックレンジが変わるので色が変わります。
ダイナミックレンジを変換せずにフレーム画像を出力します。入力動画がリミテッドレンジの場合とフルレンジの場合で、フレーム画像のダイナミックレンジも異なります。
フルレンジに変換したフレーム画像を出力します。動画がリミテッドレンジだった場合はフレーム画像上で色が変わります。インポート時にリミテッドレンジに変換すると最終動画の色は変わりません。
unspecified以外のオプションを指定してエクスポートした場合は、ymlファイルにsource_color_range
とoutput_colorspace
フィールドが追加されています。
source_color_range
は入力動画のダイナミックレンジ(1: MPEG Limited Range, 2: JPEG Full Range)です。output_colorspace
はフレーム画像のYUV時のカラースペース(1: BT.709, 5: BT.601)です。source_color_range
は元動画のダイナミックレンジでありフレーム画像のダイナミックレンジではないことに注意してください。フレーム画像はこのケースでは常にフルレンジです。
この情報はインポート時にautoやカラースペース・ダイナミックレンジの変換で使用されます。
ymlファイルにsource_color_range
,output_colorspace
存在しない原因は以下のいずれかです。
- 古いバージョンでエクスポートされている
- unspecifiedを指定してエクスポートされている
- 入力の動画のカラースペース・ダイナミックレンジが共に不明だった
ymlファイルにsource_color_range
,output_colorspace
存在しない場合は、フレーム画像は指定された色空間と同じと仮定して処理します。
bt709-tvが指定されている場合は、フレーム画像はBT.709 Limited Rangeのrgb24変換結果として扱われます。
bt709-pcが指定されている場合は、フレーム画像はBT.709 Full Rangeのrgb24変換結果として扱われます。