米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 アルファブレンディング演算装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−200869
公開日 平成7年(1995)8月4日
出願番号 特願平5−334354
出願日 平成5年(1993)12月28日
代理人 【弁理士】
【氏名又は名称】森本 義弘
発明者 和田 康弘
要約 目的
より簡単な論理回路を用いてアルファブレンディング演算を高速に行い、物体の描画速度を向上させる。

構成
乗算と除算を同時に行うために、ビットシフト操作と出力制御操作を行う装置で構成された乗除算装置12,13を設け、カレントカラーデータと255からアルファ値を減算した値との2つの入力データの乗算および255での除算を同時に乗除算装置12で行い、ソースカラーデータとアルファ値との2つの入力データの乗算および255での除算を同時に乗除算装置13で行い、これらの出力を加算することによりアルファブレンディング演算を実行する。
特許請求の範囲
【請求項1】 透明物体を描画するために、現在すでに描画されているある画素の輝度情報と、これから描画する透明物体の同一画素での輝度情報と、前記透明物体の同一画素での透明度とを用いて、ある画素での輝度情報を求めるアルファブレンディング演算装置であって、前記透明度の最大値と透明度の2つの入力データを減算する減算装置と、前記現在すでに描画されているある画素の輝度情報と前記減算装置出力の2つ入力データの乗算および透明度の最大値での除算を同時に行う第1の乗除算装置と、前記透明物体の同一画素での輝度情報と前記透明度の2つの入力データの乗算および透明度の最大値での除算を同時に行う第2の乗除算装置と、前記第1の乗除算装置の出力と第2の乗除算装置の出力を加算する加算装置とを備えたことを特徴とするアルファブレンディング演算装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明はグラフィックス処理における透明物体を表現するための手法であるアルファブレンディング演算の高速化に関するものである。
【0002】
【従来の技術】2次元表示装置上で3次元描画を行う場合に、描画する物体を3次元の物体として表現するために様々な手法が用いられる。その中で、透明な物体を描画するための手法があり、アルファブレンディングと呼ばれている。
【0003】アルファブレンディングは、アルファ値と呼ばれる物体の透明度を表す値を用いて透明な物体を表現する手法である。各画素において、現在すでに描画されているある画素の色(カレントカラー)と新しく描画する透明物体の同一画素での色(ソースカラー)とアルファ値αを用いて演算式(1)
(ニューカラー)=α×(ソースカラー)+(1−α)×(カレントカラー)
0≦α≦1 (1)
にしたがって演算し、結果(ニューカラー)を描画するものである。
【0004】演算式(1)のように、アルファ値に従いカレントカラーとソースカラーの割合を決定し、その割合に応じてカレントカラーとソースカラーを混合し、ニューカラーとする。色を混合することにより透明な物体の後ろにある物体が透けてみえる様子を表現することができる。特に、アルファ値が0のときは新しく描画する物体は完全に透明で、ソースカラーが全く影響を及ぼさないため、ニューカラーはカレントカラーとなる。また、アルファ値が1のときは新しく描画する物体は完全に不透明であり、カレントカラーはソースカラーと置き換えられるため、ニューカラーはソースカラーとなる。
【0005】ニューカラー、ソースカラー、カレントカラーはそれぞれRGB(赤緑青)3色(それぞれの色が0〜255の256段階の濃淡レベルを持っている)から構成されており、それぞれの色において演算式(1)の演算を行う。
【0006】この演算式(1)により、物体の前に透明な物体を置いた場合に、前に置いた物体が完全に透明な物体であれば後ろの物体の色が見え、前に置いた物体が完全に透明ではなく色を持っていれば後ろの物体の色と前の物体の色が重なって見える状態を表現できる。
【0007】
【発明が解決しようとする課題】しかしながら従来のアルファブレンディング演算装置では実際に演算を行う必要があったため、乗算や除算などの演算に多大な時間を要する演算を行わなければならず、アルファブレンディング演算の高速化を図ることは困難であった。
【0008】本発明は上記従来の問題点を解決するもので、簡単な論理回路を用いて乗算と除算を同時に行なうことによって高速にアルファブレンディングの演算を行うことが可能なアルファブレンディング装置を提供することを目的とする。
【0009】
【課題を解決するための手段】この目的を達成するために本発明のアルファブレンディング演算装置は、たとえばアルファ値を8ビット、つまり物体を0から255までの256段階の透明度で表現し、2つの入力に対する乗算と除算を論理回路によって同時に行う乗除算装置を備え、この乗除算装置をそれに入力される2つのデータのうちの一方のデータを1〜7ビット右シフトし、シフトによるボロービットのうちの最上位ビットとシフトされたデータとを加算し、この加算されたデータの出力を制御することにより実現し、第1の乗除算装置では、カレントカラーデータと255からアルファ値を減算した値との2つの入力データの乗算および255での除算を同時に行い、第2の乗除算装置では、ソースカラーデータとアルファ値との2つの入力データの乗算および255での除算を同時に行い、これら第1の乗除算装置の出力と第2の乗除算装置の出力を加算するように構成したものである。
【0010】
【作用】上記構成により、乗算と除算を論理回路によって同時に行うことが可能となり、従来のように、乗算や除算などの演算に多大な時間をかける必要はなくなり、高速にアルファブレンディング演算を行うことが可能となる。
【0011】
【実施例】以下本発明の一実施例について、図面を参照しながら説明する。図1は本発明の一実施例におけるアルファブレンディング演算装置のブロック図である。図1において、カレントカラーデータ、ソースカラーデータ、アルファ値、数値255、ニューカラーデータは全て8ビットで表されており、11は255とアルファ値の2つの入力データを減算する減算装置、12,13はカレントカラーデータと減算装置11出力およびソースカラーデータと255のそれぞれの2つの入力データの乗算と255での除算を同時に行う乗除算装置、14は乗除算装置12,13の出力の2つの入力を加算する加算装置である。
【0012】図2は乗除算装置12および13のブロック図である。21は入力Aの8ビットを入力とし、入力Bの最上位ビット(7ビット目)を出力イネーブル信号の入力とし、出力yを8ビットで出力する。出力イネーブル付き1ビットシフタ、22は入力Aの上位7ビットをデータの入力とし、入力Bの6ビット目を出力イネーブル信号の入力とし、出力yを7ビットで出力する出力イネーブル付き2ビットシフタ、23は入力Aの上位6ビットをデータの入力とし、入力Bの5ビット目を出力イネーブル信号の入力とし、出力yを6ビットで出力する出力イネーブル付き3ビットシフタ、24は入力Aの上位5ビットをデータの入力とし、入力Bの4ビット目を出力イネーブル信号の入力とし、出力yを5ビットで出力する出力イネーブル付き4ビットシフタ、25は入力Aの上位4ビットをデータの入力とし、入力Bの3ビット目を出力イネーブル信号の入力とし、出力yを4ビットで出力する出力イネーブル付き5ビットシフタ、26は入力Aの上位3ビットをデータの入力とし、入力Bの2ビット目を出力イネーブル信号の入力とし、出力yを3ビットで出力する出力イネーブル付き6ビットシフタ、27は入力Aの上位2ビットをデータの入力とし、入力Bの1ビット目を出力イネーブル信号の入力とし、出力yを2ビットで出力する出力イネーブル付き7ビットシフタ、28は入力Aの最上位ビットと入力Bの最下位ビット(0ビット目)を入力とするANDゲート、29は出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27までとANDゲート28の出力全てを入力とし、全ての入力を加算する加算装置である。
【0013】図3は出力イネーブル付きビットシフタの一例として出力イネーブル付き3ビットシフタ23の内部構成を示したブロック図である。31は入力Aの最上位ビットと入力EのANDを求めるANDゲート、32は入力Aの6ビット目と入力EのANDを求めるANDゲート、33は入力Aの5ビット目と入力EのANDを求めるANDゲート、34は入力Aの4ビット目と入力EのANDを求めるANDゲート、35は入力Aの3ビット目と入力EのANDを求めるANDゲート、36は入力Aの2ビット目と入力EのANDを求めるANDゲート、37はANDゲート31から35までの出力を5ビットの入力とし、ANDゲート36の出力を1ビットの入力として加算する加算装置である。
【0014】以上のように構成されたアルファブレンディング演算装置による動作を以下に説明する。図1において、減算装置11では数値255とアルファ値との2つの入力を得て、 255−(アルファ値) (2)
の演算結果を出力する。乗除算装置12はカレントカラーデータと減算装置11の演算(2)の結果との2つの入力を用いて (カレントカラーデータ)×(減算装置11の演算結果)/255 (3)
の演算を行い結果を出力する。
【0015】図2において、乗除算装置12の入力Aをカレントカラーデータ、入力Bを減算装置11における演算(2)の結果とする。カレントカラーデータが出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27までと、さらにANDゲート28に入力される。さらに、演算(2)の結果の各ビットを上位ビットから順に1ビットずつ、出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27までの各シフタに入力し、最下位ビットをANDゲート28に入力する。これらの1ビット入力が各出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27の出力イネーブル信号となり、出力イネーブル信号の値が1である出力イネーブル付きビットシフタが結果を出力し、出力イネーブル信号の値が0である出力イネーブル付きビットシフタが0を出力する。出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27までと、ANDゲート28の出力を加算装置29において加算することによって乗除算装置12の出力として、演算(3)の結果を得ることができる。
【0016】乗除算装置における出力制御装置としての出力イネーブル付きビットシフタの動作例として図3の出力イネーブル付き3ビットシフタ23を用いて説明する。図3に示すように、出力イネーブル付き3ビットシフタ23では、カレントカラーデータの上位6ビットと演算(2)の結果の5ビット目の2つの入力を得る。カレントカラーデータの上位5ビットの各ビットと演算(2)の結果の5ビット目とのANDをANDゲート31から35で求める。これによって、演算(2)の結果の5ビット目が1であればANDゲートからはカレントカラーデータが出力され、演算(2)の結果の5ビット目が0であればANDゲートからの出力は0となる。カレントカラーデータの上位5ビットはANDゲート31から35通過後は下位5ビットとして取りあつかわれるので、3ビットのビットシフトが行なわれたことになる。このANDゲート31から35を通過後の5ビットデータと、シフトされたことによってボロービットとなったビットのうちで最上位のビット、この場合はカレントカラーデータの2ビット目、とを加算装置37で加算して出力イネーブル付き3ビットシフタの出力とする。この図2、図3の操作の概念図を図4に示す。
【0017】図4では8ビットの第一の入力A(a7a6a5a4a3a2a1a0:a7,a6, … ,a0は各ビットを示す)と第二の入力B(b7b6b5b4b3b2b1b0)との乗算を求めるときの様子を筆算の要領で表したものである。ここで、C(c7c6c5c4c3c2c1c0)はA×b0の演算結果、D(d7d6d5d4d3d2d1d0)はA×b1の演算結果、E(e7e6e5e4e3e2e1e0)はA×b2の演算結果、F(f7f6f5f4f3f2f1f0)はA×b3の演算結果、G(g7g6g5g4g3g2g1g0)はA×b4の演算結果、H(h7h6h5h4h3h2h1h0)はA×b5の演算結果、J(j7j6j5j4j3j2j1j0)はA×b6の演算結果、K(k7k6k5k4k3k2k1k0)はA×b7の演算結果を表している。Bのビットが0である部分は掛け合わせの結果は0となる。A×Bの結果は図4に示すように、CからKを1ビットずつシフトさせて全てを加算すればよいが、ここでは、CからKを加算したと仮定したときの下位8ビットの部分を少数部分と考えそれ以上のビットを整数部分と考える。ここでは、整数部分のみを加算し、演算の負担を減少させる。この操作は図3における、ANDゲート31から35の出力を加算装置37に入力することにより実現される。整数部分のみを加算しただけでは、正しい演算結果を得られないので、CからKの各演算結果において少数部分の最上位ビットが1であれば、少数部分を切り上げて、少数部分の最上位ビットが0であれば少数部分を切り捨てる操作を行う。この操作は図3におけるANDゲート36の出力を加算装置37に入力することにより実現される。
【0018】同様にして、Kについては出力イネーブル付き1ビットシフタ21で、Jについては出力イネーブル付き2ビットシフタ22で、Gについては出力イネーブル付き4ビットシフタ24で、Fについては出力イネーブル付き5ビットシフタ25で、Eについては出力イネーブル付き6ビットシフタ26で、Dについては出力イネーブル付き7ビットシフタ27で、CについてはANDゲート28で実現される。出力イネーブル付き1ビットシフタ21から出力イネーブル付き7ビットシフタ27がこのような操作を行い、これらの結果を加算装置29に入力することにより乗除算装置12の出力として演算(3)の結果、0〜255までの整数値を得ることができる。
【0019】乗除算装置13はソースカラーデータとアルファ値との2つの入力を用いて (ソースカラーデータ)×(アルファ値)/255 (4)
の演算を行い結果を出力する。
【0020】図2において、乗除算装置13の入力Aをソースカラーデータ、入力Bをアルファ値とし、乗除算装置12と同様の動作を行い、出力として演算(4)の結果を得ることができる。
【0021】その後、加算装置14に乗除算装置12の演算(3)の結果と乗除算装置13の演算(4)の結果を入力することによってアルファブレンディング演算結果 (ニューカラー)=(ソースカラー)×α/255+(カシントカラー)
×(255−α)/255 (5)
を得ることができる。
【0022】
【発明の効果】以上のように本発明によれば、出力イネーブル付きビットシフタとボロービットのうちの最上位ビットを加算する装置を設けることにより、乗除算を同時に行うことができ、必要とする整数値0から255を容易に高速に得ることを実現できるものである。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013