toruのブログ

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

Jzazbz color space での Gamut Boundary の算出方法の改良

1. おことわり この記事は筆者の備忘録として書いており、一般の方が読むことを想定していません。 未来の自分が読み返して理解できるように、できるだけ分かりやすく書くつもりですが、前提となる説明が省略されている箇所が多数あります。ご了承下さい。 2…

趣味で作っている Countdown動画の話

背景 筆者は趣味で 4秒ほどの長さの Countdown動画を作っている 最近気づいたのだが、筆者は Countdown動画を作成した理由をどこにも書いていなかった そこで本ブログに作成した理由を書くことにした 目的 筆者が Countdown動画を作成した理由を書く ついで…

Jzazbz Color Space を利用したBT.2020 色域確認用の Hue-Chroma テストパターンの作成

背景 前回 に引き続き Color Space の勉強をしている 筆者は 過去の記事 で CIELAB Color Space を使い Hue-Chroma パターンを作成した。今回はこれを Color Space を使って作ろうと考えた 目的 過去の記事で作成した CIELAB Color Space の Hue-Chroma パタ…

Jzazbz Color Space について少しだけ調べた

1. 背景 最近、 Color Space [1] という文字を目にする機会が増えた W3C の CSS Color HDR Module Level 1 の Draft で が追加された [2] 流石に触れておかないとマズいという危機感を覚えたので軽く調べることにした 2. 目的 Color Space についての理解を…

BT.2020 色域確認用の Hue-Chroma テストパターンの改善

0. おことわり この記事は筆者の備忘録として書いており、一般の方が読むことを想定していません。 未来の自分が読み返して理解できるように、できるだけ分かりやすく書くつもりですが、前提となる説明が省略されている箇所が多数あります。ご了承下さい。 1…

HDRでプレイしてるゲームを YouTube で SDR配信する

2022年8月7日追記 この記事は OBS Studio が HDR配信に非対応だった時に書いた記事です HDR配信に対応した後の OBS Studio の情報をお探しの方は以下の記事を参照下さい trev16.hatenablog.com 1. 背景 筆者はここ最近、YouTube でのゲーム配信に関心を持っ…

Docker Desktop 3.2.0 以降では docker.for.win.localhost は使えない

背景と目的 Windows10 に Docker Desktop をインストールした環境で、 久しぶりに Python でグラフをプロットしようとしたら以下のエラーメッセージが表示された。 TclError: couldn't connect to display "docker.for.win.localhost:0.0" そこで原因と対処…

10bit 表示か確認するテストパターンを作った(SDR用)

1. 背景 筆者は手持ちの表示デバイスが 10bit で表示できているか目視で確認したくなる事がある 表示デバイスが HDR で表示している場合は簡単に 10bit表示の目視確認ができる。しかし SDR 表示の場合は目視確認は難しい そこで簡単に判別するためのパターン…

AVIF を利用した静止画の HDR表示を試した

1. 背景 以前から Windows OS 上で簡単に静止画の HDR を表示したいと考えていた HDR の Metadata が付与された AVIF[1] 形式の静止画を用意すれば Google Chrome 上で静止画の HDR表示が可能との情報を得た[2] 気になったので簡単に確認することにした 2. …

Google Chrome で動画を再生した際のカラーマネジメントに関する簡単な調査

1. 背景 2020年12月から YouTube で HDR の Live配信がサポートされた[1] 筆者は、YouTube の HDR の Live配信を SDRモニターで見た際の HDR to SDR 変換に関心がある Google Chrome を使用して特性を調査したいが、筆者は Google Chrome の動画のカラーマネ…

ブラウザ上の動画の CMS 確認

目的 Webブラウザで動画を再生した際のカラーマネジメントを確認する お断り このページは技術解説記事ではなく、カラーマネジメントを確認するためのテストページです。 お詫び 動画サイズが小さくてすみません。大きく表示したい方はブラウザの拡大機能を…

MP4 コンテナに収納された H.264 ファイルの色情報に関する調査

1. 背景 Google Chrome での動画再生のカラーマネジメントに関する調査をしたい 検証用のテストパターンとして「MP4 コンテナに収納した H.264 の動画」を使用する予定である しかし筆者は MP4 コンテナに収納された H.264 ファイルの色情報(※1)がどこに保存…

OS のスクリーンショット機能とカラーマネジメントに関する簡単な調査

背景 筆者は Google Chrome での動画再生のカラーマネジメントに関する調査をしたい 調査するためには、カラーマネジメント後の動画の RGB値をキャプチャする必要がある OS のスクリーンショット機能を利用することで、カラーマネジメント後の動画の RGB値を…

10bit 精度で 1bit のズレも発生しないテストパターン動画(H.265)を作成する

1. 背景 これまで幾つかのテストパターンを作ってきた 動画の場合は ProRes や DNxHR などの業務用コーデックを使っていたがファイルサイズが大きくて困っていた(※1) H.265 の Lossless オプションを活用することでファイルサイズの削減と10bit精度での画…

Davinci 17 の RCM に関する簡単な調査

0. 背景 DaVinci 17 の Beta版がリリースされたので、早速インストールして Color Management について調べていたところ、DaVinci 16 と比較して色々と変わっていることが分かった。 自分は DaVinci を検証のための映像信号源として利用することが多いため、…

iccXML を利用した ICC profile の作成

背景 Gamut Mapping に関する勉強を進めるにあたり、Adobe CMM などの有名な CMM(Color management module) が内部でどのような変換を行っているか軽く調べようと考えた。しかし(本当に色々な人に怒られそうだが)自分は ICC profile に関する知識が非常に…

Netflix, Amazon Prime Video で見つけたテスト用動画

1. 概要 HDR対応の配信サービスについて調べていたら、Netflix と Amazon Prime Video にテスト用の動画があることを見つけた。メモとして残しておく。 2. Netflix 2.1. Test Patterns シーン4 の "DOVI" の Prefix が付いている動画は HDR(自宅の BRAVIA …

BT.2446 Method C の Crosstalk matrix の効果を確認した

背景 前回の記事で Report ITU-R BT.2446 Method C の実装例の紹介を行った。 trev16.hatenablog.com そこで以下の内容を書いた。 ※3 Crosstalk matrix, Chroma correction に関しては筆者の理解が浅いため本記事では解説しない。できれば理解を深めた後に別…

BT.2446 Method C (HDR to SDR 変換) を実装してみた

1. 背景 以前から個人でお手軽に使える HDR to SDR 変換の 3DLUT を作りたいと思っていた。2019年に Report ITU-R BT.2446[1] として 3種類の Tone mapping が公開されたので実装することにした。 今回は Method C の NHK が提案した方式を実装した。理由と…

テストパターン動画を作った

背景 急にテストパターン動画を作りたくなったので作った。本来であれば色彩工学に関する勉強を色々と進める必要があった。しかし我慢ができなかった…。 成果物 以下のようなテストパターン動画を作った。 良い点 Chroma Subsampling の 4:4:4, 4:2:2, 4:2:0…

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

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

HDRコンテンツの輝度マップ生成用の3DLUTを作る

背景 HDTVTest に Star Wars: The Rise of Skywalker の解析動画が上がっていた[1]。この解析で利用されていた輝度マップは 低輝度領域はモノクロ、高輝度領域はカラーと輝度レンジが明確に分かれるタイプで、今まで見たことが無かった。 この輝度マップは3D…

HDR の映画に関する Technical Paper を読んだ

背景 最近、全然 Technical Paper を読んでなかったので久しぶりに読むことにした。今回読んだのは Predicting HDR Cinema Requirements from HDR Home Master Statistics である[1]。 隔月で発行される SMPTE の Motion Imaging Journal には幾つかの Techn…

BRAVIA の「バックライト分割制御」の挙動を軽く調べた

1. 背景 諸事情によりTVを買い換えたため、色々とパラメータを変更して見た目がどう変わるかを確認している。その中で「バックライト分割制御」の設定はHDRコンテンツの表示品位に大きな影響を与えていたためメモを残すことにした。 2. 調査対象の TV 調査対…

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 に関する知…

【更新中】色彩工学関連の用語整理

背景 自分は色彩工学(特にHDR関連)に関連する記事を書く際に、適切な用語が頭に浮かばず無駄に時間を費やすことが頻繁にある。作業効率化のために、自分が記事で使用する用語を整理しておくことにする。 色彩工学に関連する用語一覧 英語 日本語 内容説明 補…

Sympy で 3次方程式を解くと想定と異なる解が得られた

1. 背景と目的 とある事情により数万~数十万個の3次方程式を解くことになった。 世の中には方程式の解を求めてくれる便利なライブラリがあるため、それを利用して解くことにした。 最初に練習として数百個の3次方程式を解いたところ、一部の式において筆者…

Colour Science for Python の 3DLUT モジュールを使う

背景 これまで画像に 3DLUT を適用する際は外部ツール(DaVinci Resolve, Nuke) を使用してきた。しかし毎回外部ツールを起動するのは面倒だったので Python上 で 3DLUT を適用する環境を構築することにした。ついでに 1DLUT の環境も構築できないか検討した…

Colour Science for Python を使った画像データの読み書き

背景 筆者はこれまで画像データの読み書きは OpenCV または OpenImageIO の Python用Bindings を叩く自作のラッパーを作って行っていた。が、Color Science for Python に良い感じの関数があったので、これを使ってみることにした。 colour.readthedocs.io …