JP3907369B2 - データ駆動型情報処理システム - Google Patents
データ駆動型情報処理システム Download PDFInfo
- Publication number
- JP3907369B2 JP3907369B2 JP2000064641A JP2000064641A JP3907369B2 JP 3907369 B2 JP3907369 B2 JP 3907369B2 JP 2000064641 A JP2000064641 A JP 2000064641A JP 2000064641 A JP2000064641 A JP 2000064641A JP 3907369 B2 JP3907369 B2 JP 3907369B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- data packet
- packet
- unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
この発明はデータ駆動型情報処理システムに関し、特に、映像信号による画像データを処理できるデータ駆動型情報処理システムに関する。
【0002】
【従来の技術および発明が解決しようとする課題】
映像信号処理などの大量データの高速処理が望まれる場合には、並列処理が有効である。並列処理向きアーキテクチャのうちでも、データ駆動型と呼ばれるものは特に注目される。
【0003】
データ駆動型情報処理システムでは、「ある処理に必要な入力データがすべて揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる」という規則に従って処理が並列に進行する。
【0004】
図16は従来の映像処理向けデータ駆動型情報処理システムのブロック構成図である。図16と同様のブロック構成は、文献「動的データ駆動型プロセッサによる並列処理方式の検討」(情報処理学会主催のマイクロコンピュータアーキテクチャシンポジウム1991.11.12)に示される。
【0005】
図17(A)と(B)は、従来のデータパケットのフィールド構成図である。図17(A)においてデータパケットは命令コードCを格納するフィールドF1、ノード番号Nを格納するフィールドF2、世代番号Gを格納するフィールドF3、データD1を格納するフィールドF4およびデータD2を格納するフィールドF5を含む。
【0006】
図16において映像処理向けデータ駆動型情報処理システムは、データ駆動型情報処理装置62および画像メモリ部61を含み、画像メモリ部61は、画面を構成する複数の画像データが予め格納される画像メモリ63およびメモリインターフェイス64を含む。データ駆動型情報処理装置62はデータ伝送路65、66および70のそれぞれが接続される入力ポートIA,IBおよびIV、ならびにデータ伝送路67、68および69のそれぞれが接続される出力ポートOA、OBおよびOVを含む。
【0007】
データ駆動型情報処理装置62はデータ伝送路65または66から入力ポートIAまたはIBを介して、信号入力のためのデータパケットが、時系列的に入力される。データ駆動型情報処理装置62には、所定の処理内容がプログラムとして予め記憶されており、そのプログラム内容に基づく処理が実行される。
【0008】
メモリインターフェイス64はデータ駆動型情報処理装置62の出力ポートOVから出力された画像メモリ63に対するアクセス(画像メモリ63の内容の参照/更新など)要求をデータ伝送路66を介して受理する。メモリインターフェイス64は受理したアクセス要求に従ってメモリアクセス制御線71を介して画像メモリ63に対してアクセスを行なった後、その結果を、データ伝送路70および入力ポートIVを介してデータ駆動型情報処理装置62に与える。
【0009】
データ駆動型情報処理装置62は、入力したデータパケットに対する処理が終了した後、出力ポートOAおよびデータ伝送路67または出力ポートOBおよびデータ伝送路68を介して信号出力のためのデータパケットを出力する。
【0010】
図18は図16のデータ駆動型情報処理装置62の構成図である。図において、データ駆動型情報処理装置62は合流部72、データ駆動型の処理を行なうための発火制御部73、演算部74およびプログラム記憶部75、ならびに分岐部76を含む。
【0011】
合流部72は、データ伝送路65または66を介して与えられるデータパケット、ならびに分岐部76から出力されるデータパケットを順次入力して、発火制御部73に出力する。発火制御部73には、対となるデータパケットを検出する(これを発火という)のための待合メモリ731が含まれる。待合メモリ731は定数データが1つ以上格納される定数データメモリ732を含む。発火制御部73は、待合メモリ731を利用して合流部72から与えられるデータパケットについて必要に応じて待合を行なう。この結果、ノード番号Nおよび世代番号Gが一致する、すなわち対となる異なる2つのデータパケットのうち、一方のデータパケットのフィールドF4のデータD1およびフィールドF5のデータD2のいずれか1つを、他方のデータパケットのフィールドF4およびF5のいずれか一方に格納して、この他方のデータパケットを演算部74に出力する。このとき、一方のデータパケットは消去される。
【0012】
演算部74は、発火制御部73から与えられたデータパケットを入力して、データパケットの命令コードCを解読して、解読結果に基づいて、所定の処理を行なう。命令コードCがデータD1またはD2に対する演算命令を示す場合には、該命令コードCに従い対応のデータD1またはD2について所定の演算処理が施されて、その結果は該データパケットのフィールドF4に格納されて、該データパケットはプログラム記憶部75に出力される。また、命令コードCが画像メモリ63に対するアクセス命令を示す場合には、アクセス要求として、該データパケットを、データ伝送路60を介してメモリインターフェイス64に与える。
【0013】
メモリインターフェイス64は、データ伝送路69を介して与えられたデータパケットを入力して、該入力データパケットの内容に従って、メモリアクセス制御線71を介して画像メモリ63をアクセスする。そのアクセスの結果は該入力データパケットのフィールドF4にデータD1として格納されて、該データパケットはデータ伝送路70を介して演算部74に与えられる。
【0014】
プログラム記憶部75は、複数の次位のノード番号Nと次位の命令コードCとからなるデータフロープログラムが予め記憶されたプログラムメモリ41を有する。プログラム記憶部75は、演算部74から与えられたデータパケットを入力し、該入力データパケットのノード番号Nに基づくアドレス指定によって、次位のノード番号Nおよび次位の命令コードCを読出し、読出したノード番号Nおよび命令コードCを、該入力データパケットのフィールドF2およびF1のそれぞれに格納して、該入力データパケットを分岐部76に出力する。
【0015】
図17(A)のデータパケットの命令コードCは画像メモリ63に対する処理の内容を指示する命令、たとえば画像メモリ63の内容の参照あるいは更新などを含むプログラムに関する実行命令である場合には、世代番号Gには次のような内容が設定されている。つまり、世代番号Gは、本来、該データパケットの識別子である。具体的には、データパケットには、データ伝送路65または66を介してデータ駆動型情報処理装置62に対して入力される時点において、世代番号Gは入力時系列の順序に従って割付けられている。世代番号Gは、発火制御部73における対データ検出のためのデータ待合の際に利用されるとともに、画像メモリ部61においては、画像メモリ63をアクセスする際のアドレス指定に用いられる。このアドレス指定に用いられる場合には、世代番号Gは、上位ビットからフィールドアドレスFD♯、ラインアドレスLN♯およびピクセルアドレスPX♯を示す。
【0016】
データD1およびD2は、対応の命令コードCの内容によって解釈されるデータである。たとえば命令コードCが画像メモリ63に対する内容更新を示す場合は、データD1は画像メモリ63に書込まれるデータであり、データD2は意味を持たない。命令コードCが画像メモリ63に対する内容の参照を示す場合は、データD1およびD2は意味を持たない。
【0017】
次に、図16のデータ駆動型情報処理装置62において、入力ポートIAまたはIBを介して映像信号入力のためのデータパケットが、時系列的に、たとえば画面の走査順番に従って入力されて、該入力データパケットの内容に対してバタフライ演算を行なう場合を説明する。まず、バタフライ演算について簡単に説明する。映像信号による大量の画像データを効率よく処理するために、高率でデータを圧縮するためにDCT(離散コサイン変換の略)およびFFT(高速フーリエ変換の略)ならびに圧縮されたデータを伸張するためのこれらの逆変換などが用いられる。DCTおよびFFTならびにこれらの逆変換は、たとえば画像を圧縮・伸張する標準方式であるMPEG(Motion Picture Experts Groupの略)およびJPEG(Joint Photographic Experts Groupの略)において採用されている。
【0018】
例えば、DCTによる画像の圧縮は、画像内の予め特定された小さなブロック(たとえば、8画素×8画素のブロック)のそれぞれについて、該ブロックに対応の複数の画像データに対して直交変換を施すものである。このようなDCTにの演算をシリアルな演算処理とするために、バタフライ演算が採用される。DCTの演算にバタフライ演算が利用される場合には、DCTの複雑な演算は、積算と加算による単純な演算をシリアルに実行することで達成されるという特徴がある。この特徴は、この逆変換についても同様に得られる。また、同様な特徴は、FFTによる画像の圧縮および伸張についても得られる。
【0019】
図19は、従来のバタフライ演算を含む処理を示すデータフローグラフである。このデータフローグラフは、データフロープログラムとして予め、プログラム記憶部75のプログラムメモリ751にストアされている。
【0020】
画像データを処理する場合、異なる世代番号Gのパケット同士、すなわちピクセルアドレスPX♯の異なる画素データ同士を演算する場合がある。しかしながら、従来のデータ駆動型情報処理システムでは、異なる世代番号Gのデータパケット同士は演算することができなかったので、このような不都合を解消するために、演算部74においてテーブルメモリ741が設けられていた。テーブルメモリ741のアクセスを利用した処理により、従来のデータ駆動型情報処理システムであっても、異なる世代番号Gのデータパケット同士を演算することが可能であった。
【0021】
具体的には、データ駆動型情報処理装置62に入力したデータが、一旦、テーブルメモリ741に書込まれる。その後、所定の世代番号Gを有したデータパケットが入力されると、該入力データパケットの内容に基づいて、テーブルメモリ741がアクセスされて、アクセス結果得られたデータを用いて、乗算、加算、減算などの処理が行なわれていた。この処理を、図19のフローグラフに従い具体的に説明する。図19では、ノード78〜86のそれぞれについて、該ノードにおいて実行される命令コードCが示される。図において、命令コード“MUL”は乗算命令を、命令コード“ADD”は加算命令を、命令コード“SUB”は減算命令をそれぞれ示す。また、図において命令コード“SWPX”は、入力するデータパケットを、そのピクセルアドレスPX#の値に従い、選択的に出力先のノードを分岐させる命令を示す。具体的には、入力データパケットのピクセルアドレスPX#が1であれば、該入力データパケットは右側のノード(ノード79)に出力されて、0であれば、左側のノード(ノード80〜82)に出力される。図において命令コード“TREPPX”は、テーブルメモリ741の内容を更新する命令である。具体的には、与えられるデータパケットのピクセルアドレスPX♯に基づいてテーブルメモリ741をアドレス指定して、該データパケットのデータD1を書込むことを指示する。命令コード“TSEL”は、テーブルメモリ741の内容を参照する命令である。具体的にはテーブルメモリ741を、与えられたデータに基づいてアドレス指定して、指定されたアドレスから読出されたデータを、この際に入力したデータパケット中のフィールドF4およびF5のいずれか一方に格納して、該データパケットを出力することを指示する。
【0022】
まず、例として、次の2つのデータパケットが入力されて処理が実行される。一方のデータパケットには、ピクセルアドレスPX♯として1、およびデータD1としてA1が格納される。他方のデータパケットにはピクセルアドレスPX♯として0、およびデータD1としてA0が格納される。なお、ノード80に割当てられた命令コード“TSEL”に対応のテーブルメモリ741をアドレス指定するために用いられるアドレスは、該ノード80の左側に与えられている定数データ(=1)とする。該定数データは定数データメモリ732から読出されたデータである。
【0023】
まず、一方のデータパケットについては、ノード79において命令コード“TREPPX”が実行される。その結果、テーブルメモリ741には、アドレスPX♯(=1)にデータD1(=A1)が書込まれる。なお、この明細書では、データAi(i=0,1,2,3、…)は、演算の対象となる画像データを示す。また定数データBi(i=0,1,2,3、…)は、バタフライ演算において演算の対象となる画像データAiを処理するための係数などの定数データを示す。
【0024】
他方のデータパケットについては、ノード78において命令コード“SWPX”が実行されることにより、コピー処理されて、3つのデータパケットが生成されて、その1つ目はノード80に入力され、2つ目はノード81に入力され、3つ目はノード82に入力される。この1つ目のデータパケットについては、ノード80において命令コード“TSEL”が実行される。その結果、テーブルメモリ741のアドレス(=1)が指定されて、該指定アドレスに格納されたデータ、すなわちノード79における処理においてテーブルメモリ741に予め書込まれたデータ(=A1)が読出される。読出されたデータ(=A1)は該1つ目のデータパケットにデータD1として格納される。その後、該データパケットはコピー処理されて、2つのデータパケットが生成される。生成された各データパケットは次位のノード83と84にそれぞれ与えられる。
【0025】
その後、ノード81〜84のそれぞれにおいて、左側に入力したデータパケットのデータD1は対応の命令コード(=MUL)に従って、該ノードの右側に与えられている定数データ(=B0またはB1)と乗算処理されて、その結果データをデータD1として格納したデータパケットが次位のノード85および86にそれぞれ与えられる。これらの定数データは定数データメモリ732から読出されたデータである。その後、ノード85と86のそれぞれにおいて、入力された2つのデータパケットのデータD1同士は、対応の命令コード(=ADDまたはSUB)に従って、加算または減算の処理が施される。その結果、データD1として(A0*B1−A1*B0)を格納し、ピクセルアドレスPX♯として0を格納したデータパケットと、同様にデータD1として(A0*B0+A1*B1)を格納し、ピクセルアドレスPX♯として0を格納したデータパケットとが、それぞれ出力される。
【0026】
上述した従来のバタフライ演算をデータフロープログラムに記述した際には、図19で示されるようにノード78〜ノード86で示される9ステップが必要とされるから、バタフライ演算を含んだプログラムはステップ数が増加する。それゆえに、容量の大きいプログラムメモリ751が必要とされること、多くのプログラムステップ数を実行するためにデータ駆動型情報処理システムにおける処理速度は低下する。
【0027】
また、従来のデータ駆動型情報処理システムでは、前述したように異なる世代番号Gを有したデータパケット同士を演算処理することが不可能なため、一時的にデータを記憶するためのテーブルメモリ741が特別に必要とされて、システムのコストが高くなっていた。さらに、このテーブルメモリ741に関しては、ランダムアクセスがなされる。この際、テーブルメモリ741に係るバンド幅の制約に起因して処理速度はさらに低下する。
【0028】
それゆえにこの発明の目的は、映像信号に関する画像データ処理を効率良く行うことのできるデータ駆動型情報処理システムを提供することである。
【0029】
【課題を解決するための手段】
この発明に係るデータ駆動型情報処理システムは、画面を構成する複数の画像データを処理して出力するためのものであって、演算部と制御部とを備える。
【0030】
演算部は、1つ以上の種類の異なる命令コードのそれぞれに対応して1つ以上の演算器を有する。そして、命令コードを格納するための命令フィールドと、データを格納するためのデータフィールドとを少なくとも有したデータパケットを入力すると、1つ以上の演算器のいずれかにより、該入力データパケットのデータフィールドの内容を命令フィールドの命令コードに従い処理する。そして、処理結果を該入力データパケットのデータフィールドに格納して、該入力データパケットを出力する。
【0031】
制御部は、複数の命令コードを含むデータフロープログラムを記憶したプログラム記憶部を有する。そして、演算部から出力されたデータパケットを入力すると、プログラム記憶部から読出された次位の命令コードを、該入力データパケットの命令フィールドに格納して、該入力データパケットを該データ駆動型情報処理システムの外部または演算部に出力する。
【0032】
上述した1つ以上の演算器には、入力データパケットのデータフィールドの複数の画像データを、該入力データパケットの命令フィールドの所定の命令コードに従って所定演算する所定演算器が含まれる。
【0033】
上述したように、入力したデータパケット中のデータフィールドの複数の異なる画像データに対する所定演算は、従来は、複数の画像データを専用のメモリに書込みおよび読出ししながらなされていたので、所定演算に関して多くのプログラムステップを実行する必要がありプログラムメモリ容量の増大および処理速度の低下を招いていた。また、専用メモリの容量とバス幅の増大により処理速度のさらなる低下を招いていた。これに対して、本発明に係るデータ駆動型情報処理システムによれば、このような所定演算はメモリのアクセス無しに演算部の所定演算器のみにより所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリのバンド幅および容量は削減され、また実行すべきプログラムステップ数の減少により処理速度も向上して、画像データ処理を効率良く行うことのできる。
【0034】
上述のデータ駆動型情報処理システムにおいて、データフィールドの複数の画像データに対応した画面の走査に従う時系列の順番は、異なることを特徴とする。
【0035】
したがって、本発明に係るデータ駆動型情報処理システムでは、画面の走査に従う時系列の順番が異なる複数の画像データ同士に対する所定演算を、メモリのアクセス無しに演算部の所定演算器のみにより所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリの容量およびバンド幅を削減して、かつ実行すべきプログラムステップ数を少なくして、画面の走査に従う時系列の順番が異なる複数の画像データ同士に対して所定演算を行なうことができて、結果として画像データ処理を効率良く行うことのできる。
【0036】
上述したデータ駆動型情報処理システムは、所定の命令コードに、画面を構成する複数の画像データを圧縮するための演算を指示するコードが含まれるという特徴を更に有する。
【0037】
したがって、本発明に係るデータ駆動型情報処理システムでは、所定命令コードにより指示される画面を構成する複数の画像データを圧縮するための所定演算は、メモリのアクセス無しに演算部の所定演算器のみにより該所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリのバンド幅と容量を少なくして、かつ実行すべきプログラムステップ数を少なくして、画面を構成する複数の画像データを圧縮するための所定演算を行なうことができて、結果として画像データ処理を効率良く行うことのできる。
【0038】
上述したデータ駆動型情報処理システムは、所定の命令コードに、画面を構成する圧縮された複数の画像データを伸張するための演算を指示するコードが含まれるという特徴を更に有する。
【0039】
したがって、本発明に係るデータ駆動型情報処理システムでは、所定命令コードにより指示される画面を構成する圧縮された複数の画像データを伸張するための所定演算は、メモリのアクセス無しに演算部の所定演算器のみにより該所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリのバンド幅および容量を削減して、かつ実行すべきプログラムステップ数を少なくして、画面を構成する圧縮された複数の画像データを伸張するための所定演算を行なうことができて、結果として画像データ処理を効率良く行うことのできる。
【0040】
上述したデータ駆動型情報処理システムは、所定演算は、バタフライ演算であるという特徴を更に有する。
【0041】
したがって、本発明に係るデータ駆動型情報処理システムでは、画面を構成する複数の異なる画像データの圧縮または伸張の処理に適用されるバタフライ演算は、メモリのアクセス無しに演算部の所定演算器のみにより該バタフライ演算を指示する所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリのバンド幅と容量を削減して、かつ実行すべきプログラムステップ数を少なくして、画面を構成する複数の異なる画像データに対する圧縮および伸張処理に関連のバタフライ演算を行なうことができて、結果として画像データに関する圧縮および伸張処理を効率良く行うことのできる。
【0042】
上述したデータ駆動型情報処理システムは、所定の命令コードには、入力データパケットのデータフィールドの複数の画像データを並び替えることを指示するコードが含まれているという特徴を更に有する。
【0043】
上述したような入力データパケット中のデータフィールドの複数の画像データに対する並び替えを指示する所定命令コードに対応の所定演算は、従来は、複数の異なる画像データを専用のメモリに書込みおよび読出ししながらなされていたので、該所定演算に関して多くのプログラムステップを実行する必要がありプログラムメモリ容量の増大および処理速度の低下を招くとともに、メモリのバンド幅と容量が増大していた。これに対して、本発明に係るデータ駆動型情報処理システムによれば、このような並び替えのための所定演算はメモリのアクセス無しに演算部の所定演算器により所定命令コードのみが実行されることによりなされる。それゆえに、本発明に係るデータ駆動型情報処理システムによれば、メモリのバンド幅および容量は削減され、また実行すべきプログラムステップ数の減少により処理速度も向上して、画像データ処理を効率良く行うことのできる。
【0044】
上述のデータ駆動型情報処理システムは、さらに、画像記憶部とアクセス部とを備える。画像記憶部には、画面を構成する複数の異なる画像データが予め格納される。アクセス部は、与えられるデータパケットの内容に基づくアドレス指定により、画像記憶部をアクセスして、アクセス結果をデータパケットのデータフィールドに格納して、該データパケットを演算部に出力する。そして、このアクセス結果には、該データパケットの命令フィールドの命令コードにより処理される複数の異なる画像データが含まれることを特徴とする。
【0045】
したがって、データフィールドの複数の異なる画像データとして、画像記憶部に予め記憶された画像データを用いることができて、上述したような各所定演算を画像記憶部に予め記憶された画像データに対しても同様にして施すことができる。それゆえに、メモリのバンド幅と容量を削減して、かつ実行すべきプログラムステップ数を少なくして、画面を構成するために予め画像記憶部に記憶された複数の異なる画像データに対して上述の各所定演算を行なうことができて、結果として画像データに関する処理を効率良く行うことのできる。
【0046】
【発明の実施の形態】
以下、この発明の各実施の形態について図面を参照して詳細に説明する。
【0047】
(実施の形態1)
図1は、この発明の各実施の形態に適用されるデータ駆動型情報処理システムのブロック構成図である。図1のブロック構成と図16のそれとを比較して異なる点は、図1においては、図16のデータ駆動型情報処理装置62に代替えしてデータ駆動型情報処理装置620が設けられている点にある。図1のその他の構成は、図16のそれと同様であり、説明は省略される。
【0048】
図2は、図1のデータ駆動型情報処理装置620のブロック構成図である。図2のブロック構成と図17のそれとを比較して異なる点は、図2においては、図18の演算部74に代替えして演算部740が設けられた点にある。データ駆動型情報処理装置620のその他の構成は、図17のデータ駆動型情報処理装置62に示されたものと同様であるから、説明は省略する。
【0049】
図3は、図2の演算部740の概略ブロック構成図である。演算部740は、図示されるように、演算部74が有していたテーブルメモリ741を備えていなない。演算部740は、発火制御部73から出力されたデータパケットを入力して、処理して、出力する処理部742および、処理部742から出力されたデータパケットを入力して、処理して、処理結果を格納したデータパケットをプログラム記憶部75へ出力する命令コード演算部743を含む。
【0050】
命令コード演算部743は、複数の異なる演算器8i(i=1、2、3、…、n)を含む。複数の演算器8iのそれぞれは、種類の異なる命令コードCのそれぞれに対応して設けられて、対応の命令コードCに従う所定の演算処理を実行する。ここでは説明を簡単にするために、演算器81、82、83および84は実施の形態1、2、3および4で示される命令コード“buftx2”、“buftx4”、“reorder”および“mreorder”に従う演算処理を実行するものと想定する。なお、これらの命令コードの詳細は後述する。
【0051】
処理部742は、デコード部74Aと分岐部74Bを有する。デコード74Aは発火制御部73からデータパケットを入力して、入力したデータパケット中の命令コードCをデコードして、そのデコード結果と該入力データパケットを分岐部74Bに与える。
【0052】
分岐部74Bは、デコード部74Aから与えられるデコード結果とデータパケットを入力して、該入力データパケットを、与えられたデコード結果に基づいて選択された命令コード演算部743中の1つの演算器8iに出力する。その結果,該入力データパケットは、該データパケット中の命令コードCを演算処理可能な演算器8iに出力される。
【0053】
今、図3において演算器81は、本実施の形態1に係る命令コードC(=“buftx2”)に従う演算を実行可能な機能を有する。命令コード“buftx2”は、データパケット中に格納された2つの画像データについて、バタフライ演算を実行する場合に適用される。
【0054】
図4は、本実施の形態1に係るバタフライ演算に関する命令コードの演算器81の概略ブロック図である。図5(A)と(B)は、本実施の形態1に係るバタフライ演算に関する命令コードを含むデータフローグラフである。図5(A)と(B)で示される処理内容は、前述した図19のそれと同じ処理内容を示している。図示されるように、図19の9ステップの処理は、図5(A)または(B)で示される1ステップの処理で実行されることがわかる。
【0055】
図5(A)は、バタフライ演算に係る定数データを、定数データメモリ732から読出して処理する場合のデータフローグラフであり、図5(B)はバタフライ演算に係る定数データが格納されたデータパケットを入力して処理する場合のデータフローグラフである。
【0056】
図6(A)〜(E)は、図5(A)と(B)のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。図6(A)と(C)〜(E)に示されるように本実施の形態1に係るデータパケットではデータフィールドF41とF51のそれぞれには、複数のデータが格納される。他のフィールドF1〜F3の内容は、前述したものと同様である。
【0057】
図4において、演算器8iはパケット入力部91Iとパケット出力部91Oと、乗算器4〜7、加算器8および減算器9を含む。演算器8iにおいて処理部742から入力されたデータパケットは、パケット入力部91Iとパケット出力部91Oとに並行して与えられる。
【0058】
パケット入力部91Iは、コピー部1と2を含む。コピー部1と2のそれぞれは、与えられたデータパケットのデータを、すなわちフィールドF4およびF5の内容をそれぞれコピーして、コピー結果得られたデータをそれぞれ出力する。ここでは、データをコピー処理するとしているが、図示されるように、接続される複数の伝送路のそれぞれにデータを並行して出力するとしても良い。
【0059】
パケット出力部91Oは、バッファB30とB31を有して、加算器8および減算器9から与えられるデータを入力して、これらを処理部742から与えられるデータパケットのフィールドF4に格納した後、該データパケットをプログラム記憶部75に出力する。
【0060】
次に、図5(A)のデータフローグラフに従う動作について説明する。
まず、図6(A)のデータパケットがデータ伝送路65および66のいずれかを介して、データ駆動型情報処理装置620に入力される。該データパケットはフィールドF1に命令コードCとして“buftx2”が格納されて、データフィールドF41にデータA0とA1とが格納されている。
【0061】
該データパケットは、図2の合流部72を経由して発火制御部73に与えられると、該データパケットのデータA0とA1は待合メモリ731の定数データメモリ732に予め格納された定数データB0とB1と対となる(発火する)。その結果、発火制御部73からは、入力されたデータパケット(図6(A)参照)のフィールドF51に定数データB0とB1が格納されたデータパケット(図6(D)参照)が出力される。なお、この対データの検出の際には、入力データパケット(図6(A))のノード番号Nと世代番号Gに基づくアドレス指定により定数データメモリ732から定数データB0とB1とが読出される。
【0062】
演算部740は、発火制御部73から出力されたデータパケット(図6(D)参照)を入力して、以下のように処理する。まず、該入力データパケットは処理部742により、その命令コードC(“buftx2”)のデコード結果に基づいて、演算器81に与えられる。
【0063】
演算器81では、入力されたデータパケットはパケット入力部91Iとパケット出力部91Oに並行して与えられる。パケット入力部91Iでは、与えられたデータパケット(図6(D)参照)を入力して、該入力データパケットのフィールドF41のデータA0とA1、およびフィールドF51の定数データB0とB1は、コピー部1および2においてそれぞれコピー処理されて、コピー処理結果得られたデータのそれぞれは、対応の乗算器に与えられる。詳述するとデータA0はコピーされて、コピー処理結果得られた2つのデータA0は、それぞれ乗算器4と5の一方の入力側に与えられる。また、データA1も同様にしてコピー処理されて、乗算器6と7の一方の入力側にそれぞれ与えられる。また、データB0も同様にしてコピー処理されて、乗算器4と7の他方の入力側にそれぞれ与えられる。また、データB1も同様にしてコピー処理されて、乗算器5と6の他方の入力側にそれぞれ与えられる。
【0064】
乗算器4〜7のそれぞれにおいては、一方の入力側に与えられたデータと他方の入力側に与えられたデータとが乗算されてその結果データとして、A0*B0,A0*B1,A1*B1およびA1*B0のそれぞれが、次段の回路に出力される。加算器8では、乗算器4と6から出力されるデータがそれぞれ入力されて加算されて、その結果データとして、A0*B0+A1*B1がパケット出力部91OのバッファB30に与えられる。減算器9では、乗算器5と7から出力されるデータがそれぞれ入力されて減算されて、その結果データとして、A0*B1−A1*B0がパケット出力部910OのバッファB31に与えられる。
【0065】
パケット出力部910では、バッファB30とB31に格納された内容を、処理部742から与えられたデータパケット(図6(D)参照)のフィールドF41にデータC0(=A0*B0+A1*B1)とC1(=A0*B1−B0*A1)として格納して、図6(E)のデータパケットとしてプログラム記憶部75へ出力する。
【0066】
以降、プログラム記憶部75においては、演算部740から与えられたデータパケット(図6(E)参照)が入力されて、該入力データパケットの内容に基づいて、次位のプログラムデータ(命令コードCとノード番号N)がプログラムメモリ751から読出されて、該データパケット(図6(E)参照)のフィールドF1とF2に格納されて、該データパケットが分岐部76に出力される。以降の、各部において前述したような処理が行われて、プログラムメモリ751に記憶されたデータフロープログラムに従う処理が実行される。
【0067】
図5(B)のフローグラフに従う動作においては、定数データB0とB1は、対となるデータ(データA0とA1)を定数データメモリ732において待合ているのではなくて、図6(C)のデータパケットとして図6(A)のデータパケットと同様にデータ駆動型情報処理装置620に与えられる。この場合は図6(A)と(C)のデータパケット同士は、発火制御部73において発火する。これにより、図6(D)に示されるデータパケットが得られて、該データパケットは演算部740に出力される。演算部740においは、前述と同様にして命令コード“buftx2”に従う演算処理が実行される。その結果、図6(E)のデータパケットが得られて、該データパケットはプログラム記憶部75に出力される。以降、前述と同様にして処理が進行し、プログラムメモリ751に記憶されたデータフロープログラムに従う処理が実行される。
【0068】
本実施の形態1においては、図19で示された複数の命令を組合せて演算が実行される場合とは異なり、1命令(“buftx2”)で従来と同様の演算を実行することが可能となって、プログラムメモリ751の容量を削減できるとともに、処理速度を高速化できる。また、テーブルメモリ741を用いることなくバタフライ演算を実行できるので、該データ駆動型情報処理システムにおけるメモリに関するバンド幅および容量を大幅に削減できる。その結果、データ駆動型情報処理システムにおける映像信号に関する処理効率を高めることができる。
【0069】
(実施の形態2)
次に実施の形態2について説明する。図7は、本実施の形態2に係るバタフライ演算のための演算器82の概略ブロック図である。図8は本実施の形態2に係るバタフライ演算命令を示すデータフローグラフである。図9(A)〜(D)は、図8のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【0070】
図7において演算器82は、パケット入力部92I、パケット出力部92O、乗算器27〜34、加算器35および36、ならびに減算器37および38を含む。
【0071】
処理部742から図7の演算器82に与えられて入力されたデータパケットは、パケット入力部92Iとパケット出力部92Oとに並行して与えられる。
【0072】
パケット入力部92Iはコピー部24と25を含んで、前述したパケット入力部91Iと同様の機能を有する。パケット出力部92OはバッファB40〜B43を含んで前述したパケット出力部91Oと同様の機能を有する。
【0073】
前述した実施の形態1では、2つの画像データ(A0とA1)についてバタフライ演算を実行する場合を例示したが、演算の対象とされるデータの数、すなわち処理対象となる画像内のブロックの大きさは、これに限定されない。たとえば、本実施の形態2で示されるように、4つの画像データ(A0、A1、A2およびA3)からなるブロックについてバタフライ演算を実行することもできる。本実施の形態2ではバタフライ演算の命令コードとして“buftx4”が適用される。
【0074】
次に、図8のフローグラフに従う動作について説明する。
まず、図9(A)のデータパケットがデータ駆動型情報処理装置620に入力されて発火制御部73に与えられると、発火制御部73においては、該入力データパケットのフィールドF41のデータ(A0〜A3)と図9(B)の定数データメモリ732に予め格納された定数データB0〜B3とが対となる(発火する)。なお、この対データの検出の際には、入力データパケット(図9(A)参照)のノード番号Nと世代番号Gに基づくアドレス指定により定数データメモリ732から定数データB0〜B3が読出される。この発火の結果、図9(C)に示されるデータパケットが発火制御部73から出力されて、演算部740に与えられる。
【0075】
演算部740では、入力データパケット(図9(C)参照)は前述と同様に処理されて、図7の演算器82に与えられる。演算器82のパケット入力部92Iでは、コピー部24において、該入力データパケットのフィールドF41のデータ(データA0、A1、A2およびA3)のそれぞれについてコピー処理が行なわれて、コピー結果得られたデータのそれぞれは対応の乗算器27〜34のそれぞれの一方の入力側に与えられる。また、コピー部25においては、該入力データパケットのフィールドF5のデータ(データB0、B1、B2およびB3)のそれぞれについてコピー処理が行なわれて、コピー結果得られた各データは、対応の乗算器27〜34のそれぞれの他方に入力側に与えられる。乗算器27〜34のそれぞれにおいては、与えられる2つデータについて乗算処理が施されて、その結果得られたデータは次段の回路に与えられる。これにより、加算器35の一方の入力側には乗算器27による乗算結果が与えられ、他方の入力側には乗算器29による乗算結果が与えられる。また、加算器36には一方の入力側には乗算器31による乗算結果が与えられ、他方の入力側には乗算器33による乗算結果が与えられる。また減算器37には一方の入力側に乗算器28による乗算結果が与えられ、他方の入力側には乗算器30による乗算結果が与えられる。また減算器38には一方の入力側に乗算器32による乗算結果が与えられ、他方の入力側に乗算器34による乗算結果が与えられる。その後、加算器35および36のそれぞれにおいて与えられるデータに関して加算処理が実行されて、加算結果得られたデータはパケット出力部92OのバッファB40およびB42のそれぞれにデータC0およびC2として格納される。また減算器37および38のそれぞれは、与えられるデータを減算処理して、その結果得られたデータをパケット出力部92OのバッファB41およびB43のそれぞれに、データC1およびC3として格納する。このようにしてバッファB40〜B43に所定のデータが格納されると、パケット出力部92Oにおいては、処理部742から与えられたデータパケット(図9(A)参照)のフィールドF41にバッファB40〜B43の内容が格納されて、図9(D)のデータパケットとして出力される。該データパケットはプログラム記憶部75に与えられる。このようにすることで、出力データパケット(図9(D)参照)のフィールドF41に格納されたデータの値については、(C0,C1,C2,C3)=(A0*B0+A1*B1,A0*B1−B0*A1,A2*B3−B2*A3,A2*B3−B2*A3)となる。
【0076】
なお、本実施の形態では、定数データB0〜B3は定数データメモリ732から読出されることで対応のデータA0〜A3と対データ検出されるとしているが、これに特定されない。つまり、図5(B)で示されたのと同様に、データパケットに格納された定数データB0〜B3と、他のデータパケットに格納された対応のデータA0〜A3とが対データ検出されるとしてもよい。
【0077】
上述したように、本実施の形態2においても、図19で示された複数の命令を組合せて演算が実行される場合とは異なり、図8に示されるように1命令(“buftx4”)で従来と同様の演算を実行することが可能となって、プログラムメモリ751の容量を削減できるとともに、処理速度を高速化できる。また、テーブルメモリ741を用いることなくバタフライ演算を実行できるので、該データ駆動型情報処理システムにおけるメモリに関するバンド幅および容量を大幅に削減できる。その結果、データ駆動型情報処理システムにおける映像信号に関する処理効率を高めることができる。
【0078】
また、実施の形態1および2で示したように、画像内のDCTなどの処理対象となるブロックの大きさにかかわらず、該ブロックについて1命令を実行することにより、従来と同様のバタフライ演算を施すことが可能となる。
【0079】
なお、実施の形態1および2では、対応の演算器において複数の画像データのついて、加減乗算を施すようにしているが、施される演算内容はこれに限定されず、他の種類の演算器を用いた演算内容であってもよい。
【0080】
(実施の形態3)
次に実施の形態3について説明する。図10は、本実施の形態3に係るバタフライ演算に関する命令コードの演算器83の概略ブロック図である。図11は本実施の形態3に係るバタフライ演算に関する命令コードを含むデータフローグラフである。図12(A)〜(D)は、図11のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【0081】
今、図3において演算器83は、本実施の形態3に係る命令コードC(=“reorder”)に従う演算を実行可能な機能を有する。命令コード“reorder”は、データパケット中のフィールドF41に格納された複数個の画像データについて、バタフライ演算を実行する場合に適用される。
【0082】
DCTでは、複数個の画像データAiについてバタフライ演算が施される場合には演算対象となる画像データAiは変わらないが、画像データAiのそれぞれに対応の定数データBiを異ならせてバタフライ演算が施される場合がある。つまり、前述した実施の形態2では、(C0,C1,C2,C3)=(A0*B0+A1*B1,A0*B1−B0*A1,A2*B3−B2*A3,A2*B3−B2*A3)という演算結果を得たが、同じ複数の画像データAi(同じブロック)について、命令コード“buftx4”を用いて(C0,C1,C2,C3)=(A3*B0+A2*B1,A3*B1−B0*A2,A0*B3−B2*A1,A0*B3−B2*A1)という演算結果を得ることが望まれる。
【0083】
本実施の形態3では、上述した要望に応じるための、命令コード“reorder”が示される。該命令コード“reorder”は、データパケットのフィールドF41に格納された複数個の画像データAiのそれぞれを、定数データBiに従い並べ替えるための命令コードである。なお、ここでは、4つの画像データA0〜A3についての並べ替えが示されるが、並べ替えられる画像データAiの数は4個に限定されない。つまり、処理対象となる画像内のブロックの大きさにより決定される。
【0084】
以下、本実施の形態3に係る演算器83の構成と動作について説明する。図10において演算器83は、パケット入力部93I、パケット出力部93Oおよびマルチプレクサ回路(以下、MUXと略す)45〜48を含む。パケット入力部93Iはコピー部42とバッファ43を含む。パケット出力部93OはMUX45〜48の出力データを入力して格納するバッファB50〜B53を含んで、バッファB50〜B53の内容を、与えられる入力データパケットのフィールドF41に格納して出力する。つまり、前述したパケット出力部92Oと同様の機能を有する。MUX45〜48のそれぞれは、第1〜第5の入力を有して、第5の入力データに応じて、第1〜第4の入力データのいずれか1つを選択して、パケット出力部92Oに出力する。
【0085】
動作において、データ駆動型情報処理装置620には図12(A)のデータパケットが入力される。また、定数データメモリ732には図12(B)のような定数データが格納されている。このとき、図12(A)で示されるデータパケットについては、発火制御部73および処理部742において実施の形態2と同様に処理が行なわれて、その結果、図12(C)のデータパケットが演算器83に与えられる。
【0086】
図10に示されるように、演算器83には、処理部742から与えられたデータパケットは、パケット入力部93Iとパケット出力部93Oとに並行して与えられる。
【0087】
パケット入力部93Iに与えられたデータパケット(図12(C)参照)のフィールドF41の内容(データA0〜A3)は、コピー部42においてコピー処理されて、MUX45〜48のそれぞれの第1〜第4の入力に与えられる。具体的には、データA0、A1、A2およびA3はMUX45〜48のそれぞれの第1、第2、第3および第4の入力に与えられる。一方、パケット入力部93Iに与えられたデータパケット(図12(C)参照)のフィールドF51の内容(定数データB0〜B3)はバッファ43に一旦格納された後、MUX45〜48のそれぞれの第5の入力に与えられる。具体的には、定数データB0、B1、B2およびB3はMUX45〜48のそれぞれの第5の入力に与えられる。
【0088】
今、定数データB0、B1、B2およびB3はそれぞれ、3,2,0および1である(図11参照)から、MUX45、46、47および48においては、対応の第5の入力データに基づいて、第4の入力データ(データA3)、第3の入力データ(データA2)、第1の入力データ(データA0)および第2の入力データ(データA1)が選択されて、選択された各データはパケット出力部92OのバッファB50,B51、B52およびB53にそれぞれ与えられる。
【0089】
この結果、パケット出力部93Oからは、入力データパケット(図12(C)参照)のフィールドF41にバッファB50〜B53のデータが格納されて、図12(D)のデータパケットとしてプログラム記憶部57に出力される。
【0090】
プログラム記憶部57にデータパケット(図12(D)参照)が入力されると、プログラムメモリ751から次位の命令コードCが読出される。この際、次位の命令コードCとして、命令コード“buftx4”が読出されたとする。その後、該データパケットは、該命令コード“buftx4”に従い、実施の形態2と同様に処理が実行されるから、演算結果として、前述した所望される演算結果、すなわち(C0,C1,C2,C3)=(A3*B0+A2*B1,A3*B1−B0*A2,A0*B3−B2*A1,A0*B3−B2*A1)を得ることができる。
【0091】
なお、本実施の形態では、定数データB0〜B3は定数データメモリ732から読出されることで対応のデータA0〜A3と対データ検出されるとしているが、これに特定されない。つまり、図5(B)で示されたのと同様に、データパケットに格納された定数データB0〜B3と、他のデータパケットに格納された対応のデータA0〜A3とが対データ検出されるとしてもよい。
【0092】
このように、本実施の形態3では、図11に示されるように1命令(“reorder”)を実行するだけで、データパケットのフィールドF41の複数の画素データを、対応する定数データによって、フィールドF41における格納の順番を入れ替えることができる。一方、従来は、このような格納順番の入れ替えは、テーブルメモリ741に一度、画素データそれぞれを書込んでから、その後ランダムにアクセスして、これら画素データをテーブルメモリ741から読出すことでなされていた。したがって、本実施の形態3に従えば、従来行なわれていた、テーブルメモリ741への画素データの書込みとランダムな読出しの処理は不要となる。また、従来、このような処理は、複数の命令コードを実行しなければならないのに対して、本実施の形態3に従えば、1命令コード(“reorder”)で実行可能である。それゆえに、本実施の形態3に従えば、プログラムメモリ751の容量を削減できるとともに、処理速度を高速化できる。また、テーブルメモリ741を用いることなくバタフライ演算に関する処理を実行できるので、該データ駆動型情報処理システムにおけるメモリに関するバンド幅および容量を大幅に削減できる。その結果、データ駆動型情報処理システムにおける映像信号に関する処理効率を高めることができる。
【0093】
(実施の形態4)
次に実施の形態4について説明する。図13は、本実施の形態4に係るバタフライ演算に関する命令コードの演算器84の概略ブロック図である。図14は本実施の形態4に係るバタフライ演算に関する命令コードを含むデータフローグラフである。図15(A)〜(D)は、図14のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【0094】
今、図13において演算器84は、本実施の形態4に係る命令コードC(=“mreorder”)に従う演算を実行可能な機能を有する。命令コード“mreorder”は、データパケット中のフィールドF41に格納された複数個の参照画素データについて、バタフライ演算に関する処理を実行する場合に適用される。なお、ここでは、参照画素データとは、図1の画像メモリ63を参照して読出された画素データを指す。
【0095】
上述した各実施の形態では、バタフライ演算が施される画素データは、データ駆動型情報処理システムに対してデータ伝送路65または66を経由して外部から与えられるとしていたが、バタフライ演算が施される画素データの入力経路はこれに限定されない。つまり、本実施の形態4で示されるように、画像メモリ63から読出されるとしてもよい。なお、ここでは、説明を簡単にするために、参照画素データについて実施の形態3で示されたような並べ替えを行なうための命令コード“mreorder”を実行する例のみを示しているが、参照画素データに対しては実施の形態1と2で示されたような命令コードについても同様に適用することができる。
【0096】
命令コード“mreorder”に従う処理内容と、前述した命令コード“reorder”に従う処理内容とを比較して異なる点は、命令コード“reorder”は外部から与えられた画素データを処理の対象としているが、命令コード“mreorder”は参照画素データを処理の対象としている点にある。
【0097】
なお、ここでは、4つの参照画素データAA0〜AA3についての並べ替えが示されるが、並べ替えられる画素データAAi(i=1,2,3、…)の数は4個に限定されず、処理対象となる画像のブロックの大きさにより決定される。
【0098】
以下、本実施の形態4に係る演算器84の構成と動作について説明する。図13において演算器84は、パケット入力部94I、パケット出力部94OおよびMUX55〜58を含む。処理部742から入力されたデータパケットはパケット入力部94Iとパケット出力部94Oとに並行して与えられる。パケット出力部94OはMUX55〜58の出力データを入力して格納するバッファB60〜B63を含んで、バッファB60〜B63の内容を、与えられる入力データパケットのフィールドF41に格納して、該入力データパケットを出力する。MUX55〜58のそれぞれは、第1〜第5の入力を有して、第5の入力データに応じて、第1〜第4の入力データのいずれか1つを選択して、パケット出力部94Oに出力する。パケット入力部94Iは、コピー部52とバッファ53を含む。
【0099】
動作において、データ駆動型情報処理装置620においては、予め、従来と同様にして、画像メモリ63のアクセス要求を示すデータパケット(図示省略)が入力されて、演算部740に与えられる。演算部740では、該入力データパケットの内容に従うアクセス要求がデータ伝送路69を介してメモリインターフェイス64に与えられる。この結果、メモリインターフェイス64によりアクセス要求内容に基づいて、従来と同様に画像メモリ63がアクセスされる(参照される)ので、画像メモリ63からは要求される1つ以上の画素データが読み出される。この結果、読み出された画素データは該入力パケットのフィールドF41に参照画素データAAiとして格納されて、プログラム記憶部75に与えられる。プログラム記憶部75では与えられるデータパケットが入力されて、該入力データパケットの内容に基づいてプログラムメモリ751から次位の命令コードC(“mreorder”)と次位のノード番号Nとが読出されて、該入力データパケットのフィールドF1とF2にそれぞれ格納されて、該入力データパケットは、図15(A)のデータパケットとして、分岐部76および合流部72を介して発火制御部73に与えられる。
【0100】
発火制御部73の定数データメモリ732には図15(B)のような定数データが格納されている。発火制御部73では、与えられるデータパケット(図15(A)参照)が入力されて、該入力データパケットのノード番号Nと世代番号Gに基づくアドレス指定により定数データメモリ732から定数データB0〜B3が読出されて、該データパケットのフィールドF51に格納される。その結果、発火制御部73からは図15(C)のデータパケットが出力される。該データパケットは演算部740の処理部742に与えられる。
【0101】
処理部742では、与えられたデータパケット(図15(C)参照)が入力されて、該入力データパケットについて実施の形態3と同様に処理が行なわれて、その結果、該入力データパケットは、その命令コード(“mreorder”)のデコード結果に基づいて演算器84に与えられる。演算器84では、与えられたデータパケット(図15(C)参照)は入力されて、パケット入力部94Iとパケット出力部94Oとに並行して与えられる。
【0102】
パケット入力部94Iは与えられたデータパケット(図15(C)参照)を入力して、該入力データパケットのフィールドF41の参照画像データAA0〜AA3はコピー部52に与えられ、フィールドF51の定数データB0〜B3はバッファ53に与えられる。参照画像データAA0〜AA3は、コピー部52においてコピー処理されて、MUX55〜58のそれぞれの第1〜第4の入力に与えられる。具体的には、参照画像データAA0はMUX55〜58のそれぞれの第1の入力に与えられ、参照画像データAA1はMUX55〜58のそれぞれの第2の入力に与えられ、参照画像データAA2はMUX55〜58のそれぞれの第3の入力に与えられ、そして参照画像データAA3はMUX55〜58のそれぞれの第4の入力に与えられる。一方、バッファ53に与えられて、ここに一旦格納されたフィールドF51の定数データB0〜B3のそれぞれは、MUX45〜48のそれぞれの第5の入力に与えられる。
【0103】
今、定数データB0、B1、B2およびB3はそれぞれ、3,2,0および1である(図14参照)から、MUX55においては、対応の第5の入力データに基づいて、第4の入力データ(参照画像データAA3)が選択されてパケット出力部94OのバッファB60に出力されて、ここに一旦格納される。同様に、MUX56〜58のそれぞれにおいても、対応する第5の入力データに基づいて、入力データの選択的な出力が行なわれる。その結果、パケット出力部94OのバッファB61〜B63のそれぞれには、第3の入力データ(参照画像データAA2)、第1の入力データ(参照画像データAA0)および第2の入力データ(参照画像データAA1)のそれぞれが格納される。パケット出力部94Oでは、処理部742から入力していたデータパケット(図15(C)参照)のフィールドF41にバッファB50〜B53に格納された参照画像データが格納されて、該入力データパケットは、図15(D)のデータパケットとしてプログラム記憶部75に出力される。
【0104】
プログラム記憶部75に演算部740から出力されたデータパケット(図15(D)参照)が入力されると、該入力データパケットの内容に基づいて、プログラムメモリ751から次位の命令コードと次位のノード番号Nが読出される。この際、プログラムメモリ751からは次位の命令コードCとして、命令コード“buftx4”が読出されたとする。読出された命令コードCとノード番号Nとは、該入力データパケットのフィールドF1とF2にそれぞれ格納されて、該入力データパケットは、分岐部76および合流部72を介して発火制御部73に出力される。発火制御部73および演算部740においては、該データパケットについて、実施の形態2と同様に処理が実行されるから、演算結果として、(C0,C1,C2,C3)=(AA3*B0+AA2*B1,AA3*B1−B0*AA2,AA0*B3−B2*AA1,AA0*B3−B2*AA1)を得ることができる。
【0105】
なお、本実施の形態では、定数データB0〜B3は定数データメモリ732から読出されることで対応の参照画像データAA0〜AA3と対データ検出されるとしているが、これに特定されない。つまり、図5(B)で示されたのと同様に、データパケットに格納された定数データB0〜B3と、他のデータパケットに格納された対応の参照画像データAA0〜AA3とが対データ検出されるとしてもよい。
【0106】
このように、本実施の形態4では、図14に示されるように、1命令コード(“mreorder”)を実行するだけで、定数データによって、画像メモリ63の複数の画素データついてデータパケットのフィールドF41における格納の順番を入れ替えることができる。一方、従来は、画像メモリ63の複数の画素データについて、このような入れ替え処理が行なわれる場合には、ランダムアクセスにより画像メモリ63から画素データのそれぞれを読出していた。したがって、本実施の形態4に従えば、画像メモリ63のランダムアクセスは省略されて、処理の速度は向上する。また、従来において、画像メモリ63のランダムアクセスに関して、インターリーブなどの機能を利用してアクセス回数を減らすように工夫している場合などにおいても、本実施の形態4の技術を適用することで、画像メモリ63に関するバンド幅を減少させることができて、処理は高速となる。
【0107】
また、従来、このような入れ替え処理が行なわれる場合には、複数の命令コードを実行しなければならないのに対して、本実施の形態4に従えば、1命令コード(“reorder”)で実行可能である。それゆえに、本実施の形態4に従えば、プログラムメモリ751の容量を削減できるとともに、処理速度を高速化できる。また、テーブルメモリ741を用いることなくバタフライ演算に関する処理を実行できるので、該データ駆動型情報処理システムにおけるメモリに関するバンド幅および容量を大幅に削減できる。その結果、データ駆動型情報処理システムにおける映像信号に関する処理効率を高めることができる。
【0108】
上述した各実施の形態では、処理対象となるデータパケット内の複数の画像データAiは、それぞれ異なるデータであってもよくまた同じデータであってもよい。言換えると、処理対象となるデータパケット内の複数の画像データAiは、該画像による画面の走査に従う時系列の順番に対応しており、複数の画像データAiのそれぞれについて、対応の時系列順番が全く異なっていてもよく、また複数の画像データAiの内の1部または全部の画像データAi同士について対応の時系列順番が同じ全くであってもよい。
【0109】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】 この発明の各実施の形態に適用されるデータ駆動型情報処理システムのブロック構成図である。
【図2】 図1のデータ駆動型情報処理装置のブロック構成図である。
【図3】 図2の演算部の概略ブロック構成図である。
【図4】 本実施の形態1に係るバタフライ演算に関する命令コードの演算器の概略ブロック図である。
【図5】 (A)と(B)は、本実施の形態1に係るバタフライ演算に関する命令コードを含むデータフローグラフである。
【図6】 (A)〜(E)は、図5(A)と(B)のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【図7】 本実施の形態2に係るバタフライ演算のための演算器の概略ブロック図である。
【図8】 本実施の形態2に係るバタフライ演算命令を示すデータフローグラフである。
【図9】 (A)〜(D)は、図8のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【図10】 本実施の形態3に係るバタフライ演算に関する命令コードの演算器の概略ブロック図である。
【図11】 本実施の形態3に係るバタフライ演算に関する命令コードを含むデータフローグラフである。
【図12】 (A)〜(D)は、図11のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【図13】 本実施の形態4に係るバタフライ演算に関する命令コードの演算器の概略ブロック図である。
【図14】 本実施の形態4に係るバタフライ演算に関する命令コードを含むデータフローグラフである。
【図15】 (A)〜(D)は、図14のデータフローグラフに従う処理を実行するために適用されるデータを説明する図である。
【図16】 従来の映像処理向けデータ駆動型情報処理システムのブロック構成図である。
【図17】 (A)と(B)は、従来のデータパケットのフィールド構成図である。
【図18】 図16のデータ駆動型情報処理装置62の構成図である。
【図19】 従来のバタフライ演算を含む処理を示すデータフローグラフである。
【符号の説明】
8i 演算器、63 画像メモリ、64 メモリインターフェース、73 発火制御部、75 プログラム記憶部、620 データ駆動型情報処理装置、740 演算部、742 処理部、743 命令コード演算部、C 命令コード、Nノード番号、G 世代番号、Ai 画素データ、Aai 参照画素データ、Bi 定数データ。
Claims (6)
- 画面を構成する複数の画像データを処理して出力するためのデータ駆動型情報処理システムであって、
1つ以上の種類の異なる命令コードのそれぞれに対応して1つ以上の演算器を有し、命令コードを格納するための命令フィールドと、データを格納するためのデータフィールドとを少なくとも有したデータパケットを入力して、前記1つ以上の演算器のいずれかにより、該入力データパケットの前記データフィールドの内容を前記命令フィールドの前記命令コードに従い処理して、処理結果を該入力データパケットの前記データフィールドに格納して、該入力データパケットを出力する演算部と、
複数の前記命令コードを含むデータフロープログラムを記憶したプログラム記憶部を有し、前記演算部から出力された前記データパケットを入力して、前記プログラム記憶部から読出された次位の前記命令コードを、該入力データパケットの前記命令フィールドに格納して、該入力データパケットを前記データ駆動型情報処理システムの外部または前記演算部に出力する制御部とを備え、
前記1つ以上の演算器には、前記入力データパケットの前記データフィールドの複数の前記画像データを、該入力データパケットの前記命令フィールドの所定の前記命令コードに従って所定演算する所定演算器が含まれ、
前記データフィールドの前記複数の画像データに対応した前記画面の走査に従う時系列の順番は、異なることを特徴とする、データ駆動型情報処理システム。 - 前記所定の命令コードには、前記画面を構成する前記複数の画像データを圧縮するための演算を指示するコードが含まれることを特徴とする、請求項1に記載のデータ駆動型情報処理システム。
- 前記所定の命令コードには、前記画面を構成する圧縮された前記複数の画像データを伸張するための演算を指示するコードが含まれていることを特徴とする、請求項1ないし2のいずれかに記載のデータ駆動型情報処理システム。
- 前記所定演算は、バタフライ演算であることを特徴とする、請求項2または3に記載のデータ駆動型情報処理システム。
- 前記所定の命令コードには、前記入力データパケットの前記データフィールドの複数の前記画像データを並び替えることを指示するコードが含まれていることを特徴とする、請求項1ないし4のいずれかに記載のデータ駆動型情報処理システム。
- 前記データ駆動型情報処理システムは、
前記画面を構成する複数の前記画像データが予め格納された画像記憶部と、
与えられる前記データパケットの内容に基づくアドレス指定により、前記画像記憶部をアクセスして、アクセス結果を前記データパケットの前記データフィールドに格納して、該データパケットを前記演算部に出力するアクセス部とをさらに有し,
前記アクセス結果には、該データパケットの前記命令フィールドの前記命令コードにより処理される前記複数の画像データが含まれることを特徴とする、請求項1ないし5のいずれかに記載のデータ駆動型情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000064641A JP3907369B2 (ja) | 2000-03-09 | 2000-03-09 | データ駆動型情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000064641A JP3907369B2 (ja) | 2000-03-09 | 2000-03-09 | データ駆動型情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001256214A JP2001256214A (ja) | 2001-09-21 |
JP3907369B2 true JP3907369B2 (ja) | 2007-04-18 |
Family
ID=18584312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000064641A Expired - Fee Related JP3907369B2 (ja) | 2000-03-09 | 2000-03-09 | データ駆動型情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3907369B2 (ja) |
-
2000
- 2000-03-09 JP JP2000064641A patent/JP3907369B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001256214A (ja) | 2001-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5181183A (en) | Discrete cosine transform circuit suitable for integrated circuit implementation | |
JP2665111B2 (ja) | ベクトル処理装置 | |
JP5466211B2 (ja) | 2次元マトリクス処理のためのレジスタ | |
KR100273629B1 (ko) | 이동 벡터 평가 방법 및 장치 | |
JP3526976B2 (ja) | プロセッサおよびデータ処理装置 | |
JP2959104B2 (ja) | 信号処理プロセッサ | |
CN108073549B (zh) | 卷积运算装置及方法 | |
CN109993293B (zh) | 一种适用于堆叠式沙漏网络的深度学习加速器 | |
JP2007299279A (ja) | 演算装置、プロセッサシステム、及び映像処理装置 | |
WO2020093968A1 (zh) | 卷积处理引擎及控制方法和相应的卷积神经网络加速器 | |
US20030222877A1 (en) | Processor system with coprocessor | |
JP4051974B2 (ja) | 画像処理装置および画像処理方法 | |
US20230176981A1 (en) | Data processing method and acceleration unit | |
JP3907369B2 (ja) | データ駆動型情報処理システム | |
JP3738128B2 (ja) | データ駆動型情報処理装置 | |
US6317817B1 (en) | Image operation processing apparatus storing discrete data efficiently in a memory and operating method thereof | |
JP2008090455A (ja) | マルチプロセッサ信号処理装置 | |
US5860130A (en) | Memory interface apparatus including an address modification unit having an offset table for prestoring a plurality of offsets | |
US5343501A (en) | Orthogonal transform apparatus for video signal processing | |
US6789097B2 (en) | Real-time method for bit-reversal of large size arrays | |
JPH1153189A (ja) | 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体 | |
US5978895A (en) | Method for speeding mathematical operations in a processor core | |
JP2003196259A (ja) | データ駆動型情報処理装置およびデータ処理方法 | |
EP1251431A2 (en) | Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks | |
JPH07239842A (ja) | 離散的コサイン変換及び逆変換のための集積回路プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070116 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120126 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |