第4章


4. 濃淡表現法

4.1 緒言

 本章の目的は,意図した図を少ないデータで作画でき,質の高い表現が容易に行えるような計算機を用いた濃淡付け技術を確立することである.

 このために,まず,絵画における濃淡と陰影・光の関係を明らかにした.次に,濃淡付け機能を分類するために,第一に芸術分野における陰影付け手法,濃淡付け手法を調査し,第二にデザイナに対するアンケート調査を行った.そして,この調査により,どのような濃淡付けを行っているかをまとめ,濃淡付けの計算手法について考察を行った.これに基づき,図を容易に速く描くための濃淡表示技術を作成した.

 従来のペイントシステムの塗りつぶしとブラシ機能だけでは思いどおりの図が描きにくく,人の技量によって表現された図に違いが生じていた.これを解決するために,濃淡付けの手法の研究はいくつか行われてきたが,容易な入力が可能である高速表示方法は不充分であった.

 本章で提案する濃淡付け手法は,意図した図を簡単な入力で描くことができ,かつ高速表示の可能なアルゴリズムであり,また大量のメモリを必要としないためパーソナルコンピュータのような少量メモリのものでも実行可能であるという特徴をもつ.

 本章では,4.2節で絵画における陰影,濃淡の用い方,4.3節で濃淡表現技術の分類,4.4節で濃度分布曲線の設定方法および作成方法,4.5節で基本となる濃淡付け方法,4.6節で濃淡混合演算手法,4.7節でディザ法について述べる.

4.2 絵画における陰影,濃淡の用い方

 本節では絵画における陰影と光について整理し,濃淡付けとの関連について述べる.絵画の中で光を表現する方法は2つに分けることができる.その1は光を絵作成のために統一的原理として用いることである.これは光線追跡法として計算機分野で発展した技術と同じ考え方である.その2は,ものを輪郭で与え,それに色や濃淡を加えることによって3次元的な表現をする方法である[Arnhe63].これは計算機分野ではペイントシステムのなかで用いられている技術である.ここで,陰影をつくるための光は,実際に光源が存在するかどうかでなく,人が光の効果を絵の中から感じられるように用いられるものとする.本文ではその2を扱い,絵を作成するうえで,どのような濃淡付けのパターンを用意したらよいかを整理する.

 図4.1はレンダリングシステムで作画した機械部品である.3次元空間内でいくつかの面が重り合う場合には,面を部分的に明るくしたり,暗くしている.実際の光を用いた場合はこのようには見えない.しかし,濃淡をつけることによって,空間的な面を区別することができる.また,人はこの図からいくつかの光を感じとることができる.

 図4.2は明るさに変化をつけることによって,知覚的に丸みを表わそうとしたものである.この例からもわかるように,実際の光とは無関係に濃淡付けが行われる.しかし,人は絵から光の効果を見ることができる.このように絵の中における照明・光は要求される意味に応じて強調を作り出す助けであり,物体の色彩,明るさ,濃淡を作り出すものである.この手法により描かれた擬似的な陰影は絵という2次元的媒体を用いて量感,奥行き感を伝えることができ,3次元的形状の理解を高める効果を持つ.これらの擬似的な陰影は表現する内容にかかわらず,絵の中で各種の濃淡変化として実際の光とは無関係に描かれることも多い.

 本章では,これらの陰影付けを単に濃淡付けということにする.この濃淡付けの方法を分類し,パターン化することによって,人が想像した濃淡を容易につけることができる.このために,1)絵画の中でどのような濃淡表現が用いられるか,2)デザイナはどんな濃淡変化のパターンをよく利用するかを調査した.

4.3 濃淡付けの分類

4.3.1 濃淡表現の調査(絵画分野)

 ここでは濃淡付けの方法を調査し,濃淡を分類するためのキーワードを作成し,濃淡のパターン化,作画のための入力データの考察を行う.

 まず,芸術分野で紹介されている海外,国内の作品を対象とし,各作品について注目すべき濃淡表現部分を拡大スケッチし,コメントをつけ,分類を行った.図4.3に示すように,絵画の中に表れた特徴のある濃淡付け手法は12種類であった.これらの濃淡付けを用いることによって,多くの表現が可能であると考える.濃淡付け手法は大きく濃淡形状定義と色付けに分けることができる.濃淡形状は濃淡の形の違いを示すもので,2次元的な絵の中の一部分としてとらえられる.図4.3(a)に示すように,濃淡形状は任意に変えられるものと,表わす立体形状によって,ある程度決められてしまうものの2つがある.色付け方法には,同図(b)に示すように,描きたい色をそのまま表現するものと,背景色と混ぜ合わせ,まわりの色になじむようにぼかす方法がある.このように,線,面全体,その一部分に濃淡をつけたり,図形を切り張りしたり,透明感の表現が行われていることが分かる.

4.3.2 濃淡表現の調査(デザイナ)

 ここでは,デザイナ10名に対して行った濃淡の種類についてのアンケート結果を述べる.本調査の目的は,現在のグラフィクデザイン分野で使用されている濃淡付け方法を分類することである.

 調査は濃淡付け方法とそのコメントを記入してもらうようにして行った.アンケートの結果を分類すると濃淡付け方法は8種類になった.図4.4にそれらの図を示す.この調査から,デザイナは単純なパターンを組み合わせたり,変形させたりして,複雑な濃淡付けを行っていることがわかる.これにより,計算機で濃淡付け処理を行うときでも,有効な少数の機能による組み合わせや利用方法が容易であれば意図した図を早く描くことができる.

4.3.3 キーワードの作成

 次に濃淡付けを分類するために用いた基準をもとに濃淡のキーワードを整理する.そして,濃淡付けを決定するための必要な条件を明らかにする.

 濃淡付けのキーワードを作成するために,多くの絵画を観察し,それにかかれている濃淡部分を表わす言葉を選び,整理を行った.これらを図4.5に示す.濃淡の性質を大きく分けると,その形状,方向,割合の3つとなる.つまり,この3つを決定することによって,濃淡付けを行うことができるといえる.

 形状はその形と位置によって決められるものである.濃淡変化の形は点,線,面によって分類できる.位置とは元の図形の輪郭線に対して濃淡はどのようになっているかを示すものである.たとえば,直線的に濃淡が変化するとか,曲線にそって変化するとかいうようなことはこの分類に属する.

 方向は濃淡の変化する向きと数によって示される.ここで向きとは領域内での濃淡方向を示すものである.数とは基本となる色をもとに,濃淡が変化する方向の数を表わすものである.

 濃淡の割合とは,領域内における濃淡の分布,状態,色変化によって決められるものである.濃淡の分布とは領域内に占める同一濃度の割合をいう.変化の状態とは濃淡変化の規則性,不規則性を示す.色変化は色相,明度,彩度の変化で表わす.変化度合とは濃淡変化ピッチの様子を示すもので3段階くらいに分けて示すことができる.

 キーワードは描かれている濃淡を分類するときに役立つものであり,実際に濃淡付けを行う場合には,次節で示すように,これらをまとめた形で利用する.

4.3.4 計算機手法による分類

 ここでは,人の濃淡付け手法を計算によって実現するための方法を分類する.濃淡付けは’位置・形・方向’を輪郭作成で決め,’数・分布・変化状態・色・変化度合’を濃度分布曲線で決定することにより実現できる.そして,’透明’は色演算を選択し,その割合を設定することによって可能となる.これらを選択して,濃淡形状を作画するためには大きく3つの方法がある.1)領域を与え,濃度分布曲線を指示する方法,2)線分と変換データを与える方法,3)ブラシ機能を用いる方法である.

1)領域を与え,濃度分布曲線を指示する方法
 領域を与える機能は前章で述べた直線,曲線,フリーハンドなどである.これらによって作られた領域を濃淡付けするための方法を作成した.この機能を利用した作画例を図4.6(a)に示す.

2)線分と変換データを与える方法
 線分と変換データを与える方法では,変換データを与え,拡大,縮小,平行移動,回転移動を行うことによって濃淡付けをする.この方法では,濃淡の方向は,変換データによって決められる.線分は同一濃度と濃淡変化のあるものの2種類が可能である.これらの機能を用いた作画例を図4.6(b)に示す.

3)ブラシ機能を用いる方法
 ブラシ機能は手の動きに応じて定義した図形を移動させることができるものであり,領域と濃淡を見ながら濃淡付けができる.ほかに,ブラシ領域ごとにボカシ・平滑化などの画像処理を用いた機能も含まれる.

4.4 濃度分布曲線の作成

4.4.1 濃度分布曲線

 濃度分布を関数によって作成する方法を,本研究では濃度分布曲線法と呼ぶ.これは白黒だけでなく,カラー画像にも適用される.関数によって計算された濃淡は作画面上に表示できるので,人はそれを見て確認したり,一部分を変更したりすることができる.濃淡変化の例を図4.7に示す.計算機に対して,濃淡を細かく人が指示することは大変な労力を必要とするが,この濃度分布曲線の方法を用いることによって,容易に濃淡作成が行うことができる.濃度分布曲線の長所は,少ない入力データによって,濃淡の分布,変化状態,色,変化度合を決定できることである.

 濃度分布曲線の利用方法は,1)分布曲線をいくつか設定し,そのうちの一つを選択する方法,2)折れ線やスプライン曲線を利用し,希望する濃淡を作り出す方法がある.

4.4.2 濃度分布曲線の選択による利用

 ここでは,濃淡を変化させるためにいくつかの濃度分布曲線を設定した.これらの種類とその出力例を図4.8に示す.濃度分布曲線はRGB3色について求められる.また,与える色や範囲を変えることにより,多くの濃淡変化を作り出すことができる.これらの例を図4.9に示す.

 また,意図した濃淡を作り出すために,濃度分布曲線の一部を変更する方法は有効なものである.この例を図4.10に示す.  これらにより,濃度分布曲線を利用することによって,多くの色情報を与えることなく,濃淡変化をはやく作り出せるようになった.また,各種パラメータの変更によって濃度変化を制御できるようになった.このため,少ないデータで,意図する濃淡変化をつくりだすことができる.

4.4.3 折れ線濃度分布曲線

 ここでは,折れ線補間の方法について述べる.  分布曲線はGC=Fi(T)で表わされる.ここでGCはTにおける点の正規化された色データ,Fiは分布関数,Tは正規化された濃淡長さ(0≦T≦1)である.パラメータTが実際の濃淡付けの距離Lに写像される.濃淡とグラフの対応の例を図4.11に示す.図(a)はT=0,T=1の2つの位置に色を指定したもので,図(b)は4つの位置に色を入力したものである.これに利用された折れ線の式は次の通りである.

GC=(Ci+1-Ci)*J/(Ti+1-Ti)+Ci --(1)

ここで,JはTiからTi+1の繰り返しパラメータ,iは色データの番号,Cは入力された色データである.分布曲線を定義する補間アルゴリズムは次のようである.

【補間手順】

1.正規化された色データ,色の指定位置を入力する.
2. 入力された色の指定位置を小さい順に並べ直す.
3.表示階調数と正規化された色からTi,Ti+1の表示色を求める.
4. Ti,Ti+1の間を式1を用いて直線補間する.
5.補間によって求められた色を表示する.
6.希望する濃淡を作るまで,手順1から繰り返す.

このアルゴリズムを用いることによって,人は任意の位置と色をディスプレイ上の濃淡グラフに指示するだけで濃淡分布を作り出すことができる.そして,各部分に対して色を指示することによって,折れ線が変化し,それに対応して濃淡がかわり,それを人は確認することができる.この入力方法によって,人の要求に対応する表示能力の向上と利用の容易さが得られた.

4.5 濃淡付けアルゴリズム

 ここでは基本濃淡付け処理とこれを利用した領域濃淡付けの作画アルゴリズムについて述べる.

 4.5.1 基本濃淡付けの演算方法

 基本濃淡付けの演算方法として,研究初期段階において,Burtnyk[Burtn71]が提案した中間写像の方法を用いた.この方法は対応する二つの図形の中間の図を求めるものである.与えられた二つの線分の間を細かく補間することにより濃淡付けができる.しかし,この方法では領域内のすべての画素に色付けがされず,これらの画素の周囲の色との平均から色付けを行った.このため,領域内の画素データを保存すること,表示演算速度が遅いという欠点があった.この欠点を解決するために,スキャンライン上の一画素ずつに対して,色を計算するアルゴリズムを作成した.図4.12は処理手順を説明するものである.T0,T1は濃度分布曲線の始点と終点,Lminは点Pを通る直線T0,T1の長さ,Lpは点T0から点Pまでの長さ,SLはスキャンライン,Pは色付けする画素である.

【基本濃淡付け手順】

1.対応する2線分,濃淡を入力する.
2.塗りつぶし領域を計算する.
3. 2線分の全画素データを求める.
4.スキャンラインの始点と終点を計算する.
5.点Pを通る最小濃淡付け長さLminを求める.
6.T0からPまでの距離Lpを求め,Lminの長さの比より点Pの色を求める.
7.手順4.5.6.をy座標の最小値から最大値まで繰り返す.

4.5.2 領域濃淡付け

 基本濃淡付けの応用として,直線の平行移動,円の拡大,直線の回転が上げられる.これは,領域濃淡付けのうち,直線濃淡付け,放射濃淡付けに対応する.ここでは,この3つのアルゴリズムについて述べる.図4.13,4.14,4.15は本手法の手順を説明するためのものである.

1) 直線濃淡付け手順 

1.領域,濃淡,濃淡の方向を入力する.(図4.13)
2.方向の傾きに一致し,領域を囲む長方形ABCDを求める.
3.スキャンライン上の始点と終点を求める.
4.スキャンライン上の色付けする点PからLpを求める.
5.Lpに対応する濃淡長さTを求め,色を検索する
6.手順3.4.5.をy座標の最小値から最大値まで繰り返す.

2) 放射濃淡付け手順(1) 

1.中心点,領域図形,濃淡を入力する(図4.14)
2.領域図形線上の全画素を求める.
3.中心から領域までの最大距離Lmaxを求める.この最大距離を正規化された濃淡長さTに対応させる.
4.スキャンライン上の始点と終点を求める.
5.スキャンライン上の点Pと中心からの距離Lpを求め,濃淡長さTpの色を取り出す.
6.手順4.5.をy座標の最小値から最大値まで繰り返す.

3) 放射濃淡付け手順(2)

1.中心点,領域図形,濃淡を入力する.(図4.15)
2.領域の全画素およびそれらの画素の色を求める.
3.スキャンライン上の始点と終点を求める.
4.点Pと中心を結ぶ直線と領域との交点を求める.
5.交点Lpと濃淡長さLとの比からLpの色を求め,その色を点Pの色とする.
6.手順3.4.5.をy座標の最小値から最大値まで繰り返す.

4.6 濃淡混合演算アルゴリズム

4.6.1 濃淡演算の分類

 すでに描かれている色と塗ろうとする色との混合演算方法として5種類が考えられる.これらの混合演算式は以下のようである.

a)色変換  C=Cn
b)和演算  C=Co+Cn
c)差演算  C=Co-Cn
d)定数演算 C=e*Cn+(1-e)*Co
e)関数演算 C=f(x)*Cn+(1-f(x))*Co

 ここで,Cnは修正濃度値,Coは各点の修正前の濃度,eは定数,f(x)は濃度分布曲線の関数である.a,b,c,dは画像合成,ブラシ,塗りつぶしで用いられる.これらは従来から用いられている手法である.eは筆者らが考案したもので,部分的に描かれている色を変更し,描かれている色になじませるようにする場合によく用いられる.

4.6.2 関数混合演算手法

 ここでは,すでに描かれている濃淡領域になめらかな変化を持った濃淡修正を行う方法について述べる.修正手順は前述の濃淡付けの手順とほぼ同じで,濃淡を計算する方法が異なるだけである.

 はじめに,修正したい範囲を入力し,次に修正したい色と濃度分布曲線を入力する.このとき濃度分布曲線は式eで利用される.この機能を利用し,部分的な濃淡付けを繰り返すことによって複雑な濃淡付けの作画が容易になる.また,この機能によって,ハイライト表現ができ,形状強調が可能になる.図4.16(a)は混合演算前のものであり,(b)は演算後のものである.この図は基本濃淡付けによって作画された図4.16(a)に2本の直線および,中心とだ円を入力し,色データを白としたものである.

4.7 カラー連続階調表現法

4.7.1 乱数ディザ法による濃淡表現

 ここでは,乱数ディザ法,濃度設定ディザ法,組織的ディザ法を比較し,それらの有効性について述べる.表示装置の表示階調数が小さいとき,濃淡表現を行うと各階調の境界がマッハ効果により,はっきりと見えてしまう.これを防ぐ方法の一つとして,画像処理・画像通信の分野でディザ法が提案されている.

 形状感を表現する濃淡図形を作画するためには,濃淡階調数が大きい装置が望ましい.小さな階調数の装置を使用する場合は,ソフトウエアで大きな階調数を実現する必要がある.入力階調数が装置の階調数よりずっと大きいとき,それを等分割して表示すると図4.17(a)のようになる.

 各階調の変化する部分において,擬輪郭ができ,なめらかな濃淡変化が得られず,このままでは曲面の形状表現に用いることはできない.これを解決するために乱数ディザ法を用いた.これは小さな階調数の装置を用いるとき,擬似的に高階調表示する方法でなめらかな濃淡変化を作り出すことができる.

 ここでは入力濃度値mと乱数を用いて求めたしきい値を比較し,その大小によって表示レベル値を決める.しきい値は

ID=IFIX(R*D+(IFIX(M/D)*D))

ここで,R:0-1の乱数,M:表示階調数,D:M/(装置階調数N-1)

そして,表示レベル値nは

m<=IDならばn=IFIX(M/D)
m> IDならばn=IFIX(M/D)+1
とし,表示レベル値を決定する.

 図4.17(b)は図aと同じ入力値に対して乱数ディザ法を用いた例で,10階調の表示装置を用いて256段階を表示しようとしたものである.この方法では描きたい部分に対して,各画素ごとにディザ処理を行うので図の輪郭がぼけることはない.本方法では表示レベルが5階調以上のとき,なめらかな濃淡変化が得られ有効である.

4.7.2 濃度設定ディザ法

入力される画像が自然物のようなものでなく,コンピュータグラフックスで作られたものであるので,濃淡は規則的に変化する.従って,計算された濃度値をうまく再現するパターンを作成し,それを当てはめることによって高速化がはかれると考えた.この考えに基づき,連続階調表現法(これを濃度設定ディザ法と呼ぶ.)を作成した. 濃淡変化のある面画表現を得るために,本研究では,スキャンライン方向に線を順に引く処理によって塗りつぶしを行っている.このとき用いる線は1)同一濃度の線,2)濃淡変化のある線の2つに分けられる.

 この与えられた濃度の線を作画するために,表示装置の各階調を入り混らせるための1つのパターンを用意し,これに従って,表示装置の2つの階調値を適当に散らすことを行う.これを実現するためにランダムパターンを利用する.

 まず,規則的なパターンを次のようにして設定する.表示装置階調数N,表現したい階調数Mとすると正方形パターンの大きさLは(M-1)/(N-1)となる.この中に0と1の値を図4.18に従って配置する.このパターンには表示階調値n,n+1の値を作画する位置にそれぞれ0と1が入るようになっている.配列P(I,J)のI行においてi-1の数をドット配置数としたとき,配置間隔DはL/(i-1),配置位置jjは(j-1)*Dで決定する.そして,パターン配列P(i,jj)に1を代入する.これによって,図4.19(a)の規則的パターンが作成できる.図4.19はN=16,M=256の場合にできたパターンの例である.このパターンを利用すれば,規則的な模様が生じるので,i列ごとに乱数によって,平行移動し,同図(b)のようなディザパターンを作成する. 

 次に,このパターンを利用して表現したい階調を得るための手順を説明する.図4.20にこの手順を示す.入力画像の階調値をmとすると表示階調値nはm*(N-1)/(M-1)で計算する.パターンP(I,J)のIは順に更新し,Jはm-(n*(M-1)/(N-1)+1によって計算する.これによって,決定されたディザパターンの位置P(i,j)が0であれば,nを1であれば,n+1階調値を表示階調値とする.もし,入力画像データが一つ前のデータと同濃度のときはj=j+1とし,ディザパターンの値を調べるだけで表示値nを求めることができる.この手順によれば,濃淡変化のある線を作画するより,同じ濃度の線を引く方が処理が少なくてすむ.これによって計算時間も軽減されることが分かる.

4.7.3 ディザ法の比較

 ここでは筆者らが実験に用いてきた各種ディザ法表現について,表現能力と計算時間について比較検討する.

 本実験では,16階調表示できる装置を用い256階調の画像データを作成し表示することを試みた.図4.21(1,2)はその例で,(a)は256階調を16階調に分割して表現したもの,(b)は組織的ディザ法,(c)は乱数ディザ法,(d)が濃度設定ディザ法である.連続階調表現の点からみると(b),(c),(d)は,模様の違いは少しは感じられるが,いずれの場合も濃淡はなめらかな変化に見える.同じ16階調を用いた表現でも(a)では明らかに各階調の境界線が見える.これによりディザ法の有効性がわかる.次に計算時間の比較をすると図4.21(1)ではそれぞれ,2秒,19秒,12秒,6秒,図4.21(2)では2秒,20秒,12秒,8秒である.

 図4.21(1)はスキャンライン方向に対して,同一濃度の線の例であり,図4.21(2)は濃淡変化のある線の例である.他の図形の例も試みたが,表現能力,計算時間ともにほとんど同じ傾向であった.同一濃度の線を用いるときは乱数ディザ法に比べ,濃度設定ディザ法が2倍速いことがわかる.また,濃度変化のある線では,1.5倍であり,計算速度の点で濃度設定ディザ法がすぐれているといえる.

4.8 結言

 本章では,絵画分野における濃淡付け手法の調査,分類を行なった.さらに計算機で濃淡付けを行う手法を整理し,濃淡を作成する濃度分布曲線,濃淡付け手法,混合演算手法のアルゴリズムについて述べた.この結果,次のような成果が得られた.

1)濃淡パターンをキーワードで示すことにより,濃淡付けが細かく分類できるようになった.

2)濃度分布曲線によって,より複雑な濃淡が容易に作成できるようになった.

3)計算機を用いた濃淡付け手法を実現することにより,人の考えた図を容易に作画できるようになった.

4)小容量メモリで,より高速な濃淡表示が可能となった.

5)混合演算によって,複雑な濃淡表現や人手では困難であった画像組み合わせ表現が可能となった.

6)ディザ法により,階調数が低い表示装置を利用する場合でも,なめらかな濃淡を作り出すことができるようになった.