JPH08180177A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH08180177A
JPH08180177A JP32329494A JP32329494A JPH08180177A JP H08180177 A JPH08180177 A JP H08180177A JP 32329494 A JP32329494 A JP 32329494A JP 32329494 A JP32329494 A JP 32329494A JP H08180177 A JPH08180177 A JP H08180177A
Authority
JP
Japan
Prior art keywords
data
input
arithmetic
unit
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32329494A
Other languages
English (en)
Inventor
Mitsuharu Oki
光晴 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP32329494A priority Critical patent/JPH08180177A/ja
Publication of JPH08180177A publication Critical patent/JPH08180177A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】画像データの端部のデータに対しては、折り返
しデータを用いてフィルタ処理が行える並列プロセッサ
を提供する。 【構成】主演算部110に入力された一連の画像データ
DINiの、先頭部分のデータDIN0〜DIN2を先頭折り返しデ
ータ演算部120に、末尾部分のデータDIN94〜DIN99
を末尾データ演算部130に、さらに末尾部分のデータ
DIN99 〜DIN97を末尾折り返しデータ演算部140に、
各々同時に入力する。各演算ユニットは直列に接続され
ており、隣接する演算ユニット間でデータの転送を行い
ながら同一命令に従って並列に処理を行う。その結果、
入力データDIN0付近の先頭データおよび、入力データDI
N99 付近の末尾データに対して演算を行う際にその周辺
画素データとして折り返しデータを用いることができ、
フィルタ処理時などの歪みを少なくすることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、映像信号のディジタル
処理に用いて好ましい並列プロセッサに関する。
【0002】
【従来の技術】映像信号などのディジタル処理(以後、
画像処理と言う)においては、処理対象が各画素データ
なので処理量が非常に多い、全ての画素に対して同じ演
算処理を実行する、などの特徴がある。そのような画像
処理を行うプロセッサとしては、個別のデータに対して
同一の命令を並列に実行させるSIMD(single instr
uction multiple data)方式の並列プロセッサが有効で
ある。また、SIMD方式は、アドレスデコーダや制御
回路が1つでよく回路規模が小さくなるためLSI化に
も適しており、画像処理用並列プロセッサに広く用いら
れている。
【0003】そのようなSIMD方式の画像処理用並列
プロセッサとしては、たとえば「SVP:SERIAL VIDEO PRO
CESSOR/Proceedings of the IEEE 1990 CUSTOM INTEGR
ATEDCIRCUITS CONFERENCE/P.17.3.1-4」に示されるプ
ロセッサが知られている。この並列プロセッサの具体的
構成および動作について図3〜図6を参照して説明す
る。図3は、その並列プロセッサの構成図である。並列
プロセッサ900は、単位遅延素子IPi ,OPi 、スイッ
チISi ,OSi 、メモリIMi ,OMi 、およびプロセッサエ
レメントPEi よりなる単位演算ユニットが、m個(図3
に例においては100個)図示のごとく接続された構成
である。
【0004】まず、各部の構成について説明する。単位
遅延素子IPi は、スイッチISi のオン−オフを切り換え
る切り換え信号(以後、オン信号と言う)を記憶する記
憶素子であり、各単位遅延素子IPi は図示のごとく直列
に接続されている。したがって、単位遅延素子IPi の出
力は後段の単位遅延素子IPi+1 に入力される。その最初
の単位遅延素子IPi は入力端子PTRIN に接続されてお
り、入力端子PTRIN から入力されたオン信号が単位遅延
素子IP0 から単位遅延素子IP99まで順次シフトされる。
【0005】入力メモリIMi は、各演算ユニットにデー
タを供給するためのメモリであり、スイッチISi を介し
て入力端子DATAINに接続されている。したがって、入力
端子DATAINから入力された入力データDINiは、スイッチ
ISi を介して入力メモリIMiに格納される。このスイッ
チISi は、単位遅延素子IPi の出力信号によりオン−オ
フが切り換えられる。
【0006】このような構成の単位遅延素子IPi 、スイ
ッチISi 、および、入力メモリIMiにおいては、ある時
間に入力端子PTRIN から入力されたオン信号は、時間と
ともに、順に単位遅延素子IP0 ,IP1 ,IP2 ,IP3 ,・
・・と伝わっていく。そして、ある時刻において単位遅
延素子IPi にオン信号が格納されているとすると、スイ
ッチISi がオンされて、その時刻に入力端子DATAINから
入力されてくる入力データDINiが入力メモリIMi に格納
される。
【0007】プロセッサエレメントPEi (i=0〜99) は、
内部にメモリと演算器を有する演算手段である。プロセ
ッサエレメントPEi は、制御部CTRLからの制御信号によ
り、入力メモリIMi に記憶されているデータを読み込
む。すなわち、前述した処理により入力メモリIMi に入
力される入力データDINiは、プロセッサエレメントPEi
内のメモリに格納される。また、各プロセッサエレメン
トPEi は、各々隣接するプロセッサエレメントPEi-1 ,
PEi+1 とデータの転送ができる構成になっている。な
お、実際の前記並列プロセッサSVPにおいては、2個
隣のプロセッサエレメントPEi-2 ,PEi+2 ともデータの
転送ができる構成になっているが、説明の簡略化のため
ここでは1個隣のプロセッサッサエレメントPEi-1 ,PE
i+1 とのデータの転送のみを考える。
【0008】このプロセッサエレメントPE0 の構成にお
いて、一番左のプロセッサエレメントPE0 は、左側には
プロセッサエレメントが無いので、左隣のプロセッサエ
レメントからデータを入力される処理に対しては、ダミ
ーデータ0を用いる。また、左隣のプロセッサエレメン
トへデータを出力するときは、プロセッサエレメントPE
0 から出力されるデータは無視される。また、一番右の
プロセッサエレメントPE99は、右隣のプロセッサエレメ
ントが無いので、右隣のプロセッサエレメントからデー
タを入力される処理に対しては、ダミーデータ0を用い
る。また、右隣のプロセッサエレメントへデータを出力
するときは、プロセッサエレメントPE99から出力される
データは無視される。
【0009】各プロセッサエレメントPEi では、制御部
CTRLからの制御信号に基づいて、メモリに読み込まれた
入力データDINiを使って演算器で所望の演算が行われ
る。そして、その演算結果である出力データDOUTi は、
再びプロセッサエレメントPEi内のメモリに記憶され
る。
【0010】出力メモリOMi は、各演算ユニットの演算
結果のデータを出力するためのメモリであり、スイッチ
OSi を介して出力端子DATAOUT に接続されている。出力
メモリOMi には、制御部CTRLからの制御信号に基づい
て、前述したようにプロセッサエレメントPEi で演算が
行われた結果の出力データDOUTi が記憶される。そし
て、この出力メモリOMi に記憶された出力データDOUTi
は、スイッチOSi を介して適宜出力端子DATAOUT より出
力される。このスイッチOSi は、単位遅延素子OPiの出
力信号によりオン−オフが切り換えられる。
【0011】単位遅延素子OPi は、スイッチOSi のオン
信号を記憶する記憶素子であり、各単位遅延素子OPi は
図示のごとく直列に接続されている。したがって、単位
遅延素子OPi の出力は後段の単位遅延素子OPi+1 に入力
される。その最初の単位遅延素子OPi は入力端子PTROUT
に接続されており、入力端子PTROUTから入力されたオン
信号が単位遅延素子OP0 から単位遅延素子OP99まで順次
シフトされる。
【0012】このような構成の単位遅延素子OPi 、スイ
ッチOSi 、および、出力メモリOMiにおいては、ある時
間に入力端子PTROUTから入力されたオン信号は、時間と
ともに、順に単位遅延素子OP0 ,OP1 ,OP2 ,OP3 ,・
・・と伝わっていく。そして、ある時刻において単位遅
延素子OPi にオン信号が格納されているとすると、スイ
ッチOSi がオンされて、そのスイッチに対応する出力メ
モリOMi の出力データDOUTi が出力端子DATAOUT より出
力される。
【0013】制御部CTRLは、この並列プロセッサを構成
する各部を制御する制御回路である。制御部CTRLから出
力される制御信号は、入力メモリIMi 、プロセッサエレ
メントPEi 、出力メモリOMi に供給される。この際、各
入力メモリIMi (i=0〜99) には共通の制御信号が入力さ
れる。同様に、各プロセッサエレメントPEi (i=0〜99)
、各出力メモリOMi (i=0〜99) に各々入力される制御
信号も、各々共通である。
【0014】次に、図4に示す1水平期間(1H)が1
00画素(DIN0〜DIN99 )よりなる入力信号に対して、
図5に示すフィルタ係数(COE3,COE2,COE1,COE0,CO
E1,COE2,COE3)の7タップFIRフィルタをかける処
理を具体例として、並列プロセッサ900の動作につい
て説明する。すなわち、並列プロセッサ900は、入力
データDIN0〜DIN99 が入力され、その各データに対して
式1の演算を行い、その結果の出力データDOUT0 〜DOUT
99を出力する。
【0015】
【数1】
【0016】まず、この並列プロセッサ900に、入力
データDIN0〜DIN99 が入力される。入力端子PTRIN から
オン信号を入力し、そのオン信号が単位遅延素子IPi を
順次シフトされるのに同期して、データ入力端子DATAIN
から、入力データDIN0,DIN1,DIN2,・・・,DIN99 を
順次入力する。これにより、たとえば、単位遅延素子IP
0 にオン信号が格納されスイッチIS0 がオンになってい
るときに入力データDIN0が入力され、入力メモリIM0 に
格納される。また、単位遅延素子IP1 にオン信号が格納
されスイッチIS1 がオンになっているときに入力データ
DIN1が入力され、入力メモリIM1 に格納される。以後同
様にして、入力メモリIM2 〜IM99に入力データDIN2〜DI
N99 が格納される。(ステップ1)
【0017】1H分の入力データDIN0〜DIN99 が各々入
力メモリIM0 〜IM99に格納されたら、次に、制御部CTRL
からの制御信号により、入力データDIN0〜DIN99 が各々
プロセッサエレメントPE0 〜PE99内のメモリに転送され
る。(ステップ2)
【0018】そして、制御部CTRLからの制御信号によ
り、プロセッサエレメントPE0 〜PE99内の演算器で各々
式2〜式5に示す4個の演算が行われる。(ステップ
3)
【0019】
【数2】
【0020】次に、制御部CTRLからの制御信号により、
各プロセッサエレメントPEi の演算器で、左隣のプロセ
ッサエレメントPEi-1 で演算された式5の演算結果を読
み込み、各プロセッサエレメントPEi で演算した式4の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントPEi においては、式6に示す演算が行われる。
(ステップ4)
【0021】
【数3】
【0022】次に、制御部CTRLからの制御信号により、
各プロセッサエレメントPEi の演算器で、左隣のプロセ
ッサエレメントPEi-1 で演算された式6の演算結果を読
み込み、各プロセッサエレメントPEi で演算した式3の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントPEi においては、式7に示す演算が行われる。
(ステップ5)
【0023】
【数4】
【0024】次に、制御部CTRLからの制御信号により、
各プロセッサエレメントPEi の演算器で、左隣のプロセ
ッサエレメントPEi-1 で演算された式7の演算結果を読
み込み、各プロセッサエレメントPEi で演算した式2の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントPEi においては、式8に示す演算が行われる。
(ステップ6)
【0025】
【数5】
【0026】次に、制御部CTRLからの制御信号により、
各プロセッサエレメントPEi の演算器で、右隣のプロセ
ッサエレメントPEi+1 で演算された式5の演算結果を読
み込み、各プロセッサエレメントPEi で演算した式4の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントPEi においては、式9に示す演算が行われる。
(ステップ7)
【0027】
【数6】
【0028】次に、制御部CTRLからの制御信号により、
各プロセッサエレメントPEi の演算器で、右隣のプロセ
ッサエレメントPEi+1 で演算された式9の演算結果を読
み込み、各プロセッサエレメントPEi で演算した式3の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントPEi においては、式10に示す演算が行われる。
(ステップ8)
【0029】
【数7】
【0030】そして、制御部CTRLからの制御信号によ
り、各プロセッサエレメントPEi の演算器で、右隣のプ
ロセッサエレメントPEi+1 で演算された式10の演算結
果を読み込み、各プロセッサエレメントPEi で演算した
式8の演算結果との加算を行う。すなわち、各プロセッ
サエレメントPEi においては、式1に示す演算が行わ
れ、出力データDOUTi が得られる。(ステップ9)
【0031】各プロセッサエレメントPEi に格納されて
いる出力データDOUTi は、制御部CTRLからの制御信号に
より、出力メモリOMi に転送される。(ステップ10)
【0032】そして、出力メモリOMi に転送された出力
データDOUTi が出力される。すなわち、入力端子PTROUT
からオン信号を入力し、そのオン信号が単位遅延素子OP
i を順次シフトされることにより、スイッチOSi が順次
オン状態となり、出力メモリOMi の出力データDOUT0 ,
DOUT1 ,DOUT2 ,・・・,DOUT99が順次出力される。
(ステップ11)
【0033】さて、前述したように、この並列プロセッ
サ900において、左端および右端のプロセッサエレメ
ント、すなわちプロセッサエレメントPE0 ,PE99では、
左隣、または、右隣のプロセッサエレメントPEi からデ
ータをもらうことができないため、その場合にはダミー
データ0を用いて演算を行う。このため、式1に対応す
るプロセッサエレメントPE0 〜PE2 ,PE97〜PE99の出力
データDOUT0 〜DOUT2 ,DOUT97〜DOUT99は式11〜式1
6のようになる。
【0034】
【数8】
【0035】
【数9】
【0036】これは、図6に示すように入力データDINi
の左右両側に0というダミーデータを3個、そして、DI
N99 より右側に0というダミーデータを3個加えた入力
信号に対して、図5に示すフィルタをかけたことにな
る。そしてこのような方法においては、これらの両端で
の出力データDOUT0 〜DOUT2 ,DOUT97〜DOUT99に歪みを
生じることになる。
【0037】この歪みを少なくする方法として、両端の
ダミーデータとして折り返しデータを使用することが、
一般的に行われている。すなわち、図7に示すように、
データDIN0の左側には、順に入力データDIN0,DIN1,DI
N2という3個のダミーデータ、データDIN99 の右側に
は、順に入力データDIN99 ,DIN98 ,DIN97 という3個
のダミーデータを加える方法である。このようなデータ
に、図5に示すフィルタをかければ、ダミーデータとし
て0を用いるよりも、歪みが生じにくい。
【0038】この方法によれば、プロセッサエレメント
PE0 〜PE2 ,PE97〜PE99の出力データDOUT0 〜DOUT2 ,
DOUT97〜DOUT99は、式17〜式22のように演算するこ
とになる。
【0039】
【数10】
【0040】
【数11】
【0041】
【発明が解決しようとする課題】しかし、たとえば前述
したような、画像処理のためにしばしば用いられるSI
MD方式の並列プロセッサにおいては、並列した複数の
演算部に対する演算制御信号は全て共通であり、たとえ
ば端部の画像に対してのみ例外的な、別の処理を行わせ
ることはできなかった。そのため、その端部の処理に用
いて好ましい、前述したような折り返しデータをダミー
データとして用いて端部の画素に対する処理を行うこと
ができなかった。そのため、これまでのSIMD方式の
並列プロセッサでは、両端のダミーデータとして0を使
わざるを得ず、フィルタなどの演算を行わせると、両端
の出力信号に歪みが生じた。
【0042】したがって、本発明の目的は、一連のデー
タの端部のデータに対しては、折り返しデータをダミー
データとして用いて演算が行える並列プロセッサを提供
することにある。
【0043】
【課題を解決するための手段】前記課題を解決するため
に、直列に接続された各演算ユニットの端部のデータに
対しては、本来のデータの範囲外に冗長な演算ユニット
を設け、その冗長な演算ユニットで演算された結果を用
いて演算が行えるようにした。
【0044】したがって、本発明の並列プロセッサは、
各々データ入力手段と、演算手段と、データ出力手段と
を有する複数の第1の演算ユニットと、各々データ入力
手段と、演算手段とを有する複数の第2の演算ユニット
とを有し、前記複数の第1の演算ユニットは、隣接する
各演算ユニットの演算手段間でデータのアクセスが可能
なように接続され、前記複数の第2の演算ユニットは、
隣接する前記第1の演算ユニットおよび第2の演算ユニ
ットの演算手段間でデータのアクセスが可能なように、
前記第1の演算ユニットの前記接続の端部にさらに連続
して接続され、前記第1の演算ユニットは、入力された
一連のデータの各データに対して所定の演算を行い、前
記第2の演算ユニットは、前記入力された一連のデータ
の端部付近の所定データが入力され、前記第1の演算ユ
ニットの前記演算と同じ演算を行い、前記第1の演算ユ
ニットの端部の演算ユニットに、前記一連のデータの端
部に連続するデータに対して前記演算を実行したデータ
に相当するデータを供給する。
【0045】特定的には、本発明の並列プロセッサは、
前記接続された複数の第1の演算ユニットの一方の端部
の所定数の演算ユニットをさらに重複して設け、前記重
複して設けられた所定数の演算ユニットの終端部、およ
び、前記第1の演算ユニットの他方の端部に、各々前記
第2の演算ユニットを設け、任意のデータ長の前記一連
の入力データに対して、該端部のデータを補間して前記
所定の演算を行う。
【0046】また特定的には、本発明の並列プロセッサ
は、前記接続された複数の第1の演算ユニットの両端
に、各々前記第2の演算ユニットを設け、所定のデータ
長の前記一連の入力データに対して、該端部のデータを
補間して前記所定の演算を行う。
【0047】さらに特定的には、本発明の並列プロセッ
サは、前記入力された一連のデータは、画像データの1
水平期間分の画素データであり、入力された画像データ
に対して1水平期間分ごとに所定の画像処理を並列に行
う。
【0048】また特定的には、本発明の並列プロセッサ
は、前記第1の演算ユニットおよび前記第2の演算ユニ
ットにおいて、入力された一連のデータに対してフィル
タ処理を行う。
【0049】
【作用】本発明の並列プロセッサにおいては、入力され
た一連のデータを複数の演算ユニットからなる第1の演
算ユニットに入力する。またそれと同時的に、その入力
データの所定の端部のデータを、前記第1の演算ユニッ
トの端部に冗長的に設けられた第2の演算ユニットに対
しても入力する。そして、それら第1および第2の演算
ユニットは所定の命令に従って、所定の演算を行う。そ
の結果、第1の演算ユニットの端部の演算ユニットにお
いて、その周辺のデータを用いて演算を行う際に、たと
えば0などの所定のダミーデータではなく、第2の演算
ユニットで演算された結果を用いてその演算を行うこと
ができる。
【0050】
【実施例】第1実施例 本発明の一実施例の並列プロセッサについて図1を参照
して説明する。本発明の並列プロセッサ100は、主演
算部110、先頭折り返しデータ演算部120、末尾デ
ータ演算部130、末尾折り返しデータ演算部140、
および、制御部150を有する。
【0051】まず、各構成部の機能・構成について説明
する。主演算部110は、入力された一連のデータに対
して、所定の演算を並列に行い、結果を出力する演算手
段であり、図3に示した並列プロッセッサ900の演算
手段と同一の回路である。すなわち、単位遅延素子IPi
,OPi 、スイッチISi,OSi 、入力メモリIMi ,OMi 、
およびプロセッサエレメントPEi よりなる単位演算ユニ
ットがm個(本実施例においては100個)、図示のご
とく直列に接続された構成である。主演算部110にお
いて、並列プロッセッサ900と同一の回路については
同一の番号を付しており、各部の構成の説明は省略す
る。
【0052】先頭折り返しデータ演算部120は、主演
算部110で行われる演算において、その先頭付近のデ
ータ、すなわちプロセッサエレメントPE0 付近で行われ
るデータに供されるデータを演算する演算手段である。
先頭折り返しデータ演算部120は、単位遅延素子JPi
、スイッチJSi 、入力メモリJMi 、およびプロセッサ
エレメントPEi よりなる単位演算ユニットがJ個(本実
施例においては3個)、直列に接続された構成であり、
さらに、これらの単位演算ユニットは、主演算部110
の各演算ユニットともその先頭部分に連続して直列に接
続されている。先頭折り返しデータ演算部120の各部
の構成について説明する。
【0053】単位遅延素子JPi はスイッチJSi のオン信
号を記憶する記憶素子であり、各単位遅延素子JPi は図
示のごとく直列に接続されている。なお、主演算部11
0の単位遅延素子IP0 に接続されている単位遅延素子が
単位遅延素子JP0 であり、順次主演算部110の逆側に
単位遅延素子JP1 、単位遅延素子JP2 と直列に接続され
る。単位遅延素子JPi の出力は後段の単位遅延素子JPi+
1 に入力される。その最初の単位遅延素子JP0 は入力端
子PTRINJに接続されており、入力端子PTRINJから入力さ
れたオン信号が単位遅延素子JP0 から単位遅延素子JP2
まで順次シフトされる。
【0054】入力メモリJMi は、各演算ユニットにデー
タを供給するためのメモリであり、スイッチJSi を介し
て入力端子DATAINに接続されている。したがって、入力
端子DATAINから入力された入力データDINiは、スイッチ
JSi を介して入力メモリJMiに格納される。このスイッ
チJSi は、単位遅延素子JPi の出力信号によりオン−オ
フが切り換えられる。
【0055】プロセッサエレメントPEJiは、内部にメモ
リと演算器を有する演算手段である。プロセッサエレメ
ントPEJiは、制御部CTRLからの制御信号により、入力メ
モリJMi に記憶されているデータを読み込む。また、各
プロセッサエレメントPEJiは、各々隣接するプロセッサ
エレメントPEJi-1,EJi+1 とデータの転送ができる構成
になっている。
【0056】なお、一番左のプロセッサエレメントPEJ2
においては、左側にプロセッサエレメントが無いので、
左隣のプロセッサエレメントからデータを入力される処
理に対しては、ダミーデータ0を用いる。また、左隣の
プロセッサエレメントへデータを出力する処理に対して
は、プロセッサエレメントPEJ2から出力されたデータは
無視される。また、先頭折り返しデータ演算部120の
プロセッサエレメントの中の一番右のプロセッサエレメ
ントPEJ0においては、前記データの転送は、プロセッサ
エレメントPEJ0に隣接する主演算部110の左端のプロ
セッサエレメントPEJ0と相互に行われる。
【0057】このような構成の先頭折り返しデータ演算
部120においては、ある時間に入力端子PTRINJから入
力されたオン信号は、時間とともに、順に単位遅延素子
JP0,JP1 ,JP2 と伝わっていく。そして、そのオン信
号のシフトに同期して、スイッチJS0 ,JS1 ,JS2 と順
にオンされていき、その時に入力端子DATAINから入力さ
れていた入力データDIN0,DIN1,DIN2が各々入力メモリ
JM0 ,JM1 ,JM2 に格納される。各プロセッサエレメン
トPEJiにおいては、制御部CTRLからの制御信号に基づい
て、メモリに読み込まれた入力データDINi、および、隣
接するプロセッサエレメントPEJiに記憶されているデー
タを使って演算器で所望の演算が行われる。そして、そ
の演算結果である出力データDOUTi は、再びプロセッサ
エレメントPEJi内のメモリに記憶される。
【0058】先頭折り返しデータ演算部120の各単位
演算ユニットは、主演算部110の各単位演算ユニット
や、後述する末尾データ演算部130の一部の単位演算
ユニットのように、その単位演算ユニットで演算された
結果を出力するための出力メモリやスイッチ、単位遅延
素子を具備しない。すなわち、先頭折り返しデータ演算
部120で演算された結果を直接出力することはできな
い。先頭折り返しデータ演算部120で演算された結果
は、先頭折り返しデータ演算部120と直列に接続され
ている主演算部110のさらなる演算にデータとして供
される。
【0059】末尾データ演算部130は、主演算部11
0で行われる演算において、その末尾付近のデータに対
する演算を重複的に行う演算手段である。末尾データ演
算部130は、単位遅延素子KPi 、スイッチKSi 、入力
メモリKMi 、およびプロセッサエレメントPEKiよりなる
単位演算ユニットが3個(i=94〜96)と、単位遅
延素子KPi 、スイッチKSi 、入力メモリKMi 、およびプ
ロセッサエレメントPEKiよりなる単位演算ユニットが3
個(i=97〜99)の、計6個の単位演算ユニットが
直列に接続された構成である。以下、末尾データ演算部
130の各部の構成について説明する。
【0060】単位遅延素子KPi はスイッチkSi のオン信
号を記憶する記憶素子であり、各単位遅延素子kPi は図
示のごとく直列に接続されている。したがって、単位遅
延素子KPi の出力は後段の単位遅延素子KPi+1 に入力さ
れる。その最初の単位遅延素子KP94は入力端子PTRINKに
接続されており、入力端子PTRINKから入力されたオン信
号が単位遅延素子KP94から単位遅延素子KP99まで順次シ
フトされる。
【0061】入力メモリKMi(i=94〜99) は、各演算ユニ
ットにデータを供給するためのメモリであり、スイッチ
KSi(i=94〜99) を介して入力端子DATAINに接続されてい
る。したがって、入力端子DATAINから入力された入力デ
ータDINiは、スイッチKSi を介して入力メモリKMi に格
納される。このスイッチKSi は、単位遅延素子KPi の出
力信号によりオン−オフが切り換えられる。
【0062】プロセッサエレメントPEKi(i=94 〜99)
は、内部にメモリと演算器を有する演算手段である。プ
ロセッサエレメントPEKiは、制御部CTRLからの制御信号
により、入力メモリJMi に記憶されているデータを読み
込む。また、各プロセッサエレメントPEKiは、各々隣接
するプロセッサエレメントPEKi-1,PEKi+1とデータの転
送ができる構成になっている。
【0063】なお、一番左のプロセッサエレメントPEK9
4 においては、左側にプロセッサエレメントが無いの
で、左隣のプロセッサエレメントからデータを入力され
る処理に対しては、ダミーデータ0を用いる。また、左
隣のプロセッサエレメントへデータを出力する処理に対
しては、プロセッサエレメントPEK94 から出力されたデ
ータは無視される。また、一番右のプロセッサエレメン
トPEK99 においては、右側にプロセッサエレメントが無
いので、右隣のプロセッサエレメントからデータを入力
される処理に対しては、ダミーデータ0を用いる。ま
た、右隣のプロセッサエレメントへデータを出力する処
理に対しては、プロセッサエレメントPEK99 から出力さ
れたデータは無視される。
【0064】このような構成においては、ある時間に入
力端子PTRINKから入力されたオン信号は、時間ととも
に、順に単位遅延素子KP94,KP95,・・・,KP98,KP99
と伝わっていく。そして、そのオン信号のシフトに同期
して、スイッチKP94,KP95,・・・,KP98,KP99と順に
オンされていき、その時に入力端子DATAINから入力され
ていた入力データDIN94 ,DIN95 ,・・・,DIN98 ,DI
N99 が各々入力メモリKM94,KM95,・・・,KM98,KM99
に格納される。各プロセッサエレメントPEKiにおいて
は、制御部CTRLからの制御信号に基づいて、メモリに読
み込まれた入力データDINi、および、隣接するプロセッ
サエレメントPEKiに記憶されているデータを使って演算
器で所望の演算が行われる。そして、その演算結果であ
る出力データDOUTi は、再びプロセッサエレメントPEKi
内のメモリに記憶される。
【0065】出力メモリQMi(i=97〜99) は、各演算ユニ
ットの演算結果のデータを出力するためのメモリであ
り、スイッチQSi(i=97〜99) を介して出力端子DATAOUT
に接続されている。出力メモリQMi には、制御部CTRLか
らの制御信号に基づいて、前述したようにプロセッサエ
レメントPEKiで演算が行われた結果の出力データDOUTi
が記憶される。そして、この出力メモリQMi に記憶され
た出力データDOUTi は、スイッチQSi を介して適宜出力
端子DATAOUT より出力される。このスイッチQSiは単位
遅延素子QPi の出力信号により、オン−オフが切り換え
られる。
【0066】単位遅延素子QPi(i=97〜99) は、スイッチ
QSi のオン信号を記憶する記憶素子であり、各単位遅延
素子QPi は図示のごとく直列に接続されている。したが
って、単位遅延素子QPi の出力は、後段の単位遅延素子
QPi+1 に入力される。その最初の単位遅延素子QP97は入
力端子PTROUTに接続されており、入力端子PTROUTから入
力れたオン信号が単位遅延素子QP97から単位遅延素子QP
99まで順次シフトされる。
【0067】このような構成の単位遅延素子QPi 、スイ
ッチQSi 、および、出力メモリQMiにおいては、ある時
間に入力端子PTROUTから入力されたオン信号は時間とと
もに、順に単位遅延素子QP97,QP98,QP99と伝わってい
く、そしてある時刻において単位遅延素子QPi にオン信
号が格納されているとすると、スイッチQSi がオンさ
れ、そのスイッチQSi に対応する出力メモリQMi の出力
データDOUTi が出力端子DATAOUT より出力される。
【0068】末尾折り返しデータ演算部140は、末尾
データ演算部130で行われる演算において、その末尾
付近のデータ、すなわちプロセッサエレメントPEK99 付
近で行われるデータに供されるデータを演算する演算手
段である。末尾折り返しデータ演算部140は、単位遅
延素子LPi 、スイッチLSi 、入力メモリLMi 、およびプ
ロセッサエレメントPELiよりなる単位演算ユニットが3
個直列に接続された構成であり、さらに、これらの単位
演算ユニットは、末尾データ演算部130の各演算ユニ
ットともその末尾部分に連続して直列に接続されてい
る。以下、末尾折り返しデータ演算部140の各部の構
成について説明する。
【0069】単位遅延素子LPi(i=97〜99) はスイッチLS
i(i=97〜99) のオン信号を記憶する記憶素子であり、各
単位遅延素子LPi は図示のごとく直列に接続されてい
る。その最初の単位遅延素子LP97は入力端子PTRINLに接
続されており、入力端子PTRINLから入力されたオン信号
が単位遅延素子LP97から単位遅延素子LP99まで順次シフ
トされる。
【0070】入力メモリLMi(i=97〜99) は、各演算ユニ
ットにデータを供給するためのメモリであり、スイッチ
LSi を介して入力端子DATAINに接続されている。したが
って、入力端子DATAINから入力された入力データDINi
は、スイッチLSi を介して入力メモリLMi に格納され
る。このスイッチLSi は、単位遅延素子LPi の出力信号
によりオン−オフが切り換えられる。
【0071】プロセッサエレメントPELi(i=97 〜99)
は、内部にメモリと演算器を有する演算手段である。プ
ロセッサエレメントPELiは、制御部CTRLからの制御信号
により、入力メモリLMi に記憶されているデータを読み
込む。また、各プロセッサエレメントPELiは、各々隣接
するプロセッサエレメントPELi-1,PELi+1とデータの転
送ができる構成になっている。
【0072】なお、一番右のプロセッサエレメントPEL9
7 においては、右側にプロセッサエレメントが無いの
で、右隣のプロセッサエレメントからデータを入力され
る処理に対しては、ダミーデータ0を用いる。また、左
隣のプロセッサエレメントへデータを出力する処理に対
しては、プロセッサエレメントPEL97 から出力されたデ
ータは無視される。また、一番左のプロセッサエレメン
トPEL99 においては、前記データの転送は、プロセッサ
エレメントPEL99 に隣接する末尾データ演算部130の
右端のプロセッサエレメントPEL99 と相互に行われる。
【0073】このような構成の末尾折り返しデータ演算
部140においては、ある時間に入力端子PTRINLから入
力されたオン信号は、時間とともに、順に単位遅延素子
LP97,LP98,LP99と伝わっていく。そして、そのオン信
号のシフトに同期して、スイッチJS97,JS98,JS99と順
にオンされていき、その時に入力端子DATAINから入力さ
れていた入力データDIN97 ,DIN98 ,DIN99 が各々入力
メモリJM97,JM98,JM99に格納される。各プロセッサエ
レメントPELiにおいては、制御部CTRLからの制御信号に
基づいて、メモリに読み込まれた入力データDINi、およ
び、隣接するプロセッサエレメントPELiに記憶されてい
るデータを使って演算器で所望の演算が行われる。そし
て、その演算結果である出力データDOUTi は、再びプロ
セッサエレメントPELi内のメモリに記憶される。
【0074】末尾折り返しデータ演算部140の各単位
演算ユニットは、主演算部110の各単位演算ユニット
や、末尾データ演算部130の一部の単位演算ユニット
のように、その単位演算ユニットで演算された結果を出
力するための出力メモリやスイッチ、単位遅延素子を具
備しない。すなわち、末尾折り返しデータ演算部140
で演算された結果を直接出力することはできない。末尾
折り返しデータ演算部140で演算された結果は、末尾
折り返しデータ演算部140と直列に接続されている末
尾データ演算部130のさらなる演算にデータとして供
される。
【0075】次に、並列プロセッサ100の動作につい
て具体例を用いて説明する。動作を説明する具体例は、
従来例で述べた例と同一の例を用いて説明する。すなわ
ち、図4に示すように1水平期間(1H)が100画素
(DIN0〜DIN99 )よりなる入力信号に対して、図5に示
すフィルタ係数(COE3,COE2,COE1,COE0,COE1,COE
2,COE3)の7タップFIRフィルタをかける処理を、
並列プロセッサ100で実行する場合について説明す
る。
【0076】この処理は、並列プロセッサ100に入力
データDIN0〜DIN99 が入力され、その各データに対して
式23の演算を行い、その結果の出力データを出力す
る。
【0077】
【数12】
【0078】式23は、具体的には、たとえばi=5と
すると式24のようになる。
【0079】
【数13】
【0080】さて、並列プロセッサ100の入力端子PT
RIN および入力端子PTRINJからオン信号を入力する。そ
して、入力端子DATAINから、入力データDIN0,DIN1,DI
N2,・・・,DIN99 を順に入力する。単位遅延素子IP0
にオン信号が格納されている時にデータDIN0が入力さ
れ、入力メモリIM0 にはデータDIN0が格納される。ま
た、単位遅延素子IP1 にオン信号が格納されている時に
データDIN1が入力され、入力メモリIM1 にはデータDIN1
が格納される。以降、同様にして、入力メモリIM2〜IM9
9には、データDIN2〜DIN99 が格納される。
【0081】また、単位遅延素子JP0 にオン信号が格納
されている時にデータIN0 が入力され、入力メモリJM0
にデータDIN0が格納される。また、単位遅延素子JP1 に
オン信号が格納されている時にデータDIN1が入力され、
入力メモリJM1 にはデータDIN1が格納される。単位遅延
素子JP2 にオン信号が格納されている時にデータDIN2が
入力され、入力メモリJM2 にデータDIN2が格納される。
【0082】さらに、入力端子DATAINからデータDIN94
が入力される直前に、入力端子PTRINKからオン信号を入
力する。その結果、単位遅延素子KP94にオン信号が格納
されているときにデータDIN94 が入力され、入力メモリ
KM94にはデータDIN94 が格納される。また、単位遅延素
子KP95にオン信号が格納されている時にデータDIN95が
入力され、入力メモリKM95にはデータDIN95 が格納され
る。以降、同様にして、入力メモリKM96〜KM99にはデー
タDIN96 〜DIN99 が格納される。
【0083】さらに、入力端子DATAINからデータDIN97
が入力される直前に、入力端子PTRINLからオン信号を入
力する。すると、単位遅延素子LP97にオン信号が格納さ
れているときにデータDIN97 が入力され、入力メモリLM
97にはデータDIN97 が格納される。また、単位遅延素子
LP98にオン信号が格納されている時にデータDIN98 が入
力され、入力メモリLM98にはデータDIN98 が格納され
る。単位遅延素子LP99にオン信号が格納されている時に
データDIN99 が入力され、入力メモリLM99にはデータDI
N99 が格納される。
【0084】このようにして、1H分の入力信号である
データDIN0〜DIN99 について、データDIN2〜DIN0が入力
メモリJM2 〜JM0 に、データDIN0〜DIN99 が入力メモリ
IM0〜IM99に、データDIN94 〜DIN99 が入力メモリKM94
〜KM99に、そして、データDIN99 〜DIN97 が入力メモリ
LM99〜LM97に各々格納される(ステップ1)
【0085】次に、制御部150からの制御信号によ
り、各入力メモリJM2 〜JM0 ,IM0 〜IM99,KM94〜KM9
9,LM99〜LM97に格納されていたデータDIN2〜DIN0,DIN
0〜DIN99 ,DIN94 〜DIN99 ,DIN99 〜DIN97 は、各々
対応するプロセッサエレメントPEJ2〜PEJ0,PE0 〜PE9
9,PEK94 〜PEK99 ,PEL99 〜PEL97 内のメモリに格納
される。(ステップ2)
【0086】次に、制御部150からの制御信号によ
り、プロセッサエレメントPEJ2〜PEJ0,PE0 〜PE99,PE
K94 〜PEK99 ,PEL99 〜PEL97 内の演算器で、各々式2
5〜式28の4個の演算が行われる。(ステップ3)
【0087】
【数14】
【0088】次に、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、左隣のプロ
セッサエレメントで演算された式28の演算結果を読み
込み、そのプロセッサエレメントで演算された式27の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式29に示す演算が行われる。(ステ
ップ4)
【0089】
【数15】
【0090】次に、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、左隣のプロ
セッサエレメントで演算された式29の演算結果を読み
込み、そのプロセッサエレメントで演算された式26の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式30に示す演算が行われる。(ステ
ップ5)
【0091】
【数16】
【0092】次に、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、左隣のプロ
セッサエレメントで演算された式30の演算結果を読み
込み、そのプロセッサエレメントで演算された式25の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式31に示す演算が行われる。(ステ
ップ6)
【0093】
【数17】
【0094】次に、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、右隣のプロ
セッサエレメントで演算された式28の演算結果を読み
込み、そのプロセッサエレメントで演算された式27の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式32に示す演算が行われる。(ステ
ップ7)
【0095】
【数18】
【0096】次に、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、右隣のプロ
セッサエレメントで演算された式32の演算結果を読み
込み、そのプロセッサエレメントで演算された式26の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式33に示す演算が行われる。(ステ
ップ8)
【0097】
【数19】
【0098】そして、制御部150からの制御信号によ
り、前記各プロセッサエレメントにおいて、右隣のプロ
セッサエレメントで演算された式33の演算結果を読み
込み、そのプロセッサエレメントで演算された式31の
演算結果との加算を行う。すなわち、各プロセッサエレ
メントにおいて、式23に示す演算が行われ、出力デー
タDOUTi が得られる。(ステップ9)
【0099】そして、制御部150からの制御信号によ
り、各プロセッサエレメントPE0 〜PE99,PEK97 〜PEK9
9 に格納されている出力データDOUTi が各々対応する出
力メモリOM0 〜OM99,QM97〜QM99に転送される。なお、
並列プロセッサ100はSIMD構成なので、この制御
部150からの制御信号は、対応する出力メモリを有し
ないプロセッサエレメントPEJ2〜PEJ0,PEK94 〜PEK96
,PEL99 〜PEL97 にも伝えられるが、これらプロセッ
サエレメントからのデータは無視される。(ステップ1
0)
【0100】ここで、前記ステップ4〜ステップ9にお
いてどのようなデータが演算され、ステップ10におい
て出力メモリOMi ,QMi にどのようなデータが取り込ま
れたかを詳しく述べる。
【0101】ステップ4で、制御部150から「左隣で
演算されたフィルタ係数COE3との乗算結果と、自分のと
ころで演算したフィルタ係数フィルタ係数COE2との乗算
結果の2つのデータを加算しろ」という制御信号がプロ
セッサエレメントPE0 , PEJ0 , PEJ1 に入力される
と、各プロセッサエレメントにおいては各々式34、式
35、および、式36の演算が行われる。
【0102】
【数20】
【0103】ステップ5で、制御部150から「左隣で
演算された前記演算の結果と、自分のところで演算した
フィルタ係数COE1との乗算結果の2つのデータを加算し
ろ」という制御信号がプロセッサエレメントPE1 , PE0
, PEJ0 に入力されると、各プロセッサエレメントに
おいては各々式37、式38、および、式39の演算が
行われる。
【0104】
【数21】
【0105】ステップ6で、制御部150から「左隣で
演算された前記演算の結果と、自分のところで演算した
フィルタ係数COE0との乗算結果の2つのデータを加算し
ろ」という制御信号がプロセッサエレメントPE2 , PE1
, PE0に入力されると、各プロセッサエレメントにお
いては各々式40、式41、および、式42の演算が行
われる。
【0106】
【数22】
【0107】ステップ7で、制御部150から「右隣で
演算されたフィルタ係数COE3との乗算結果と、自分のと
ころで演算したフィルタ係数COE2との乗算結果の2つの
データを加算しろ」という制御信号がプロセッサエレメ
ントPE2 ,PE3 ,PE4 に入力されると、各プロセッサエ
レメントにおいては各々式43、式44、および、式4
5の演算が行われる。
【0108】
【数23】
【0109】ステップ8で、制御部150から「右隣で
演算された前記演算の結果と、自分のところで演算した
フィルタ係数COE1との乗算結果の2つのデータを加算し
ろ」という制御信号がプロセッサエレメントPE1 ,PE2
,PE3 に入力されると、各プロセッサエレメントにお
いては各々式46、式47、および、式48の演算が行
われる。
【0110】
【数24】
【0111】ステップ9て、制御部150から「右隣で
演算された前記演算の結果と、自分のところでステップ
6で演算した結果との2つのデータを加算しろ」という
制御信号がプロセッサエレメントPE0 ,PE1 ,PE2 に入
力されると、各プロセッサエレメントにおいては各々式
49、式50、および、式51の演算が行われ、出力デ
ータDOUT0 ,DOUT1 ,DOUT2 が得られる。
【0112】
【数25】
【0113】また、プロセッサエレメントPEK94 〜PEK9
9 ,PEL99 〜PEL97 に対しても、制御部150からステ
ップ4〜ステップ9で各々前記制御信号が入力される。
その結果、ステップ9終了時には、プロセッサエレメン
トPEK97 ,PEK98 ,PEK99 では、各々式52、式53、
および、式54の演算結果である出力データDOUT97、DO
UT98,DOUT99が得られている。
【0114】
【数26】
【0115】また、プロセッサエレメントPE3 〜PE96に
対しても、制御部150からステップ4〜ステップ9で
各々前記制御信号が入力される。その結果、ステップ9
終了時には、プロセッサエレメントPEi(i=3 〜96) で
は、各々式55の演算結果である出力データDOUTi が得
られている。
【0116】
【数27】
【0117】そして、ステップ10において、式49〜
式55に示した各出力データDOUTiが、出力メモリOM0
〜OM96、および、QM97〜QM99に取り込まれる。
【0118】次に、ステップ10終了後に入力端子PTRO
UTからオン信号を入力する。これにより、まず最初に単
位遅延素子OP0 にオン信号が格納されるので、スイッチ
OS0を介して出力端子DATAOUT から出力データDOUT0 が
出力される。次に、単位遅延素子OP1 にオン信号が格納
されるので、スイッチOS1 を介して出力端子DATAOUTか
ら出力データDOUT1 が出力される。以降、同様にして、
出力データDOUT2 〜DOUT96が順に出力される。
【0119】そして、単位遅延素子OP96にオン信号が格
納されていて出力端子DATAOUT から出力データDOUT96が
出力され終わった時点で、図示省略したクリア信号によ
り、単位遅延素子OP96のオン信号を強制的にオフする。
これにより、単位遅延素子OP97にはオン信号は伝わら
ず、スイッチOS97〜OS99はオンされない。そしてこの時
に、入力端子PTROUTQ からオン信号を入力する。これに
より、単位遅延素子QP97にオン信号が格納されるので、
スイッチQS97を介して出力端子DATAOUT から出力データ
DOUT97が出力される。次に、単位遅延素子QP98にオン信
号が格納されるので、スイッチQS98を介して出力端子DA
TAOUT から出力データDOUT98が出力される。次に、単位
遅延素子QP99にオン信号が格納され、スイッチQS99を介
して出力端子DATAOUT から出力データDOUT99が出力され
る。(ステップ11)
【0120】このように、本発明においては、プロセッ
サエレメントPE0 の左側にあるプロセッサエレメントPE
J0,PEJ1,PEJ2で適切な値を演算しているので、折り返
しデータを使用したフィルタをかけて、出力データDOUT
0 ,DOUT1 ,DOUT2 を演算することができる。また、出
力データDOUT97,DOUT98,DOUT99を演算するために、プ
ロセッサエレメントPEK97 ,PEK98 ,PEK99 のみなら
ず、その左側のプロセッサエレメントPEK94 ,PEK95 ,
PEK96 、および、その右側のプロセッサエレメントPEL9
9 ,PEL98 ,PEL97 を使用して適切な値を演算している
ので、折り返しデータを使用したフィルタ演算が行え
る。
【0121】上述の説明では、1H分のデータ(画素)
が100個である場合であったが、たとえば、99個
(DIN0〜DIN98 )の場合は、以下のようにして対応でき
る。図1の入力端子PTRIN 、および入力端子PTRINJから
オン信号を入力する。そして、入力端子DATAINから、入
力データDIN0,DIN1,・・・,DIN98 を順番に入力す
る。単位遅延素子IP0 にオン信号が格納されている時に
入力データDIN0が入力され、入力メモリIM0 には入力デ
ータDIN0が格納される。単位遅延素子IP1 にオン信号が
格納されている時に入力データDIN1が入力され、入力メ
モリIM1 には入力データDIN1が格納される。以降、同様
にして、入力メモリIMi(i=2 〜98) には入力データDINi
(i=2〜98) が格納される。
【0122】単位遅延素子IP98にオン信号が格納されて
いて入力端子DATAINからの入力データDIN98 がスイッチ
IS98を介して入力メモリIM98に格納され終わった時点
で、図示省略したクリア信号により、単位遅延素子IP98
のオン信号を強制的にオフする。これにより、単位遅延
素子IP99にはオン信号は伝わらず、入力メモリIM99には
入力データは格納されない。
【0123】また、単位遅延素子JP0 にオン信号が格納
されている時に入力データDIN0が入力され、入力メモリ
JM0 に入力データDIN0が格納される。単位遅延素子JP1
にオン信号が格納されている時に入力データDIN1が入力
され、入力メモリJM1 には入力データDIN1が格納され
る。さらに、単位遅延素子JP2 にオン信号が格納されて
いる時に入力データDIN2が入力され、入力メモリJM2 に
は入力データDIN2が格納される。
【0124】さらに、入力端子DATAINから入力データDI
N93 が入力される直前に、入力端子PTRINKからオン信号
を入力する。したがって、単位遅延素子KP94にオン信号
が格納されている時に入力データDIN93 が入力され、入
力メモリKM94には入力データDIN93 が格納される。単位
遅延素子KP95にオン信号が格納されている時に入力デー
タDIN94 が入力され、入力メモリKM95には入力データDI
N94 が格納される。以降、同様にして、入力メモリKMi
(i=96〜99) には入力データDINi(i=95 〜98) が格納さ
れる。
【0125】さらに、入力端子DATAINから入力データDI
N96 が入力される直前に、入力端子PTRINLからオン信号
を入力する。したがって、単位遅延素子LP97にオン信号
が格納されている時に入力データDIN96 が入力され、入
力メモリLM97には入力データDIN96 が格納される。単位
遅延素子LP98にオン信号が格納されている時に入力デー
タDIN97 が入力され、入力メモリLM98には入力データDI
N97 が格納される。さらに、単位遅延素子LP99にオン信
号が格納されている時に入力データDIN98 が入力され、
入力メモリIM99には入力データDIN98 が格納される。
【0126】このようにして、1H分の入力信号である
データDIN0〜DIN98 について、データDIN2〜DIN0が入力
メモリJM2 〜JM0 に、データDIN0〜DIN98 が入力メモリ
IM0〜IM98に、データDIN93 〜DIN98 が入力メモリKM94
〜KM99に、そして、データDIN98 〜DIN96 が入力メモリ
LM99〜LM97に各々格納される(ステップ1)
【0127】次に、制御部150からの制御信号によ
り、各入力メモリJM2 〜JM0 ,IM0 〜IM98,KM94〜KM9
9,LM99〜LM97に格納されていたデータDIN2〜DIN0,DIN
0〜DIN98 ,DIN93 〜DIN98 ,DIN98 〜DIN96 は、各々
対応するプロセッサエレメントPEJ2〜PEJ0,PE0 〜PE9
8,PEK94 〜PEK99 ,PEL99 〜PEL97 内のメモリに格納
される。(ステップ2)
【0128】そして、画素数が100のときと同じステ
ップ3〜ステップ10の操作を行うことで、式56〜式
62の演算が行われ、出力データDOUT0 〜DOUT98が出力
メモリOM0 〜OM95、および、QM97〜QM99に格納される。
【0129】
【数28】
【0130】
【数29】
【0131】
【数30】
【0132】次に、ステップ10終了後に入力端子PTRO
UTからオン信号を入力する。これにより、まず最初に単
位遅延素子OP0 にオン信号が格納されるので、スイッチ
OS0を介して出力端子DATAOUT から出力データDOUT0 が
出力される。次に、単位遅延素子OP1 にオン信号が格納
されるので、スイッチOS1 を介して出力端子DATAOUTか
ら出力データDOUT1 が出力される。以降、同様にして、
出力データDOUT2 〜DOUT95(出力メモリOM2 〜出力メモ
リOM95に格納されていたデータ)が順番に出力される。
【0133】そして、単位遅延素子OP95にオン信号が格
納されていて出力端子DATAOUT から出力データDOUT95が
出力され終わった時点で、図示省略したクリア信号によ
り、単位遅延素子OP95のオン信号を強制的にオフする。
これにより、単位遅延素子OP96にはオン信号は伝わら
ず、スイッチOS96〜スイッチOS99はオンされない。
【0134】そして、入力端子PTROUTQ からオン信号を
入力する。これにより、単位遅延素子QP97にオン信号が
格納されるので、スイッチQS97を介して出力端子DATAOU
T から出力データDOUT96(出力メモリQM97に格納されて
いたデータ)が出力される。次に、単位遅延素子QP98に
オン信号が格納されるので、スイッチQS98を介して出力
端子DATAOUT から出力データDOUT97(出力メモリQM98に
格納されていたデータ)が出力される。次に、単位遅延
素子QP99にオン信号が格納されるので、スイッチQS99を
介して出力端子DATAOUT から出力データDOUT98(出力メ
モリQM99に格納されていたデータ)が出力される。(ス
テップ11)
【0135】このように、画素数が100未満の場合で
も、図1に示す並列プロセッサ100は適用可能であ
る。
【0136】第2実施例 また、本発明の並列プロセッサの第2実施例を図2を参
照して説明する。第2実施例の並列プロセッサ200
は、主演算部110、先頭折り返しデータ演算部12
0、末尾折り返しデータ演算部140、および、制御部
150を有し、第1実施例の並列プロセッサ100の末
尾データ演算部130を有していない構成の並列プロセ
ッサである。この並列プロセッサ200は、1水平期間
(1H)が100画素(DIN0〜DIN99 )よりなる入力信
号に対してのみ、処理を行う並列プロセッサである。す
なわち、第1実施例の並列プロセッサ100の回路構成
は画素数が100未満の場合でも適応できたが、第2実
施例の並列プロセッサ200の回路構成は画素数が10
0に固定されているものを対象としている。
【0137】図2において、図1と同一の回路について
は同一の番号を付し、その説明を省略する。第2実施例
においては、第1実施例と異なり、入力端子PTRIN から
のオン信号が単位遅延素子IP0 と単位遅延素子JP0 に入
力される。単位遅延素子IP96からのオン信号は単位遅延
素子IP97と単位遅延素子LP97に入力される。プロセッサ
エレメントPE99の右隣のプロセッサエレメントがプロセ
ッサエレメントPEL99 であり、右隣からデータをもらう
ときは、プロセッサエレメントPEL99 からデータをもら
う。また、右隣のプロセッサエレメントへデータを渡す
ときは、プロセッサエレメントPEL99 へデータを渡す。
【0138】第1実施例と同じ7タップFIRフィルタ
処理を具体例として、並列プロセッサ200の動作説明
を行う。まず、入力端子PTRIN からオン信号を入力す
る。そして、入力端子DATAINから、入力データDIN0,DI
N1,DIN2,・・・,DIN99 を順番に入力する。単位遅延
素子IP0 にオン信号が格納されている時に入力データDI
N0が入力され、 IM0には入力データDIN0が格納される。
単位遅延素子IP1 にオン信号が格納されている時に入力
データDIN1が入力され、入力メモリIM1 には入力データ
DIN1が格納される。以降、同様にして、入力メモリIMi
(i=2 〜99) には入力データDINi(i=2〜99) が格納され
る。
【0139】また、単位遅延素子JP0 にオン信号が格納
されている時に入力データDIN0が入力され、入力メモリ
JM0 に入力データDIN0が格納される。単位遅延素子JP1
にオン信号が格納されている時に入力データDIN1が入力
され、入力メモリJM1 には入力データDIN1が格納され
る。さらに、単位遅延素子JP2 にオン信号が格納されて
いる時に入力データDIN2が入力され、入力メモリJM2 に
は入力データDIN2が格納される。
【0140】また、単位遅延素子IP96からのオン信号は
単位遅延素子LP97にも伝わるので、単位遅延素子LP97に
オン信号が格納されている時に入力データDIN97 が入力
され、入力メモリLM97には入力データDIN97 が格納され
る。単位遅延素子LP98にオン信号が格納されている時に
入力データDIN98 が入力され、入力メモリLM98には入力
データDIN98 が格納される。単位遅延素子LP99にオン信
号が格納されている時に入力データDIN99 が入力され、
入力メモリLM99には入力データDIN99 が格納される。
【0141】このようにして、1H分の入力信号である
データDIN0〜DIN99 について、データDIN2〜DIN0が入力
メモリJM2 〜JM0 に、データDIN0〜DIN99 が入力メモリ
IM0〜IM99に、そして、データDIN99 〜DIN97 が入力メ
モリLM99〜LM97に各々格納される(ステップ1)
【0142】次に、制御部150からの制御信号によ
り、各入力メモリJM2 〜JM0 ,IM0 〜IM99,LM99〜LM97
に格納されていたデータDIN2〜DIN0,DIN0〜DIN99 ,DI
N99 〜DIN97 は、各々対応するプロセッサエレメントPE
J2〜PEJ0,PE0 〜PE99,PEL99〜PEL97 内のメモリに格
納される。(ステップ2)
【0143】そして、画素数が100のときと同じステ
ップ3〜ステップ10の操作を行うことで、式63〜式
69の演算が行われ、出力データDOUT0 〜DOUT98が出力
メモリOM0 〜OM95、および、QM97〜QM99に格納される。
【0144】
【数31】
【0145】
【数32】
【0146】
【数33】
【0147】第1実施例の並列プロセッサ100におい
ては、プロセッサエレメントPE99が、右隣からデータを
もらうときは、ダミーデータとして0をもらっていた
が、第2実施例の並列プロセッサ200においては、プ
ロセッサエレメントPEL99 からデータをもらうので、プ
ロセッサエレメントPEL99 ,PEL98 ,PEL97 での適切な
演算結果をプロセッサエレメントPE99はもらうことがで
きる。したがって、出力メモリOM97〜OM99には、式67
〜式69に示す出力データDOUT97〜DOUT99が格納される
ことになる。
【0148】次に、ステップ10終了後に入力端子PTRO
UTからオン信号を入力する。これにより、まず最初に単
位遅延素子OP0 にオン信号が格納されるので、スイッチ
OS0を介して出力端子DATAOUT から出力データDOUT0 が
出力される。次に、単位遅延素子OP1 にオン信号が格納
されるので、スイッチOS1 を介して出力端子DATAOUTか
ら出力データDOUT1 が出力される。以降、同様にして、
出力データDOUT2 〜出力データDOUT99が順番に出力され
る。(ステップ11)
【0149】このように、第2実施例の並列プロセッサ
200においても、プロセッサエレメントPE0 の左側に
あるプロセッサエレメントPEJ0,PEJ1,PDJ2で適切な値
を演算しているので、折り返しデータを使用したフィル
タをかけて、出力データDOUT0 ,DOUT1 ,DOUT2 を演算
することができる。また、プロセッサエレメントPE99の
右側にあるプロセッサエレメントPEL99 ,PEL98 ,PEL9
7 で適切な値を演算しているので、折り返しデータを使
用したフィルタをかけて、出力データDOUT99,DOUT98,
DOUT97を演算することができる。
【0150】なお、本発明はこの第1実施例および第2
実施例に限られるものではなく、種々の改変が可能であ
る。たとえば、本実施例では、プロセッサエレメントが
100個よりなる並列プロセッサを例示したが、プロセ
ッサエレメントの数は100個でなくてもよい。また、
余分に付加する左右のプロセッサエレメント(プロセッ
サエレメントPEJ0〜PEJ2,PEL99 〜PEL97 は、3個ずつ
でなくてもよい。それぞれ、処理対象などに応じて、任
意数のプロセッサエレメントを有する構成にしてよい。
【0151】
【発明の効果】本発明によれば、画像処理のフィルタ処
理などに用いて好ましい、一連のデータの端部のデータ
に対して折り返しデータをダミーデータとして用いて演
算が行える並列プロセッサを提供することができた。
【図面の簡単な説明】
【図1】本発明の第1実施例の並列プロセッサの構成を
示すブロック図である。
【図2】本発明の第2実施例の並列プロセッサの構成を
示すブロック図である。
【図3】従来の並列プロセッサの構成を示すブロック図
である。
【図4】1水平期間(1H)分の入力データ(画素デー
タ)を説明する図である。
【図5】フィルタ係数を示す図である。
【図6】折り返しデータを使用しないでフィルタをかけ
る処理を説明する図である。
【図7】折り返しデータを使用してフィルタをかける処
理を説明する図である。
【符号の説明】 100,200,900…並列プロセッサ 110…主演算部 120…先頭折り返しデータ演算部 130…末尾データ演算部 140…末尾折り返しデータ演算部 150…制御部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】各々データ入力手段と、演算手段と、デー
    タ出力手段とを有する複数の第1の演算ユニットと、 各々データ入力手段と、演算手段とを有する複数の第2
    の演算ユニットとを有し、 前記複数の第1の演算ユニットは、隣接する各演算ユニ
    ットの演算手段間でデータのアクセスが可能なように接
    続され、 前記複数の第2の演算ユニットは、隣接する前記第1の
    演算ユニットおよび第2の演算ユニットの演算手段間で
    データのアクセスが可能なように、前記第1の演算ユニ
    ットの前記接続の端部にさらに連続して接続され、 前記第1の演算ユニットは、入力された一連のデータの
    各データに対して所定の演算を行い、 前記第2の演算ユニットは、前記入力された一連のデー
    タの端部付近の所定データが入力され、前記第1の演算
    ユニットの前記演算と同じ演算を行い、前記第1の演算
    ユニットの端部の演算ユニットに、前記一連のデータの
    端部に連続するデータに対して前記演算を実行したデー
    タに相当するデータを供給する並列プロセッサ。
  2. 【請求項2】前記接続された複数の第1の演算ユニット
    の一方の端部の所定数の演算ユニットをさらに重複して
    設け、 前記重複して設けられた所定数の演算ユニットの終端
    部、および、前記第1の演算ユニットの他方の端部に、
    各々前記第2の演算ユニットを設け、 任意のデータ長の前記一連の入力データに対して、該端
    部のデータを補間して前記所定の演算を行う請求項1記
    載の並列プロセッサ。
  3. 【請求項3】前記接続された複数の第1の演算ユニット
    の両端に、各々前記第2の演算ユニットを設け、 所定のデータ長の前記一連の入力データに対して、該端
    部のデータを補間して前記所定の演算を行う請求項1記
    載の並列プロセッサ。
  4. 【請求項4】前記入力された一連のデータは、画像デー
    タの1水平期間分の画素データであり、 入力された画像データに対して1水平期間分ごとに所定
    の画像処理を並列に行う請求項1〜3いずれか記載の並
    列プロセッサ。
  5. 【請求項5】前記第1の演算ユニットおよび前記第2の
    演算ユニットは、入力された一連のデータに対してフィ
    ルタ処理を行う請求項1〜4いずれか記載の並列プロセ
    ッサ。
JP32329494A 1994-12-26 1994-12-26 並列プロセッサ Pending JPH08180177A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32329494A JPH08180177A (ja) 1994-12-26 1994-12-26 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32329494A JPH08180177A (ja) 1994-12-26 1994-12-26 並列プロセッサ

Publications (1)

Publication Number Publication Date
JPH08180177A true JPH08180177A (ja) 1996-07-12

Family

ID=18153186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32329494A Pending JPH08180177A (ja) 1994-12-26 1994-12-26 並列プロセッサ

Country Status (1)

Country Link
JP (1) JPH08180177A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155579A (ja) * 2004-11-02 2006-06-15 Matsushita Electric Ind Co Ltd 画像処理方法および画像処理装置
JP2007193838A (ja) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd型マイクロプロセッサ
US7561751B2 (en) 2004-11-02 2009-07-14 Panasonic Corporation Image processing method
US8295598B2 (en) 2007-12-20 2012-10-23 Canon Kabushiki Kaisha Processing method and apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155579A (ja) * 2004-11-02 2006-06-15 Matsushita Electric Ind Co Ltd 画像処理方法および画像処理装置
US7561751B2 (en) 2004-11-02 2009-07-14 Panasonic Corporation Image processing method
JP2007193838A (ja) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd型マイクロプロセッサ
JP4537420B2 (ja) * 2007-04-02 2010-09-01 株式会社リコー Simd型マイクロプロセッサ
US8295598B2 (en) 2007-12-20 2012-10-23 Canon Kabushiki Kaisha Processing method and apparatus

Similar Documents

Publication Publication Date Title
US6286024B1 (en) High-efficiency multiplier and multiplying method
AU610934B2 (en) A transform processing circuit
JPH03131965A (ja) ニューラルネットワーク用二次元収縮アレイ及びその方法
JP2002152014A (ja) 正規最小平均二乗アルゴリズムに基づいた係数適応用ハードウエアアクセリレータ
JP2001236496A (ja) 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造
JPS61241877A (ja) 空間積和演算装置
JP3135902B2 (ja) 自動等化器及び半導体集積回路
JPH08180177A (ja) 並列プロセッサ
JPS62256129A (ja) 演算処理装置
JPH11306163A (ja) 積和演算装置
JP2592979B2 (ja) 信号処理用集積回路装置
JPH07239842A (ja) 離散的コサイン変換及び逆変換のための集積回路プロセッサ
JPH0438005A (ja) ディジタル信号処理回路
JP2925842B2 (ja) パイプライン処理装置
JP2523767B2 (ja) 先行制御装置
Gay-Bellile et al. Architecture of a programmable FIR filter co-processor
JP3352558B2 (ja) 信号処理装置
JPH08171626A (ja) データ処理装置
JPH06216715A (ja) ディジタルフィルタ
JPH0440706A (ja) ディジタルシグナルプロセッサを用いたトランスバーサルフィルタ
JP3049193B2 (ja) 画像処理装置
Molloy et al. An algorithm-driven processor design for video compression
JPH04364525A (ja) 並列演算装置
JPH0263270A (ja) 画像処理回路
JP3801368B2 (ja) ディジタル・トランスバーサル・フィルタ