(57)【要約】【課題】様々な用途に応じた処理対象を並列処理するのに好適であり、且つ、少数の演算処理装置によって並列処理を行うのに好適な情報処理装置を提供する。【解決手段】情報処理装置１を、第１〜第３の情報処理部１０〜１２と、Ｉ／Ｏ制御プロセッサ（以下、ＩＯＰ）１３と、グローバルバス（以下、Ｇバス）１４と、データ記憶部１５と、を含んだ構成とし、第１〜第３の情報処理部１０〜１２は、２つのＢＰＣ（Basic Processing Cell）と、それぞれのＢＰＣ専用のローカルバス（以下、Ｌバス）と、を含んだ構成とし、上記３つの情報処理部をＬバスを介して直列接続し且つ第３の情報処理部のＢＰＣと第１の情報処理部のＬバスとを接続し、処理対象に応じてＩＯＰ１３により専用プログラムを選択して各ＢＰＣに伝送し、各ＢＰＣにおいて前記専用プログラムを実行することで処理対象に対する処理を行う。【選択図】      図１
2005070966.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理装置によって処理対象を並列処理する情報処理装置であって、
前記演算処理装置毎にそれぞれ専用のデータ伝送線路を備え、
前記複数の演算処理装置を複数段にグループ分けし、その各段間を前記データ伝送線路を介して接続し、
前記処理対象のデータである処理対象データを取得する処理対象データ取得手段と、
前記処理対象に基づき、前記処理対象データの処理内容に応じた所定の演算処理を前記複数の演算処理装置に並列処理させるための複数種類の専用プログラムの中から、前記処理対象用の前記専用プログラムを選択して各演算処理装置にそれぞれ設定する専用プログラム設定手段と、を備え、
前記演算処理装置は、前記設定された専用プログラムによる演算処理を行い、且つ、この演算処理結果データを、当該演算処理結果データを用いて演算処理を行う次段の演算処理装置に前記データ伝送線路を介して伝送するようになっていることを特徴とする情報処理装置。
【請求項２】
前記複数段にグループ分けされた各段を、二以上の前記演算処理装置によって構成したことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記処理対象データに基づき、前記各段の演算処理装置に前記所定の演算処理を並列処理させるための処理用データを、前記演算処理を開始する演算処理装置に供給する処理用データ供給手段を備えることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記複数段のグループ同士を、前記データ伝送線路を介してリング状に接続したことを特徴とする請求項１又は請求項２記載の情報処理装置。
【請求項５】
前記演算処理装置に設定された前記専用プログラムを所定のタイミングで別の種類のものに変更するプログラム変更手段を備えることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記所定のタイミングは、前記複数段における、演算処理の開始段から最終段までの各演算処理装置によって一連の演算処理が所定回数行われたタイミングであり、
前記タイミングにおいて、前記プログラム変更手段によって、各段の演算処理装置の専用プログラムを、前記一連の演算処理を継続する別の種類のプログラムに変更することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記専用プログラム設定手段によって選択された前記専用プログラムと、前記演算処理装置の構成段数と、各段の演算処理装置数と、に基づき、前記複数の演算処理装置の中から、前記処理対象に対する前記所定の演算処理を行う演算処理装置を設定する演算処理装置設定手段を備えることを特徴とする請求項１乃至請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
請求項１記載の情報処理装置を制御するためのコンピュータが実行可能なプログラムであって、
前記共通の処理対象のデータである処理対象データを取得する処理対象データ取得ステップと、
前記処理対象に基づき、当該処理対象用の前記専用プログラムを、前記複数種類の専用プログラムの中から選択して各演算処理装置にそれぞれ設定する専用プログラム設定ステップと、を備えることを特徴とする情報処理装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理装置を用いて共通の処理対象を並列処理する情報処理の分野に係り、特に、様々な種類の情報処理対象に対して並列処理を行うのに好適な情報処理装置に関する。
【背景技術】
【０００２】
従来、複数の演算処理装置により情報処理を高速に行う技術として、例えば、特許文献１（以下、第１の従来例と言う）に開示されている画像処理装置、特許文献２（以下、第２の従来例と言う）に開示されているマイクロコンピュータがあった。
第１の従来例は、パターンマッチング処理を高速に行うための画像処理装置を提供することを課題としたもので、データを入力して所定の処理をそれぞれ行い、該処理の結果である出力データを後段の画像処理ブロックに対する入力データとしてそれぞれ送出することによってパイプライン処理を行う複数段の画像処理ブロックを備えた画像処理装置であって、当該画像処理ブロックと、前記画像処理ブロックの次段の画像処理ブロックと、バッファメモリと、ファイフォ（ＦＩＦＯ（First In First Out））メモリとを有し、前記画像処理ブロックの処理結果である出力データは所定データ量の単位毎に順次前記バッファメモリを介して前記次段の画像処理ブロックに渡し、前記バッファメモリ内の前記出力データの格納位置を示すポインタは順次前記ＦＩＦＯメモリを介して次段の画像処理ブロックに渡す構成となっている。
【０００３】
第２の従来例は、ストールが発生した場合にも簡易にパイプライン制御できると共に省電力を実現できるマイクロコンピュータを提供することを課題としたもので、発行された各命令のパイプラインステージをパイプライン制御により並列処理する中央処理ユニットと、前記中央処理ユニットを動作させる第１のクロックを制御するクロック制御回路とを含み、前記クロック制御回路が、並列処理されるパイプラインステージの中の少なくとも１つが所与の要因によりストールした場合に、前記第１のクロックを停止する制御を行う構成となっている。前記中央処理ユニットであるＣＰＵ（Central Processing Unit）はパイプラインにより命令を並列処理しクロック制御回路はＣＰＵの大部分を動作させるＣＬＫ１を制御する。パイプラインのストール時にＣＬＫ１を停止することで、パイプライン制御の適正化、省電力化を図る。
【特許文献１】特開２００１−１５７０４９号公報
【特許文献２】特開平１０−３１２２２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記第１の従来例は、画像処理に特化した装置となっており、画像処理以外の用途には用いることができない。
また、上記第１の従来例及び第２の従来例は共に、並列処理する処理数が増える毎に、処理の種類に応じて処理ブロックを増加させなくてはならない構成となっている。従って、処理数の増加に伴う処理ブロック増加によりコストアップや回路構造の肥大化等の問題が発生する恐れがある。
【０００５】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、様々な用途に応じた処理対象を並列処理するのに好適であり、且つ、少数の演算処理装置によって並列処理を行うのに好適な情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
〔発明１〕
上記目的を達成するために、発明１の情報処理装置は、複数の演算処理装置によって処理対象を並列処理する情報処理装置であって、
前記演算処理装置毎にそれぞれ専用のデータ伝送線路を備え、
前記複数の演算処理装置を複数段にグループ分けし、その各段間を前記データ伝送線路を介して接続し、
前記処理対象のデータである処理対象データを取得する処理対象データ取得手段と、
前記処理対象に基づき、前記処理対象データの処理内容に応じた所定の演算処理を前記複数の演算処理装置に並列処理させるための複数種類の専用プログラムの中から、前記処理対象用の前記専用プログラムを選択して各演算処理装置にそれぞれ設定する専用プログラム設定手段と、を備え、
前記演算処理装置は、前記設定された専用プログラムによる演算処理を行い、且つ、この演算処理結果データを、当該演算処理結果データを用いて演算処理を行う次段の演算処理装置に前記データ伝送線路を介して伝送するようになっていることを特徴としている。
【０００７】
このような構成であれば、複数の演算処理装置を複数段にグループ分けし、その各段間を前記データ伝送線路を介して接続する構成としたので、各段間において専用のデータ伝送線路によるデータ伝送が可能となり、更に、処理対象データ取得手段によって、共通の処理対象のデータである処理対象データを取得することが可能であり、複数の演算処理装置に、前記処理対象データの処理内容に応じた所定の演算処理を並列処理させるための複数種類の専用プログラムを備えており、専用プログラム設定手段によって、前記処理対象に基づき、当該処理対象用の前記専用プログラムを、前記複数種類の専用プログラムの中から選択して各演算処理装置にそれぞれ設定することが可能である。
【０００８】
従って、各演算処理装置は、専用のデータ伝送線路によってデータの伝送を行うことが可能なので、データ伝送路におけるデータのコリジョンが生じないため、各演算処理装置はデータ伝送において処理を中断せずにし続けることが可能である。更に、処理対象に応じて専用プログラムを選択し、これを各演算処理装置に設定するようにしたので、様々な種類の処理対象にフレキシブルに対応することが可能である。更に、それぞれの演算処理装置が、処理対象毎に専用プログラムによって演算処理を行うようにしたので、各演算処理装置における演算処理内容を特化することで高速な演算処理が可能となる。更に、連続して行われる同じ種類の処理対象に対しては、複数段構成による並列処理（パイプライン処理）を行うことで高速な処理が可能である。
【０００９】
ここで、複数の演算処理装置は、構成が同じもので専用プログラムを解することが出来れば、同じ種類のものでなくても良く、例えば、演算処理速度の異なるものが混在するなど異なる種類の演算処理装置の組み合わせで構成されていても良い。
また、専用のデータ伝送線路とは、各演算処理装置が前段のグループに含まれる他の演算処理装置の演算結果のデータを取得するための専用のデータ取得用線路であり、各演算処理装置が所定のタイミングで独自にデータを取得することが可能なものである。
〔発明２〕
さらに、発明２の情報処理装置は、発明１の情報処理装置において、前記複数段にグループ分けされた各段を、二以上の前記演算処理装置によって構成したことを特徴としている。
【００１０】
つまり、複数段にグループ分けされた各段の演算処理装置を二以上で構成するようにしたので、各段において並列処理を行うことが可能である。更に、同じ処理対象に対して行う複数種類の処理を並列に行うことが可能である。例えば、音声と画像といったように、異なる種類の処理を各段に複数ある演算処理装置及び段間において並列に処理することが可能である。
〔発明３〕
さらに、発明３の情報処理装置は、発明１または発明２の情報処理装置において、前記処理対象データに基づき、前記各段の演算処理装置に前記所定の演算処理を並列処理させるための処理用データを、前記演算処理を開始する演算処理装置に供給する処理用データ供給手段を備えることを特徴としている。
【００１１】
つまり、処理用データ供給手段によって、処理対象データに基づき、前記各段の演算処理装置に前記所定の演算処理を並列処理させるための処理用データを、前記演算処理を開始する演算処理装置に供給することが可能である。
従って、例えば、処理対象が音声と画像とを含むデータであったような場合に、音声のビットストリームと画像のビットストリームとを分けて、それぞれ対応する演算処理装置に供給することで、それぞれ異なる種類のデータを並列処理することが可能となる。
〔発明４〕
さらに、発明４の情報処理装置は、発明１ないし３のいずれかの情報処理装置において、前記複数段のグループ同士を、前記データ伝送線路を介してリング状に接続したことを特徴としている。
【００１２】
つまり、前記複数段のグループ同士を、前記データ伝送線路を介してリング状に接続したので、データのループ伝送が可能となる。
従って、最終段の演算処理結果をそのまま利用して、初段の演算処理装置から継続して処理を行うことが可能である。つまり、学習演算などの同様の演算処理を繰り返し行うような場合に少ない段数でこれを行うことが可能となる。これにより、演算処理装置の数を減らすことが可能となり、これによる、回路の省スペース化やコストダウン等が可能となる。
【００１３】
ここで、リング状とは、複数の演算処理装置が複数段に分けられた各グループをデータ伝送線路によって一つながりに接続したときに、その最上段に含まれる演算処理装置のデータ入力部と最下段に含まれる演算処理装置のデータ出力部とを前記データ伝送線路を介して接続した状態である。
〔発明５〕
さらに、発明５の情報処理装置は、発明４の情報処理装置において、前記演算処理装置に設定された前記専用プログラムを所定のタイミングで別の種類のものに変更するプログラム変更手段を備えることを特徴としている。
【００１４】
つまり、プログラム変更手段によって、前記各演算処理装置に設定された前記専用プログラムを所定のタイミングで別の種類のものに変更することが可能である。
従って、データのループ伝送ができ、且つ、所定のタイミングで各演算処理装置のプログラムを変更できるので、例えば、最終段の演算処理装置において、専用プログラムによる演算処理が行われたタイミングで、各演算処理装置のプログラムを変更することにより、最終段の演算処理結果をそのまま利用して、初段の演算処理装置から別の演算処理を継続して行うようにすることが可能である。これにより、構成された段数以上の工程数の演算処理をその工程数より少ない段数で行うことができるので、演算処理装置の数を減らすことが可能となり、回路の省スペース化やコストダウン等が可能となる。
〔発明６〕
さらに、発明６の情報処理装置は、発明５の情報処理装置において、前記所定のタイミングは、前記複数段における、演算処理の開始段から最終段までの各演算処理装置によって一連の演算処理が所定回数行われたタイミングであり、
前記タイミングにおいて、前記プログラム変更手段によって、各段の演算処理装置の専用プログラムを、前記一連の演算処理を継続する別の種類のプログラムに変更することを特徴としている。
【００１５】
つまり、前記所定のタイミングを、前記複数段における、演算処理の開始段から最終段までの各演算処理装置によって一連の演算処理が所定回数行われたタイミングとし、このタイミングにおいて、前記プログラム変更手段によって、各段の演算処理装置の専用プログラムを、前記一連の演算処理を継続する別の種類のプログラムに変更するようにした。
従って、構成された段数以上の工程数の演算処理をその工程数より少ない段数で行うことができるので、演算処理装置の数を減らすことが可能となり、これによる、回路の省スペース化やコストダウン等が可能となる。
〔発明７〕
さらに、発明４の情報処理装置は、発明１ないし６のいずれかの情報処理装置において、前記専用プログラム設定手段によって選択された前記専用プログラムと、前記演算処理装置の構成段数と、各段の演算処理装置数と、に基づき、前記複数の演算処理装置の中から、前記処理対象に対する前記所定の演算処理を行う演算処理装置を設定する演算処理装置設定手段を備えることを特徴としている。
【００１６】
つまり、演算処理装置設定手段によって、前記専用プログラム設定手段によって選択された前記専用プログラムと、前記演算処理装置の構成段数と、各段の演算処理数と、に基づき、前記複数の演算処理装置の中から、前記処理対象に対する前記所定の演算処理を行う演算処理装置設定することが可能である。
従って、新しい処理対象を追加したときなどに、選択された専用プログラムや、その処理工程数等から処理を行うのに必要な演算処理装置を自動的に設定することが可能となる。従って、構成等を考慮しなくて良いので、新しい専用プログラムの追加等のバージョンアップが簡易となる。ここで、演算処理装置設定手段は、演算処理装置の複数段において上記したようにデータのループ伝送が可能な構成のときに、演算処理装置の段数が処理対象の処理工程数に対して少ない場合などにおいても、一つの演算処理装置に複数の処理工程を設定することを考慮して、処理を行う演算処理装置を設定するようになっている。
〔発明８〕
さらに、発明８の情報処理装置制御プログラムは、発明１の情報処理装置を制御するためのコンピュータが実行可能なプログラムであって、
前記共通の処理対象のデータである処理対象データを取得する処理対象データ取得ステップと、
前記処理対象に基づき、当該処理対象用の前記専用プログラムを、前記複数種類の専用プログラムの中から選択して各演算処理装置にそれぞれ設定する専用プログラム設定ステップと、を備えることを特徴としている。
【００１７】
ここで、本発明は、発明１の情報処理装置を制御するためのプログラムであり、その効果は重複するので記載を省略する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて説明する。図１乃至図１２は、本発明に係る情報処理装置の実施の形態を示す図である。
まず、本発明に係る情報処理装置の構成を図１に基づいて説明する。図１は、本発明に係る情報処理装置の一構成例を示すブロック図である。
情報処理装置１は、第１の情報処理部１０と、第２の情報処理部１１と、第３の情報処理部１２と、Ｉ／Ｏ制御プロセッサ（以下、ＩＯＰと称す）１３と、グローバルバス（以下、Ｇバスと称す）１４と、データ記憶部１５と、を含んだ構成となっている。
【００１９】
第１の情報処理部１０は、ＢＰＣ（Basic Processing Cell）１００と、ＢＰＣ１０１と、ローカルバス（以下、Ｌバスと称す）１０２と、Ｌバス１０３と、バスブリッジ１０４と、バスブリッジ１０５と、を含んだ構成となっている。
ＢＰＣ１００及びＢＰＣ１０１は、それぞれ自己の有するメモリに設定された専用プログラムの種類に応じた演算処理を行う演算処理装置である。なお詳細は後述する。
【００２０】
Ｌバス１０２は、ＢＰＣ１００専用のものであり、前段のＢＰＣ（ここでは、第３の情報処理部１２のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１００に伝送するものである。
Ｌバス１０３は、ＢＰＣ１０１専用のものであり、前段のＢＰＣ（ここでは、第３の情報処理部１２のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１０１に伝送するものである。
【００２１】
バスブリッジ１０４は、Ｌバス１０２とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
バスブリッジ１０５は、Ｌバス１０３とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
第２の情報処理部１１は、ＢＰＣ（Basic Processing Cell）１１０と、ＢＰＣ１１１と、Ｌバス１１２と、Ｌバス１１３と、バスブリッジ１１４と、バスブリッジ１１５と、を含んだ構成となっている。
【００２２】
ＢＰＣ１１０及びＢＰＣ１１１は、それぞれ自己の有するメモリに設定された専用プログラムの種類に応じた演算処理を行う演算処理装置である。なお詳細は後述する。
Ｌバス１１２は、ＢＰＣ１１０専用のものであり、前段のＢＰＣ（ここでは、第１の情報処理部１０のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１１０に伝送するものである。
【００２３】
Ｌバス１１３は、ＢＰＣ１１１専用のものであり、前段のＢＰＣ（ここでは、第１の情報処理部１０のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１１１に伝送するものである。
バスブリッジ１１４は、Ｌバス１１２とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
【００２４】
バスブリッジ１１５は、Ｌバス１１３とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
第３の情報処理部１２は、ＢＰＣ（Basic Processing Cell）１２０と、ＢＰＣ１２１と、Ｌバス１２２と、Ｌバス１２３と、バスブリッジ１２４と、バスブリッジ１２５と、を含んだ構成となっている。
【００２５】
ＢＰＣ１２０及びＢＰＣ１２１は、それぞれ自己の有するメモリに設定された専用プログラムの種類に応じた演算処理を行う演算処理装置である。なお詳細は後述する。
Ｌバス１２２は、ＢＰＣ１２０専用のものであり、前段のＢＰＣ（ここでは、第２の情報処理部１１のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１２０に伝送するものである。
【００２６】
Ｌバス１２３は、ＢＰＣ１２１専用のものであり、前段のＢＰＣ（ここでは、第２の情報処理部１１のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１２１に伝送するものである。
バスブリッジ１２４は、Ｌバス１２２とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
【００２７】
バスブリッジ１２５は、Ｌバス１２３とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
つまり、第１の情報処理部１０におけるＢＰＣ１００とＢＰＣ１０１とは、第２の情報処理部１１におけるＬバス１１２及びＬバス１１３とそれぞれ接続されており、第２の情報処理部１１におけるＢＰＣ１１０とＢＰＣ１１１とは、第３の情報処理部１２におけるＬバス１２２及びＬバス１２３とそれぞれ接続されており、第３の情報処理部１２におけるＢＰＣ１２０とＢＰＣ１２１とは、第１の情報処理部１０におけるＬバス１０２及びＬバス１０３とそれぞれ接続されている。これにより、第３の情報処理部１２の演算処理結果データを第１の情報処理部１０に伝送することが可能である。つまり、データのループ伝送が可能となる。
【００２８】
ＩＯＰ１３は、外部からのコマンドで動作し、データ記憶部１５からの各種データを、Ｇバス１４を介して第１〜第３の情報処理部１０〜１２に供給したり、第１〜第３の情報処理部１０〜１２から出力されるデータをＧバス１４を介して取得し、データ記憶部１５に記憶したりと、データ記憶部１５と各情報処理部との間のデータのやり取りを制御する。更に、処理対象のデータを解析して、例えば、処理対象が複数種類のデータを複合した複合データであれば、それぞれデータを種類毎に分けて各情報処理部におけるＢＰＣに伝送する。複合データとしては、例えば、音声と画像の複合データ等がある。更に、処理対象、情報処理部の数及び各情報処理部におけるＢＰＣの数に応じて、処理に必要なＢＰＣの数及び処理の流れを判断し、処理対象に対する処理構成の設定を行う。更に、設定した処理構成に応じて必要な専用プログラムをデータ記憶部１５から読み出し、各情報処理部のＢＰＣに伝送する。
【００２９】
Ｇバス１４は、ＩＯＰ１３と第１〜第３の情報処理部１０〜１２との間のデータ伝送を行うためのデータ伝送線路である。
データ記憶部１５は、共通の処理対象に対して、上記した第１〜第３の情報処理部１０〜１２における各ＢＰＣに、前記共通の処理対象に対して所定の演算処理を並列処理させるための複数種類の専用プログラムを記憶したり、処理対象のデータを記憶したりするものである。
【００３０】
更に、図２に基づき、ＢＰＣの詳細な構成を説明する。図２は、ＢＰＣの詳細構成を示すブロック図である。なお、本実施の形態においては、上記第１〜第３の情報処理部１０〜１２における各ＢＰＣは、いずれも同じ構成をしているものとする。従って、代表してＢＰＣ１００の詳細構成を説明する。
図２に示すように、ＢＰＣ１００は、エレメントプロセッサ（以下、ＥＰと称す）１００ａと、ローカルメモリ１００ｂと、を含んだ構成となっている。
【００３１】
ＥＰ１００ａは、ローカルメモリ１００ｂに設定された専用プログラムの種類に応じて、処理対象のデータに対して前記専用プログラムの演算処理を行う演算処理装置である。
ローカルメモリ１００ｂは、ＥＰ１００ａの演算処理内容を決定する専用プログラム等の記憶されるＥＰ１００ａのみがアクセス可能な専用部と、演算処理結果のデータ等を記憶する次段の情報処理部の各ＢＰＣに対応したＬバスがアクセス可能な共有部と、を含んだ構成となっている。ここで、前段のＢＰＣから伝送されてくるデータは、ＥＰ１００ａを介してローカルメモリ１００ｂの専用部又は共有部に記憶され、ＩＯＰ１３から伝送されてくるデータは、後段のＬバスを介してローカルメモリ１００ｂの共有部に記憶される。
【００３２】
ここで、図１に示す情報処理装置１は、上記したように、各情報処理部が２つのＢＰＣにより並列に構成され、更に、３つの情報処理部がＬバスを介して直列に、且つ、データのループ伝送が可能に接続された構成となっているが、これに限らず、情報処理部の構成数及び各情報処理部のＢＰＣの数をそれぞれ任意の数で構成しても良い。
更に、図３に基づき、情報処理装置の構成について説明する。図３は、情報処理装置の構成イメージの一例を示す図である。
【００３３】
図３の情報処理装置２に示すように、各情報処理部を構成するＢＰＣの数を増やすことにより、同時並列処理数（並列度）が上がり、情報処理部の数を増やすことにより、より多くのアルゴリズムに同時対応することが可能となる。
更に、情報処理装置をシリンダ形状構成（データのループ伝送が可能な構成）としているので、情報処理部の構成数が処理対象のアルゴリズム数よりも少ないようなときには、例えば、シリンダを回転させるイメージで、各ＢＰＣに１回転目はアルゴリズムＡを、２回転目はアルゴリズムＢといったように、情報処理装置を構成する全ての情報処理部において演算処理が完了（これを１回転と表現する）する毎に、各ＢＰＣの専用プログラムを他のものに変更して２回転目の処理を行うことで、共通の処理対象に対する情報処理部の構成数以上あるアルゴリズムを継続して行う。
【００３４】
つまり、処理を開始した情報処理部から共通のデータに対する複数の演算処理が順々に行われ、再び処理を開始した情報処理部に戻ってくるタイミング（１回転目終了）で、各ＢＰＣの専用プログラムを前段の情報処理部における演算処理の続きとなるアルゴリズムのものへと変更し処理を継続する（２回転目へ）。これを、アルゴリズム数に応じて必要な回転数行うことで、足りない分を補う。従って、情報処理部の数以上のアルゴリズム数を有する処理対象に対応することが可能である。
【００３５】
更に、図４乃至図９に基づき、情報処理装置のより具体的な動作として、図１の情報処理装置１に第４の情報処理部１６を追加した構成である情報処理装置３によって、ＭＰＥＧ（Moving Picture Experts Group）２規格のビットストリームの複合化処理を行う例を説明する。図４は、ＢＰＣに専用プログラムを設定する一例を示す図であり、図５は、処理対象のデータをＢＰＣに伝送するときのデータの流れ及び第１の情報処理部１０における処理の一例を示す図であり、図６は、第１の情報処理部１０から第２の情報処理部１１に対するデータの流れの一例及び第２の情報処理部１１における処理の一例を示す図であり、図７は、第２の情報処理部１１から第３の情報処理部１２に対するデータの流れの一例及び第３の情報処理部１２における処理の一例を示す図であり、図８は、第３の情報処理部１２から第４の情報処理部１３に対するデータの流れの一例及び第４の情報処理部１３における処理の一例を示す図であり、図９は、複合化されたデータをＩＯＰ１３を介してデータ記憶部１５に記憶する処理の一例を示す図である。
【００３６】
まず、図４に基づき、情報処理装置３の構成を説明する。
図４に示すように、情報処理装置３は、第１〜第３の情報処理装置１０〜１２と、第４の情報処理装置１６と、ＩＯＰ１３と、Ｇバス１４と、データ記憶部１５と、を含んだ構成となっている。
ここで、情報処理装置３は、上記した情報処理装置１に第４の情報処理装置１６を追加した構成となっている。なお、上記情報処理装置１との重複部分の説明は省略する。
【００３７】
第４の情報処理装置１６は、ＢＰＣ（Basic Processing Cell）１３０と、ＢＰＣ１３１と、Ｌバス１３２と、Ｌバス１３３と、バスブリッジ１３４と、バスブリッジ１３５と、を含んだ構成となっている。
ＢＰＣ１３０及びＢＰＣ１３１は、それぞれ自己の有するメモリに設定された専用プログラムの種類に応じた演算処理を行う演算処理装置である。なお詳細は後述する。
【００３８】
Ｌバス１３２は、ＢＰＣ１３０専用のものであり、前段のＢＰＣ（ここでは、第２の情報処理部１１のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１３０に伝送するものである。
Ｌバス１３３は、ＢＰＣ１３１専用のものであり、前段のＢＰＣ（ここでは、第３の情報処理部１２のＢＰＣ）からの出力又はＧバス１４を介して入力されるデータをＢＰＣ１３１に伝送するものである。
【００３９】
バスブリッジ１３４は、Ｌバス１３２とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
バスブリッジ１３５は、Ｌバス１３３とＧバス１４との橋渡し的な役割を果たすもので、バス変換により相互にバスサイクルをやり取りする。
また、第４の情報処理部１６の追加により、第１の情報処理部１０には、当該第４の情報処理部１６におけるＢＰＣからの出力がＬバス１０２又はＬバス１０３を介して各ＢＰＣに伝送されることになる。つまり、第４の情報処理部１６におけるＢＰＣ１３０とＢＰＣ１３１とは、第１の情報処理部１０におけるＬバス１０２及びＬバス１０３とそれぞれ接続されており、これにより、第４の情報処理部１６の演算処理結果データを第１の情報処理部１０に伝送することが可能である。つまり、データのループ伝送が可能となる。
【００４０】
次に、図４に基づき、専用プログラムの設定処理の流れを説明する。まず、ＩＯＰ１３は、外部からのコマンドを取得すると、これを解析し、データ記憶部１５の指定アドレスに記憶されたＭＰＥＧ２規格のビットストリームの複合化処理を行うことを確認する。そして、データ記憶部１５に用意された複数種類の専用プログラムの中から、ＭＰＥＧ２規格のビットストリームの複合化に必要な専用プログラムを選択する。更に、選択されたプログラムに基づき、当該専用プログラムによる演算処理を行うのに必要な構成を設定する。この設定内容は、専用プログラムの数及び処理対象のデータの種類数によって変わってくる。ここで、ＭＰＥＧ２規格のビットストリームの場合は、処理対象のデータの種類が画像のビットストリーム及び音声のビットストリームの２種類であり、各処理工程は４工程となる。但し、４工程目に関しては複合化後のデータへの処理であり、画像及び音声のビットストリームに対して共通の専用プログラム（アルゴリズム）により処理可能である。
【００４１】
また、画像のビットストリームに対しては、画像ＶＬＣ（Variable Length Code）処理、ＩＤＣＴ（Inverse Discrete Cosine Transorm：逆離散コサイン変換）処理、動き補償処理及び出力整形処理の４つがあり、音声のビットストリームに対しては、音声ＶＬＣ処理、ＩＭＤＣＴ（Inverse Modified Discrete Cosine Transform）処理、フィルタ処理及び出力整形処理の４つがある。
【００４２】
従って、設定内容としては、第１〜第３の情報処理部１０〜１２及び第４の情報処理部１６の４つの情報処理部を使用し、且つ、第１〜第３の情報処理部１０〜１２においては、全てのＢＰＣを使用し、第４の情報処理部１６においては、ＢＰＣ１３１のみを使用する設定となる。
そして、第１〜第３の情報処理部１０〜１２におけるＢＰＣ１００、ＢＰＣ１１０及びＢＰＣ１２０には音声のビットストリームの複合化処理を行うように設定し、第１〜第３の情報処理部１０〜１２におけるＢＰＣ１０１、ＢＰＣ１１１及びＢＰＣ１２１には画像のビットストリームの複合化処理を行うように設定し、第４の情報処理部１６におけるＢＰＣ１３１に出力整形処理を行うように設定する。更に、この設定内容に基づき、各専用プログラムをデータ記憶部１５から読み出し、これをＧバス１４及び各ＢＰＣに対応したＬバスを介して該当するＢＰＣに伝送する。ここで、本実施の形態においては、第１の情報処理部１０から複合化処理を開始するように予め設定されており、且つ、その処理の流れの方向も第１〜第４に向けた方向と設定されている。
【００４３】
専用プログラムのデータの流れは、図４に示すように、第３の情報処理部１２におけるＢＰＣ１２０に対しては、まず、ＩＯＰ１３がデータ記憶部１５から音声のビットストリームのフィルタ処理用の専用プログラムを読み出し、これをＧバス１４に渡す。この専用プログラムは、Ｇバス１４を介してバスブリッジ１３４に到達し、更に、バスブリッジ１３４によりＬバス１３２を介してＢＰＣ１２０に到達する。正確には、Ｌバス１３２を介してＢＰＣ１２０のローカルメモリの共有部に書込まれる。他のＢＰＣに対しては、音声ＶＬＣ処理用の専用プログラムは、Ｌバス１１２を介してＢＰＣ１００に伝送され、ＩＭＤＣＴ処理用の専用プログラムは、Ｌバス１２２を介してＢＰＣ１２０に伝送され、ビデオＶＬＣ処理用の専用プログラムは、Ｌバス１１２を介してＢＰＣ１０１に伝送され、ＩＤＣＴ処理用の専用プログラムは、Ｌバス１２２を介してＢＰＣ１１１に伝送され、動き補償処理用の専用プログラムは、Ｌバス１３２を介してＢＰＣ１２１に伝送され、出力整形処理用の専用プログラムは、Ｌバス１０２を介してＢＰＣ１３１に伝送される。
【００４４】
なお、今回のＭＰＥＧ２規格のビットストリームの複合化処理において使用されないＢＰＣ１３０には、Ｌバスの使用権を放棄させる。
更に、図５に基づき、処理用データの伝送処理及び情報処理部１０の各ＢＰＣにおける処理について説明する。
処理用データの伝送は、まずＩＯＰ１３において、データ記憶部１５から処理対象のＭＰＥＧ２規格のビットストリームを読み出し内部メモリに記憶する。そして、内部メモリに記憶されたＭＰＥＧ２規格のビットストリームを解析し、これを音声のビットストリームと画像のビットストリームとに分離する。この分離された各ビットストリームを、それぞれ対応する情報処理部の各ＢＰＣに伝送する。上記したように、第１の情報処理部１０から処理が開始されるので、音声のビットストリームはＧバス１４、バスブリッジ１０４及びＬバス１０２を介してＢＰＣ１００に伝送され、画像のビットストリームは、Ｇバス１４、バスブリッジ１０５及びＬバス１０３を介してＢＰＣ１０１に伝送される。
【００４５】
ＢＰＣ１００は、音声のビットストリームを取得すると、上記取得した音声ＶＬＣ処理用の専用プログラムによって当該ビットストリームに対してＶＬＣ処理を行い、その処理結果をローカルメモリの共有部に書込む。
一方、ＢＰＣ１０１は、画像のビットストリームを取得すると、上記取得した画像ＶＬＣ処理用の専用プログラムによって当該ビットストリームに対してＶＬＣ処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００４６】
更に、図６に基づき、処理結果データの伝送処理及び情報処理部１１の各ＢＰＣにおける処理について説明する。
第１の情報処理部１０における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、図６に示すように、ＢＰＣ１００の処理結果は、Ｌバス１１２を介して第２の情報処理部１１のＢＰＣ１１０に伝送され、ＢＰＣ１０１の処理結果は、Ｌバス１１３を介して第２の情報処理部１１のＢＰＣ１１１に伝送される。
【００４７】
ＢＰＣ１１０は、処理結果データを取得すると、上記取得したＩＭＤＣＴ処理用の専用プログラムによって当該データに対してＩＭＤＣＴ処理を行い、その処理結果をローカルメモリの共有部に書込む。
一方、ＢＰＣ１１１は、処理結果データを取得すると、上記取得したＤＣＴ処理用の専用プログラムによって当該データに対してＤＣＴ処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００４８】
ここで、本実施の形態においては、第２の情報処理部１１において上記処理が行われている間も、第１の情報処理部１０には、ＩＯＰ１３から新たなＭＰＥＧ２規格のビットストリームが伝送され、上記した音声ＶＬＣ処理及び画像ＶＬＣ処理が行われる。つまり、本実施の形態においては、連続して送られてくる同じ処理対象（規格）のデータに対しては、他の情報処理部と並列して処理が行われる。
【００４９】
更に、図７に基づき、処理結果データの伝送処理及び情報処理部１２の各ＢＰＣにおける処理について説明する。
第２の情報処理部１１における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、図７に示すように、ＢＰＣ１１０の処理結果は、Ｌバス１２２を介して第３の情報処理部１２のＢＰＣ１２０に伝送され、ＢＰＣ１１１の処理結果は、Ｌバス１２３を介して第３の情報処理部１２のＢＰＣ１２１に伝送される。
【００５０】
ＢＰＣ１２０は、処理結果データを取得すると、上記取得したフィルタ処理用の専用プログラムによって当該データに対してフィルタ処理を行い、その処理結果をローカルメモリの共有部に書込む。
一方、ＢＰＣ１２１は、処理結果データを取得すると、上記取得した動き補償処理用の専用プログラムによって当該データに対して動き補償処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００５１】
ここで、第３の情報処理部１２において上記処理が行われている間に、第２の情報処理部１１においても、第１の情報処理部１０と同様に第１の情報処理部１０における次の処理結果データに対して上記した処理が行われる。
更に、図８に基づき、処理結果データの伝送処理及び情報処理部１２のＢＰＣ１３１における出力整形処理について説明する。
【００５２】
第３の情報処理部１２における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、図８に示すように、ＢＰＣ１２０及びＢＰＣ１２１の処理結果は、Ｌバス１３３を介して第４の情報処理部１６のＢＰＣ１３１に伝送される。
ＢＰＣ１３１は、音声及び画像のビットストリームに対する処理結果データをそれぞれ取得すると、上記取得した出力整形処理用の専用プログラムによってこれらデータに対してそれぞれ外部のＩ／Ｏに依存した出力データに整形する処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００５３】
ここで、第４の情報処理部１６において上記処理が行われている間に、第３の情報処理部１２においても、第１の情報処理部１０及び第２の情報処理部１１と同様に第２の情報処理部１１における次の処理結果データに対して上記した処理が行われる。
更に、図９に基づき、最終処理結果データの伝送処理について説明する。
第４の情報処理部１６におけるＢＰＣ１３１のローカルメモリの共有部に処理結果が書込まれると、図９に示すように、ＢＰＣ１３１の処理結果データは、複合化された最終データとして、Ｌバス１０２、バスブリッジ１０４及びＧバス１４を介してＩＯＰ１３に伝送される。そして、これらのデータは、ＩＯＰ１３によりデータ記憶部１５に記憶される。
【００５４】
更に、図１０に基づき、ＩＯＰ１３の動作処理の流れを説明する。図１０は、ＩＯＰ１３の動作処理を示すフローチャートである。
図１０に示すように、まずステップＳ１００に移行し、ＩＯＰ１３において、外部からのコマンドを取得したか否かを判定し、取得したと判定された場合(Yes)はステップＳ１０２に移行し、そうでない場合(No)は取得するまで待機する。
【００５５】
ステップＳ１０２に移行した場合は、ＩＯＰ１３は、上記コマンドを解析してステップＳ１０４に移行する。
ステップＳ１０４では、ＩＯＰ１３において、解析結果に基づき、該当する専用プログラムを選択してステップＳ１０６に移行する。
ステップＳ１０６では、ＩＯＰ１３において、選択された専用プログラムと当該情報処理装置の情報処理部の構成とに基づき、処理を行うための構成を設定してステップＳ１０８に移行する。
【００５６】
ステップＳ１０８では、ＩＯＰ１３において、上記設定された構成内容に基づき、データ記憶部１５から前記選択された専用プログラムを読み出してステップＳ１１０に移行する。
ステップＳ１１０では、ＩＯＰ１３において、上記読み出した専用プログラムを、Ｇバス１４、バスブリッジ及びＬバスを介して該当するＢＰＣに伝送してステップＳ１１２に移行する。
【００５７】
ステップＳ１１２では、ＩＯＰ１３において、専用プログラムの伝送処理が終了したか否かを判定し、終了したと判定された場合(Yes)はステップＳ１１４に移行し、そうでない場合(No)はステップＳ１０８に移行する。
ステップＳ１１４に移行した場合は、ＩＯＰ１３において、データ記憶部１５から処理対処データを読み出しステップＳ１１６に移行する。
【００５８】
ステップＳ１１６では、ＩＯＰ１３において、上記読み出した処理用データを解析し、且つ、処理用データを抽出し、これを予め設定された処理を開始する情報処理部の各ＢＰＣに伝送してステップＳ１１８に移行する。
ステップＳ１１８では、ＩＯＰ１３において、最終処理結果のデータを取得したか否かを判定し、取得したと判定された場合(Yes)はステップＳ１２０に移行し、そうでない場合(No)はステップＳ１２２に移行する。
【００５９】
ステップＳ１２０に移行した場合は、ＩＯＰ１３において、取得した処理結果のデータをデータ記憶部１５に記憶してステップＳ１２２に移行する。
ステップＳ１２２では、ＩＯＰ１３において、コマンドに対する処理が終了したか否かを判定し、終了したと判定された場合(Yes)はステップＳ１００に移行し、そうでない場合(No)はステップＳ１１４に移行する。
【００６０】
更に、図１１及び図１２に基づき、第１の情報処理部１０及び第２の情報処理部１１の２つの情報処理部により構成した情報処理装置４によって、ＭＰＥＧ２規格のビットストリームの複合化処理を行う例を説明する。図１１は、第１の情報処理部１０及び第２の情報処理部１１による（２Ｎ−１）周目の処理を示す図であり、図１２は、第１の情報処理部１０及び第２の情報処理部１１による２Ｎ周目の処理を示す図である。但し、図１１及び図１２共に、Ｎは正の整数（Ｎ＝１，２，３，・・・）とする。
【００６１】
情報処理装置４は、第１の情報処理部１０と、第２の情報処理部１１と、Ｉ／Ｏ制御プロセッサ（以下、ＩＯＰと称す）１３と、グローバルバス（以下、Ｇバスと称す）１４と、データ記憶部１５と、を含んだ構成となっている。なお、上記情報処理装置１との重複部分の説明は省略する。
また、第１の情報処理部１０及び第２の情報処理部１１による構成となるので、第１の情報処理部１０には、第２の情報処理部１１におけるＢＰＣからの出力がＬバス１０２又はＬバス１０３を介して各ＢＰＣに伝送される。つまり、第２の情報処理部１１におけるＢＰＣ１１０とＢＰＣ１１１とは、第１の情報処理部１０におけるＬバス１０２及びＬバス１０３とそれぞれ接続されており、これにより、第３の情報処理部１２の演算処理結果データを第１の情報処理部１０に伝送することが可能である。つまり、データのループ伝送が可能となる。
【００６２】
更に、専用プログラムの設定処理の流れを説明する。まず、ＩＯＰ１３は、外部からのコマンドを取得すると、これを解析し、データ記憶部１５の指定アドレスに記憶されたＭＰＥＧ２規格のビットストリームの複合化処理を行うことを確認する。そして、データ記憶部１５に用意された複数種類の専用プログラムの中から、ＭＰＥＧ２規格のビットストリームの複合化に必要な専用プログラムを選択する。更に、選択された専用プログラムに基づき、当該専用プログラムによる演算処理を行うのに必要な構成を設定する。この設定内容は、専用プログラムの数及び処理対象のデータの種類数によって変わってくる。ここで、ＭＰＥＧ２規格のビットストリームの場合は、処理対象のデータの種類が画像のビットストリーム及び音声のビットストリームの２種類であり、各処理工程は４工程となる。但し、４工程目に関しては複合化後のデータへの処理であり、画像及び音声のビットストリームに対して共通の専用プログラム（アルゴリズム）により処理可能である。
【００６３】
また、上記同様に、画像のビットストリームに対しては、画像ＶＬＣ処理、ＩＤＣＴ処理、動き補償処理及び出力整形処理の４つがあり、音声のビットストリームに対しては、音声ＶＬＣ処理、ＩＭＤＣＴ処理、フィルタ処理及び出力整形処理の４つがある。
従って、設定内容としては、第１及び第２の情報処理部１０及び１１の２つの情報処理部を使用し、第１の情報処理部１０のＢＰＣにおいては、各ＢＰＣに２種類ずつ専用プログラムを割り当て、第２の情報処理部１１のＢＰＣ１１０には１種類の専用プログラムを割り当て、ＢＰＣ１１１には２種類の専用プログラムを割り当てる設定となる。そして、第１及び第２の情報処理部１０及び１１におけるＢＰＣ１００、ＢＰＣ１１０には音声のビットストリームの複合化処理を行うように設定し、第１及び第２の情報処理部１０及び１１におけるＢＰＣ１０１、ＢＰＣ１１１には画像のビットストリームの複合化処理を行うように設定する。
【００６４】
更に、この設定内容に基づき、各専用プログラムをデータ記憶部１５から読み出し、これをＧバス１４及び各ＢＰＣに対応したＬバスを介して該当するＢＰＣに伝送する。ここで、本実施の形態においては、第１の情報処理部１０から複合化処理を開始するように予め設定されており、且つ、その処理の流れの方向も第１〜第２〜第１〜・・・と設定されている。
【００６５】
そして、ＩＯＰ１３は、第１の情報処理部１０におけるＢＰＣ１００に対しては、データ記憶部１５から音声のビットストリームに対する音声ＶＬＣ処理用の専用プログラム及びフィルタ処理用の専用プログラムを読み出し、これをＧバス１４に渡す。この専用プログラムは、Ｇバス１４を介してバスブリッジ１１４に到達し、更に、バスブリッジ１１４によりＬバス１１２を介してＢＰＣ１００に到達する。正確には、Ｌバス１１２を介してＢＰＣ１００のローカルメモリ１００ｂの共有部に書込まれる。他のＢＰＣに対しては、画像ＶＬＣ処理用の専用プログラム及び動き補償用の専用プログラムは、Ｌバス１１２を介してＢＰＣ１０１に伝送され、ＩＭＤＣＴ処理用の専用プログラムは、Ｌバス１０２を介してＢＰＣ１１０に伝送され、ＩＤＣＴ処理用の専用プログラム及び出力整形処理用の専用プログラムは、Ｌバス１０２を介してＢＰＣ１１１に伝送される。
【００６６】
また、処理用データの伝送は、まずＩＯＰ１３において、データ記憶部１５から処理対象のＭＰＥＧ２規格のビットストリームを読み出し内部メモリに記憶する。そして、内部メモリに記憶されたＭＰＥＧ２規格のビットストリームを解析し、これを音声のビットストリームと画像のビットストリームとに分離する。この分離された各ビットストリームを、それぞれ対応する情報処理部の各ＢＰＣに伝送する。上記したように、第１の情報処理部１０から処理が開始されるので、音声のビットストリームはＧバス１４、バスブリッジ１０４及びＬバス１０２を介してＢＰＣ１００に伝送され、画像のビットストリームは、Ｇバス１４、バスブリッジ１０５及びＬバス１０３を介してＢＰＣ１０１に伝送される。
【００６７】
更に、図１１に基づき、（２Ｎ−１）周目における第１の情報処理部１０及び第２の情報処理部１１の各ＢＰＣにおける処理について説明する。
（２Ｎ−１）周目の処理において、ＢＰＣ１００は、ＩＯＰ１３から音声のビットストリームを取得し、上記取得した音声ＶＬＣ処理用の専用プログラムによって当該ビットストリームに対してＶＬＣ処理を行い、その処理結果をローカルメモリの共有部に書込む。そして、処理結果を共有部に書込むと、現在設定されている音声ＶＬＣ処理用の専用プログラムを、上記取得したもう一つのフィルタ処理用の専用プログラムに変更する。
【００６８】
一方、ＢＰＣ１０１は、ＩＯＰ１３から画像のビットストリームを取得し、上記取得した画像ＶＬＣ処理用の専用プログラムによって当該ビットストリームに対してＶＬＣ処理を行い、その処理結果をローカルメモリの共有部に書込む。そして、処理結果を共有部に書込むと、現在設定されている画像ＶＬＣ処理用の専用プログラムを、上記取得したもう一つの動き補償処理用の専用プログラムに変更する。
【００６９】
更に、第１の情報処理部１０における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、ＢＰＣ１００の処理結果は、Ｌバス１１２を介して第２の情報処理部１１のＢＰＣ１１０に伝送され、ＢＰＣ１０１の処理結果は、Ｌバス１１３を介して第２の情報処理部１１のＢＰＣ１１１に伝送される。
ＢＰＣ１１０は、処理結果データを取得すると、上記取得したＩＭＤＣＴ処理用の専用プログラムによって当該データに対してＩＭＤＣＴ処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００７０】
一方、ＢＰＣ１１１は、処理結果データを取得すると、上記取得したＤＣＴ処理用の専用プログラムによって当該データに対してＤＣＴ処理を行い、その処理結果をローカルメモリの共有部に書込む。そして、処理結果を共有部に書込むと、現在設定されているＤＣＴ処理用の専用プログラムを、上記取得したもう一つの出力整形処理用の専用プログラムに変更する。
【００７１】
更に、図１２に基づき、２Ｎ周目の第１の情報処理部１０及び第２の情報処理部１１の各ＢＰＣにおける処理について説明する。
第２の情報処理部１１における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、ＢＰＣ１１０の処理結果は、Ｌバス１２２を介して第１の情報処理部１０のＢＰＣ１００に伝送され、ＢＰＣ１１１の処理結果は、Ｌバス１２３を介して第１の情報処理部１０のＢＰＣ１０１に伝送される。
【００７２】
ＢＰＣ１００は、処理結果データを取得すると、上記変更したフィルタ処理用の専用プログラムによって当該データに対してフィルタ処理を行い、その処理結果をローカルメモリの共有部に書込む。そして、処理結果を共有部に書込むと、現在設定されているフィルタ処理用の専用プログラムを、もう一つの音声ＶＬＣ処理用の専用プログラムに変更する。
【００７３】
一方、ＢＰＣ１０１は、処理結果データを取得すると、上記変更した動き補償処理用の専用プログラムによって当該データに対して動き補償処理を行い、その処理結果をローカルメモリの共有部に書込む。そして、処理結果を共有部に書込むと、現在設定されている動き補償処理用の専用プログラムを、もう一つの画像ＶＬＣ処理用の専用プログラムに変更する。
【００７４】
更に、第１の情報処理部１０における各ＢＰＣのローカルメモリの共有部に処理結果が書込まれると、ＢＰＣ１００及びＢＰＣ１０１の処理結果は、Ｌバス１１３を介して第２の情報処理部１１のＢＰＣ１１１に伝送される。
ＢＰＣ１１１は、音声及び画像のビットストリームに対する処理結果データをそれぞれ取得すると、上記取得した出力整形処理用の専用プログラムによってこれらデータに対してそれぞれ外部のＩ／Ｏに依存した出力データに整形する処理を行い、その処理結果をローカルメモリの共有部に書込む。
【００７５】
更に、２Ｎ周目における第２の情報処理部１０におけるＢＰＣ１３１のローカルメモリの共有部に処理結果が書込まれると、ＢＰＣ１３１の処理結果データは、複合化された最終データとして、Ｌバス１０２、バスブリッジ１０４及びＧバス１４を介してＩＯＰ１３に伝送される。そして、これらのデータは、ＩＯＰ１３によりデータ記憶部１５に記憶される。ＢＰＣ１３１は、処理結果データの伝送後に、現在設定されている出力整形用の専用プログラムを、もう一つのＩＤＣＴ処理用の専用プログラムに変更する。
【００７６】
つまり、音声のビットストリームに対しては、（２Ｎ−１）周目として、第１の情報処理部１０及び第２の情報処理部１１のＢＰＣ１００及びＢＰＣ１１０によって音声ＶＬＣ処理及びＩＭＤＣＴ処理を行い、２Ｎ周目として、（２Ｎ−１）周目のＢＰＣ１１０の処理結果を用いて、第１の情報処理部１０のＢＰＣ１００によって、フィルタ処理を行う。
一方、画像のビットストリームに対しては、（２Ｎ−１）周目として、第１の情報処理部１０及び第２の情報処理部１１のＢＰＣ１０１及びＢＰＣ１１１によって画像ＶＬＣ処理及びＩＤＣＴ処理を行い、２Ｎ周目として、（２Ｎ−１）周目のＢＰＣ１１１の処理結果を用いて、第１の情報処理部１０及び第２の情報処理部１１のＢＰＣ１０１及びＢＰＣ１１１によって、動き補償処理及び出力整形処理を行う。
【００７７】
以上、上記実施の形態によれば、処理対象に応じて、複数種類ある専用プログラムの中から、該当する専用プログラムを選択してこれを各ＢＰＣに設定して処理を行わせることが可能である。
また、各ＢＰＣが専用のＬバスを有する構成としたので、共有バスで発生するコリジョンが発生しない。
【００７８】
また、各情報処理部を２つのＢＰＣにより構成したので、２種類のデータに対する処理を並列して行うことが可能である。
また、複数の情報処理装置をＬバスにより接続する構成としたので、複数の処理内容を分散して行うことが可能である。
また、両端の情報処理部をＬバスにより接続する構成とし、且つ、各ＢＰＣに設定する専用プログラムを変更可能としたので、Ｌバスを介して接続された情報処理部において処理結果データをループさせることが可能であり、且つ、処理の流れに応じて（２Ｎ−１）周目と２Ｎ周目とでＢＰＣに設定する専用プログラムを変更することが可能である。
【００７９】
ここで、図１ないし図９、図１１及び図１２に示す、ＢＰＣは、発明１ないし発明８のいずれかの演算処理装置に対応し、Ｌバスは、発明１又は４のデータ伝送線路に対応し、データ記憶部１５及びＩＯＰ１３による処理対象データの取得処理は、発明１の処理対象データ取得手段に対応し、データ記憶部１５及びＩＯＰ１３及びＢＰＣによる専用プログラムの選択及びＢＰＣへの設定処理は、発明１又は７の専用プログラム設定手段に対応し、ＩＯＰ１３による処理用データのＢＰＣへの伝送処理は、発明３の処理用データ供給手段に対応し、ＩＯＰ１３における、専用プログラムによる演算処理を行うのに必要な構成を設定する処理は、発明７の演算処理装置設定手段に対応し、図１１及び図１２に示す、各ＢＰＣにおける専用プログラムの変更処理は、発明５又は６のプログラム変更手段に対応する。
【００８０】
なお、上記実施の形態においては、前段の情報処理部の各ＢＰＣに専用プログラムを伝送するときに、後段のＢＰＣ用のＬバスを介して伝送するようにしているが、これに限らず、各ＢＰＣに専用プログラムを伝送するときには、各ＢＰＣ用のＬバスを介して伝送するようにしても良い。
また、上記実施の形態において、専用プログラムの変更処理は、各ＢＰＣにより判断して行っているが、これに限らず、ＩＯＰ１３の制御によって行うようにしても良い。
【００８１】
また、上記実施の形態においては、ＭＰＥＧ２規格のビットストリームを複合化する処理を例として説明しているが、これに限らず、ＭＰＥＧ１、ＭＰＥＧ４等のＭＰＥＧの他の規格に対する処理、ピクチャの中に他のピクチャを表示するピクチャｉｎピクチャ処理、ルーティング処理等の他の処理に対して適用しても良い。
【図面の簡単な説明】
【００８２】
【図１】本発明に係る情報処理装置の一構成例を示すブロック図である。
【図２】ＢＰＣの詳細構成を示すブロック図である。
【図３】情報処理装置の構成イメージの一例を示す図である。
【図４】ＢＰＣに専用プログラムを設定する一例を示す図である。
【図５】処理対象のデータをＢＰＣに伝送するときのデータの流れ及び第１の情報処理部１０における処理の一例を示す図である。
【図６】第１の情報処理部１０から第２の情報処理部１１に対するデータの流れの一例及び第２の情報処理部１１における処理の一例を示す図である。
【図７】第２の情報処理部１１から第３の情報処理部１２に対するデータの流れの一例及び第３の情報処理部１２における処理の一例を示す図である。
【図８】第３の情報処理部１２から第４の情報処理部１３に対するデータの流れの一例及び第４の情報処理部１３における処理の一例を示す図である。
【図９】複合化されたデータをＩＯＰ１３を介してデータ記憶部１５に記憶する処理の一例を示す図である。
【図１０】ＩＯＰ１３の動作処理を示すフローチャートである。
【図１１】第１の情報処理部１０及び第２の情報処理部１１による（２Ｎ−１）周目の処理を示す図である。
【図１２】第１の情報処理部１０及び第２の情報処理部１１による２Ｎ周目の処理を示す図である。
【符号の説明】
【００８３】
１，３，４…情報処理装置、２…情報処理装置（イメージ）、１０〜１２…第１〜第３の情報処理部、１３…ＩＯＰ、１４…Ｇバス、１５…データ記憶部、１６…第４の情報処理部、１００，１０１，１１０，１１１，１２０，１２１，１３０，１３１…ＢＰＣ、１０２，１０３，１１２，１１３，１２２，１２３，１３２，１３３…Ｌバス、１０４，１０５，１１４，１１５，１２４，１２５，１３４，１３５…バスブリッジ
【図１】
2005070966.tif 000003
【図２】
2005070966.tif 000004
【図３】
2005070966.tif 000005
【図４】
2005070966.tif 000006
【図５】
2005070966.tif 000007
【図６】
2005070966.tif 000008
【図７】
2005070966.tif 000009
【図８】
2005070966.tif 000010
【図９】
2005070966.tif 000011
【図１０】
2005070966.tif 000012
【図１１】
2005070966.tif 000013
【図１２】
2005070966.tif 000014