「手抜きボツネタ検証」がボツった:VFRエンコードへの道。 色の再現性を見る!

日記 > PC

じぃじには眠い時間なんですが…気になって眠れないのに眠いという。
地雷踏んで動いたらドカーンみたいなイライラの中にいます。
触れちゃいけないところに触れた時点で地雷踏んでるわけですが…


シャープ系のフィルタだけでなくフィルタ使うと色が変わることがあるので、オフにしないとダメですよっていう神託をいただきました!
初心に戻ろう…この記事もボツで。
皆さん同じ間違いなんて・・・しませんよね(T.T)

ロスレスでやれと追い打ちが(´・ω・`)
画像比較でJPG保存なんてスンナと。ごもっともで。


■ 色の再現性を確認する

普段テスト用にてんこ盛りにしたオプションを試す!

■ H.264の再生。NVDEC と QSV

新しく環境を変えるのが面倒なので古い環境使ってます。RTX2060 と QSV(i7-3770T)の比較になります。
H.264の弱点である暗部のブロックノイズゴースト発生部分で違いがみられます。
時間軸フィルタ掛ければ止まるんですけど、黒い影が!何かがうごめいています!

・QSV


・NVDEC

DXVA2を使ったHW支援では誤差程度の許容範囲かと思います。

■ h.265にエンコードしていきましょ

「結論から言うと、全部没です。右上の文字の色がはっきり違う(^◇^;」
と、今日まで思ってきたのですが、揺らいでおります(´・ω・`)

フィルタのせいでしたm(__)m


・base file:ShadowPlay

・CFR:Color設定は入力のまま使う

D:\bin\NVEncC_5.21_x64\NVEncC64.exe -c hevc –profile main10 –output-depth 10 –bref-mode each –ref 16 –avhw –input-analyze 16 –aq –aq-temporal –aq-strength 0 –vbrhq 0 –vbr-quality 28 –lookahead 32 –gop-len 600 –bframes 4 –vpp-unsharp radius=3,weight=0.5,threshold=10 –colormatrix auto –colorprim auto –transfer auto –audio-copy -i “%~1” -o “%~n1_q28_60fps-cfr.mp4″ 2>”%~n1_q28_60fps-cfr.log”


・VFR_auto:Color設定は入力をbt.709に変換[auto x3]

D:\bin\NVEncC_5.21_x64\NVEncC64.exe -c hevc –profile main10 –output-depth 10 –bref-mode each –ref 16 –avhw –input-analyze 16 –avsync vfr –aq –aq-temporal –aq-strength 0 –vbrhq 0 –vbr-quality 28 –lookahead 32 –gop-len 600 –bframes 4 –vpp-mpdecimate –vpp-colorspace matrix=auto:bt709,colorprim=auto:bt709,transfer=auto:bt709 –vpp-unsharp radius=3,weight=0.5,threshold=10 –colormatrix auto –colorprim auto –transfer auto –audio-codec aac:aac_coder=twoloop –audio-bitrate 256 -i “%~1” -o “%~n1_q28_60fps-vfr_auto.mp4″ 2>”%~n1_q28_60fps-vfr_auto.log”


・VFR_個別設定:Color設定は個別にbt.709に変換

D:\bin\NVEncC_5.21_x64\NVEncC64.exe -c hevc –profile main10 –output-depth 10 –bref-mode each –ref 16 –avhw –input-analyze 16 –avsync vfr –aq –aq-temporal –aq-strength 0 –vbrhq 0 –vbr-quality 28 –lookahead 32 –gop-len 600 –bframes 4 –vpp-mpdecimate –vpp-colorspace matrix=smpte170m:bt709,colorprim=smpte170m:bt709,transfer=bt470m:bt709 –vpp-unsharp radius=3,weight=0.5,threshold=10 –colormatrix auto –colorprim auto –transfer auto –audio-codec aac:aac_coder=twoloop –audio-bitrate 256 -i “%~1” -o “%~n1_q28_60fps-vfr.mp4″ 2>”%~n1_q28_60fps-vfr.log”


あ、bt470bgとか…bt470mですやん・・・
振出しに戻る。(ボツ?)
transferはQuickTime以外は無視しているという話を聞いて、静止画を作り直しましたが同じでした。
差の絶対値を比較して同じになっとります。
Primariesもキャリブレーションをかけて原色情報が有効にできるような環境ではないので設定しなくてもいいのでは?という結論になりそう(にげ
古い情報ですが、BT.709自体はすべての設定を強制していないので混在もありとか。

重要なのは下記2点ですね。
・ColorSpace
・ColorMatrix


■ シャープ系のフィルタ使うと色変わるよ?

と、爆弾が落ちました。

比較確認しました。
unsharpフィルタ使用で右上の文字の色が変わるのを確認しました。

画像比較するときは、フィルタは全部オフにしましょう

全部やり直ししましょil||li _| ̄|● il||li


先人の知恵を勉強中。じじぃになっても勉強は必要。
勉強が終わったらまたブログ再開します(^◇^;

BT.601周りの記事を読み漁ってます。

広帯域→狭帯域の場合色がつぶれるのはわかるんだけど…
狭帯域→広帯域の場合色自体は内包されるから、そのまんまじゃね?と(^◇^;

>狭帯域にエンコードされるときにつぶれた分があるから、広帯域のフォーマットに変換するときに引き伸ばされるんだよ。

潰れた色と元の色の区別がどう判定されるのかおじさんにはわからんという感じかなぁ

>ガンマ補正をちゃんとした映像か、ストレート(ライナー)に変換したかによるんじゃね?

あ、bt.601と正しくbt.709に変換したいだけなんで…bt.601で録画するShadowPlayの仕組みまでは踏み込みたくないっす。
あくまでも出力の動画の話なんで…FHDのColorSpace指定なしが気持ち悪いだけなんで‥‥

という話があったとかなかったとか。
良くわかってないと思われる匿名さんが集まると奇々怪々である。

リンクメモ。
ちゃんと勉強してる人を参考にしましょう!ヽ(*^。^*)ノ

色空間 - redstrange Wiki*
YCbCr変換による色数の減少 - toruのブログ
目的 RGB --> YCbCr --> RGB の変換で色数がどれだけ減るかを調べる。 背景 YCbCr変換、および Chroma Subsampling による情報圧縮は大変素晴らしい技術である。視覚的な情報のロスを抑えた上でデータを大幅に削減することが出来るため、我々は様々な場面でその恩恵を受けている。 その一方...
YCbCr変換による画質劣化の可能性について - toruのブログ
目的 YCbCr変換されたコンテンツは扱いを誤ると画質劣化が生じることを示す(※1)。 ※1 本検証は、不幸な条件が重なった状況を想定したものです。ツールと機材を正しく扱っていれば、このような画質劣化が発生するケースは非常に少ないと考えます。 背景 RGB => YCbCr変換(以後 R2Y と呼ぶ)および YCbCr...
色域変換に伴う Primary Colors の RGB値の変化 - toruのブログ
1. 目的 Primary Colors を色域変換すると Primary Colors で無くなることを確認する(※1) 確認の際の可視化方法を工夫して少しでも分かりやすくする。 ※1例:Red を BT.709 → BT.2020 に変換すると、(1023, 0, 0) → (642, 71, 17) となり、Rチ...
Gamut確認用のテストパターンを作った - toruのブログ
背景 以前、Pixel 3a 購入記念にスマホやタブレットの HDR の 実力を調べる簡単なテストパターンを作った。 www.youtube.com その応用で、WCG(Wide Color Gamut) の実力を調べるパターンを作った。 まだまだ改良すべき点は多いが、ひとまず第一弾が出来たので記事に書いておく。 作成...
色域変換と色域外データのクリッピングについて - toruのブログ
目的 3x3 の Matrix を使用した単純な変換な色域変換を行うと、変換先の色域によっては(※)色域のクリッピングが生じて想定外の色相のズレが生じることを図で書く。 ※BT.2020 のような広色域から BT.709 のような狭い色域に変換した場合など 背景 前回の記事で作成した色域確認用のテストパターンは、色域変...
YouTube の HDR to SDR 変換の特性を少し調べる - toruのブログ
1. 背景 前回の記事 で YouTube が行っている HDR to SDR 変換をエミュレーションする 3DLUT の作成に成功した。これにより、HDR動画を YouTube へアップロードする前に SDR 変換のプレビューが出来るようになった。 その一方で、色々とコンテンツを弄っていると、この 3DLUT を完全...
テストパターン動画を作った - toruのブログ
背景 急にテストパターン動画を作りたくなったので作った。本来であれば色彩工学に関する勉強を色々と進める必要があった。しかし我慢ができなかった…。 成果物 以下のようなテストパターン動画を作った。 良い点 Chroma Subsampling の 4:4:4, 4:2:2, 4:2:0 を目視で判別できるようなドットパタ...
ITU-R BT.601
ITU-R BT.601 に関しての技術情報。個人が趣味で作成してるのでページですので不確実です。各自で裏を取ってください。

https://www.jstage.jst.go.jp/article/itetr/40.17/0/40.17_1/_pdf

Color Primaries、Transfer characteristicsはここがまとめてあって見やすいかも。ガンマグラフなどもあり。

量子化,YUV⇔RGB変換式,色空間,ガンマ,光源変換について - モノトーンの伝説日記
眠いなぁ,寝よう… って思いながら,頭の中で思考してたら,とうとう気になりだしてスマフォ片手に調べだして,挙句の果てに眠れなくなってブログを書き始めた人の文章です。 Twitter でほざいてたのをきれいにまとめておこうかと。間違ってたら指摘してください。色空間に関してはまだまだ知識不足ですね。片手間で書ける記事ではな...
広色域映像のための最適色域マッピングスライド
広色域映像のための最適色域マッピング Optimal Gamut Mapping for Wide Color Gamut Video 松永 力 Chikara Matsunaga 株式会社朋栄 佐倉研究開発センター Sakura R&D Center, FOR-A Co., Ltd. E-mail: matsuna…

https://www.momat.go.jp/fc/wp-content/uploads/sites/5/2017/03/NFC_BDCTechSeminar_IMAGICA_DigitalCinemaColorManagement.pdf

AviutlColor 0.00 (BT.2020nc 色変換プラグイン)
だいぶ前にコメントで要望いただいたBT.2020nc用の変換プラグイン。AvisynthのDitherでBT.601→BT.2020ncにしたものを、ちゃんと逆変換できるので、問題なく動作していると思う。(ただし計算誤差により完全な逆変換ではない)AVX2まで対応。色変換をマルチスレッドにしてもほとんど速くならないので...

さて、何を求めて何を読んでいるのかわからなくなってきたぞ^^;

■ BT.601をBT.709にしたいだけなんです!

BT.601をデコードして、色空間の違うところでフィルタ掛けて、BT601とBT.709に保存したら、飽和であふれる色が発生してますよね^^;
それは違う色になる場合があって当然かなと。→OK。

色空間がより広域の空間に変わっても、見た目の色は変わらない(変換誤差はあるものの)という事でよさげ?
変わってたら逆変換しても戻りませんものね。当たり前か^^;

元の画像からBT.601に収まらない飽和した色はより上のBT.709やBT.2020を使うと違う色になる→OK。
BT.601をBT.709やBT.2020に変換した場合、色は再現できるので見た目が変わったら困る

後はデコーダーとプレイヤーかな?
すべてを疑おう!

bt.709 → bt.2020の解説は沢山あるのにね…時代に乗り遅れたw
すべてはShadowPlayのBT.601録画!(笑)

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