(57)【要約】【課題】複数のディジタル信号処理装置にセグメントバスを構成し、このセグメントバスを制御して、低消費電力で高速演算処理を行う。【解決手段】  シストリックアレー構成のディジタル信号処理装置において、アレイ状に配列された複数のコアプロセッサと、上記コアプロセッサに設けられ、データの入出力を制御するゲートウェイと、上記配列された複数のコアプロセッサとゲートウェイで構成される特定領域でデータを転送するセグメントバスと、上記ゲートウェイを制御して上記セグメントバスを介して、上記コアプロセッサ間でデータ転送する制御部とを有することにより、低クロックスピードで高速演算処理を行い、低消費電力化した。【選択図】図１
2008250846.tif 000002
【特許請求の範囲】
【請求項１】
シストリックアレー構成のディジタル信号処理装置において、
アレイ状に配列された複数のコアプロセッサと、
上記コアプロセッサに設けられ、データの入出力を制御するゲートウェイと、
上記配列された複数のコアプロセッサとゲートウェイで構成される特定領域でデータを転送するセグメントバスと、
上記ゲートウェイを制御して上記セグメントバスを介して、上記コアプロセッサ間でデータ転送する制御部と
を有するディジタル信号処理装置。
【請求項２】
上記ゲートウェイは、レジスタ、ゲートとバイパス手段を有する
請求項１記載のディジタル信号処理装置。
【請求項３】
上記ディジタル信号処理装置は、上記制御部により上記ゲートウェイを制御することにより上記コアプロセッサとゲートウェイを一対とした単位プロセッサが隣接して配列された特定領域が選択される
請求項１記載のディジタル信号処理装置。
【請求項４】
上記特定領域は、該領域のコアプロセッサで他の領域に対して独立して演算処理が行われる
請求項１記載のディジタル信号処理装置。
【請求項５】
上記レジスタは上記コアプロセッサの縦横に設けられ、上記バイパスが縦方向または横方向に設けられ、該バイパスと上記レジスタから供給されるデータを切り替えて転送するゲートを有する
請求項１記載のディジタル信号処理装置。
【請求項６】
上記バイパスは、上記制御部で制御されて、上記ゲート同士に直接データが伝送される
請求項５記載のディジタル信号処理装置。
【請求項７】
上記ゲートウェイは、上記制御部により制御されて、特定のコアプロセッサで処理された結果を、同じステップで他のコアプロセッサに転送する
請求項１記載のディジタル信号処理装置。
【請求項８】
上記複数のコアプロセッサは同一半導体チップに形成された
請求項１記載のディジタル信号処理装置。
【請求項９】
シストリックアレー構成のディジタル信号処理装置において、
アレイ状に配列された複数のコアプロセッサと、
上記コアプロセッサに第１と第２のレジスタが接続され、上記第１のジスタに第１のゲートが接続され、上記第２のジスタに第２のゲートが接続され、上記第１と第２のゲート間に第１のバイパスが設けられたゲートウェイと、
上記配列された複数のコアプロセッサとゲートウェイで構成される特定領域でデータを転送するセグメントバスと、
上記ゲートウェイを制御して上記セグメントバスを介して、上記コアプロセッサ間でデータ転送する制御部と
を有するディジタル信号処理装置。
【請求項１０】
上記ゲートウェイは、上記コアプロセッサに第３と第４のレジスタが接続され、上記第３のジスタに第３のゲートが接続され、上記第４のジスタに第４のゲートが接続され、上記第３と第４のゲート間に第２のバイパスが設けられた
請求項９記載のディジタル信号処理装置。
【請求項１１】
上記ディジタル信号処理装置は、上記制御部により上記ゲートウェイを制御することにより上記コアプロセッサとゲートウェイを一対とした単位プロセッサが隣接して配列された特定領域が選択される
請求項９記載のディジタル信号処理装置。
【請求項１２】
上記特定領域は、該領域のコアプロセッサで他の領域に対して独立して演算処理が行われる
請求項９記載のディジタル信号処理装置。
【請求項１３】
上記第１と第２のバイパスは、上記制御部で制御されて、上記第１と第３、または第２と第４のゲート同士で直接データが伝送される
請求項９記載のディジタル信号処理装置。
【請求項１４】
上記ゲートウェイは、上記制御部により制御されて、特定のコアプロセッサで処理された結果を、同じステップで他のコアプロセッサに転送する
請求項９記載のディジタル信号処理装置。
【請求項１５】
上記複数のコアプロセッサは同一半導体チップに形成された
請求項９記載のディジタル信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサを並列に動作させて、プロセッサ当たりの演算量を減らし、低速・低消費電力とし、特に通信端末などの画像処理に用いる低消費電力のディジタル信号処理装置に関する。
【背景技術】
【０００２】
近年、高度な携帯端末にはビデオや音楽の再生など、マルチメディア信号処理の技術が広く利用されている。これらの信号処理技術が使われるようになったのは、高精度なカメラやディスプレイが低価格化し、携帯端末に搭載されるようになったためである。
将来、ディジタル信号処理の技術の向上により、これらの小型な携帯端末の機能は個人のインテリジェントアドバイザーになると考えられる。例えば、ハイビジョンカメラを搭載した携帯電話で、付近の人ごみを撮影して画像認識して撮影画像の中から知り合いを見つけることができるようになる。
【０００３】
このような高解像度の画像や広帯域のオーディオから必要な情報を取り出すための演算量は、飛躍的に多くなる。しかし、現在の携帯端末に使用されているＬＳＩのディジタル信号処理プロセッサは、現在のＰＣ（パーソナル・コンピュータ）のプロセッサに比べて処理能力が低く、十分な処理能力を持っていない。また、携帯端末ではバッテリーを長時間持たせるために、低消費電力でなければならないので、高速動作は難しい。さらにこれに加えて、様々なマルチメディア命令の実装を容易にするためには、プログラマビリティが要求される。
【０００４】
【非特許文献１】I.Tamitani,H.Harasaki,and T.Nishitani,"A Real-time HDTV Signal Processor":HD-VSP,IEEE Transaction on Circuits and Systems for Video Techonology, vol.1,no.1,pp.35-41,1991.
【非特許文献２】S.Kyo,T.Koga,S.Okazaki,I.Kuroda,"A 51.2GOPS Programmable Video Recognition Processor for Vision based Intelligent Cruise Control Applications",IEICE Trans.On Information and Systems,Vol.E87-D,No.1,pp.136-145,Jan,2004.
【非特許文献３】J.Levison,I.Kuroda, and T.Nishitani,"A Recofigurable Processor Array with Routing LSIs and General Purpose DSP",IEEE ISAP'92,pp.136-145,1992.
【特許文献１】特開平７−９３２６８
【特許文献２】特開平１１−１７５５１０
【特許文献３】特開２００２−１７５２８３
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明において、マルチコアプロセッサによる低消費電力で高性能な処理能力を持つアーキテクチャの目標をＴＯＰＳ（Ｔｅｒａ  Ｏｐｅｒａｔｉｏｎ  Ｐｅｒ  Ｓｅｃｏｎｄ）とし、また消費電力は５００ｍＷ以下とする。この消費電力５００ｍＷという目標は、今までの携帯端末に搭載された、アナログＴＶ信号を処理するチップの最大消費電力に基く。
以下、約２０年前の第一世代ＤＳＰ（ディジタルシグナルプロセッサ）を基に検討する。ＬＳＩ（超集積回路）の微細加工技術が８世代ほど進歩し、チップサイズを縦横共に２．５倍にすると、同一チップに１０００個以上の第一世代ＤＳＰが実装可能となる。これはＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｉｔｔｅｅ）サイズの垂直方向のピクセル数の４８０個より多い。したがって、非特許文献１，２に開示された、粒度の粗い並列構成を用いて効率的な空間の処理が行えるビデオ処理用マルチプロセッサシステムは十分実現できる。
【０００６】
次に消費電力に関して述べる。一般的に携帯電話で使用されるプログラマブルなシングルチップのＤＳＰが製品化されてから久しい。１９８０年代の第一世代のＤＳＰは、実時間での音楽や音声の処理が可能な処理能力を持っている。例えば、１９８０年半ばにＵＰＤ７７Ｃ２５（登録商標；ＮＥＣ株式会社）は、図９に示すように、１０ＭＨｚのクロックで６０ＭＯＰ（Ｍｅｇａ  Ｏｐｅｒａｔｉｏｎ  Ｐｅｒ  Ｓｅｃｏｎｄ）の処理能力で、チップの消費電力は１２５ｍＷ、１６×１６Ｂｉｔｓの乗算器と１Ｋワードの命令メモリ、２ＫワードのデータＲＡＭ（Ｒａｎｄｏｍ  Ａｃｓｅｓｓ  Ｍｅｍｏｒｙ）を搭載している。
【０００７】
ＬＳＩの集積度が向上したことで、現在の半導体のＭＯＳプロセスルールは０．０９μｍから０．０６μｍが主流となっている。そのため、このプロセッサを現在の半導体製造プロセスルールで再デザインした場合、同じチップサイズの上に多数のＤＳＰが実装可能である。
次に、このマルチプロセッサの処理能力や消費電力を評価する。ＬＳＩの評価は以下のＬＳＩデバイスに関連する問題を基に行う。
１．ＬＳＩの消費電力をＰとすると下記の式で表される。
【０００８】
（数１）
Ｐ＝Ｃ＊ｆ＊Ｖ２            ・・・（１）
ここで、＊は乗算記号、Ｃはチップの配線容量、ｆは周波数、Ｖは電圧である。
２．ＬＳＩプロセスの技術は、１８ヶ月〜２４ヶ月で集積度が２倍になる（ムーアの法則）。
【０００９】
半導体ＭＯＳプロセスにおいて、１９８０年半ばのＬＳＩから、ＬＳＩのプロセスは８世代が進んでいる。このことは、上述したムーアの法則によると、同じチップサイズの領域に２５６個のＵＰＤ７７Ｃ２５が実装可能である。動作電圧において、当時はユーザーの利便性を考え、周辺のＴＴＬ（Ｔｒａｎｓｉｓｔｏｒ  Ｔｒａｎｓｉｓｔｏｒ  Ｌｏｇｉｃ）チップと接続できるように、供給電圧を５Ｖとしていた。しかし、現在のＣＭＯＳＬＳＩでは、１Ｖの電圧を用いるのが一般的であるので、本検討では１Ｖの電圧を使用する。つまり、式（１）においてクロックスピードを１０ＭＨｚ、供給電圧を１Ｖとすると、２５６個のプロセッサを２５ｍＷの消費電力で動作させることが可能である。
【００１０】
さらに、民生用のハイエンドＬＳＩは１９８０年代の民生用ＬＳＩのダイサイズと比較して４倍から５倍の大きさになっている。つまり、１０２４個から１２８０個のプロセッサを１個のチップ上に配置でき、またそれらを１００ｍＷから１２５ｍＷの消費電力で動作させることが可能である。また、ＤＳＰはＶＬＩＷ命令を用いることで６命令同時に実行できるので、演算量は６０ＧＯＰＳ（Ｇｉｇａ  Ｏｐｅｒａｔｉｏｎ  Ｐｅｒ  Ｓｅｃｏｎｄ）から７６ＧＯＰＳになる。高周波で動作させることで１ＴＯＰＳの実現が可能であるが、消費電力が１Ｗから１．２Ｗくらいになってしまう。そのため、以降のクロックスピードを１０ＭＨｚに設定する。
【００１１】
消費電力に関する仮定として、ここではトランジスタのリーク電流については問題にしていない。この問題はＳＯＩ（Ｓｉｌｉｃｏｎ  Ｏｎ  Ｉｎｓｕｌａｔｏｒ）などのＬＳＩ技術の進歩によりリーク電流の問題が解決されることを期待している。
【００１２】
本発明のディジタル演算処理は、１０ＭＨｚ程度の遅いクロックスピードで動作するＤＳＰアーキテクチャと短いコミュニケーションパスを使用し、全ての単位プロセッサは、簡単なゲートウェイ部分と、簡単化したＤＳＰの二つで構成する。ゲートウェイ部分にローカルな限定された数の単位プロセッサとセグメントバスで接続する機能を持たせて、高速演算処理ができるＤＳＰのアーキテクチャを提供する。また、このアーキテクチャを用いたＤＳＰはフィルタリングや変換、動き推定などのディジタル演算処理を高速化することや、ＤＳＰ部分で内部メモリを一時的に管理することにより、ピクセルベースのＤＳＰの処理も行える低消費電力ディジタル信号処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の低消費電力のディジタル信号処理装置は、シストリックアレー構成のディジタル信号処理装置において、アレイ状に配列された複数のコアプロセッサと、上記コアプロセッサに設けられ、データの入出力を制御するゲートウェイと、上記配列された複数のコアプロセッサとゲートウェイで構成される特定領域でデータを転送するセグメントバスと、上記ゲートウェイを制御して上記セグメントバスを介して、上記コアプロセッサ間でデータ転送する制御部とを有する。
【００１４】
本発明の低消費電力のディジタル信号処理装置は、シストリックアレー構成のディジタル信号処理装置において、アレイ状に配列された複数のコアプロセッサと、上記コアプロセッサに第１と第２のレジスタが接続され、上記第１のジスタに第１のゲートが接続され、上記第２のジスタに第２のゲートが接続され、上記第１と第２のゲート間に第１のバイパスが設けられたゲートウェイと、上記配列された複数のコアプロセッサとゲートウェイで構成される特定領域でデータを転送するセグメントバスと、上記ゲートウェイを制御して上記セグメントバスを介して、上記コアプロセッサ間でデータ転送する制御部とを有する。
【００１５】
本発明のディジタル信号処理装置は、コアプロセッサとバイパスとレジスタ等を有するゲートウェイで構成される複数の単位プロセッサで構成され、ソフトウェアによりゲートウェイが制御され、特定の領域の単位プロセッサを選択し、セグメントバスを形成してデータの転送を高速にすると共に演算処理を行う。
ディジタル信号装置のアーキテクチャは非特許文献３に基づいた細粒度の並列プロセッサで、ｉＷａｒｐのメッセージ・パッシングコムニュケーションを無くしたプロセッサとも言える。このディジタル信号装置では、１０ＭＨｚ程度の遅いクロックスピードで動作する初期のＤＳＰアーキテクチャと短いコミュニケーションパスを使用する。
また、全ての単位プロセッサは、簡単なゲートウェイ部分と、簡単化した第一世代のコアプロセッサ（ＤＳＰ）の二つで構成し、ゲートウェイ部分は上述した非特許文献３で開示したゲートチップと同様な機能、つまり、両隣のチップとの通信を行う機能を有する。この接続はシストリックアレーのアプローチに基づいているが、ローカルな限定された数の単位プロセッサとセグメントバスで接続する機能を持つ。このバスによりフィルタリングや変換、動き推定などのＤＳＰの演算処理を高速化することを提示する。また、ＤＳＰ部分は内部メモリを一時的に管理することも必要で、ピクセルベースのＤＳＰの処理も行う。
【発明の効果】
【００１６】
本発明の低消費電力ディジタル信号処理装置は、低速クロックでかつ低電圧で動作する複数のコアプロセッサ間に簡単なゲートウェイを追加し、セグメントバスを形成してコアプロセッサ間に通信機能をもたせ、低消費電力で高速演算処理を行うことができる。特に、携帯端末などの画像処理に適用することができる。
【発明を実施するための最良の形態】
【００１７】
図１に本発明の実施形態であるディジタル信号処理装置の構成を示す。多数の単位プロセッサを単一チップ上に実装した場合、データを転送するための内部接続が必要となってくる。この内部接続での高速なデータ転送や長い配線は、式（１）の周波数の向上や配線容量の増加に繋がることは明確である。仮に組み込んだ単位プロセッサ全てを接続できるようなバスを使用した場合、配線容量は非常に大きくなり、結果的に高い消費電力になってしまう。そこで、消費電力の増加を避けるために、単位プロセッサをコアプロセッサとゲートウェイの二つに分ける。以後、一般的にディジタル信号処理装置をＤＳＰと表し、特定のＤＳＰをたとえばコアプロセッサ（Ｄｉｊ）と記載する。
【００１８】
図１（ａ）に示すように、低消費電力のディジタル信号処理装置（単にＤＳＰとも記載する）１０の構成例を示す。ＤＳＰ１０を構成する単位プロセッサはコアディジタル信号処理装置（コアプロセッサまたはコアＤＳＰ）ＤｉｊとゲートウェイＳｉｊで構成される。また、図１（ａ）にＤｉｊ間の接続構成例を示すが、本発明はこれに限定されず、データを空間的に斜め方向に転送する接続にすることもできる。
例えば、コアＤＳＰのＤ１１で演算した結果のデータをＤ２２に転送できるようにゲートウェイＳ１１またはＳ２２（ｉ，ｊ＝２）の接続構成をソフトウェアにより制御して変更してもよい。なお、ここでは説明を簡単にするため、ｉ＝４，ｊ＝５の場合について説明する。
【００１９】
コアプロセッサＤ１１はゲートウェイＳ１１を介してＤ１２のゲートウェイＳ１２とＤ２１のゲートウェイＳ２１に接続される。コアプロセッサＤ１２はゲートウェイＳ１２を介してＤ１１のゲートウェイＳ１１、Ｄ１３のゲートウェイＳ１３とＤ２２のゲートウェイＳ２２に接続される。コアプロセッサＤ１３はゲートウェイＳ１３を介してＤ１２のゲートウェイＳ１２、Ｄ１４のゲートウェイＳ１４とＤ２３のゲートウェイＳ２３に接続される。コアプロセッサＤ１４はゲートウェイＳ１４を介してＤ１３のゲートウェイＳ１３、Ｄ１５のゲートウェイＳ１５とＤ２４のゲートウェイＳ２４に接続される。コアプロセッサのＤ１５はセグメントＳ１５を介してＤ１４のセグメントＳ１４とＤ２５のセグメントＳ２５に接続される。以下、Ｄ２ｊ行、Ｄ３ｊ行、Ｄ４ｊ行（ｊ＝１〜５）と繰り返し、コアプロセッサのＤ４５、Ｓ４５まで同様な接続を行う。なお、ゲートウェイＳｉｊについては後述する。
【００２０】
図１（ａ）に示すように、ゲートウェイＳｉｊを制御することにより、例えば破線で囲まれた領域ａに配置されたコアプロセッサＤ２１，Ｄ３１，Ｄ４１は、ある特定された信号処理を行うための縦方向に接続された構成例を示している。この破線領域ａは他の破線領域ｂ、ｃ、ｄと切り離されているので、配線による容量が著しく減少し、電気的特性が向上するのみでなく消費電力を削減することができる。またこの他、破線領域ｂはコアプロセッサＤ２２，Ｄ２３，Ｄ２４と横方向に構成され、破線領域ｃはコアプロセッサＤ３２，Ｄ４２と縦方向に構成され、また破線領域ｄはコアプロセッサＤ３３，Ｄ３４，Ｄ３５と横方向に構成される。この破線領域と方向は処理内容により任意に変更される。破線領域ａで処理Ａに関する信号処理、破線領域ｂで処理Ｂに関する信号処理、破線領域ｃで処理Ｃに関する信号処理、破線領域ｄで処理Ｄに関する信号処理を独立して行う。
したがって、ゲートウェイＳｉｊを制御して、例えば各破線領域ａ，ｂ，ｃ，ｄ内で独立したバスが形成され、お互い独立して動作することができる。この特定された領域内のバスを以下セグメントバスと記載する。
【００２１】
このように、不図示のコントローラによりセグメントバスを介してゲートウェイＳｉｊを制御して、処理ステップに従う方向に隣接してコアプロセッサＤｉｊ間を接続することにより、複数のコアプロセッサＤｉｊ間でデータを転送する。この結果、所定の領域内で信号処理の一部で互いに異なる信号処理を同時に実行することができる。なお、各破線領域ａ，ｂ，ｃ，ｄの配線長は、例えばコアプロセッサＤｉｊの動作クロックを１０ＭＨｚとしたときに、１００ｎｓ（ナノ秒）以下になるようにする。これにより、各破線領域における各Ｄｉｊで行われ演算処理時間の影響が少なくなる。
【００２２】
図１（ａ）に示すディジタル信号処理装置１０のコアプロセッサＤｉｊは１０ＭＨｚ程度の遅いクロックスピードで動作するＤＳＰアーキテクチャと短いコミュニケーションパスを使用する。
全てのコアプロセッサＤｉｊは、簡単なゲートウェイＳｉｊ部分と、簡単化した第一世代ＤＳＰ（のＤｉｊ）の二つで構成してあり、ゲートウェイＳｉｊ部分は両隣のチップとの通信を行う機能を持っていて、この接続はシストリックアレーのアプローチに基づいているが、ローカルな限定された数の単位プロセッサとセグメントバスで接続する機能を持っている。このセグメントバスがフィルタリングや変換、動き推定などのＤＳＰの演算処理を高速化することができる。また、ＤＳＰ部分は内部メモリを一時的に管理することも必要で、ピクセルベースのディジタル信号処理も行える。
【００２３】
このように、採用したアーキテクチャはシストリックアレーに基づいており、全てのコアプロセッサＤｉｊとゲートウェイＳｉｊは１０ＭＨｚで動作する。コアプロセッサＤｉｊの数が十分多ければ、画面の全てのピクセルは同じ位置に存在するコアプロセッサＤｉｊに対応づけることが可能である。
また、隣接するコアプロセッサＤｉｊとのデータ転送はワードベースのアプローチで行う。背景予測のようなピクセルベースの処理はコアプロセッサＤｉｊ部分のみで処理が行われる。しかし、この時ゲートウェイＳｉｊ部分とコアプロセッサＤｉｊ部分でシストリックアレーを構築することにより、各コアプロセッサへＤｉｊのＩ／Ｏ（入出力）処理はシストリックで行える。
これにより、メインメモリから一度データを取得したら、そのデータに対して連続的に処理を実行でき、フォンノイマンボトルネック、つまりマルチＤＳＰにおけるメモリ幅が狭くなるという問題から開放される。
【００２４】
次に、図１（ｂ）にＤＳＰのゲートウェイ部分２０のブロック構成例を示す。図１（ｂ）に示すように、このゲートウェイ部分２０は、コアプロセッサＤｉｊ（ＤＳＰ）のゲートウェイＳｉｊ部分のバイパス機能を用いて構成される。この機能により、図１（ａ）に示すように複数の破線領域は、各々セグメントバスによって構成されている。
コアプロセッサＤｉｊを除いたゲートウェイ部分２０は、４個のレジスタ（Ｒｅｇ１〜Ｒｅｇ４）と４個のゲートＧ１〜Ｇ４とバイパス１，２で構成される。
【００２５】
ゲートウェイ部分２０において、第一の入出力端子Ｔ１は、ゲートＧ１の一方の端子に接続され、このゲートＧ１の他方の端子はレジスタＲｅｇ１に接続され、このレジスタＲｅｇ１の他方の端子はＤＳＰ（Ｄｉｊ）の第一の入出力端子に接続される。また、ゲートＧ１の他方の端子はゲートＧ３の他方の端子に直接接続される。
第二の入出力端子Ｔ２は、ゲートＧ２の一方の端子に接続され、このゲートＧ２の他方の端子はレジスタＲｅｇ２に接続され、このレジスタＲｅｇ２の他方の端子はＤＳＰ（Ｄｉｊ）の第二の入出力端子に接続される。また、ゲートＧ２の他方の端子はゲートＧ４の他方の端子に直接接続される。
第三の入出力端子Ｔ３は、ゲートＧ３の一方の端子に接続され、このゲートＧ３の他方の端子はレジスタＲｅｇ３に接続され、このレジスタＲｅｇ３の他方の端子はＤＳＰ（Ｄｉｊ）の第三の入出力端子に接続される。
第四の入出力端子Ｔ４は、ゲートＧ４の一方の端子に接続され、このゲートＧ４の他方の端子はレジスタＲｅｇ４に接続され、このレジスタＲｅｇ４の他方の端子はＤＳＰ（Ｄｉｊ）の第四の入出力端子に接続される。
【００２６】
次にコアプロセッサＤＳＰ（Ｄｉｊ）に接続されたゲートウェイ部分２０の動作について説明する。ソフトウェアでコントローラを制御してゲートＧ１を制御して開き、第一の入力端子Ｔ１から所定ビット長のデータをゲートＧ１に入力する。ゲートＧ１が開いている（接続される）とレジスタＲｅｇ１にデータが格納される。
次に、格納されたデータはＤＳＰ（Ｄｉｊ）に入力され、そこで加算（減算）や乗算などの演算処理が例えば１０ＭＨｚの動作クロックで行われる。ＤＳＰ（Ｄｉｊ）で演算処理されたデータは、レジスタＲｅｇ２、Ｒｅｇ３，Ｒｅｇ４のいずれかに出力されそこに格納される。例えば水平方向にデータを転送したい場合、ＤｉｊからレジスタＲｅｇ３にデータが転送され格納される。そして、次の動作ステップでゲートＧ３が開き次のコアプロセッサＤｉｊ＋１にデータが転送される。
またこれ以外の動作で、Ｄｉｊで演算処理を行う必要がない場合、ゲートＧ１とＧ３間のバイパス１を接続して、端子Ｔ１に入力されたデータをゲートＧ１を介して直接ゲートＧ３に転送することも出来る。またゲートＧ３からＧ１へデータを転送して逆方向に直接転送できる。
以下、他の入力端子Ｔ２，Ｔ３，Ｔ４についても同様な動作を行い、第二と第四の入出力端子Ｔ２，Ｔ４間もゲートＧ２，Ｇ４を制御してバイパス２を接続することにより直接データを転送することが出来る。
【００２７】
図１（ｂ）に示すように、ゲートウェイ部分２０はＤｉｊにゲートＧ１，Ｇ２，Ｇ３，Ｇ４を設け、これらのゲートＧ１，Ｇ２，Ｇ３，Ｇ４をソフトウェアを用いてコントローラにより制御し、転送する領域以外のゲートを閉めて（オフして）、隣接するプロセッサ間の転送路を遮断する。
その結果、ゲートウェイ部分２０で接続された配線容量が少なくなり、式（１）で計算される容量ｃが小さくなり、消費電力を削減することが出来る。また動作ステップに関する一連のコアプロセッサのみを動作させ、それ以外のコアプロセッサの電源をオフ（切断）することにより、さらに消費電力を削減できる。
【００２８】
このように、セグメントバスの配置はコアプロセッサＤｉｊのゲートウェイ部分（Ｓｉｊ）をソフトウェアで制御して行う。この変更によりバイパスの配線容量が増加するため、消費電力が増加してしまう。しかし、最悪の遅延が１０ＭＨｚのクロックの間隔と同じ１００ナノ秒以下になるようにセグメントバスの長さの制限をする。さらに、セグメントバス構造が必要でないときにはソフトウェアを用いてバイパス機能を切り替えることで、余計な消費電力を無くすることができる。
【００２９】
次に、セグメントバスによる効率化について述べる。セグメントバスを採用する理由は二つある。
第一の理由は、アレープロセッサ（コアプロセッサＤｉｊ）がプログラマブルである。図２（ａ）のタスク（１）に示すように、シストリックアレーは空間的な処理を行う場合、パイプラインで処理を行うため、一つのタスクキューを伴って順次実行される。
図２（ａ）に従来のシストリックアレー構成の演算処理装置によるパイプライン動作を示す。ピクセルのブロックが８個ｂ１，ｂ２，・・・，ｂ８で構成され、それに対応して単位ブロック（または単位プロセッサ）が８個で構成されたれときの時間軸とブロックの演算処理の状態を示す。説明を簡単にするために、タスクを３個（（１）、（２）、（３））とする。
【００３０】
タスク（１）を時間（動作クロック）の経過に応じてブロックｂ１から順次ｂ２，ｂ３，・・・，ｂ８までパイプライン式に演算を実行する。
まず、ステップ１で、タスク（１）がブロックｂ１で処理される。ステップ２で、ブロックｂ１でタスク（１）に関する演算処理（演算処理、情報収集などを含む）が行われた結果がブロックｂ２に転送され、演算処理が行われる。これと同時に、ブロックｂ１には次のタスク（２）が転送され、演算処理が行われる。ステップ３になると、ブロックｂ２で演算されたタスク（１）に関する結果がブロックｂ３に転送され演算処理が行われる。これと同時に、ブロックｂ１で演算されたタスク（２）に関する演算結果がブロックｂ２に転送されて演算処理が行われる。また、ブロックｂ１には、タスク（３）が転送され演算処理を行う。このような動作をクロックの経過に応じて行い、ブロックｂ８でタスク（３）の演算処理を行う。次のステップ１１で結果（４）が得られる。この結果（４）をブロックｂ７，ｂ６，・・・，ｂ１に時間（動作クロック）に応じて順次転送する。そのため、従来のパイプライン方式による情報伝達（演算を含む）に関する必要なステップ数は、ブロック数をＫ個とすると、最大２Ｋステップ必要となる。
【００３１】
このように、複数のタスクを連続して実行する場合には図２（ａ）のタスク（１）からタスク（３）のように、スキューを必要としてもタスクを効率よく実行することができる。また、情報収集も同様な処理でできる。しかし、判定は最後の単位プロセッサで作成されるため、ブロック内全ての単位プロセッサに送り返さなければならない。これは、図２（ａ）のタスク（４）に示すように、シストリック接続が、長いディレイドジャンプとなることを示している。
【００３２】
次に、図２（ｂ）に示す本発明に関するセグメントバスを用いたＤＳＰの動作について説明する。
図２（ａ）の従来のシストリックアレー構成のＤＳＰに対して、図１（ｂ）のゲートウェイＳｉｊを制御しセグメントバスを介してデータを転送することにより高速に演算処理ができる。
図２（ｂ）に示すように、まずステップ１において、ブロックｃ１でタスク（１）に関する演算処理（情報収集などを含む）を行う。ステップ２で、ブロックｃ１でタスク（１）に関する演算処理が行われた結果がブロックｃ２に転送され、次の演算処理を行う。これと同時に、ブロックｃ１には次のタスク（２）が転送され、演算処理を行う。ステップ３になると、ブロックｃ２で演算されたタスク（１）に関する演算結果がブロックｃ３に転送され次の演算処理を行う。これと同時に、ブロックｃ１で演算されたタスク（２）に関する演算結果がブロックｃ２に転送され、次の演算処理を行う。また、ブロックｃ１には、タスク（３）が転送され演算処理を行う。このような動作を行い、ブロックｃ８でタスク（３）の演算処理を行い、ステップ１１で演算結果（４）を得る。また各ブロック（単位プロセッサ）は、それぞれゲートウェイＳｉｊを構成するので、このゲートウェイＳｉｊをソフトウェアで制御することにより、ステップ１１で同時に各ブロックＣ１，Ｃ２，・・・，Ｃ８に転送する。
【００３３】
図２（ｂ）に示すように、ステップ１１において、１ステップ期間に全てのコアプロセッサＤｉｊ（またはブロックＣ１，Ｃ２，・・・，Ｃ８）に判定（タスク（４））を転送することができる。
もしセグメントバスよりも大きいブロックサイズに対して画像処理を行う場合、複数のセグメントバスによるパイプラインデータ転送が必要になるが、セグメントバスを用いることで高速な情報の転送が可能になり、結果として低遅延のジャンプとなる。
また、図２（ａ）に示す余分なステップでは、使用していないコアプロセッサＤｉｊを動作させないことで電力消費を抑えることが出来る。またこの他、動作ステップと低消費電力のどちらがより重要であるかにより、セグメントバスとシストリックの切り替えを行うことができる。さらに、ソフトウェアによって、ゲートウェイＳｉｊを制御することにより使用するアーキテクチャを決定することができる。
【００３４】
次に、セグメントバスを使用する第二の理由について述べる。実際のシストリック構造の実現においては、シストリックアルゴリズムを効率よく実現するために、セグメントバスを使用することがある。本アーキテクチャでは、そのようなアルゴリズムを動き検出に利用する例について説明する。
動き検出は、以下の３つの処理に分けられる。
１．評価を行うプログラムと参照画像とのピクセル間の絶対値差分の演算とＬ１ノルム
形成のための絶対値差分の累算。
２．探索領域内のＬ１ノルム値の収集。
３．最小Ｌ１ノルム距離を求め、動きベクトルを決定するために最良のＬ１ノルムを探
索。
ここで、Ｌ１ノルムとは２点間の距離に相当する値である。
【００３５】
図３に本アーキテクチャを画像動き検出装置に適用した例を示す。縦軸に時間経過に対する各単位プロセッサのタスク処理状態を示し、横軸に単位プロセッサに対応する各ピクセルのデータを示す。なお、この単位プロセッサは図１（ｂ）に示すＤＳＰ（コアプロセッサＤｉｊ）とゲートウェイＳｉｊで構成されている。
動き検出のアプローチは図３に示すように、セグメントバスを用いて全てのコアプロセッサＤｉｊに同時にデータを送信（転送）することで、上述した３つの処理を効率的に実行できる。
上述したように、動き検出の動作は基本的に３つの処理から成っている。具体的に説明すると以下のようになる。
【００３６】
第一に、絶対値差分の演算と同時に同じプロセッサでＬ１ノルム演算のための差分の累算を行う。ただし、絶対値差分命令と累算命令の２回動作する必要がある。
第二に、スキューを伴った絶対値差分の累算を行う。このため、累算を行った単位プロセッサの右隣では、セグメントバスに乗せるピクセルの値が一つ次の値に変化していることが望ましい。
第三に、計算されたＬ１ノルム中の最小のＬ１ノルムと、新しく演算終了したＬ１ノルムの比較を行い、新しい最小のＬ１ノルムを決定する。
【００３７】
図３に示すように、ステップ（Ｓｔｅｐ）ＮでピクセルＮの値が入力されると、参照ピクチャのピクセルデータ（値）をバスに転送する。すると、コアプロセッサＤｉｊ（Ｄ１１，Ｄ１２，・・・，Ｄ１８）は現在のブロックのピクセル値を保持する。
ステップ（Ｓｔｅｐ）１でタスク（１）に関してコアプロセッサＤ１１で演算処理（情報収集も含む）が行われる。ステップ２で、タスク（２）に関してコアプロセッサＤ１１，Ｄ１２で同時に演算処理が行われる。ステップ３で、タスク（３）に関してコアプロセッサＤ１１，Ｄ１２，Ｄ１３で同時に演算処理が行われる。同様に、コアプロセッサＤ１８まで繰り返す。
【００３８】
以下に第２ステップを中心に動作を説明する。図３において、単位プロセッサに保存されているピクセル値ｄｉとｄｊの位置から開始する参照ピクセル値の絶対値差分の命令は以下の通りになり、これはｊ番目のＬ１ノルム値の演算をすることになる。
【００３９】
（数２）  ｜ｄｉ−ｅｎ＋ｉ｜  ｎ＝１，２，・・・，Ｋ      ・・・（２）
ｉ番目コアプロセッサＤ１ｉ絶対値の累算命令は、前のコアプロセッサから送られてきた累算結果に、ｉ番目の絶対値差分の結果を加えることで実行される。絶対値差分の累算は最も右にあるコアプロセッサＤ１８で終了する。
【００４０】
次に、（数２）に関する具体演算例を図４に示す。図４（ａ）にｎ＝０のとき、１フレーム前の参照ピクチャ（ピクセル）値ｅ１，ｅ２，ｅ３，・・・，ｅ８がセグメントバスからステップに応じてコアプロセッサＤ１１，Ｄ１２，・・・，Ｄ１８に転送される。なおこのとき、各コアプロセッサＤ１１，Ｄ１２，・・・，Ｄ１８には現在のブロックのピクセル値を保持している。
ステップ１で、ピクセル値ｅ１がコアプロセッサＤ１１に転送され、そこでｄ１−ｅ１の演算（ノルムＬ１の）計算が行われる。
ステップ２で、ピクセル値ｅ２がコアプロセッサＤ１１，Ｄ１２に転送され、コアプロセッサＤ１１でｄ１−ｅ２の演算が行われ、コアプロセッサＤ１２でｄ２−ｅ２の演算が行われる。ステップ３で、ピクセル値ｅ３がコアプロセッサＤ１１，Ｄ１２，Ｄ１３に転送され、コアプロセッサＤ１１でｄ１−ｅ３の演算が行われ、コアプロセッサＤ１２でｄ２−ｅ３の演算が行われ、コアプロセッサＤ１３でｄ３−ｅ３の演算が行われる。以下同様に、ステップ８まで繰り返される。
そして、ｄ１−ｅ１，ｄ２−ｅ２，・・・，ｄ８−ｅ８の各値の絶対値を求め全てを加算する。
次に、ｎ＝１のときは、図４（ａ）と同様に、ｄ１−ｅ２，ｄ２−ｅ３，ｄ３−ｅ４，・・・，ｄ８−ｅ９の各値を求めそれぞれの絶対値を求め全てを加算する。これをｎ＝ｋまで繰り返すことにより絶対値の累積加算を計算する。この各ｎ＝０〜Ｋの値に対する差分絶対値の累積加算結果を図４（ｂ）に示す。
【００４１】
図４（ａ）に示すように、ディジタル信号演算処理において絶対値差分演算と累積の２ステップを実行するため、コアプロセッサＤｉｊ（Ｄ１１〜Ｄ１８）の接続バスの時分割使用が必要となる。結果として、長さＫのブロックを、＋−（プラス・マイナス）Ｐピクセルの探索範囲で同じ長さのブロックと比較する場合、２＊（Ｋ＋ｐ）ステップで処理が可能である。ここで、＊印は乗算記号を表し、ｐはパイプラインスキューにより要求される値である。また、この方法を用いることで、Ｋ個のノルムを並列に計算することが出来る。
【００４２】
この説明は一次元の場合であるが、二次元の動き検出についてもこの方法の簡単な拡張で処理することが出来る。しかし、セグメントバスは４から８個のプロセッサの接続に限定しているため、情報を伝達すべきプロセッサに直接データを接続し、情報を伝達することで、パイプラインの処理の２から４ステップ程度の増加で効率よく処理が出来る。
【００４３】
次に、ディジタル信号処理装置を用いた高速ベクトル掛算処理について説明する。
コアプロセッサＤｉｊにゲートウェイＳｉｊの導入により、高速なベクトル行列掛算を効率的に実行することが出来る。
Ｎ×Ｎの行列をＡ＝｛ｘｉｊ｝とし、積をＮ次元ベクトルＹ＝{ｂｉ}として、行列とベクトルの掛算を説明する（ここで、Ｎは正の整数）。
全てのベクトルＸの要素ｘｉ、例えばｘ１をセグメントバスを介してゲートウェイＳｉｊに流す（転送する）と、ブロックにあるＮ個のコアプロセッサＤｉｊがＡｉ１×ｘ１の演算を並列に実行する。Ｘの要素一個毎にＹの要素を求める累算が実行される。Ｎステップ経過すると、ｂｊの累算が全ての単位プロセッサで完了する。
【００４４】
次に図５を用いて、本発明の高速演算のアーキテクチャを用いたベクトル行列掛算の動作を具体的に説明する。
図５（ａ）に示すように、ｉ，ｊ＝１〜３としたときの、３行３列のマトリックスに３行１列のマトリックスを掛算する例を示す。図５（ａ）のマトリックスの要素ａ１１，ａ１２，・・・，ａ３３とｘ１，・・・，ｘ３をセグメントバスを介してステップに応じてコアプロセッサＤｉｊ（Ｄ１１，Ｄ１２，，・・・，Ｄ３３）に転送する（図５（ｂ）参照）。
具体例として図５（ｂ），（ｃ）に示すように、ゲートウェイＳｉｊを切り替えて、まずステップ１でセグメントバスを介してマトリックス要素ｘ１をａ１１，ａ２１，ａ３１に対応するコアプロセッサＤｉｊに転送し、そのコアプロセッサＤｉｊ（Ｄ１１，Ｄ２１，Ｄ３１）でそれぞれａ１１＊ｘ１，ａ１２＊ｘ１，ａ１３＊ｘ１の演算を行う。
ステップ２において、ゲートウェイＳｉｊを切り替えて、セグメントバスを介してマトリックス要素ｘ２がＤ１２，Ｄ２２，Ｄ３２に転送される。コアプロセッサＤ１２でａ１２＊ｘ２の演算を行うと共にステップ１で計算されたａ１１＊ｘ１を加算して、ａ１１＊ｘ１＋ａ１２＊ｘ２を求める。
また、コアプロセッサＤ２２において、マトリックス要素ｘ２がａ２２と掛算が行われると共に、ステップ１で計算されたａ２１＊ｘ１と加算して、ａ２１＊ｘ１＋ａ２２＊ｘ２を求める。さらに、このステップ２で、マトリックス要素ｘ２がａ３２と掛算されてａ３２＊ｘ２を計算すると共に、ステップ１で計算されたａ３１＊ｘ１と加算されてａ３１＊ｘ１＋ａ３２＊ｘ２を求める。
ステップ３において、ゲートウェイＳｉｊを切り替えて、セグメントバスを介してマトリックス要素ｘ３がコアプロセッサＤ１３，Ｄ２３，Ｄ３３に転送される。コアプロセッサＤ１３でａ１３＊ｘ３の演算を行うと共にステップ２で計算された値を加算して、ａ１１＊ｘ１＋ａ１２＊ｘ２＋ａ１３＊ｘ３を求める。
また、コアプロセッサＤ２３において、マトリックス要素ｘ３がａ２３と掛算が行われると共に、ステップ２で計算された値と加算して、ａ２１＊ｘ１＋ａ２２＊ｘ２＋ａ２３＊ｘ３を求める。さらに、コアプロセッサＤ３３において、マトリックス要素ｘ３がａ３３と掛算されてａ３３＊ｘ３を計算すると共にステップ２で計算された値と加算されてａ３１＊ｘ１＋ａ３２＊ｘ２＋ａ３３＊ｘ３を求める。
【００４５】
このように、コアプロセッサＤｉｊにゲートウェイＳｉｊを導入したことにより行列ベクトル演算や変換などが効率的に実行可能であるが、高速アルゴリズムはこのアーキテクチャでは利用できない。これは、細粒度のマルチプロセッサアーキテクチャに高速アルゴリズム向き機能を盛り込むと高速な内部バスや外部メモリが必要となり、消費電力が大きくなる傾向があるためである。
【００４６】
次に、他の実施形態例であるＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅ  Ｔｒａｎｓｆｏｒｍｅｒ）の例について説明する。図６（ａ）に示す高速演算アーキテクチャは、演算器と高速バス（またはデータ交換用配線）が交互に配置され、また演算結果を一時保持する一時保存用メモリを備えている。
図６（ａ）に示すように、一次元の入力を最初の線形配列の単位プロセッサ（コアプロセッサ（Ｄ１１，Ｄ２１，・・・ＤＮ１）とゲートウェイＳ１１，Ｓ１２，・・・，Ｓ１Ｎ）に入力する。最初のプロセッサ配列（Ｄ１１，Ｄ２１，・・・ＤＮ１）は次のプロセッサの配列（Ｄ１２，Ｄ２２，・・・ＤＮ２）にデータを入れ替えながら転送するので、長い配線のスイッチで構成する必要がある（図６（ｂ）参照）。加えて、データを入れ替えるための機能は全てのプロセッサ配列に対して必要になる。そのため、チップ面積と配線容量は増加し、結果として消費電力の増加につながる。さらに、一次元の処理にはｌｏｇ２Ｎの配列で処理を終えることができるが、全ての演算結果はビット反転を行ってメモリに格納しなければならない。もし、二次元の処理を行うのであれば、一次元出力を縦横に変換をするために並べ替えを行う必要があり、さらに必要な機能が増加す。
【００４７】
一方、本発明のアーキテクチャではＦＦＴ演算処理において、もし全ての単位プロセッサが普通の順序でひねり因子（Ｔｗｉｄｄｌｅ  Ｆａｃｔｏｒ）ベクトル（ＦＦＴの計算の場合の位相回転値）を保持している場合、前述した行列とベクトルの演算方法を用いることで演算を終了する。さらに、もし二次元の処理が必要になった場合、全ての単位プロセッサで垂直のセグメントバスを構成し、セグメントバス単位で一次元のＤＦＴの演算を実行する。これにより二次元の演算が処理可能である。追加のハードウェアは必要としないため、高速演算がマルチプロセッサと比較して、携帯端末に向いたアーキテクチャであるといえる。
【００４８】
次に、上述したコアプロセッサＤｉｊとゲートウェイＳｉｊを有する（単位）プロセッサアレーをディジタル信号（画像）処理装置に導入したときの効率的な演算処理について述べる。
ビデオ信号のフレーム間隔は３３ミリ秒で、クロックを１０ＭＨｚにセットした場合、ピクセルと単位プロセッサの数が同じであれば３３０，０００回（ステップ）の画面（画像）処理が可能になる。処理対象の画像に存在するＭＮ個のピクセルとＶ個の単位プロセッサがチップにある場合について説明する。全てのプロセッサはＭＮ／Ｖ回時分割使用しなければならない（ここで、Ｎ，Ｍは正の整数）。
【００４９】
現在、２０００個程度のプロセッサが単一チップ上に実装可能であるが、ＬＳＩのプロセスが後２世代進めば８０００個のプロセッサが実装可能である。２０ＭＨｚのセグメントバスと８０００個のプロセッサを用いることで、１ＴＯＰＳが実現化できる。将来、さらに微細加工技術が進歩し、プロセッサ数が増加しても同じプロセッサ構造を維持できるように、図７のような単純に拡張できる構造を持ったマルチプロセッサを構成することができる。
【００５０】
次に、図７に示す本発明のアーキテクチャを用いたシステムでＳＩＦ画像（３５２＊３４０画素）の処理を行う例について述べる。
このシステムは３５２＊４個のコアプロセッサ（Ｄｉｊ）とゲートウェイＳｉｊの配列と、ピクチャデータを保存する外部メモリ（フレームメモリ）で構成される。フレームのインターバルの間に全ての単位プロセッサが６０回の操作を時分割して処理を完了し、外部メモリから次に処理を行う画素と交換を行う。
【００５１】
ＤＳＰ（単位プロセッサ）の内部メモリ、例えばＲＡＭは２５６ワードであり、１フレーム当り６０回利用する。つまり、４ワードを割り当てるか、４フレームをチップに保存することが可能である。全ての時間において、全ての４ラインは並列に実行され、その都度、全てのＤＳＰ（単位プロセッサ）は内部の６０メモリバンクの交換を行う。したがって、処理のステップに関しては、それぞれ４＊３５２ピクセルにおいて５，５００ステップが使用可能である。プロセッサで構成するので、要求される消費電力は７５ｍＷ程度になる。
【００５２】
このシステムを評価するために、例えば、水平と垂直方向に＋−８ピクセルの範囲（ブロックを囲んで外側に８ピクセル広げた範囲を示す）のフルサーチの動き予測を行う場合について述べる。
ここで、ブロックサイズは１６＊１６ピクセルとする。ブロックサイズはコアプロセッサＤｉｊ（ｉ，ｊ＝８）の数の４倍なので、リアルタイムな処理が必要な場合は、２２，０００ステップが使用可能である。図７に示すように、このアプローチは垂直方向に１６ノルムの２＊（１６＋１６）ステップと、１６＊３５３の領域に対して１６ピクセルずれた参照位置を設定する。この処理に必要なステップ数は、２＊（１６＋１６）＊１６＝７３６となる。２２，０００ステップがリアルタイムの処理で可能なステップなので、使用可能なステップの４％程度のステップでフルサーチの動き予測が可能である。演算効率はパイプラインの遅延によって、従来の処理よりも悪くなるが、パイプラインを注意深く設計することで、従来の処理と変わらないくらいの効率で実現が可能である。
【００５３】
次に、図８に本発明のＤＳＰにおける演算量について述べる。前述したように、図７に示したアーキテクチャを用いることで、動き予測や行列など、様々な演算を高速に実行することができる。このアーキテクチャを使用した場合に、一般に用いられる処理を行う場合に要求されるステップ数を求めた結果を図８に示す。以下この図８のアプリケーションの演算量について説明する。
【００５４】
動き補償については前述したように、ブロックサイズＫ＝Ｎ、スキューｐ＝Ｎ、探索範囲をＭとすると、２＊（Ｎ＋Ｍ）＊Ｍステップが必要となる。
Ｎ＊Ｎ個のブロックからの情報収集については、ブロックの中心にデータを収集していくことで、縦方向・横方向共にＮステップで実効可能で、Ｎ＋Ｎ＝２Ｎステップで情報収集ができる。また、この情報収集と同時に比較演算を実行することも可能である。
Ｎ＊Ｎ個のブロックに対して情報伝達を行う場合は、セグメントバスを用いることで高速に実行するできる。ゲートウェイＳｉｊに接続が可能なコアプロセッサＤｉｊの数をＫ（Ｋ＜＜Ｎ）とすると、縦方向・横方向それぞれ２Ｎ／Ｋステップで情報の伝達が可能である。
【００５５】
次に、二次元のＦＩＲフィルタについては、フィルタの計数とピクセル値の乗算を行い、その結果を収集するだけなので、縦方向と横方向の情報収集だけで実効可能である。フィルタのタップ数をＮとすると、ＮＮステップで演算が終了する。
【００５６】
ＤＦＴについても、ひねり因子を内部ＲＯＭに蓄えておくことでマトリックスとベクトルの乗算で実効することが可能である。上述したコアプロセッサＤｉｊとゲートウェイＳｉｊを有するディジタル信号処理装置は入力値の乗算と、演算結果の累算を同時にできるアーキテクチャを持っているので、実数のみの処理の場合は、２＊（２Ｎ）ステップで処理が可能である。しかし、虚数の処理も行う場合、演算量は増加する。入力が実数の一次元処理の後に二次元処理を行うと、２Ｎ＋４Ｎステップ、入力が虚数だった場合には２＊（４Ｎ）ステップ必要となる。
【００５７】
位相限定相関法において、ＤＦＴ（Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）とＩＤＦＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）、そしてブロックマッチングが行われる。つまり、二次元ＤＦＴに関する二回の処理とデータ収集、及び比較の処理が必要になる。ブロックサイズをＮ＊Ｎ個とすると、最大値検出は２Ｎステップとなり、６Ｎ＋８Ｎ＋２Ｎ＝１６Ｎステップ必要となる。この演算には除算を考慮していないが、仮に除算を含めるとしても除算１回に対して増加するステップは１なので、無視できる演算量の増加である。
【００５８】
これらの演算量は、いずれも単位プロセッサが十分に存在し、またパイプラインの遅延も考慮していないため、実際には多少の誤差が発生する可能性がある。しかし、処理量と比較して非常に小さいものであり、並列プロセッサは十分に効率的に動作する。
【００５９】
このように、本発明において、全ての単位プロセッサは、簡単なゲートウェイ部分と、簡単化した第一世代ＤＳＰの二つで構成し、ゲートウェイ部分は上述した非特許文献３で開示したゲートチップと同様な機能、つまり、両隣のチップとの通信を行う機能を持っている。この接続はシストリックアレーのアプローチに基づいているが、ローカルな限定された数のプロセッサとセグメントバスで接続する機能を持たせた。このバスによりフィルタリングや変換、動き推定などのＤＳＰの演算処理を高速化することができる。また、ＤＳＰ部分は内部メモリを一時的に管理することも必要で、ピクセルベースのＤＳＰの処理も行えるようにした。
シストリックのようなプロセッサアレーのディジタル信号処理装置にセグメントバスを導入することで、例えばＳＩＦ画像処理を効率的に処理することができる。また、高速演算アルゴリズムは実行可能であり、フルサーチの動き検出などは数％のステップ増加で処理できる。さらに、ＨＤＴＶの処理については、非常に簡単なＤＳＰ部分の設計により、単位プロセッサの数を増やすことで実行可能である。
【００６０】
以上述べたように、本発明のＴＯＰＳ  ＤＳＰアーキテクチャは、低消費電力でプログラマブルなＨＤＴＶの処理をはじめとして画像処理を行うことができる。このマルチプロセッサの処理能力は０．０６から０．１ＴＯＰＳと高速になり、また、１チップ上に多数の単位プロセッサを構成し、かつ低消費電力での動作が可能となる。
【図面の簡単な説明】
【００６１】
【図１】ディジタル信号処理装置のブロック構成を示す図である。
【図２】ディジタル信号処理装置のセグメントバスを用いた動作を示す図である。
【図３】ディジタル信号処理装置の差分絶対値の演算処理の例を示す図である。
【図４】ディジタル信号処理装置の差分絶対値の累算の演算処理の例を示す図である。
【図５】ディジタル信号処理装置のマトリックス演算処理の例を示す図である。
【図６】ディジタル信号処理装置の高速バスを用いた演算処理の例を示す図である。
【図７】画像処理を行うディジタル信号処理装置のブロック構成を示す図である。。
【図８】ディジタル信号処理装置の演算処理結果を示す表である。
【図９】従来のディジタル信号処理装置の特性表である。
【符号の説明】
【００６２】
１０…ディジタル信号処理装置、２０，Ｓｉｊ，Ｓ１１，・・・，Ｓ４５…ゲートウェイ、Ｄｉｊ，Ｄ１１，・・・，Ｄ４５…ＤＳＰ（コアプロセッサ；コアＤＳＰ）、Ｒｅｇ１，・・・，Ｒｅｇ４…レジスタ、Ｇ１，・・・，Ｇ４…ゲート。
【図１】
2008250846.tif 000003
【図２】
2008250846.tif 000004
【図３】
2008250846.tif 000005
【図４】
2008250846.tif 000006
【図５】
2008250846.tif 000007
【図６】
2008250846.tif 000008
【図７】
2008250846.tif 000009
【図８】
2008250846.tif 000010
【図９】
2008250846.tif 000011