第 4 章 集合演算プロセッサ 41
4.2 集合演算の概要
まず集合演算の概要について説明をする.図4.3は集合演算の例であり,これまでの集合演算と の違いと,新しい考え方の集合演算の全体像を示す.
4.2.1 これまでの集合演算
これまでの集合演算は,A例に示すように例えばSQLなどのデータベースの積集合,和集合,
差集合,補集合などを求める演算に積極的に利用されている.しかしながらこの集合演算は画像
図 4.3: 集合演算の例.
のようなデータには利用しにくい.これまでの集合演算を画像に適応する場合,ピクセルの輝度 値やRGBなどデータの値のみを対象にした集合演算は可能であるが,データの位置についての概 念が含まれていないので,この集合演算では画像の中から特定のパターン配列を探し出すような 演算が出来ない.従って,今後の高度な知識情報処理社会に相応しい集合演算手法を考える必要 がある.
4.2.2 データの位置を含んだ集合演算
以下にデータの位置を含んだ集合演算の概要を説明する.
B例に示すE0,E1,E2,E3,E4は,画像データに含まれている多数のピクセルの中から5つ のピクセルをサンプリングポイントとして選んだものであり,集合演算のエレメント(元)を表す ものである.このサンプリングポイントは,既知の画像のピクセルのデータ配列から選択したもの でも特定パターンを想定し指定したものでもいずれでもよい.新しい考えの集合演算であるデー タの位置を含んだ集合演算は,これらのサンプリングポイント(ピクセル)をピクセルのデータ の値のみならずデータの位置を含めて集合演算する事により,対象となる画像の中から意図した 認識対象の有り無しや,認識対象がある場合にはその位置を検出する事を目的とするものである.
以上のようにデータの位置情報を含んだ集合演算は,一般的な集合演算と区別するためにデー タの位置を含んだ集合演算と表現し,同様に集合演算のエレメントもデータの位置を含んだ集合 演算エレメントと表現するが,ここではデータの位置を含んだ集合演算を単に集合演算と記述す る場合もある.
C例は,以上の考えに基づきデータの位置を含んだ集合演算エレメントの具体例を示す.図に 示すテーブル状の記号テーブルマークは,データの位置を含んだ集合演算のエレメントである事 を示すための集合演算記号である.E0〜E4のピクセルの集合演算エレメント毎に,テーブルマー クの下部にはデータの位置が記述され,テーブルマークの演算記号の上部にはデータの値が記述 され,以上が一体になり1つのピクセルのエレメントが構成されている.これらのエレメント同 志を一定のルールに基づき集合演算する事により,意図した認識対象の有り無しや,認識対象が ある場合にはその位置を検出し,その絶対位置(絶対アドレス)を出力するものである.ここで は,論理演算のエレメントがE0,E1,E2,E3,E4の5つのエレメントになっているが,エレメ ントの数はいくつでも構わない.
ここでは,ピクセルの絶対位置は(X,Y)で示し,相対的な位置は(x,y)で記載するものとす る.幾つかのサンプリングポイントの内1つのエレメントを基準サンプリングポイントと指定す る事がこの技術の基本になる.C例の場合のデータの位置(ピクセルの位置)関係を次に示す.
• E0のデータの位置は基準位置と指定され(x=0, y=0)である.
• E1のデータの位置はE0から(x=−2, y=4)の相対位置にある.
• E2のデータの位置はE0から(x=3, y=2)の相対位置にある.
• E3のデータの位置はE0から(x=−5, y=−4)の相対位置にある.
• E4のデータの位置はE0から(x=5, y=−3)の相対位置にある.
以上のように,E0を基準としてそれぞれのピクセルの位置がXY 座標の相対的な位置(x,y)で エレメントごとに指定され,集合演算記号の下部に記載されている.ここでは,E0を基準サンプ リングポイントと呼び,E1〜E4を周辺サンプリングポイントと呼ぶものとする.
ピクセルの値(データの値)について説明をすると,ここでは画像データであるので,画像の 輝度値やRGBカラー値をそれぞれのピクセルエレメントのテーブルマーク記号の上部に指定す ればよい.この集合演算エレメントの意味は,テーブルマークの下部に記述された「データの位 置」に,テーブルマークの上部に記述されたデータの値が存在する,または存在しない事を定義 するものである.反対にテーブルマークの下部に記述された「データの位置ではない」ところに,
テーブルマークの上部に記述されたデータの値が存在する,または存在しない事を定義する事も 可能である.
以上の事は,メモリ上のデータ配列を考える場合,データ配列の中のどれか一つのデータを基 準とすれば,周辺データの位置は基準データに対し相対位置で示す事が可能になると同時にハー ドウェア処理する事が可能になる事に着目したものである.この集合演算にデータの絶対位置は 無関係であり,この集合演算利用者はデータの絶対位置を意識する必要がない事が特徴である.こ の考えを用いれば,どのような次元のパターンであっても定義化可能である.従って,パターン と称される実体は基より,実体ではなく人間が頭で描いた概念パターンを定義化する事も可能に なる.
4.2.3 集合演算エレメントの記述例
以下に提案方式の集合演算エレメントの記述例を示す.
• D例は,データの値が範囲を伴い,データの位置が領域を伴うエレメントであり,テーブル マークの下方のデータの位置とその領域にデータの値が存在する事によりエレメントが真と なる事を意味している.
• E例の「―」は,データ値の前にデータの値が不在の演算記号であり,テーブルマークの下 方のデータの位置とその領域にデータの値が存在しない事によりエレメントが真となる事,
つまり差集合を意味している.
• F例は,1つのデータの位置に2つのデータの値が存在するものであり,テーブルマークの 上には何種類のデータの値があってもかまわない.テーブルマークの下方のデータの位置と その領域にデータの値の何れかまたは双方が存在する事によりエレメントが真となる事,つ まり和集合を意味している.
• G例の「〜」は,エレメントの演算結果を論理否定(NOT)する演算記号であり,エレメン トが真の時,集合演算結果は偽,エレメントが偽の時,集合演算結果は真となる.
• H例のデータの値の上のオーバーライン「―」は,データの補数演算を指定する演算記号で あり,例えば「赤っぽい色」のデータの補数は「赤っぽくない色」のデータである.さらに データの位置の上のオーバーライン「―」は,位置及び領域を否定,つまりデータの領域の 外を指定する演算記号であり,指定した領域外にテーブルマークの上方に記述されたデータ の値があるか,あるいはないかを判定する演算記号である.
• I例は,データの値の補数演算とエレメントの演算結果を論理否定するものであり,データ の位置として指定した領域内が指定したデータの値で満たされているときにエレメントが真 になるものであり,物体の認識に重宝な演算である.
以上のエレメント同士を,これまでの集合演算と同様に組み合わせ演算を実施する事になるが,こ のデータの位置を含んだ集合演算の目的は,基準サンプリングポイントであるE0の絶対位置(絶 対アドレス)を見つけ出す事にある.
C例に示すように,位置を含んだ集合演算による画像などの2次元座標データのデータの位置 は,x,yの相対座標で示すが,文字情報や時系列データなどの1次元データは,X軸のみxの相対 座標の演算エレメントとなり,立体物などの3次元データの場合には,XY Zの3軸のx,y,zの相 対座標の演算エレメントとなる.この考え方は画像のみならずあらゆる配列データに共通に利用 可能となる.
4.2.4 新しい集合演算に関わるデータの値
図4.4は集合演算に関わるデータの値の例であり,グレースケールやカラーのデータの深度や曖 昧な輝度や色のデータ設定例を示す.
図 4.4: 集合演算に関わるデータの値の例.
新しい方式の集合演算方法並びに画像用集合演算プロセッサを設計する上で,サンプリングポイ ントのデータの値の取り扱いを明確に決める事が必要である.画像データの多くはグレースケー ル画像やRGBカラー画像である.グレースケールの場合,ピクセルの輝度値がデータの値であ り,カラー画像の場合にはピクセルのRGB値がデータの値である.例えば,8ビットのRGBカ
ラー値でR=0,G=0,B=0は「真っ黒」,R=255,G=0,B=0は「真っ赤」などの色彩値はR
*G*BのAND条件で設定された色である.
データの値の集合演算を実現するには輝度値やカラー値が固定値で演算出来るだけでなく,MIN
〜MAX指定のようにデータの値の範囲を指定出来るようにすると共に,RGBそれぞれ独立して 積集合や和集合を可能にする事や補数演算が出来る事が必要である.一例として「真っ黒」の補数
は(R=0)*(G=0)*(B=0)以外の色全てである.「真っ黒」の補数はド・モルガンの定理により,
(R= 0)*(G= 0)*(B = 0)= (R= 0)+(G= 0)+(B = 0)=
(R=1〜255)+(G=1〜255)+(B=1〜255) を満足する色の値の集合である.
例えば,(R=100〜110)*(G=100〜110)*(B=100〜110)のデータ値の補数は,
(R=0〜99+111〜255)+(G=0〜99+111〜255)+(B=0〜99+111〜255)の条件を満足する色 の値の集合である.この色のR値に関わる補数は,
(R=0〜99)*(G=0〜255)*(B=0〜255)+(R=111〜255)*(G=0〜255)*(B=0〜255) G値に関わる補数は,
(R=0〜255)*(G=0〜99)*(B=0〜255)+(R=0〜255)*(G=111〜255)*(B=0〜255) B値に関わる補数は,
(R=0〜255)*(G=0〜255)*(B=0〜99)+(R=0〜255)*(G=0〜255)*(B=111〜255) となり最終的にRGB値は,
〔(R=0〜99)*(G=0〜255)*(B=0〜255)+(R=111〜255)*(G=0〜255)*(B=0〜255)〕+
〔(R=0〜255)*(G=0〜99)*(B=0〜255)+(R=0〜255)*(G=111〜255)*(B=0〜255)〕+
〔(R=0〜255)*(G=0〜255)*(B=0〜99)+(R=0〜255)*(G=0〜255)*(B=111〜255)〕の色 の集合となる.このようなデータ値の集合演算が出来るように構成する必要がある.
ここでは,MIN〜MAXで設定される曖昧な色を「赤っぽい」「青っぽい」「黄っぽい」などの
「〇っぽい」と記述する.色データの分割の例は全画像空間を分割する例であり,グレースケール やカラー画像の画像空間に含まれる色を網羅的に8つに分割した例である.このデータの値の使 い方については後述する.このような曖昧なデータの値を扱う場合には,各データの値の精度は 重要視されないので,RGB各データとも4ビット(16諧調)でも十分利用可能である.
4.2.5 新しい集合演算に関わるデータの位置
図4.5は8ビット輝度値による集合演算に関わるデータの位置の例を示す.前項ではデータの値 について説明をしたが,同様にデータの位置やその領域に対する考え方を明確に決める事が必要 である.サンプリングポイントの例1では,図示した輝度値の5つのサンプリングポイントの左 上に存在するピクセルを基準サンプリングポイントE0にした場合で,この場合の周辺サンプリン グポイントE1〜E4の相対位置は図に示す通りである.サンプリングポイントの例2では,図示し た輝度値の5つのサンプリングポイントの右下に存在するピクセルを基準サンプリングポイント E0にした場合である.またE2はデータの位置とその領域を持った周辺サンプリングポイントで ある.
ここでは,x=0,y=6の位置にそれぞれ±1,合計9ピクセルの領域が設定される事になる.ま た,1つのサンプリングポイントに領域が設定されている.複数任意のサンプリングポイントに