省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

GIMP (& Photoshop) の紛らわしい概念: マスクとクイックマスク、およびイメージ関連オブジェクトとの関連

 今まで、GIMPを使ったフィルム写真の補正テクニックを、自分が考案したものを中心に、いろいろと紹介してきました。ところで気づかれた方もいらっしゃるかと思いますが、今まで紹介してきた技法の中で、当然出てきておかしくないはずの、クイックマスクに私は全く言及していません。マスクはフル活用していますが...

 その理由は、マスク (レイヤーマスク) とクイックマスクは似ているようでいて異なっており、概念的に (特にGIMP初心者にとって) 非常に紛らわしく混乱の元なのであえて避けてきた、という点にあります。

 GIMPの画像ファイル (imageオブジェクト) は、複数の画像データを含むレイヤーから構成されます。この各レイヤーに対してフィルターの役割を果たす画像データがレイヤーマスクです。レイヤーマスクはレイヤー内の各ピクセルの透明度を指定するデータの集まりです。

 それに対して、クイックマスクとは、単に選択範囲の表示方法の一つです。従ってデータ的にはレイヤーマスクとは何の関係もありません。

 例えばこちらの画像ですが...

図1

 これには以下のようなレイヤーマスクが掛かっています。

図2 レイヤーマスク

 しかしクイックマスクモードをオンにしても、全体が赤く表示されるだけで、レイヤーマスクとは何の関係もありません。

図3 クイックマスクモード オン

 

 しかし一旦、選択範囲を指定し...

範囲選択オン

 クイックマスクモードをオンにすると、色域選択に従って赤色に濃淡が現れます。

図5 再度クイックマスクモードをオン

 もちろん、この濃淡は、レイヤーマスクの濃淡のパターンとは異なります。いわばクイックマスクとは見にくい選択範囲のパターン(図4)を単に見やすくするもの、と言えます。透明な部分が選択されている範囲、赤い部分は非選択の部分です。ですので、クイックマスクモードをオンにすると、現在選択されているアクティブレイヤーの表示が消えます。ただし、クイックマスクモードを使っている間は、ブラシツール類を使って任意の形に選択範囲を変更することができます。この時白で描画すると選択範囲を、黒で描画すると非選択範囲をブラシツールで描くことができます。これはレイヤーマスクを直接ブラシツールで編集できるのと同様です。この意味でレイヤーマスクとクイックレイヤーは非常に似てはいますが、非なるものと言えます。これは、あとの議論を先取りして説明すると、レイヤーマスクの編集はレイヤーベース、一方クイックマスクにおける編集はチャンネルベースということです。

 ただ、クイックマスクはお絵かきをするときはボタン一つで使えるので便利ですし、レイヤー概念を理解していなくても使えてしまうので、入門書や入門ガイドでは比較的早い段階で説明されることが多いですが、その次にレイヤー概念が入ってくると、レイヤー関連オブジェクトとクイックマスクとの関係の理解に苦しむことになります。

 この選択範囲 (クイックマスク) はレイヤーとは異なる Imageオブジェクトの中のデータ概念であるチャンネルに保存できます。

図6 チャンネルに保存

図7 チャンネルに保存されたところ

 このチャンネルに保存した選択範囲(クイックマスク)をレイヤーマスクに転換することができます。新しいレイヤーにレイヤーマスクの追加を行う際、チャンネルの下のクイックマスクを選ぶとマスクに転換できます。

図8 チャンネルからマスクへ転換

図9 チャンネルから転換したマスクが貼り付けられたところ

 ただ、クイックマスクをマスクに転換できる、というような話を出すと、クイックマスクとレイヤーマスクの関係が分かりにくくなりますし、さらに、イメージオブジェクトとレイヤー、レイヤーマスクとチャンネルの関係もややこしいので、本サイトでのGIMPの編集においては一切クイックマスクやチャンネルの話は出してきませんでした。また、それを考えないほうが、各オブジェクトの関係性もスッキリ理解できるかと思います。この紛らわしさはPhotoshopも同様かと思います。

 

 なお、下にGIMPの画像関連のオブジェクトの関係を、私の理解に基づいて、模式図にまとめてみました。

図10 GIMPのオブジェクト間の関係

 実線は、恒久的に保持されている(保存されている)データ、点線は表示のために一時的に保持されているデータ、太い矢印は、直接効果を及ぼす関係、青い細い矢印は転換可能な関係です。

 分かりにくいのは、表示画像というのは、一方でレイヤー&マスクデータの複合と見ることができる一方で、チャンネルデータの複合とも見ることができるという二重の性格を持っていることです。チャンネルデータは表示画像のR, G, B分解画像+保存された選択範囲(クイックマスク)データを含み、レイヤー縦断的に作用します。

 マスク(レイヤーマスク)はレイヤーデータに関連した概念である一方、クイックマスクは、選択範囲 or チャンネルに関連した概念で、同じマスクと言っても次元 (性質) が異なります。ただクイックマスクの編集操作は、マスクの編集操作と同様です。さらにチャンネル(or 選択範囲)からマスクに転換を行うこともできるので、同じものと錯覚しがちで紛らわしいです。

 あるいはレイヤーとチャンネルの関係は以下のように整理することもできます。

図11 レイヤーとチャンネルの関係

 上で、緑の線は、チャンネル、黒の線はレイヤー関連オブジェクトです。マスクやαチャンネルはレイヤーに関連する概念です。一方、R, G, Bチャンネル及び選択範囲はチャンネルに関連する概念で、それぞれ次元が違っています。チャンネルはいわばレイヤー縦断的な概念、逆に言えばレイヤーはチャンネル横断的な概念です。紛らわしいのはαチャンネルは、「チャンネル」と称していますがチャンネル寄りではなく、レイヤー関連オブジェクトです。そしてこの全体を組み合わせたものが表示画像になります。また、選択範囲は、通常は一時的に保持されているデータですが、チャンネルの一つとして恒久保存することもできます。

 なお図には書いていませんが、表示画像そのものをレイヤーに転換することもできます。

 このあたりのオブジェクトの関連はPhotoshopもほぼ同様かと思いますが、いずれにせよPhotoshopGIMP の難しさの最大要因はこのオブジェクト関連の複雑さ、とくに表示画像の二重性格にあると思います。特にこれらの画像ソフトを単に操作手順の羅列と理解していると、この複雑さが理解の壁になります。

 そこで、比較的GIMP初心者でも取りつきやすいように、今まで考えてきた技法の中では、クイックマスクを含むチャンネル系操作を極力排する形で構成してきました*1。例えばRGBを3色分解して操作する場合も、チャンネルベースでの操作を行わずに、すべて一旦レイヤーに分解して、レイヤーベースで操作を行うようにしています。

 まず一旦は、チャンネル系を排し、レイヤーベースでGIMPの操作体系を理解した上で、それが十分理解できた時点で、チャンネル系の操作を学んだほうが良いように思います。

 

*1:とはいえ、選択範囲自体は排することはできません。しかし、レイヤー縦断的な使い方は行わず、レイヤー内操作にとどめています。またクイックマスク上でペイントツールを使った編集も紛らわしくなるので排しています。