toruのブログ

月1くらいで記事書きたい。

Color Science

JPEG XL のHDR画像を作成し iPad の Safari 17 で HDR表示を試した

1. 背景 2023年9月にリリース予定の Safari 17 の Beta Release Notes を確認すると「Added support for JPEG XL」の記述があった[1] JPEG XL は BT.2100 PQ や BT.2100 HLG などの HDRの色空間をサポートした画像フォーマットである そのため筆者は「iPhone…

Report ITU-R BT.2407 の Annex2 を実装してみた

1. はじめに この記事は「Report ITU-R BT.2407 の Annex2 を実装」シリーズの3回目です。 かなり間が空きましたが失踪せずに少しずつ実装を進めていました。 無事に実装が完了したので結果を報告したいと思います。 2. 目的 BT.2407 Annex2 に記載の BT.202…

CIELAB色空間で BT.2020色域の Gamut Boundary をプロットする

1. はじめに この記事は「Report ITU-R BT.2407 の Annex2 を実装」シリーズの2回目です。前回は xyY色空間でしたが、今回からは CIELAB色空間の話になります。 (今回の記事は残念ながら後半の説明がグダグダになってしまいました。もっと色々と時間をかけ…

xyY 色空間で BT.709色域の Gamut Boundary をプロットする

1. はじめに この記事は「Report ITU-R BT.2407 の Annex2 を実装」シリーズの1回目です。完走するか微妙ですが少しずつ記事を書いていきます。 2. 背景 少し前に本ブログで YouTube の HDR to SDR 変換 の解析を行った。この際に Gamut Mapping に関する知…

CTLで記述された ACES の RRT と ODT を画像に適用する

目的 ACES の RRT+ODT を任意の画像に適用できる環境を構築する。 背景 OCIO について色々と勉強していると、NUKE と DaVinci Resolve で RRT + ODT の結果が異なることが判明した。 この原因を詳しく調べるためには、NUKE, DaVinci Resolve に依存しない Re…

ColorCheckerのRGB値を分光反射率データから求める

1. 目的 ColorCheckerのRGB値を分光反射率(spectral reflectance)データから求める Chromatic Adaptation や「新しいXYZ表色系」の簡単な実験をする(これは別記事にする予定) 2. 背景 色彩工学の理解を深めたかった。なんとなく理論は知っていたが、実際に…

OpenColorIO の Config ファイル作成

1. 目的 OpenColorIO(以後、OCIOと表記する) の Config ファイルを作成する ファイル作成で個人的に苦労した点をメモとして残す 2. 背景 OCIO の名前は数年前から目にしており何となく気になっていた Nuke で HDRの勉強をする際に Nuke標準の Color Manage…

Astrodesign A-Log の特性

目的 Davinci Resolve 16 で新規追加となった Astrodesign A-Log の特性をプロットする。 結論 A-Log の特性をプロットした結果を図1に示す。ARRI LogC と SONY S-Log3 の中間くらいの特性の模様。 図1 A-Log をプロットした結果 感想 DJI の D-Log をプロッ…

Davinci Resolve16 の変更点(Color Management)

目的 Davinci Resolve16 の Project Settings --> Color Management での変更点を確認する。 結論 Color Space と Gamma で追加&削除があった。 ColorSpace に関する変更 追加 AstroDesign Blackmagic Design Video Gamut Gen 4 Blackmagic Design Wide Gam…

YCbCr変換の係数誤り検出テストパターンの作成(一部成功)

目的 YCbCrの係数誤り(※)が発生した場合、その誤りに気づけるテストパターンを作成する。 作成したテストパターンを用いて実際にYCbCrの係数誤りを検出してみる ※詳細は前回の記事を参照 結論 YCbCrの係数誤りを判別するテストパターン作成に成功した。作成…

YouTubeの動画もカラマネされる

目的 YouTubeの動画はSDRレンジでもChrome等のカラーマネージメント対応ブラウザで再生するとカラーマネージメントされることを確認する。 ソースの画像用意 コレを使って生成。 BT.2020色域のColorChecker 動画作成 ffmpeg.exe -loop 1 -i "ColorChecker_Al…

YCbCr変換による画質劣化の可能性について

目的 YCbCr変換されたコンテンツは扱いを誤ると画質劣化が生じることを示す(※1)。 ※1 本検証は、不幸な条件が重なった状況を想定したものです。ツールと機材を正しく扱っていれば、このような画質劣化が発生するケースは非常に少ないと考えます。 背景 RGB =…

YCbCr変換による色数の減少

目的 RGB --> YCbCr --> RGB の変換で色数がどれだけ減るかを調べる。 背景 YCbCr変換[1]、および Chroma Subsampling[2] による情報圧縮は大変素晴らしい技術である。視覚的な情報のロスを抑えた上でデータを大幅に削減することが出来るため、我々は様々な…

Logカーブの Code Value と絶対輝度

目的 世の中では ARRI Log C、RED Log3G10、SONY S-Log3 など様々な Logカーブが提案されている。 これらの OETF の相互変換を行うために、各 Logカーブの Code Value と絶対輝度の対応関係を決定する。 Code Value と絶対輝度の対応関係が明確になれば絶対…

D-Log, F-Log, N-Log の作成&プロット

目的 以下の Camera Log(※) の OETF/EOTF の実装 DJI の D-Log[1] FUJIFILM の F-Log[2] Nikon の N-Log[3] 比較用のまとめ図のプロット ※自分が Camera Log と呼んでいるだけ。正式な呼称ではない。 背景 ここ数年、カメラメーカー各社はオリジナルの Camer…

ガンマ補正とノイズの均一化

目的 アナログ放送時代のガンマ補正はCRTの逆補正の為だけの存在ではなく、ノイズの均一化という役割もあったことを示す。 背景 Color Science に対する理解を深める上で「ガンマ補正」を正しく理解することは必要不可欠である。 幸いなことにガンマ補正に関…