背景
急にテストパターン動画を作りたくなったので作った。本来であれば色彩工学に関する勉強を色々と進める必要があった。しかし我慢ができなかった…。
成果物
以下のようなテストパターン動画を作った。
良い点
- Chroma Subsampling の 4:4:4, 4:2:2, 4:2:0 を目視で判別できるようなドットパターンを入れた(右端)
- 表示デバイスが 10bit 表示できているか目視で判別できるような Rampパターンを入れた(左端)
- テストパターン動画のエンコード作業の自動化に成功した
悪い点
- H.264 や H.265 で圧縮してしまうと、圧縮による画像劣化で Chroma Subsampling や 8bit/10bit の判別が極めて困難になる
- つまり実用性がかなり低い
- 言い訳をしておくと、ProRes や DNxHR などの業務用コーデックなら十分に目視判別が可能である
- 10bit 表示できているか確認するパターンは 「真の 10bit表示」 と 「8bit + Dithering」の区別がつかない
- 特定環境では 8bit ディスプレイを使っているのに 10bit のように表示されてしまう
- Python スクリプトを使った DaVinci での自動エンコードは不完全である
- 一部の設定は事前に手作業で済ませておく必要がある
Chroma Subsampling の判別パターン
テストパターン動画の右側に用意した "WYCGMRB" のドットパターンは 偶数ピクセルスタートと 奇数ピクセルスタート の 2種類がある。 これにより Chroma Subsampling に応じた見え方が 図1のように変化する。 したがってビットレートが極めて高い動画であれば目視で Chroma Subsampling の判別が可能である。
なお、一般的なビットレートの動画では圧縮によってパターンが潰れてしまい目視判別は困難である。
Chroma Subsampling 確認用の動画
実際の動画で見比べたい場合は以下の動画をダウンロードして確認して欲しい(右クリックして「名前を付けてリンク先を保存」を推奨)。
なお、以下の動画は可逆圧縮となるようにエンコード時に -c:v libx264 -qp 0
オプションを適用してある。
- 1920x1080_4:4:4 (702 KB)
- 1920x1080_4:2:2 (699 KB)
- 1920x1080_4:2:0 (806 KB)
なお上記の動画は 8bit でエンコードしてあるので、左側の 10bit パターンは参照しないこと。
10bit 表示の確認パターン
8bit/10bit の差はブログでは説明が困難なので解説は省略します。
なお、本パターンの作成では ELSAさんのサイトにある 10bit確認用の PSDファイルを参考にさせて頂きました。
DaVinci Resolve Studio での Python スクリプトを利用した自動エンコード
しかし、現時点では DaVinci Resolve の Pythonスクリプトは制約が非常に多い。筆者は制約に悩まされて膨大な量の時間を無駄にした。よって Python スクリプトの使用はオススメしない。
なお、どうしても使ってみたい方は以下の手順で README.txt を参照して欲しい。
- DaVinci Resolve Studio の画面から "Help --> Documentation --> Developer" を選択
- 表示されたウィンドウの "Scripting" フォルダを開く
感想
来週こそは色彩工学の勉強を進めたい。