米国特許情報 | 欧州特許情報 | 国際公開(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−73163
公開日 平成7年(1995)3月17日
出願番号 特願平5−220909
出願日 平成5年(1993)9月6日
代理人 【弁理士】
【氏名又は名称】前田 弘 (外2名)
発明者 扇 俊之 / 荒木 敏之
要約 目的
入力データX,Yに対し、加重平均値S=(a・X+b・Y)/(a+b)を演算する演算回路において、ハードウェア量を低減する。

構成
加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を22 ,23 で除算した値または「0」からなる第2項との和に変形した変形式に対応し、係数aの値に応じて制御信号を出力する制御回路105を設け、変形式の第1項を演算するセレクタ101,102及び第1加算器110と、変形式の第2項を演算するセレクタ103,104,減算器111及び可変シフタ113と、第2加算器114及び最終シフタ115を設ける。これにより、乗算器を使用せずにハードウェア量を低減する。変形式に第3項以上の項を設ける場合、減算器の出力側に固定シフタを付加することで、より微細な重み付けができる。
特許請求の範囲
【請求項1】 2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは3以下の自然数))を求めるようにした演算回路であって、データX,Yの入力に対し、制御信号に応じてXまたはYを出力するよう切換え可能に構成された4つの第1〜第4セレクタと、上記4つのセレクタのうちの第1,第2セレクタの出力値の和を演算して、[2X,2Y,X+Y]のいずれかを出力する第1加算器と、上記4つのセレクタのうち第3,第4セレクタの出力値の差を演算して、[X−Y,Y−X,0]のいずれかを出力する減算器と、上記減算器の出力を受け、制御信号に応じてシフト数を変更しながらその出力値をシフト演算して、[(X−Y)/2m ,(Y−X)/2m ,0(mは1又は2)]を出力する可変シフタと、上記加算器及び上記可変シフタの出力値の和を演算する第2加算器と、上記第2加算器の出力値を右に1bitシフト演算し、加重平均値として出力する最終シフタと、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を4もしくは8で除算した値または「0」からなる第2項との和に変形した変形式に応じて上記4つのセレクタ及び可変シフタへの制御信号を予め記憶する記憶装置と、該記憶装置の記憶内容に基づき、上記係数a,bのうち一方の値に応じて上記4つのセレクタおよび上記可変シフタに制御信号を出力する制御回路とを備えたことを特徴とする演算回路。
【請求項2】 2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは4以上の自然数))を求めるようにした演算回路であって、データX,Yの入力に対し、制御信号に応じてXまたはYを出力するよう切換え可能に構成された4つの第1〜第4セレクタと、上記4つのセレクタのうちの第1,第2セレクタの出力値の和を演算して、[2X,2Y,X+Y]のいずれかを出力する第1加算器と、上記4つのセレクタのうち第3,第4セレクタの出力値の差を演算して、[X−Y,Y−X,0]のいずれかを出力する減算器と、上記減算器の出力を受け、制御信号に応じてシフト数を変更しながらその出力値をシフト演算して、[(X−Y)/2m ,(Y−X)/2m ,0(mは1又は2)]を出力する可変シフタと、上記自然数nに対し(n−3)個設けられ、制御信号に応じて減算器の出力値に対するシフト数が右3bit,右4bit,…と順次増大するように各々異なる固定シフト数に設定され、かつ出力値が制御信号に応じて上記シフト結果または「0」に切換え可能に構成された固定シフタと、上記加算器,可変シフタ及び固定シフタの出力値の和を演算する第2加算器と、上記第2加算器の出力値を右に1bitシフト演算し、加重平均値として出力する最終シフタと、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を4もしくは8で除算した値または「0」からなる第2項と、[X−Y,Y−X]のうちいずれか一方を2k+1(kは項の次数で、3≦k≦n−1)で除算した値または「0」からなる第3項以下の項との和に変形した変形式に応じて上記4つのセレクタ及び可変シフタへの制御信号を予め記憶する記憶装置と、該記憶装置の記憶内容に基づき、上記係数a,bのうち一方の値に応じて上記4つのセレクタ,可変シフタ及び固定シフタに制御信号を出力する制御回路とを備えたことを特徴とする演算回路。
【請求項3】 2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは自然数))を求めるようにした演算回路であって、上記データX,Yの入力に対し、制御信号に応じてXまたはYを出力するよう切換え可能に構成された2つの第1,第2セレクタと、上記第1,第2セレクタの出力値の和を演算して、[2X,2Y,X+Y]のいずれかを出力する第1加算器と、上記データX,Yの差(X−Y)を演算して出力する減算器と、上記自然数nに対して(n−1)個設けられ、上記減算器の出力値(X−Y)に対するシフト数が右1bit,右2bit,…と順次増大するように各々異なる固定シフト数に設定され、かつ出力値が制御信号に応じて上記シフト結果または「0」に切換え可能に構成された固定シフタと、上記加算器及び上記各固定シフタの出力値の和を演算して出力する第2加算器と、上記第2加算器の出力値をシフト演算して、加重平均値として出力する最終シフタと、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y]を2k (kは項の次数で、2≦k≦n)で除算した値または「0」からなる第2項以下の項との和に変形した変形式に応じて上記4つのセレクタ及び可変シフタへの制御信号を予め記憶する記憶装置と、該記憶装置の記憶内容に基づき、上記係数a,bのうち一方の値に応じて上記4つのセレクタ及び固定シフタに制御信号を出力する制御回路とを備えたことを特徴とする演算回路。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、2つの入力データに重み付けをしてその平均値を演算するようにした加重平均値の演算回路に関する。
【0002】
【従来の技術】従来より、入力データに対し、各データに重み付けをして、その平均値つまり加重平均値を演算する演算回路(以下、「加重平均回路」という)は、一般的に、図4に示すように構成されている。
【0003】図4に示す加重平均回路は8bitの入力データX,Y、及び「0」から「8」の4bitの係数a,bから、8bitの加重平均値Sを求める回路である。
【0004】図4において、乗算器301、302は(a・X)、(b・Y)の演算を各々行うための(8bit×4bit)の乗算器、加算器303は乗算器301、302の出力を加算する(11bit+11bit)の加算器、シフタ305は右3bitのシフタである。乗算器301では、入力データXと係数aとの積を演算し12bitの乗算結果P=(a・X)を出力し、乗算器302では、入力データYと係数bとの積を演算し、12bitの乗算結果Q=(b・Y)を出力する。P,Qの有効データは下位11bitである。加算器303では上記乗算結果PとQとの和を演算し、12bitの加算結果S’を出力する。そして、シフタ304では、上記加算値S’を3bit右シフトするシフト演算を行ってつまり8で徐して、シフト結果の下位8bitを出力する。このSが加重平均値となる。
【0005】
【発明が解決しようとする課題】しかしながら、上述した従来の加重平均回路では、乗算器2個、加算器、シフタが必要である。特に、乗算器を2個使用することで、ハードウェア量が大きくコストの低減を図る点で問題があった。
【0006】本発明は斯かる点に鑑みてなされたものであり、その目的は、加重平均値の計算式が入力データに対する乗算を伴うことなく複数項の加算からなる式に変形し得ることに着目し、乗算器と比較してハードウェア量の少ない加算器、減算器、シフタ、セレクタで演算回路を構成することにより、ハードウェア量の少ない加重平均回路を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため請求項1の発明の講じた手段は、2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは3以下の自然数))を求めるようにした演算回路を対象とする。
【0008】そして、演算回路に、データX,Yの入力に対し、制御信号に応じてXまたはYを出力するよう切換え可能に構成された4つの第1〜第4セレクタと、上記4つのセレクタのうちの第1,第2セレクタの出力値の和を演算して、[2X,2Y,X+Y]のいずれかを出力する第1加算器と、上記4つのセレクタのうち第3,第4セレクタの出力値の差を演算して、[X−Y,Y−X,0]のいずれかを出力する減算器と、上記減算器の出力を受け、制御信号に応じてシフト数を変更しながらその出力値をシフト演算して、[(X−Y)/2m ,(Y−X)/2m ,0(mは1又は2)]を出力する可変シフタと、上記加算器及び上記可変シフタの出力値の和を演算する第2加算器と、上記第2加算器の出力値を右に1bitシフト演算し、加重平均値として出力する最終シフタと、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を4もしくは8で除算した値または「0」からなる第2項との和に変形した変形式に応じて上記4つのセレクタ及び可変シフタへの制御信号を予め記憶する記憶装置と、該記憶装置の記憶内容に基づき、上記係数a,bのうち一方の値に応じて上記4つのセレクタおよび上記可変シフタに制御信号を出力する制御回路とを設ける構成としたものである。
【0009】請求項2の発明の講じた手段は、2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは4以上の自然数))を求めるようにした演算回路を対象とする。
【0010】そして、上記請求項1の発明の構成に加えて、上記自然数nに対し(n−3)個設けられ、制御信号に応じて減算器の出力値に対するシフト数が右3bit,右4bit,…と順次増大するように各々異なる固定シフト数に設定され、かつ出力値が制御信号に応じて上記シフト結果または「0」に切換え可能に構成された固定シフタを設け、第2加算器で、上記加算器,可変シフタ及び固定シフタの出力値の和を演算するようにしたものである。
【0011】請求項3の発明の講じた手段は、2つの入力データX,Yに対し、自然数である係数a,bを用いて加重平均値 S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは自然数))を求めるようにした演算回路を対象とする。
【0012】そして、演算回路に、上記データX,Yの入力に対し、制御信号に応じてXまたはYを出力するよう切換え可能に構成された2つの第1,第2セレクタと、上記第1,第2セレクタの出力値の和を演算して、[2X,2Y,X+Y]のいずれかを出力する第1加算器と、上記データX,Yの差(X−Y)を演算して出力する減算器と、上記自然数nに対して(n−1)個設けられ、上記減算器の出力値(X−Y)に対するシフト数が右1bit,右2bit,…と順次増大するように各々異なる固定シフト数に設定され、かつ出力値が制御信号に応じて上記シフト結果または「0」に切換え可能に構成された固定シフタと、上記加算器及び上記各固定シフタの出力値の和を演算して出力する第2加算器と、上記第2加算器の出力値をシフト演算して、加重平均値として出力する最終シフタと、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y]を2k (kは項の次数で、2≦k≦n)で除算した値または「0」からなる第2項以下の項との和に変形した変形式に応じて上記4つのセレクタ及び可変シフタへの制御信号を予め記憶する記憶装置と、該記憶装置の記憶内容に基づき、上記係数a,bのうち一方の値に応じて上記4つのセレクタ及び固定シフタに制御信号を出力する制御回路とを設ける構成としたものである。
【0013】
【作用】以上の構成により、請求項1の発明では、入力データX,Yに対し、(a+b)=2n における自然数nが3以下の場合、係数a,bのうちいずれか一方の値に応じて、記憶装置の記憶内容に基づき、制御回路により第1,第2セレクタの選択が切換えられ、第1加算器では、加重平均値を計算する式の変形式の第1項に2を乗じた値が演算される。一方、減算器では、制御回路の制御信号に応じて、第3,第4セレクタの出力が切換えられ、X,Yの差(X−Y,又はY−X)が演算され、この減算器の出力から、可変シフタでは加重平均値を計算する式の変形式の第2項に2を乗じた値が演算される。そして、第2加算器で、第1加算器及び可変シフタの出力値の和が演算された後、最終シフタでこの出力値の和が右に1bitシフトつまり2で除算される。したがって、最終シフタの出力値が加重平均値の計算式の演算結果に一致することになり、乗算器を2個設ける回路よりも小さなハードウェア量で、加重平均値が演算されることになる。
【0014】請求項2の発明では、(a+b)=2n における自然数nが4以上の場合、上記請求項1の発明における第1加算器及び可変シフタの演算に加え、固定シフタで加重平均値を計算する式の変形式の第3項以下に2を乗じた値が演算される。そして、第2加算器で第1加算器,可変シフタ及び固定シフタの出力値の和が演算された後、最終シフタでその和が右に1bitシフトされ、加重平均値が演算される。したがって、より小さいハードエェア量で微細な重み付けを行いながら加重平均値の演算が可能となる。
【0015】請求項3の発明では、(a+b)=2n における自然数nが2以上の場合に、記憶装置の記憶内容に基づき、制御回路により第1,第2セレクタの選択が切換えられ、第1加算器では加重平均値を計算する式の変形式の第1項に2を乗じた値が演算される一方、減算器では、一律に入力データX,Yの差(X−Y)が演算される。また、各固定シフタでは、制御回路からの制御信号に応じて、加重平均値を計算する式の第2項以下に2を乗じた値が演算される。そして、第2加算器で第1加算器及び各固定シフタの出力値の和が演算された後、最終シフタでその和が右に1bitシフトされる。したがって、減算器の入力側にセレクタを設けることなく、請求項1又は2の発明の作用が得られることになる。
【0016】
【実施例】次に、本発明の実施例について図面を参照して説明する。
【0017】(実施例1)図1の回路は8ビットの入力データX,Yと、「0」〜「8」までの4bitの係数a,bから、8bitの加重平均値を求める加重平均回路である。ここで、実施例1の加重平均回路は、加重平均値を導出する式が下記表1のように変形できることを利用している。
【0018】
【表1】

【0019】図1において、第1,第2,第3,第4セレクタ101,102,103,104は(2入力→1出力)の8bit長のセレクタ、制御回路105は係数aの値に応じて制御線の信号を決定する制御回路、第1,第2,第3,第4制御線106,107,108,109は各々上記第1〜第4セレクタの出力を制御する制御信号を出力するための制御線、第1加算器110は8bitのデータと8bitのデータとの和を演算する加算器、減算器111は8bitのデータと8bitのデータとの差を演算する減算器、可変シフタ113は右へ2bitまたは1bitシフトするシフタ、シフト数制御線112はこの可変シフタ113のシフト数を決定する制御線、第2加算器114は9bitのデータと9bitのデータとの和を演算する加算器、最終シフタ115は入力信号を右へ1bitシフトするつまり2で除算するシフタである。
【0020】上記第1〜第4セレクタ101,102,103,104は、入力データX,Yに対し、各々の制御線の信号が「0」のときにはデータXを、制御線の信号が「1」のときにはデータYを選択して出力する。ここで、図示しないが制御回路105内の記憶部には、予め下記表2に示すような係数aと第1〜第4制御線106,107,108,109の制御信号および第1〜第4セレクタ101〜104の出力との関係が記憶されている。
【0021】
【表2】

【0022】また、第1加算器110は、第1セレクタ101と第2セレクタ102の出力を加算し9bitの加算結果Pを出力する。減算器111は第3セレクタ103の出力から第4セレクタ104の出力を減算し、9bitの減算結果Q’を出力する。可変シフタ113はシフト数制御線112の信号が「1」のとき2bit、「0」のとき1bitの符号付き右シフトを行い、9bitのシフト結果である出力信号Qを出力する。ここで、係数aに対する制御線112の制御信号、可変シフタ113のシフト数(bit)、出力P,Qの関係を下記表3に示す。
【0023】
【表3】

【0024】第2加算器114は、最下位bitに丸めのための桁上がりを入力して第1加算器110の出力Pと可変シフタ113の出力Qとの和を演算し、10bitの加算値S’を出力する。最終シフタ115は、加算値S’を1bit右シフトして、シフト結果の下位8bitの信号である加重平均値Sを出力する。すなわち、第2加算器114と最終シフタ115では(P+Q)/2の演算を行っており、この演算は上記表1の変形式の演算と等しくなるため、このSが加重平均値となるのである。
【0025】次に、係数aが5のときつまり加重平均値S=(5X+3Y)/8の演算結果を求める際の回路動作について、以下に説明する。
【0026】係数a=5が入力されたとき、制御回路105は第1制御線106に「0」、第2制御線107に「1」、第3制御線108に「0」、第4制御線109に「1」、第5制御線112に「1」を出力する(表2参照)。
【0027】この制御信号により、第1セレクタ101の出力はX、第2セレクタ102の出力はYとなり、第1加算器110では(X+Y)の加算が行われ、P=X+Yが出力される(表3参照)。
【0028】また、第3セレクタ103の出力はX、第4セレクタ104の出力はYとなり、減算器111では(X−Y)の減算が行われ、Q′=(X−Y)が出力される。
【0029】一方、可変シフタ113は、第5制御線112からの制御信号が「1」のときに減算器111の出力値Q′=(X−Y)を右2bitシフトする動作を行い、Q=(X−Y)/4を出力する(表3参照)。
【0030】第2加算器114は、第1加算器110の出力P=(X+Y)と可変シフタ113の出力Q=(X−Y)/4とを加算し、加算値S′=(5X+3Y)/4を出力する。そして、最終シフタ115は、第2加算器114の加算値S′=(5X+3Y)/4を右に1bitシフトする動作を行ない、最終演算結果である加重平均値S=(5X+3Y)/8を出力する。
【0031】したがって、上記実施例では、従来の加重平均値を演算するための演算回路のごとく2つの乗算器を配置することなく加重平均値Sを算出することができ、ハードウェア量の低減を図ることができる。上記実施例1における制御回路は十数ゲートの論理素子で回路を構成できることから、乗算器を使用した加重平均回路に比べて80%程度のハードウェア量に抑えながら加重平均回路を実現できるものである。
【0032】(実施例2)次に、実施例2について説明する。図2に示す演算回路は、8bitの入力データX,Yに対し、「0」から「16」の5bitの係数a,bを用いて、8bitの加重平均値を求める加重平均回路である。ここで、実施例2の加重平均回路は、加重平均値を導出する式が、係数aの変化に対して下記表4のように変形できることを利用している。
【0033】
【表4】

【0034】図2において、第1〜第4セレクタ201,202,203,204は(2入力→1出力)の8bit長のセレクタ、制御回路205は係数aの変化に応じて各制御線の信号を決定する制御回路、第1〜第4制御線206,207,208,209は各々上記第1〜第4セレクタ201,202,203,204に制御信号を入力するための制御線、第1加算器210は8bitのデータと8bitのデータとの和を演算する加算器、減算器211は8bitのデータと8bitのデータとの差を演算する減算器、第5,第6セレクタ213,214は(2入力→1出力)の8bit長のセレクタ、第5,第6制御線215,216は第5,第6セレクタ213,214の出力を決定する制御線、シフト数制御線217は可変シフタ218のシフト数を決定する制御線、可変シフタ218は右へ2bitシフトまたは1bitシフトするシフタ、固定シフタ219は右へ3bitシフトするシフタ、第2加算器220は各々10bitからなる3つのデータの和を演算する3入力加算器、最終シフタ221は右へ1bitシフトするシフタである。
【0035】第1〜第4セレクタ201,202,203,204は、入力データX,Yに対し、第1〜第4制御線106〜109の信号が「0」のときX、「1」のときYをそれぞれ選択して出力する。第5,第6セレクタ213,214は、第5,第6制御線215,216の信号が「1」のときQ’、「0」のとき「0」のデータをそれぞれ選択して出力する。可変シフタ218は、シフト数制御線217の信号が「1」のとき右へ2bitのシフトを、「0」のとき1bitのシフトを行い10bitの出力信号Qを出力する。固定シフタ219は2bitの右シフトを行い10bitの出力信号Rを出力する。ここで、係数aと各制御線の制御信号の関係を下記表5に示す。また、係数aに対する出力値P,Q,Rの変化を下記表6に示す。
【0036】
【表5】

【0037】
【表6】

【0038】第2加算器220は、最下位bitに丸めのための桁上がりを入力したPとQとRとの加算を行い、11bitの出力信号である加算値S’を出力する。最終シフタ221は入力された加算値S’を1bit右シフトしてシフト結果の下位8bitの加重平均値Sを出力する。第2加算器220と最終シフタ221では(P+Q+R)/2の演算を行っており、この演算は上記表4の変形式の演算と等しくなるため、このSが加重平均値となることは明らかである。
【0039】本実施例において、係数aが9のとき、つまり、S=(9X+7Y)/16の演算結果を求める際の回路動作を以下に説明する。
【0040】制御回路205は、係数a=9が入力されたとき、第1制御線206に「0」、第2制御線207に「1」、第3制御線208に「0」、第4制御線209に「1」、第5制御線215に「0」、第6制御線216に「1」の制御信号を出力し、シフト数制御線217には制御信号を出力しない(表5参照)。この制御信号により、第1セレクタ201の出力はX、第2セレクタ202の出力はYとなり、第1加算器210では(X+Y)の加算が行われ、P=(X+Y)が出力される(表6参照)。
【0041】また、第3セレクタ203の出力はX、第4セレクタ204の出力はYとなり、減算器211では(X−Y)の減算が行われる。第5セレクタ213は、第5制御線215からの制御信号が「0」であるので、「0」のデータを出力する。また、シフト数制御線217から制御信号が出力されないので、可変シフタ218はQ=0を出力する。
【0042】第6セレクタ214は、第6制御線216からの制御信号が「1」なので減算器211の出力(X−Y)を出力し、固定シフタ219は、第6セレクタ214の出力(X−Y)を右2bitシフトする演算を行って、R=(X−Y)/8を出力する(表6参照)。
【0043】第2加算器220は、上記固定シフタ212の出力P=(X+Y)と、可変シフタ218の出力Q=0と、固定シフタ219の出力R=(X−Y)/8との和を演算し、S′=(9X+7Y)/8を出力する。最終シフタ221は、第2加算器220の出力S′を右へ1bitシフトする演算を行い、最終的に加重平均値S=(9X+7Y)/16を出力する。
【0044】したがって、上記実施例2では、上記実施例1に比べ、より微細な重み付けを行って加重平均値を算出することができ、上記実施例1と同様にハードウェア量を低減することができる。すなわち、上記実施例2における制御回路は30ゲート程度の論理素子で回路を構成できることから、上記実施例2の加重平均回路は、乗算器を使用した加重平均回路に比べて75%程度のハードウェア量に抑えながら加重平均回路を実現できるものである。
【0045】(実施例3)次に、実施例3について、図3に基づき説明する。
【0046】図3は、実施例3に係る加重平均回路の構成を示し、8bitの入力データX,Yに対し、「0」から「16」の5bitの係数a,bを用いて、8bitの加重平均値を求める加重平均回路である。ここで、実施例3の加重平均回路は、加重平均値を導出する式が、係数aの変化に対して下記表7のように変形できることを利用している。
【0047】
【表7】

【0048】図3において、第1,第2セレクタ201,202は(2入力→1出力)の8bit長のセレクタ、第1加算器210は8bitのデータと8bitのデータとの和を演算する加算器、減算器211は8bitのデータと8bitのデータとの差を演算する減算器、第3,第4,第5セレクタ213,214,230は(2入力→1出力)の8bit長のセレクタ、各シフタ212,218,219はいずれも右へ1ビットシフトする固定シフタであって、可変シフタは設けられていない。また、第2加算器220は各々10bitからなる3つのデータの和を演算する3入力加算器、最終シフタ221は右へ1bitシフトするシフタである。なお、制御回路及び制御線は図示を省略しているが、上記図2のような制御回路とこの制御回路から各セレクタに制御信号を出力するための制御線とが設けられている。
【0049】第1,第2セレクタ201,202は、入力データX,Yに対し、制御信号が「0」のときX、「1」のときYをそれぞれ選択し、信号Pとして出力する。また、第3,第4,第5セレクタ213,214,230は、制御信号が「1」のときは、それぞれ直前の各シフタ212,218,219から出力されるデータを選択する一方、制御信号が「0」のときには「0」のデータを選択し、信号Q,Q′,Rとして出力する。ここで、係数aに対する出力値P,Q,Q′,Rの変化を下記表8に示す。
【0050】
【表8】

【0051】第2加算器220は、各セレクタ213,214,230の出力P,Q,Q′及びRの加算を行い、11bitの出力信号である加算値S’を出力する。最終シフタ221は入力された加算値S’を1bit右シフトしてシフト結果の下位8bitの加重平均値Sを出力する。第2加算器220と最終シフタ221では(P+Q+Q′+R)/2の演算を行っており、この演算は上記表7の変形式の演算と等しくなるため、このSが加重平均値となることは明らかである。
【0052】本実施例において、係数aが9のとき、つまり、S=(9X+7Y)/16の演算結果を求める際の回路動作を以下に説明する。
【0053】図示しないが、制御回路は、係数a=9が入力されたとき、第1セレクタ201に「0」、第2セレクタ202に「1」、第3セレクタ213に「0」、第4セレクタ214に「0」、第5セレクタ230「1」の制御信号を出力する。
【0054】この制御信号により、上記表8に示されるような出力が得られる。すなわち、第1セレクタ201の出力はX、第2セレクタ202の出力はYとなり、第1加算器210では(X+Y)の加算が行われ、P=(X+Y)が出力される。また、減算器211では(X−Y)の減算が行われる。そして、第3セレクタ213の出力Q及び第4セレクタ214の出力Q′はいずれも「0」となる一方、第5セレクタ230の出力Rは、減算器211の出力(X−Y)が3つのシフタ212,218,219でそれぞれ右1ビットずつシフトされてなる(X−Y)/8となる。
【0055】第2加算器220は、上記固定シフタ212の出力P=(X+Y)と、第3セレクタの出力Q=0と、第4セレクタ214の出力Q′=0と、第5セレクタ230の出力R=(X−Y)/8との和を演算し、S′=(9X+7Y)/8を出力する。そして、最終シフタ221は、第2加算器220の出力S′を右へ1bitシフトする演算を行い、最終的に加重平均値S=(9X+7Y)/16を出力する。
【0056】したがって、上記実施例3では、上記実施例1に比べ、より微細な重み付けを行って加重平均値を算出することができ、上記実施例1や実施例2と同様にハードウェア量を低減することができる。特に、実施例2に比べ、減算器211の入力側にセレクタを設ける必要がないので、実施例2よりもさらにハードウェア量の低減を図ることができる。
【0057】
【発明の効果】以上説明したように、請求項1の発明によれば、2つの入力データX,Yに対し、加重平均値S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは3以下の自然数))を求めるようにした演算回路として、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を4もしくは8で除算した値または「0」からなる第2項との和に変形した変形式に対応して、変形式の第1項を演算する2つのセレクタ及び第1加算器、第2項を演算する2つのセレクタ,減算器及び可変シフタ、各項の和を演算した後シフトして最終的に加重平均値を出力する第2加算器及び最終シフタ等の機器と、各機器の作動を制御する制御回路とを設ける構成としたので、乗算器を設けることなく加重平均値を演算することができ、よって、ハードウェア量の低減を図ることができる。
【0058】請求項2の発明によれば、2つの入力データX,Yに対し、加重平均値S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは4以上の自然数))を求めるようにした演算回路として、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を、[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と、[X−Y,Y−X]のうちいずれか一方を4もしくは8で除算した値または「0」からなる第2項と、[X−Y,Y−X]のうちいずれか一方を2k+1 (kは項の次数で、3≦k≦n−1)で除算した値または「0」からなる第3項以下の項との和に変形した変形式に対応して、変形式の第1項を演算する2つのセレクタ及び第1加算器、第2項を演算する2つのセレクタ,減算器及び可変シフタ、減算器の出力から第3項以下の項を演算する固定シフタ、各項の和を演算した後シフトして最終的に加重平均値を出力する第2加算器及び最終シフタ等の機器と、各機器の作動を制御する制御回路とを設ける構成としたので、微細な重み付けを行った加重平均値の演算を小さなハードウェア量で実行することができ、よって、ハードウェア量の低減を図ることができる。
【0059】請求項3の発明によれば、2つの入力データX,Yに対し、加重平均値S=(a・X+b・Y)/(a+b)(ただし、(a+b)=2n (nは自然数))を求めるようにした演算回路として、自然数nに対し、係数a,bのうちいずれか一方の値ごとに加重平均値の計算式を[2X,2Y,X+Y]のうちいずれか一つを2で除算した値からなる第1項と[X−Y]を2k (kは項の次数で、2≦k≦n)で除算した値または「0」からなる第2項以下の項との和に変形した変形式に対応して、変形式の第1項を演算する2つのセレクタ及び第1加算器、第2項以下の項を演算する減算器及び固定シフタ、各項の和を演算した後シフトして最終的に加重平均値を出力する第2加算器及び最終シフタ等の機器と、各機器の作動を制御する制御回路とを設ける構成としたので、減算器の入力側にセレクタを設けることなく、上記請求項1又は2の発明の効果を得ることができる。




 

 


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

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


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