
ガンマ補正またはガンマは、ビデオや画像の輝度をエンコードおよびデコードするために使用される非線形演算です。[ 1 ]
ガンマ補正は、最も単純なケースでは、次のべき乗法則によって定義されます。
ここで、非負の実数入力値は定数Aでべき乗され、出力値が得られます。一般的なケースであるA = 1の場合、入力と出力は通常0~1の範囲になります。
ガンマ値はエンコード ガンマと呼ばれることもあり、この圧縮べき乗非線形性を使用してエンコードするプロセスはガンマ圧縮と呼ばれます。逆に、ガンマ値はデコード ガンマと呼ばれ、拡張べき乗非線形性の適用はガンマ拡張と呼ばれます。
画像のガンマ符号化は、人間が光と色を非線形に知覚する性質を利用して、画像を符号化する際のビット使用率や、画像を転送するために使用される帯域幅を最適化するために使用されます。[ 1 ]人間の明るさ (明度)の知覚は、一般的な照明条件 (真っ暗でも目がくらむほど明るくもない) では、近似的なべき関数(ガンマ関数とは無関係) に従い、明るい色調間よりも暗い色調間の相対的な差に敏感になります。これは、明るさ知覚に関するStevens のべき法則と一致しています。画像がガンマ符号化されていない場合、人間が区別できないハイライトにはビットや帯域幅が多すぎ、人間が敏感で同じ画質を維持するためにより多くのビット/帯域幅が必要となるシャドウの値にはビットや帯域幅が少なすぎます。[ 2 ] [ 1 ] [ 3 [ 4 ]
ガンマエンコーディングはもともとブラウン管(CRT)ディスプレイの輝度特性を補正するために開発されたが、現代のシステムではそれが主な目的や利点ではない。CRTディスプレイでは、光強度は電子銃電圧に対して非線形に変化する。ガンマ圧縮によって入力信号を変化させることで、この非線形性をキャンセルし、出力画像を意図した輝度にすることができる。しかし、ディスプレイデバイスのガンマ特性は、画像や動画のガンマエンコーディングには影響を与えない。信号の画質を最大限に高めるには、ディスプレイデバイスのガンマ特性に関わらず、ガンマエンコーディングが必要となる。[ 1 ] [ 3 ] CRTの物理的特性と、動画伝送に必要なガンマエンコーディングの逆特性が類似しているのは、偶然と工学的手法の組み合わせによるもので、初期のテレビの電子機器を簡素化した。[ 5 ]
写真フィルムは、印画紙で再現できるよりもはるかに優れた微細な陰影の差を記録する能力を持っています。同様に、ほとんどのビデオ画面は、一般的な電子カメラが捉えられる明るさの範囲(ダイナミックレンジ)を表示できません。[ 6 ] このため、元の画像をどのように縮小して提示するかを選択するには、かなりの芸術的努力が費やされます。ガンマ補正、つまりコントラスト選択は、再現された画像を調整するために用いられる写真技術の一部です。
同様に、デジタルカメラは、通常は線形に反応する電子センサーを用いて光を記録します。線形の生データを従来のRGBデータに変換するプロセス(例えばJPEG画像形式への保存)では、色空間変換とレンダリング変換が行われます。特に、ほぼすべての標準的なRGB色空間とファイル形式は、写真再現における原色の意図された強度の非線形符号化(ガンマ圧縮)を使用しています。さらに、意図された再現は、トーン再現の非線形性を介して、測定されたシーンの強度とほぼ常に非線形の関係にあります。
ガンマの概念は、あらゆる非線形関係に適用できます。べき乗則の関係では、両対数プロット上の曲線は直線となり、傾きはどこでもガンマに等しくなります(傾きはここでは微分演算子で表されます)。
つまり、ガンマは、対数軸上にプロットされた入出力曲線の傾きとして視覚化できます。べき乗曲線の場合、この傾きは一定ですが、この考え方はあらゆる種類の曲線に拡張でき、その場合、ガンマ(厳密には「点ガンマ」[ 7 ])は、任意の領域における曲線の傾きとして定義されます。

写真フィルムが光にさらされると、その露出結果は、横軸に露出の対数、縦軸に濃度(透過率の負の対数)を取ったグラフで表すことができます。特定のフィルム配合と処理方法において、この曲線はそのフィルムの特性曲線、またはハーター・ドリフィールド曲線と呼ばれます。[ 8 ] [ 9 ]両軸とも対数単位を使用しているため、曲線の直線部分の傾きはフィルムのガンマと呼ばれます。ネガフィルムのガンマは通常1未満です。[ 9 ] [ 10 ]ポジフィルム(スライドフィルム、リバーサルフィルム)のガンマは通常、絶対値が1より大きいです。[ 11 ]
CRTベースのテレビ受信機やモニターへの出力では、通常、ガンマ補正は不要です。画像ファイルで送信または保存される標準ビデオ信号には、CRTのガンマ拡張に合わせたガンマ圧縮が組み込まれています(ただし、完全に逆ではありません)。テレビ信号の場合、ガンマ値はアナログビデオ規格によって固定および定義されています。NTSCカラーに関連するCCIRシステムMはガンマ2.2を使用し、 PALまたはSECAMカラーに関連するシステムB / G、H、I、D / K、K1、L、M、Nはガンマ2.8を使用します。[ 12 ] [ 13 ]
ほとんどのコンピュータ表示システムでは、画像は約 0.45 のガンマでエンコードされ、逆数の 2.2 のガンマでデコードされます。注目すべき例外として、2009 年 9 月にMac OS X 10.6 (Snow Leopard)がリリースされるまで、 Macintoshコンピュータではガンマ 0.55 でエンコードされ、ガンマ 1.8 でデコードされていました。いずれにしても、静止画像ファイル (JPEG など) 内のバイナリデータは、動画ファイル ( MPEGなど) と同様、明示的にエンコードされます (つまり、線形強度ではなくガンマ エンコードされた値を持ちます) 。出力デバイスのガンマとのより適切な一致が必要な場合、システムはオプションでカラー管理を通じて両方のケースをさらに管理できます。

ほとんどのカメラ、PC、プリンターで使用されているsRGBカラースペース規格は、上記のような単純なべき乗非線形性を採用していませんが、右/上のグラフに示すように、その範囲の大部分においてデコードガンマ値は2.2付近となります。圧縮値が0.04045、または線形強度が0.00313を下回ると、曲線は線形(エンコード値が強度に比例)となり、γ = 1となります。赤い曲線の後ろにある黒い破線は、比較のために標準的なγ = 2.2のべき乗曲線です。
コンピュータにおけるガンマ補正は、例えば、ガンマ=1.8のApple画像をガンマ=2.2のPCモニターに正しく表示するために、画像のガンマ値を調整します。また、個々のカラーチャンネルのガンマを均等化することで、モニター間の差異を補正する用途もあります。
一部の画像形式では、画像の意図的なガンマ(エンコードされた画像サンプルと光出力間の変換)をメタデータとして保存できるため、自動ガンマ補正が容易になります。PNG仕様にはこの目的のためのgAMAチャンクが含まれています[ 14 ] 。また、JPEGやTIFFなどの形式では、 Exifガンマタグを使用できます。一部の形式では、伝達関数を含むICCプロファイルを指定できます。
これらの機能は歴史的に、特にウェブ上で問題を引き起こしてきました。HTML や CSS の色、およびカラープロファイルのメタデータが添付されていない JPG や GIF 画像の場合、一般的なブラウザは色管理を行わずに数値の色値をディスプレイに渡していたため、デバイス間で見た目が大きく異なっていました。しかし、同じブラウザが色管理を通じてメタデータにガンマを明示的に設定した画像を送信し、メタデータが省略された PNG 画像にはデフォルトのガンマを適用していました。そのため、PNG 画像をあらゆるデバイスで HTML やタグなし JPG の色と同時に一致させることは不可能でした。[ 15 ] [ 16 ] [ 17 ]その後、この状況は改善され、ほとんどの主要ブラウザがガンマ設定(またはその欠如)をサポートしました。[ 18 ] [ 19 ]
ガンマ特性は、テレビシステムでエンコードされた輝度と実際の望ましい画像の輝度 との関係を近似するべき乗関係です。
この非線形関係により、符号化された輝度の等間隔は、主観的に等間隔の明るさとほぼ等間隔に対応する。エブナーとフェアチャイルド[ 20 ]は、線形強度をニュートラルの明度(ルマ)に変換するために0.43という指数を用いた。この逆数である約2.33(典型的なディスプレイサブシステムで引用されている2.2という数値に非常に近い)は、グレーの知覚符号化においてほぼ最適な値となることがわかった。
次の図は、エンコードされた輝度信号が線形に増加するスケール (線形ガンマ圧縮輝度入力) と、強度スケールが線形に増加するスケール (線形輝度出力) の違いを示しています。
| 線形エンコーディング | V S = | 0.0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1.0 |
| 線強度 | 私= | 0.0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1.0 |
ほとんどのディスプレイ(ガンマ値が約2.2のもの)では、線形強度スケールでは強度値0.0と0.1の間で知覚される明るさが大きく変化しますが、スケールの上限付近の輝度の段差はほとんど知覚されません。ガンマエンコードされたスケールでは、強度が非線形に増加するため、知覚される明るさの段差ははるかに均一になります。
例えば、CRTはビデオ信号を非線形的に光に変換します。これは、電子銃の強度(明るさ)が印加ビデオ電圧の関数として非線形であるためです。光強度Iは、電源電圧V sと次の 関係があります。
ここで、 γはギリシャ文字のガンマです。CRTの場合、明るさと電圧を関連付けるガンマは通常2.35から2.55の範囲です。コンピュータのビデオルックアップテーブルは通常、システムガンマを1.8から2.2の範囲に調整します。[ 1 ]これは、このセクションの冒頭の図に示すように、均一なエンコード差がほぼ均一な知覚的明るさ差をもたらす領域です。
分かりやすくするために、モノクロCRTの例を考えてみましょう。この場合、0.5(中間グレーを表す)のビデオ信号がディスプレイに供給されると、輝度は約0.22(中間グレー、白の約22%の輝度)になります。純粋な黒(0.0)と純粋な白(1.0)だけがガンマの影響を受けない色調です。
この効果を補正するために、逆伝達関数(ガンマ補正)がビデオ信号に適用されることがあります。これにより、エンドツーエンドの応答が線形になります。言い換えれば、伝送された信号は意図的に歪められ、表示デバイスによって再び歪められた後、視聴者は正しい明るさを認識できるようになります。上記の関数の逆関数は、
ここで、V cは補正電圧、V sは電源電圧(例えば、光電荷を直線的に電圧に変換するイメージセンサーなど)です。CRTの例では、1/ γは1/2.2 ≈ 0.45です。
カラーCRTは3つのビデオ信号(赤、緑、青)を受信し、通常、各色にはγ R、γ G、またはγ Bで表される独自のガンマ値があります。ただし、単純な表示システムでは、 3色すべてに 単一のγ値が使用されます。
他のディスプレイデバイスではガンマ値が異なります。例えば、ゲームボーイアドバンスのディスプレイでは、照明条件に応じてガンマ値は3~4です。ノートパソコンなどのLCDでは、信号電圧V sと輝度Iの関係は非常に非線形であり、ガンマ値で記述することはできません。しかし、このようなディスプレイでは、標準的なγ = 2.5の挙動を近似的に得るために、信号電圧に補正を適用します。NTSCテレビ録画では、 γ = 2.2です。
べき乗関数、またはその逆関数は、ゼロで傾きが無限大になります。そのため、ガンマ色空間との変換で問題が発生します。このため、sRGBなどの正式に定義された色空間のほとんどは、ゼロ付近に直線部分を定義し、その曲線にx + K(Kは定数)のべき乗を加算することで、曲線の傾きが連続的になるようにしています。この直線はCRTの挙動を表すものではありませんが、曲線の残りの部分をCRTに対する周囲光の影響に近づけます。このような式では、指数はガンマではありません。例えば、sRGB関数は2.4のべき乗を使用しますが、線形部分のない指数が2.2のべき乗関数に近いものです。
一般的な 2.2 または 1.8 ガンマのコンピュータ ディスプレイに表示される画像を修正するためのガンマ エンコーディングを実現するために、最大 4 つの要素を操作できます。
正しくキャリブレーションされたシステムでは、各コンポーネントは入力および/または出力エンコーディングに対して指定されたガンマを持ちます。[ 22 ]各ステージではガンマを変更して様々な要件を補正し、最終的に出力デバイスは必要に応じてガンマデコードまたは補正を行い、線形強度領域を実現します。すべてのエンコーディングおよび補正方法は、異なる要素間でこの事実を相互に認識することなく、任意に重ね合わせることができます。これらの変換が不適切に行われると、非常に歪んだ結果につながる可能性がありますが、標準規格や規則に従って正しく行われれば、適切に機能するシステムにつながります。
典型的なシステム、例えばカメラからJPEGファイルを経てディスプレイに至るまでのシステムでは、ガンマ補正の役割は複数の連携する部品によって担われます。カメラは、レンダリングした画像を2.2などの標準ガンマ値を用いてJPEGファイルにエンコードし、保存および転送します。ディスプレイコンピュータは、ピクセル値をビデオメモリに格納する前に、カラーマネジメントエンジンを用いて異なる色空間(例えば、古いMacintoshのγ = 1.8色空間)に変換する場合があります。モニターは、CRTのガンマをビデオシステムで使用されているガンマに合わせるために、独自のガンマ補正を行う場合があります。デフォルトの標準ガンマ値を用いて標準インターフェースを介してコンポーネントを調整することで、このようなシステムを適切に構成することが可能になります。

この手順は、プロファイルが使用されていないシステム (たとえば、バージョン 3.0 より前の Firefox ブラウザなど) や、タグなしのソース イメージが sRGB カラー スペースにあると想定しているシステムで、モニターにイメージをほぼ正確に表示させるのに役立ちます。
テスト パターンでは、各ソリッド カラー バーの強度は、周囲のドット ディザの強度の平均となるように意図されています。したがって、理想的には、指定されたガンマに適切に調整されたシステムでは、ソリッド領域とディザが同じ明るさで表示される必要があります。
通常、グラフィックカードにはコントラストと明るさの調整機能があり、透過型LCDモニターにはコントラスト、明るさ、バックライトの調整機能があります。グラフィックカードとモニターのコントラストと明るさは実効ガンマに影響を与えるため、ガンマ補正が完了した後は変更しないでください。
テスト画像の上部にある2本のバーは、コントラストと明るさの適切な値を設定するのに役立ちます。各バーには3桁の数字が8つあります。適切なキャリブレーションが施された高品質なモニターでは、両方のバーの右側に6つの数字が表示されますが、安価なモニターでは4つの数字しか表示されません。
望ましい表示システムのガンマが与えられている場合、観察者が市松模様の部分と各色の領域の均一な部分で同じ明るさを見るならば、ガンマ補正はほぼ正しい。[ 23 ] [ 24 ] [ 25 ]多くの場合、原色のガンマ補正値はわずかに異なります。
モニター調整の次のステップは、 色温度または白色点を設定することです。
ガンマ補正の前に、モニターのコントロールを使用して目的のガンマと色温度を設定する必要があります。ガンマ、コントラスト、明るさのコントロールを使用したLCDのガンマ補正は、特定の 1 つの垂直視野角、つまり特定の 1 つの明るさとコントラスト レベルでのモニター上の 1 つの特定の水平線に対してのみ実行できます。ICCプロファイルを使用すると、モニターを複数の明るさレベルで調整できます。モニターの品質 (および価格) によって、この動作ポイントからどの程度偏差があっても十分なガンマ補正が得られるかが決まります。原色あたり6 ビットの色深度のTwisted Nematic (TN) ディスプレイは最も品質が低いです。通常 8 ビットの色深度のIn-Plane Switching (IPS) ディスプレイのほうが優れています。高品質のモニターは 10 ビットの色深度で、ハードウェアカラー管理機能を備え、三刺激値色彩計を使用したハードウェア キャリブレーションが可能です。多くの場合、6 ビット + FRCパネルが 8 ビットとして、8 ビット + FRC パネルが 10 ビットとして販売されています。FRC は、より多くのビットの真の代替にはなりません。 24 ビットおよび 32 ビットの色深度形式では、原色ごとに 8 ビットが使用されます。
Microsoft Windows 7以降では、ユーザーはディスプレイカラーキャリブレーションツールdccw.exeまたはその他のプログラムを使用してガンマ補正を設定できます。[ 26 ] [ 27 ] [ 28 ]これらのプログラムはICCプロファイルファイルを作成し、それをデフォルトとして読み込みます。これにより、色管理が容易になります。[ 29 ] dccwプログラムのガンマスライダーを、最後の色の領域(多くの場合緑色)が市松模様の均一な領域で同じ明るさになるまで上げます。ガンマ補正プログラムのカラーバランスまたは個々の色のガンマ補正スライダーを使用して、他の2つの色を調整します。一部の古いグラフィックカードドライバーは、スタンバイまたは休止状態モードから起動した後にカラールックアップテーブルを正しく読み込まず、間違ったガンマを表示します。この場合は、グラフィックカードドライバーを更新してください。
X Window Systemを実行している一部のオペレーティングシステムでは、ガンマ補正係数(既存のガンマ値に適用)を設定するために、ガンマ補正係数を0.9に設定するコマンドとxgamma -gamma 0.9、xgammaその係数の現在の値(デフォルトは1.0)を取得するコマンドを実行できます。macOSシステムでは、ガンマやその他の関連する画面調整はシステム環境設定から行います。
一般的に、ピクセル値の操作は「線形光」(ガンマ1)で実行する必要があります。Eric Brasseurはこの問題について長々と議論し、テスト画像を提供しています。[ 30 ]これらの画像は、広く見られる問題を指摘しています。多くのプログラムは、物理的に正しい線形空間ではなく、ガンマ付きの色空間でスケーリングを行っています。テスト画像は、ダウンサンプリングが不適切だと見た目が劇的に異なるように作成されています。Jonas Berlinはこの原則に基づいて、「あなたのスケーリングソフトウェアは最悪/最悪」という画像を作成しました。[ 31 ]
この問題はスケーリングだけでなく、JPEGのガンマ対応Y′CbCrにおける彩度サブサンプリングなど、他の形式のダウンサンプリング(スケーリングダウン)にも当てはまります。[ 32 ] WebPは線形空間で彩度平均を計算し、ガンマ対応空間に再変換することでこの問題を解決します。大きな画像には反復的なソリューションが使用されます。同じシャープYUV(旧スマートYUV)コードはsjpegで使用され、オプションでAVIFでも使用されます。Kornelskiは輝度ベースの加重平均によるより単純な近似を提供します。[ 33 ]アルファ合成、カラーグラデーション、3Dレンダリングもこの問題の影響を受けます。[ 34 ] [ 35 ]
逆説的ですが、画像をアップサンプリング(拡大)する場合、「間違った」(非物理的な)ガンマ色空間で処理した結果の方が、見た目に美しくなることがよくあります。[ 36 ]これは、ミッチェル・ネトラバリやランチョスのような負のローブを持つリサンプリングフィルタは、人間の知覚が非線形であり、ガンマによってよりよく近似できるにもかかわらず、線形にリンギングアーティファクトを生成するためです。(線形光(ガンマ=1)でのダウンサンプリングの動機となる「ステップバック」のエミュレーションは、アップサンプリングには適用されません。)リンギングアーティファクトの視認性を低減する関連する方法として、ImageMagickとGIMPのLoHaloフィルタによって開拓され、madVR、AviSynth、Mpvによってビデオアップサンプリングに適応されたシグモイド光伝達関数を使用する方法があります。[ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ]
強度という用語は、単位時間あたりおよび単位面積あたりに放出される光の量を指し、単位はルクスです。ただし、多くの科学分野では、この量は光度ではなく光束発散度と呼ばれ、光度は異なる量であることに注意してください。しかし、これらの区別はガンマ圧縮とはほとんど関係がありません。ガンマ圧縮は、正規化された線形強度のようなスケールに適用できます。
「輝度」は、ビデオや画像処理の分野でもさまざまな意味を持ちます。
色の意味での相対輝度(ガンマ圧縮なし)とビデオの意味での輝度(ガンマ圧縮あり)を対比させ、相対輝度をY 、輝度をY ′で表します。プライム記号(′)はガンマ圧縮を表します。[ 42 ]輝度は輝度から直接計算されるのではなく、ガンマ圧縮されたRGB成分の(やや恣意的な)加重合計であることに注意してください。[ 1 ]
同様に、明るさは光のレベルを含むさまざまな尺度に適用されることもありますが、より正確には主観的な視覚属性に適用されます。
ガンマ補正は、指数がギリシャ文字のガンマ(γ )であるべき乗関数の一種です。数学のガンマ関数と混同しないでください。小文字のガンマ(γ )は前者のパラメータであり、大文字のΓは後者の名称(および記号)です(Γ( x )のように)。「関数」という言葉をガンマ補正と関連して使用する場合は、「一般化べき乗関数」と言うことで混乱を避けることができます。
文脈がなければ、ガンマというラベルの付いた値はエンコード値にもデコード値にもなり得ます。この値は、補正に適用される値なのか、それともその逆数を適用することで補正される値なのかを正しく解釈するために注意が必要です。一般的に、デコード値(2.2など)は、ガンマをエンコードするために実際に適用すべき逆数(この場合は1/2.2)ではなく、エンコード値であるかのように用いられることがよくあります。
ガンマ補正とは何ですか?
下の表では、黒レベル(明るさ)を設定し、1~3の範囲で0.1以上の精度でディスプレイのガンマを推定でき
ます
。
輝度として50%ではなく48%を使用する理由は、多くのLCD画面では輝度範囲の最後の5%で彩度の問題が生じ、ガンマ測定に歪みが生じる可能性があるためです。
この問題は、ほとんどのモニターハードウェアの立ち上がり時間が、1ピクセル(場合によっては2ピクセル)の空間で完全な黒から完全な白に変化するのに十分ではないことによって引き起こされます。
ディスプレイ調整デバイスとソフトウェアをお持ちの場合は、「ディスプレイの色調整」ではなく、それらを使用することでより良い調整結果が得られるため、お勧めです。
は、高価なハードウェアツールを購入することなく、モニターを即座にキャリブレーションできる小型ユーティリティプログラムです。
モニターのカラープロファイルを簡単に作成できるウィザード。
通常、Windowsはこれを自動的に処理します。
技術的に言えば、問題は「輝度のスケールが線形であるかのように計算が行われているが、実際にはべき乗スケールである」という点です。数学的に言えば、「ガンマは1.0と想定されているが、実際には2.2である」ということです。多くのフィルター、プラグイン、スクリプトで同じエラーが発生します。
この画像はJonas Berlinから提供されました。お使いのソフトウェアで1:2に縮小してください。
一般的に、線形光色空間(線形RGBとXYZ)は誇張された暗いハローを生成し、「知覚的」色空間(sRGB、LAB、LUV)は誇張された明るいハローを生成します。少し考えてみると、これは完全に理にかなっています。知覚色空間は、強度スペクトルの暗い側に多くのビットを詰め込み、明るい側を「くり抜く」ことで、人間の視覚システム(HVS)を模倣しているからです。つまり、sRGBでは暗いオーバーシュートが1単位増えると、線形RGBよりも「遠く」が小さくなりますが、明るいオーバーシュートが1単位増えると、線形RGBではsRGBよりも「遠く」が小さくなります。
線形色空間で画像のサイズを変更するのではなく、シグモイド色空間修飾演算子(-sigmoidal-contrast)を用いて、修正された色空間で画像のサイズを変更する新しい手法が開発されました。これにより、非常にシャープなエッジに沿って発生する可能性のある極端なハローやリンギングアーティファクトのクリッピングを軽減できます。
シグモイド化は、N. Robidoux によって、負のローブをもう1つ持つカーネルを用いたフィルタリングで生じるオーバーシュートとアンダーシュートを最小限に抑える手法として発明されました。これは基本的に、色域の両端が中間調から「遠い」色空間でリサンプリングを行うことで実現されます。
シグモイド関数「ストレッチ」を実装してみましたが、うまく動作しているようです。
Dither_sigmoid_inverse は、クリップのリサイズ時に発生するリンギングを軽減するために、線形輝度のクリップに逆シグモイド曲線を適用します。Dither_sigmoid_direct は、クリップを線形輝度に戻します。クロマチャンネルはそのまま残ります。
アップスケーリング時に、リンギングアーティファクトの強調を避けるため、シグモイドカラー変換を使用します。これはデフォルトで有効になっています。これは --linear-upscaling と互換性がなく、代わりに使用されます。(シグモイド化には線形化も必要なので、どちらの場合も LINEAR レンダリングステップが実行されることに注意してください)