デジタル写真、コンピュータ生成画像、測色において、グレースケール画像(アメリカ英語ではgreyscale 、イギリス英語ではgreyscale)とは、各ピクセルの値に色情報が含まれていない画像のことです。ピクセル値は通常、0~255(黒~白)の範囲で格納されます。
グレースケール画像は、白黒またはグレーのモノクロ画像であり、グレーの濃淡のみで構成されています。コントラストは、最も弱い強度の黒から最も強い強度の白まで変化します。 [ 1 ]グレースケール画像は、コンピュータ画像処理の文脈では、黒と白の2色のみを持つ画像(二値画像またはバイナリ画像とも呼ばれる)である1ビットの二値白黒画像とは異なります。グレースケール画像には、その間に多くのグレーの濃淡があります。
グレースケール画像は、特定の周波数(または波長)の重み付けされた組み合わせに従って各ピクセルにおける光の強度を測定することによって得られます。このような場合、単一の周波数(実際には狭い周波数帯域)のみが捉えられるため、真のモノクロ画像となります。周波数は、原理的には電磁スペクトルのあらゆる範囲(赤外線、可視光、紫外線など)から選択できます。
測色(より正確には測光)グレースケール画像とは、定義されたグレースケールカラースペースを持つ画像のことです。このカラースペースは、保存された数値サンプル値を、人間の視覚の測定された特性に基づいた標準カラースペースの無彩色チャネルにマッピングします。
元のカラー画像に定義された色空間がない場合、またはグレースケール画像がカラー画像と同じ人間が知覚する無彩色強度を持つことを意図していない場合、そのようなカラー画像からグレースケール画像への一意のマッピングは存在しません。
ピクセルの強度は、最小値と最大値の間の特定の範囲内で表されます。この範囲は、抽象的には、0(または0%)(完全な不在、黒)から1(または100%)(完全な存在、白)までの範囲として表され、その間に任意の小数値が含まれます。この表記は学術論文で使用されますが、これは測色における「黒」や「白」の定義ではありません。印刷のように、数値強度がハーフトーン処理で使用されるインクの量を表す場合、スケールが逆になることがあります。この場合、0%は紙の白(インクなし)を表し、100%は完全な黒(インクがたっぷり)を表します。
コンピューティングでは、グレースケールは有理数で計算できますが、必要なストレージと計算を削減するために、通常は画像のピクセルを量子化して符号なし整数として保存します。初期のグレースケールモニターの中には、最大 16 種類の異なる色調しか表示できないものもあり、これは4ビットを使用してバイナリ形式で保存されていました。しかし、今日では、視覚表示を目的としたグレースケール画像は、サンプリングされたピクセルごとに 8 ビットで保存されるのが一般的です。このピクセル深度により、256 種類の異なる強度 (つまり、グレーの濃淡) を記録でき、各ピクセルサンプルを 1バイトとして個別にアクセスできるため、計算も簡素化されます。ただし、これらの強度がそのピクセルで表す物理的な光の量に比例して等間隔に配置されている場合 (線形エンコーディングまたはスケールと呼ばれます)、隣接する暗い色調間の違いはバンディングアーティファクトとしてかなり目立つ可能性がありますが、多くの明るい色調は知覚的に区別できない増分をエンコードすることで「無駄」になります。そのため、色調は通常、ガンマ圧縮された非線形スケール上に均等に分布しており、暗い色調と明るい色調の両方で均一な知覚的増分をよりよく近似し、通常、これらの 256 色調で目立った増分を回避するのに十分です。[ 2 ]
技術的な用途(医療画像処理やリモートセンシングなど)では、センサーの精度(通常、サンプルあたり10ビットまたは12ビット)を最大限に活用し、計算における丸め誤差を減らすために、より多くのレベルが必要となることがよくあります。1サンプルあたり16ビット(65,536レベル)は、コンピュータが16ビットワードを効率的に処理できるため、このような用途には便利な選択肢となることがよくあります。TIFFやPNG(その他)などの画像ファイル形式は、 16ビットグレースケールをネイティブにサポートしていますが、ブラウザや多くの画像処理プログラムは、各ピクセルの下位8ビットを無視する傾向があります。画像処理ソフトウェアは、内部的に計算や作業用ストレージに、通常、16ビットまたは32ビットの整数または浮動小数点数を使用します。

任意の色画像をグレースケールに変換する方法は一般的に一つではありません。色チャンネルの重み付けを変えることで、カメラに異なる色の写真用フィルターを取り付けて白黒フィルムを撮影した場合の効果を効果的に表現できます。
一般的な戦略は、測光またはより広義には色彩測定の原理を使用して、元のカラー画像(その色空間に従って)と同じ輝度(技術的には相対輝度)を持つようにグレースケール値(ターゲットグレースケール色空間)を計算することです。[ 3 ] [ 4 ] この方法は、同じ(相対)輝度に加えて、同じ白色点が与えられた場合、画像の任意の領域で、SI単位の カンデラ毎平方メートルで測定できる絶対輝度が両方の画像で表示されるときに同じになることも保証します。輝度自体は人間の視覚の標準モデルを使用して定義されるため、グレースケール画像で輝度を保持すると、 L *(1976 CIE L ab色空間の場合)などの他の知覚的な明るさの尺度も保持されます。L*は、線形輝度Y自体( CIE 1931 XYZ色空間の場合)によって決定され、ここでは曖昧さを避けるためにY線形と呼びます。
典型的なガンマ圧縮(非線形)RGBカラーモデルに基づくカラースペースから色をその輝度のグレースケール表現に変換するには、まずガンマ圧縮関数をガンマ展開(線形化)によって除去して画像を線形RGBカラースペースに変換し、適切な重み付き和を線形カラーコンポーネントに適用する必要があります()線形輝度Yを計算し、グレースケール結果も一般的な非線形色空間にエンコードして保存する場合は、それを再びガンマ圧縮することができます。[ 5 ]
一般的なsRGBカラースペースの場合、ガンマ拡張は次のように定義されます。
ここで、C srgb は3 つのガンマ圧縮された sRGB 原色 ( R srgb、G srgb、およびB srgb、それぞれ範囲 [0,1]) のいずれかを表し、C linearは対応する線形強度値 ( R linear、G linear、およびB linear、こちらも範囲 [0,1]) です。次に、線形輝度は、3 つの線形強度値の加重和として計算されます。sRGB色空間は、 CIE 1931線形輝度Y linearで定義され、 [ 6 ]で与えられます。
これら3つの係数は、 sRGBの定義で使用されるRec.709加法混色原色(色度)の光に対する、典型的な三色型色覚を持つ人間の強度(輝度)知覚を表しています。人間の視覚は緑色に最も敏感であるため、この係数の値は最大(0.7152)となり、青色には最も鈍感であるため、この係数の値は最小(0.0722)となります。グレースケール強度を線形RGBにエンコードするには、3つの色成分それぞれを、計算された線形輝度と等しく設定できます。(置き換える)値によってこの線形グレースケールを取得するには、通常、従来の非線形表現に戻すためにガンマ圧縮する必要があります。 [ 7 ] sRGBの場合、その3つの原色はそれぞれ、上記のガンマ展開の逆数で与えられる 同じガンマ圧縮Y srgbに設定されます。
3つのsRGB成分がすべて等しいということは、それが実際にはグレースケール画像(カラー画像ではない)であることを示しているため、これらの値を一度だけ保存すればよく、これをグレースケール画像と呼びます。JPEGやPNGなど、単一チャンネルのグレースケール表現をサポートするsRGB互換画像フォーマットでは、通常このように保存されます。WebブラウザやsRGB画像を認識するその他のソフトウェアは、このようなグレースケール画像に対しても、3つのカラーチャンネルすべてが同じ値を持つ「カラー」sRGB画像と同じレンダリング結果を生成するはずです。
PAL、SECAM、NTSCなどの標準カラーテレビおよびビデオシステムで使用されるY'UVおよび関連カラースペースの画像の場合、非線形輝度成分(Y ')は、ガンマ圧縮された原色強度から加重和として直接計算されます。これは、測色輝度を完全に表現するものではありませんが、測光/測色計算で使用されるガンマ拡張および圧縮なしでより高速に計算できます。PALおよびNTSCで使用されるY'UVおよびY'IQモデルでは、rec601輝度(Y ')成分は次のように計算されます。 ここでプライム記号を使用して、これらの非線形値を、やや異なるガンマ圧縮式を使用するsRGB非線形値(上記で説明)や線形RGB成分と区別します。ATSCによって開発されたHDTVで使用されるITU-R BT.709規格は、異なる色係数を使用し、輝度成分を次のように計算します。 これらは上記のsRGBで使用されている係数と数値的には同じですが、ここでは線形化された値ではなくガンマ圧縮された値に直接適用されるため、効果は異なります。HDRテレビのITU -R BT.2100規格ではさらに異なる係数を使用し、輝度成分を次のように計算します。
通常、これらのカラースペースは、表示のためにレンダリングされる前に、非線形R'G'B'に変換されます。十分な精度が維持される限り、それらは正確にレンダリングされます。
しかし、代わりに輝度成分 Y' 自体をカラー画像のグレースケール表現として直接使用すると、輝度は保持されません。2 つの色は同じ輝度Y 'を持つことができますが、CIE 線形輝度Yが異なり(したがって、上記で定義した非線形Y srgbも異なる)、そのため、通常の人間には元の色よりも暗くまたは明るく見えます。同様に、同じ輝度Y (したがって、同じY srgb ) を持つ 2 つの色は、一般的に、上記のY '輝度の定義のいずれかによって異なる輝度を持ちます。[ 8 ]
カラー画像は、多くの場合、複数のカラーチャンネルを重ね合わせて構成されており、各チャンネルはそれぞれのチャンネルの値レベルを表しています。例えば、RGB画像は、赤、緑、青の3つの原色成分に対応する独立したチャンネルで構成されています。CMYK画像は、シアン、マゼンタ、イエロー、ブラックのインクプレートに対応する4つのチャンネルで構成されています。
以下は、フルRGBカラー画像のカラーチャンネル分割の例です。左側の列には、分離されたカラーチャンネルが自然な色で表示され、右側には、それらのグレースケール相当値が表示されています。

逆もまた可能で、それぞれのグレースケールチャンネルからフルカラー画像を構築できます。オフセット、回転、その他の操作を使用してチャンネルを歪めることで、元の画像を正確に再現するのではなく、芸術的な効果を得ることができます。[ 9 ]