色彩の定量化

2026/08/30 0:43

色彩の定量化

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

色を世界的に正確に理解し、再現するためには、「緑」のような曖昧な従来の名称を超えて、精密な科学標準に基づいておく必要があります。核心的な課題は、人間の視覚が 380nm から 750nm の間の光を検出するために 3 つの錐体細胞に依存しており、そのために数学的モデルが不可欠である点です。初期のシステムでは、一部の色相を表現するために負の数が必要となり、これにより XYZ カラー空間が構築されました。この標準において、「XYZ」は明るさを色相から分離させるための想像上の参照色を指し、物理的制約に依存せずに普遍的な計算を可能にします。

しかし、デジタルディスプレイは本質的に制限されています。理論的な XYZ 空間と異なり、実際の画面ではプライマリと呼ばれる物理的な光源が 3 つのみ使用されます。このため、デバイスはその特定の範囲(gamut)内に限定され、ビット深度が高くても全ての物理的に可能な色を表現することはできません。カラー hex コードはこれらの制限内の 24 ビットの強度を表しますが、gamut 外の色の再現是不可能的です。歴史的な問題として、「ドレス」をめぐる議論のようにはくウイルス的な現象は、私たちの脳が照明条件や仮定された白色点を基に感知される色を調整し、個人間で主観的変動を生み出すことを示しています。したがって、技術が進歩する一方、経済的制約により業界は sRGB や Adobe RGB などの標準を維持しており、正確な色の再現は常に、画面の物理的制限と物体から反射する特定の光の両方を理解することに依存します。

本文

色を数値化する仕組み:モニター、光、そして脳が作る現実

世界中に数十億台あるモニターは、指示された通りの正確な色を再現する能力を持っています。これ自体が工学の驚異ですが、「色」そのものについて統一された定義が存在することが前提であるという事実をおろそかにしてきました。かつては限られた語彙で色が曖昧に定義されていました(多くの言語では色の名称は 12 つ以下です)。この曖昧な定義は多くの場面で問題ありませんが、類似した色同士のわずかな違いを正確に表現するために必要なほど精密ではありません。

同じ名前でも異なる色

上記の長方形には、すべて「緑」というラベルで表すことができます。「ライムグリーン」「オリーブグリーン」など、より細かい区別をつけるために名前を追加してもよいでしょう。しかし、この命名システムは依然として不恰好で非効率です。膨大なラベルリストに頼ることなく、無数の異なるニュアンスを一意に表現する方法が必要です。

数百万という可能性のあるラベルに色を割り当てる代わりに、番号(数値)を用いる方がはるかに単純です。必要な精度に応じて桁数を増減させることで対応できます。色を数値にマッピングするアイデアは奇妙に見えても、それは無理な話ではありません。距離や温度など、多くの測定可能な物理現象はすでに定量化されています。したがって、光学的に色が測定可能であれば、理論上それを数値に変換するのは容易いはずです。

※画像は Pixabay より提供され、CC0 ライセンス下で使用されています。

色を数値で定義することによって、新たな興味深い問いが生まれます。「色どうしを足したり掛けたりするとどんな結果になるか?」「なぜ 16,777,216 という膨大な値があってもカラーヘキサコードは表現できない色があるのか?」などです。


スペクトルパワージストリビューション(光分布スペクトル)

私たちの目標は、色を物理的な実体として測定することにあります。しかし残念なことに、色は主観的な現象です。しかし、大多数の人間が同じ物の色で合意できるという事実は、そこに何らかの客観的かつ物理的な基盤が存在することを示唆しています。そしてそれは存在します。色は光のあるなしによってのみ認識可能であり、そこには色の本質に関する大きな手がかりがあります。

光の性質

光は複雑ですが、エネルギーを一定量運ぶ粒子性の波のようなもの、すなわち**「光子」**の集合体と考えることができます。これらの粒子のエネルギーは、その波長や周波数によって決定されます。

波長

  • 光子の表現: 光子は粒子性と波動性の両方の性質を示すため、その正確な形状を記述するのは困難です。同時に対象として可視化しようとするとすぐに非常に複雑になります。
  • 電磁波スペクトル: 異なるエネルギー(または波長)を持つ光子が組み合わさって形成しています。これは単に波長や周波数順に並べられた光子のエネルギー全体範囲のことです。(注:一般的な図は比率的ではありません)。

光子が運ぶエネルギーは物理的に測定可能であり、光を定量化するのは自明です。しかし、異なる種類の光同士を比較しやすくするために、エネルギー測定値は以下のように規格化されます。

  • 単位時間あたりの「パワー」
  • 単位面積あたりの「強度」(光源の全表面積を指す)

光源は単一の強度値で定量化できますが、実際には異なる波長の光子ごとに強度を個別に測定・表現します。この**「波長ごとの強度分布」のことをスペクトルパワージストリビューション**と呼びます。

受容器細胞

この関係を解明するための最大の示唆は、「光だけでは色覚は不可能であると同時に、目なしでもあり得ない」という点です。目は光に対して感受性がありますが、より重要なのは異なる波長の光に対して異なる反応を示すことです。

人間の目には以下の 2 つ種類の受容器細胞があります。

  1. ロッド細胞(桿体細胞): 暗い環境での明るさ知覚を担当。色覚には直接的な影響がない(飽和状態になるため)。
  2. コーン細胞(錐体細胞): 光の波長に応じて異なる反応を示すことで色を区別。3 つのタイプ(S, M, L コーン)に分かれ、それぞれ特定の波長に対して感度があります。

光子はそのエネルギー(波長)に応じて、特定の受容器細胞を「励起」し、変化を引き起こします。脳は、これらの特徴的な反応を受け取って、それを独自の色として知覚するように進化しました。

注意: 上記の説明における図の色彩や名称はあくまで説明のための近似であり、正確ではありません。同一名付けにもかかわらず、実際には多くの異なる色合いを表している点が不正確であることを理解してください。また、暗い環境下ではロッド細胞が反応しますが、波長を微細に区別する仕組みがないため、色覚には大きな影響を与えません。

色覚異常

時にはコーン細胞自体が異なる波長の光を区別できない場合もあります。これは以下の理由によって起こります。

  • コーンの欠如: 第 3 のコーン(S コーン)がないなど。
  • 感度曲線の重なり: M コーンと L コーンの感度曲線が重なり合うため、類似した反応セットを生み出してしまう場合。

これにより、異なる波長を持つ光が類似したコーンの反応セットを生み出し、再度波長の区別は不可能になります。これが色覚異常の原因です。

  • 赤と緑の混乱: L コーンや M コーンの感度曲線がシフトしたり欠如したりすると、結果として「赤」と「緑」が似て見えます。

とはいえ、大多数の人口は同じ波長の光を一貫して知覚します。したがって、色の定量化の目的では、脳がコーン反応をどう解釈するかは無視し、正常な色覚を持つ大多数人の感度曲線に基づいて標準化することができます。


色彩空間

色の知覚は最終的にコーンの反応セットに依存するわけですから、理論的にはコーンの反応のみで色を表すことが可能はずです。あらゆる光のスペクトルパワージストリビューションは計量可能であり、コーン感度曲線も標準化可能です。したがって、コーンの反応(L, M, S)自体も計量可能です。

LMS カラー空間

コーンの反応を定量化するために以下の数式が定義されます。ここで $J(\lambda)$ は光のスペクトルパワージストリビューション、$l(\lambda), m(\lambda), s(\lambda)$ は各コーンの感度曲線です。

L = \int J(\lambda) \cdot l(\lambda) \, d\lambda
M = \int J(\lambda) \cdot m(\lambda) \, d\lambda
S = \int J(\lambda) \cdot s(\lambda) \, d\lambda
  • 反応は最大値が 1 に等しくなるように規格化されています。
  • この関係により、あらゆる光または物体の色は、その**(L,M,S)値**によって正確に記述でき、これはスペクトルパワージストリビューションから導出されます。

すべての可能な(L,M,S)値のセットは、3 次元空間を形成します。これをLMS カラー空間と呼びます。ただし、M コーンの感度曲線が L コーンおよび S コーンと重複しているため、(0, 0.7, 0) のように一部の LMS 値を持つ「色」は想像上のものです(自然界には存在せず、虚数値に相当します)。

メタメリズム

異なるスペクトルパワージストリビューションを持つ光が、同じコーン反応を生じさせる現象です。これをメタメリズムと呼びます。

  • 例:単一波長の光ではなく、複数の波長の組み合わせでも同じ「マロン色」に見える場合があります。
  • ウィリアム・デイヴィッド・ライトとジョン・ギルドによる実験で、3 つの波長(435nm, 546nm, 700nm)の光源を混ぜ合わせることで、あらゆる色を再現できることが証明されました。これを**「色合わせ関数」**と呼びます。

CIE RGB カラー空間

ライト&ギルドの色合わせ関数は、スペクトルカラーを 3 つの単一波長の光の強度値セットとして定量化します。これらをプライマリー(一次色)とし、その強度値の組み合わせであらゆる色を作ることができます。この空間はCIE RGB カラー空間と呼ばれます。

ただし、CIE RGB カラー空間には不都合があります。すべての知覚可能な色が正の象限内にあるわけではありません。例えばスペクトルサイアンなどは、R プライマリーの負の強度として表される必要があります(物理的には負の光を生成することは不可能です)。

輝度と彩度の分離

「すべての色を非負の値にマッピングできるカラー空間」の方が好ましいことが決定されました。線形変換(3x3 マトリックス)を用いて、新しい空間への変換を行いました。

  • 座標系の変更: 新しい空間では、プライマリー自体が物理的 quantity ではなくより抽象的概念(虚数)を表すようになりました。これにより、すべての色が正の値で定義できるようになりました。
  • 役割の分担: 1 つのプライマリーは概ね輝度を定義し、残り 2 つは彩度(色相)を導出するために使用されます。

この新しい空間では、以下の基準を満たす行列が定義されました。

  1. すべて値が正になるようにする。
  2. 輝度(明るさ)と彩度(色相・彩り)を分離する。

CIE XYZ カラー空間

新しいプライマリーは X, Y, Z と命名され、空間は CIE XYZ カラー空間と呼ばれます。

  • 輝度: Y 成分に比例します。
  • 彩度: X と Z を使用して計算されます。

XYZ プライマリーはもはや物理的な現実 grounded ではなく、より抽象的かつ虚数のものです。これにより、スペクトルカラーを含むすべての知覚可能な色が正の象限内に位置するように設計されました。


彩度空間

色を定義する際、輝度と彩度を分離して扱うことが便利です。

  • 輝度: 色の明るさ(暗い vs 明るい)。
  • 彩度: 色相(赤 vs 緑、青 vs 黄)。

CIE RGB カラー空間では、輝度は $R+G+B$ に比例し、彩度はそれらの比率 $(r,g,b)$ です。

  • 彩度平面 ($rg$ 平面): $R+G+B=1$ の平面上に色が存在します。この平面上の色は固定された輝度を持ち、異なる彩度を示します。
  • 情報の削減: 彩度空間(2 次元)は情報のある部分を表現しますが、輝度情報を犠牲にしたものです。

xy 彩度空間

CIE rg-彩度空間では負の値が必要になるため不便ですが、xy 彩度空間がより一般的に使用されています。

  • 計算式: $x = X/(X+Y+Z)$, $y = Y/(X+Y+Z)$
  • 特徴: すべての知覚可能な色が非負の値 $(x,y)$ を使用してその彩度を定義します。

ガマト(色彩再現範囲)

2 つ以上の単一波長の光を組み合わせることで作成された色の彩度は、彩度図上でその 2 つの光の彩度点を結ぶ線上に位置します。3 つのプライマリーを使う場合、彩度は三角形の内側に収まります。

  • ガマト(Gamut): プライマリーによって形成される凸多角形の内部にある色の領域。
  • 物理的な限界: 多角形の外側の彩度を持つ色を生み出すには、プライマリーの負の強度が必要であり、物理的には不可能です。

sRGB や Adobe RGB は特定のガマトを有し、より広範な知覚可能な色(CIE XYZ 空間に近い)を表現しようとすると Pro Photo などが必要です。


カラー深さ

ヘキサン記法では、色は通常 24 ビットを使用して表現されます。

  • カラー深度: 色を表すために割り当てられたビット数(例:24 ビット)。
  • トゥルークレア(真色): $2^{24} = 16,777,216$ の色を表現できます。

ある意味で、カラー深さは生成できる色の「精度」を表しますが、「範囲」を表すわけではありません。ガマトの外にある色は、どんなにビット数を増やしても決して再現できません


ワイトポイント(白点)と彩度適応

物理科学に戻りましょう。あらゆる物体は黒体放射により光子を放射します。この放射のスペクトルパワージストリビューションには色が関連しています。

  • プランクイアンロキス: 異なる温度の黒体の色が持つ彩度の軌跡。
  • 白色光源: 日光や電球は完璧な黒体ではなく、その色温度(CCT)に基づいて定義されます(例:D65, A)。

非放射物体(反射する物体)の色は、**「固有の色」「照らす光」**の両方に依存します。

  • 例:ある物体は日光の下では青みがかったように見える一方、電球の下ではより黄色いように見えます。

彩度適応

照明の違いによる色の歪みに対して、脳が自動的に補正を行う現象です。

  • メカニズム: 環境からの手がかりを使用して、物体の輝度を維持するために照明の違いを無視(白点適応)します。
  • : 「ドレス」の騒動は典型的なケースです。
    • 脳が照明を「青い光」と仮定すると -> 補正して「白とゴールド」に見える。
    • 脳が照明を「暖かい光(黄色)」と仮定すると -> 補正して「青と黒」に見える。

もし白色点(照明)を補正せずに色を定量化した場合、配置不当に見えるか、完全に間違っている色の記述に至ります。正確な色彩定量化のためには、環境の照明を考慮し、等エネルギー照明体に変換する必要があります


結論:色彩科学への招待

当初の質問は今では容易に答えられます。

  • 色覚異常はコーン異常のためです。
  • 色の加算は、明るさ(輝度)がカラーエントの輝度の和であり、色相または彩度がその比率となります。
  • 色の掛け算は、別の色の照明体を反射する色と考えることができます。
  • カラーヘキサコードは 16,777,216 の可能性を持つ値であっても、そのプライマリーによって制限されています。
  • ドレスの色は、彩度適応によるものです。

色彩は非常に興味深いテーマであり、本能的に質的なものを定量化するためです。この記事は主に加法的なカラーモデルについて議論してきましたが、減法的および他のカラーモデルも同様に興味深いです。さらに、色の心理学(なぜ特定の色の組み合わせが心地よく見えるか)も多彩な科学分野を横断しています。

参考文献

  • Jamie Wong: Color: From Hexcodes to Eyeballs(Jamie ワン:色—from ヘキサコードから目の内面へ)
  • Bartosz Ciechanowski: Color Spaces(バートゾシュ・チェチャンフスキ:カラー空間)
  • Douglas A. Kerr: The CIE XYZ and xyY Color Spaces(ダグラス・A・ケル:CIE XYZ および xyY カラー空間)

同じ日のほかのニュース

一覧に戻る →

2026/08/30 4:33

騰訊發布並開源騰訊Hy4預覽版

## Japanese Translation: 以下の改良版は、完全性を保ちながら読みやすさを維持するため、不足していた技術仕様と性能指標を組み込んでいます。 ## 改善された要約 Tencent は次世代の 770B パラメータを持つ大規模言語モデル(アクティブパラメータ:49B)「Hy4 preview」をローンチしました。このモデルは高生産性タスクに特化して最適化されており、1M トークンを超える広大なコンテキストウィンドウを備えています。Hy4 はシリーズ初となる自主的なトレーニングおよび推論システムの最適化を実現し、オペレーターフュージョンによりエンドツーエンドのスループットを 31.8% 向上させました。内部での盲目評価において、203 のエンジニアリングタスクにわたる 163 名の専門家によって行われ、GLM-5.3(2.92)および Kimi K3(2.94)に対してそれぞれ 2.99/4.00 と高いスコアを記録し、主要競合他社を上回りました。 ソフトウェアエンジニアリング、ゲーム、金融、科学の分野で Tencent の専門家によって共同作成された高品質なデータを用いてトレーニングされた Hy4 は、長文脈開発、単一のプロンプトからのゲームプロトタイピング、分子動力学や物理学などの科学研究分野において明確な優位性を発揮します。現在、Hy4 は Tencent Cloud TokenHub および OpenRouter を介して世界中で利用可能であり、競合的 API 料率(入力トークンあたり 83.4 米セント)で提供されています。同モデルは WorkBuddy および CodeBuddy の Tencent プラットフォーム上で 2 週間無料利用が可能ですが、前世代の Hy3 は引き続き 9 月 30 日までの間アクセス可能です。

2026/08/24 14:09

Tether:Linux での iMessage や SMS の利用

## Japanese Translation: テザー(Tether)は、iPhone とペアリングされた際の macOS の「Continuity」機能——iMessage、SMS、コンタクト同期、通知、ファイル共有、クリップボード同期、ワンタイムパスワード(OTP)の自動入力——を Linux へ統合し、KDE Connect など既存ソリューションが補えていないギャップを埋めています。セキュリティは当初から最優先事項であり、iOS と Linux の通信には mTLS 暗号化を採用し、定期的に Opus および Fable のセキュリティスキャンを実施することで実現しました。他のメールクライアントへの広範なサポートはまだ利用できません。開発者はバックエンド開発を優先し、拡張子の移植には集中しないためです。OTP の自動入力は、Zen Browser(Firefox)と Betterbird(Thunderbird)向けのブラウザおよびメール拡張機能を通じて行われ、メールからコードを拡張機能へ送ってログインフォームの自動埋め込みを実現します。 直接の iMessage/SMS アクセスのための Bluetooth 統合は、GPL ベースのプロジェクト(例:ancs4linux や BlueFerry)とのライセンス衝突を避けるために、独自のカスタム C++「クリーンルーム」手法を用いて実装されています。テザーは引き続き MIT ライセンスを採用しています。現在の Linux ベースのデーモンは、Tailscale などの earlier プロキシ方式と比べてより優れた直接的な接続体験を提供しており、ユーザーからは不快であると評価されていました。iOS アプリが先に登場し、当初は基本的なクリップボード同期のみを処理し、その後に広範な Continuity スタックが構築されました。 ファイル共有およびプッシュ通知は直ちに利用可能ですが、ハードウェア制約や Bluetooth 切断の問題など、将来のアップデートにおける課題依然存在しています。特に Bluetooth の実装は 2026 年においてもエッジケースが多いため困難です。本プロジェクトは金銭的利益よりも真なる価値と満足感を提供することを目指しており、シームレスなクロスプラットフォーム接続を求める技術愛好家にとってユニークなツールとなっています。バグレポート、機能要望、翻訳、ドキュメントなどの貢献をコミュニティから歓迎します。

2026/08/30 3:22

vLLM 0.28.0

## Japanese Translation: このリリースは、主要なアーキテクチャ変更と拡張ハードウェアサポートにより AI 推論を加速することに焦点を当てた決定的なアップグレードです。主なパフォーマンス向上としては、ファインズドカーネルによって大きなモデル(特に MegaMoE)で最大 1.5〜3 倍の高速化、推論の最適化(DFlash2/DSpark)、GPU ごとに約 17 GiB のメモリ節約を実現する共有エキスパートシャッディングなどがあります。この更新はハードウェア互換性を大幅に拡大し、NVIDIA アーキテクチャ(Blackwell SM90/B12X を含む、ネイティブな DSA/FlashInfer パスを備えたもの)および AMD ROCm プラットフォーム(gfx950/gfx120x)、MLA および FP8 推論向けの特定の最適化を可能にします。 機能面では、Weight Offloading、マルチレイヤー MTP KV キャッシュ、アテンション不要なモデルサポートといった機能を備えた Model Runner V2 が導入されました。また、バッチトークン上限値を 16384 に倍増させたり、Mamba モデルにデフォルトでプレフィックスキャッシュを有効化したりするなどの推論デフォルトも標準化されています。エコシステムの主要な更新としては、PyTorch 2.12 と Transformers 5.15.0 への移行が必須となり、ディスクオフローディングをサポートする階層型 KV キャッシュシステムが追加されました。さらに、gRPC を通じたネイティブ Rust フロントエンドサポートが追加され、Muse Glimmer、Ling 3.0 Flash、Qwen3.8 など多数の新しいモデルへの対応も開始(AMD 向け)。組織は、これらの高度な機能を利用するために、非推奨化された関数や特定の依存関係に関する破壊的な変更に対応する必要があります。