回答:
デジタルカラーは、赤、緑、青の3つのコンポーネントで構成できます。これらを組み合わせると、最終的な色が得られます。黄色は100%赤、100%緑、0%青です。
4番目のコンポーネントは、前述のとおり、透明性です。一緒に、これらRGBA
は画像を表すタプル(赤、緑、青、アルファ)を形成します。
さて、ピクセルの代わりに、別の方法を考えてみてください:画像を4つのレイヤーに分割したらどうなるでしょうか?次のようにそれらを分離できます。
これらのレイヤーは、実際には「チャネル」と呼ばれます。サンプル画像では次のようになります。
この画像では、赤チャンネルの赤ピクセルのみを見ることができます。緑と青についても同様です。それが意味するすべてです-一緒に結合される別々の色の「チャネル」としてイメージについて考える方法。
この用語は、周波数スペクトルの特定の部分を意味する「チャネル」の定義に由来します。この場合、色の赤、緑、青の成分はしばしば「チャネル」と呼ばれます(赤、緑、青の光は可視光スペクトルの一部であるため)。
アルファはコンピューターグラフィックスの色の別のコンポーネント(他のような可視光に厳密に関連するものではありませんが)であるため、チャンネルとも呼ばれます。
アルファチャネルは、実際にジョージルーカスの会社Industrial Light&Magicによって発明されました(実際、Alvy Ray Smithはそこで働いていましたが、以前Xerox PARCに雇われていました-現代のコンピューティングのほとんどすべてに感謝できます!)
アルファチャネルは、透明なウィンドウ、透明なグラデーション、リアルな影などのクールな効果に加えて、サブピクセル操作に使用できます。実際、当初の使用は、当時のコンピューターグラフィックスが悪かったためです。アンチエイリアス処理された画像を別の背景(またはライブムービーの背景)にオーバーレイするには、エッジがブロック状になります。それは映画には役に立たず、背景で画像をアンチエイリアス処理しようとすると、CPU時間がかかりすぎます。そのため、画像のエッジは半透明になります(アルファチャネル)。これにより、さまざまな密度で背景が透けて見えるようになります-2つの画像の色を混ぜてアンチエイリアスをかけます。これは、最近ではどこでも使用されています。たとえば、通常の解像度で許容されるよりもはるかに滑らかなエッジでアイコンを描画するためです。
アルファチャネルはハードウェアで簡単に実行できます。初期の映画制作マシンには「ゲンロック」ビットがあり(Amigaおよび一部のAtariマシンでも利用可能)、基本的にはコンピューター出力からビデオ出力に切り替わる出力ピンでした。ピンは出力の「透明度」ビット(通常はRGBの「hicolor」グラフィックモード5:5:5、透明度の1ビット= 16ビット/ピクセル)によって駆動され、コンピューター生成コンテキストをライブで簡単にオーバーレイできました。ビデオをデジタル化せずにビデオ。これは後に修正され、8ビットDACを備えたアナログ出力になりました。したがって、コンピューターとライブビデオを切り替える代わりにブレンドし、1ビットテクニックで使用されていた厄介なブロックエッジを削除しました。アナログアンチエイリアシング!
最新のビデオカードは、複数の情報レイヤーを一度にメモリに保存し、アルファレイヤーを使用してハードウェアで複数のアルファ透明レイヤーを混在させることができます。これにより、「スプライト」やアンチエイリアス処理が必要な他のオブジェクトの見栄えが良くなります。固定の背景色にミキシングする代わりに、アンチエイリアシングはアルファチャンネルを使用してオンザフライでミキシングします。もちろん、アルファチャンネルを使用してあらゆる種類のことを実行できますが、これが出発点になることを願っています。詳細については、ウィキペディアを試してください。
ピクセルはコンポーネントのコレクションです。従来、これらのコンポーネントは赤、緑、青で、それぞれ8ビットのデータを取得します。
メモリを特定の方法で整列させることがしばしば有利であるため、これらはそれぞれ32ビットのスペースにパックされることがあります。これにより、各ピクセルの終わりに8ビットの追加データが残ります。これは赤でも緑でも青でもないため、名前が必要です。アルファは比較的意味のない名前でした。
ピクセルの配列を長方形に配置すると、次のようになります:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
時々、上記の色の1つ、たとえば赤についてだけ話したいことがあります。
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
各ピクセルコンポーネントの1つの要素のみのこのサブ選択は、画像内の「チャネル」と呼ばれます。ピクセルには4つのコンポーネントがあるため、この画像には4つのチャンネルがあります。
アルファチャネルがない他の画像形式があります。
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
また、ピクセルコンポーネントごとに異なるビット数(3,5,8,16,32)の形式があり、一部のピクセルコンポーネントごとに不均一なビットがあります。
チャネルは、1つのピクセルコンポーネントのみの「仮想」配列になります。(私は仮想と言います、なぜなら各要素間にストライドがあるのに対し、配列には伝統的にそのようなストライドがないためです)
RGB部分も固定ではありません-アルファチャネルの有無にかかわらずグレースケールイメージを作成できます。CMYKイメージ(通常は減法混色空間のシアンマゼンタイエローblacK)を作成できます。鏡面反射光トレーサーまたは科学機器によって作成された無数の異なるカラーチャンネル。
ピクセルは常に連続しているように処理しましたが、次のようにチャネルを複数の場所に分割することもできます。
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
あるいは
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
または、RGBをパックし、Aを別のバッファーに保存します。
最新のグラフィックスカードは多くの場合RGBAピクセルを中心に設計されているため、これはゲームのライブデータではまれです。RGBは均一に処理でき、Aを使用すると、事前にペイントされた背景の上にRGBAピクセルを合成できる隣接する迅速な計算を実行できます。
アルファチャネルは、透明度情報によく使用されます。面倒なことに、alphaの最大値は、異なるコードベースによって透明な場合と不透明な場合があります。これも最近ではあまり一般的ではありません。アルファチャネルはzバッファーの順序付け(ピクセルがビューアーからどれだけ離れているか)にも使用されており、シーンへの順序付けられていない描画を可能にします。高解像度画像のアルファチャンネル、再帰的に。
RGBAピクセルを使用するシステムでさえ、これらのピクセルの意味が一致しない場合があります。Rは、人間が見る赤の量、または赤の光子をいくつ放出するかを測定しますか?これは、線形カラースペースと非線形カラースペースの違いであり、このピクセルを透明チャンネルで合成する正しい方法に影響を与えます。