(57)【要約】【課題】  バッファ溢れに起因したデータ転送性能の低下を抑制するようにしたデータ処理装置及びその処理方法を提供する。【解決手段】  データ処理装置は、パケット化されたデータを取得し装置内に入力する入力手段と、入力手段により入力されたパケットに所定の処理を施す処理手段と、処理手段により処理されたパケットを装置外に出力する出力手段と、パケットを一時的に蓄積するバッファを用いて、入力手段と処理手段と出力手段との間でパケットの転送制御を行なう通信手段とを具備し、入力手段と処理手段との少なくともいずれかは、通信手段による転送制御により入出力されるパケットの出力タイミングを制御するパケットレート制御手段を具備し、パケットレート制御手段は、不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして出力する。【選択図】  図１
2010136019.tif 000002
【特許請求の範囲】
【請求項１】
パケット化されたデータを取得し装置内に入力する入力手段と、
前記入力手段により入力されたパケットに所定の処理を施す処理手段と、
前記処理手段により処理されたパケットを装置外に出力する出力手段と、
パケットを一時的に蓄積するバッファを用いて、前記入力手段と前記処理手段と前記出力手段との間でパケットの転送制御を行なう通信手段と
を具備し、
前記入力手段と前記処理手段との少なくともいずれかは、
前記通信手段による転送制御により入出力されるパケットの出力タイミングを制御するパケットレート制御手段
を具備し、
前記パケットレート制御手段は、
不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして出力する
ことを特徴とするデータ処理装置。
【請求項２】
前記パケットレート制御手段は、
１周期あたりに入力されるパケット数がＭ ／ Ｔ（Ｍ及びＴは自然数であり、Ｔは２以上）であれば、任意の連続するＴ周期内のパケット数をＭ以下にする
ことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記通信手段は、
前記パケットを入力するための複数の入力ポート
を具備し、
前記バッファは、
前記複数の入力ポート各々に対応して設けられ、「前記複数周期の数 ／ 前記バッファの数」以下の最大の自然数に相当するパケット数分以上の容量を有する
ことを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記通信手段は、
前記パケットを入力するための複数の入力ポート
を具備し、
前記バッファは、
前記複数の入力ポートにより共有され、「前記複数周期の数−１」に相当するパケット数分以上の容量を有する
ことを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記処理手段は、
複数設けられ、前記パケットを複数含むパケット列単位にそれぞれ異なる処理を施し、
前記通信手段は、
前記各パケット列を同じ経路に転送制御する数を制限する
ことを特徴とする請求項１記載のデータ処理装置。
【請求項６】
パケット化されたデータを取得し装置内に入力手段で入力し、
前記入力手段で入力されたパケットに所定の処理を処理手段で施し、
前記処理手段で処理されたパケットを装置外に出力手段で出力し、
パケットを一時的に蓄積するバッファを用いて、前記入力手段と前記処理手段と前記出力手段との間でパケットを通信手段で転送制御し、
前記入力手段と前記処理手段との少なくともいずれかは、
前記通信手段による転送制御により入出力されるパケットの出力タイミングをパケットレート制御手段で制御し、
前記パケットレート制御手段は、不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして出力する
ことを特徴とするデータ処理装置の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークオンチップシステムを用いたデータ処理装置及びその処理方法に関する。
【背景技術】
【０００２】
ネットワークオンチップシステムは、１チップ上の複数のデータ処理モジュール間でパケットを授受するための技術であり、パケット交換を行なう通信部を介してモジュール間を接続する。特許文献１では、通信部のインタフェースを共通化することで汎用性の高いネットワークオンチップシステムを実現している。
【０００３】
ネットワークオンチップシステムを用いたデータ処理装置では、パケットの経路をドライバなどを用いて外部から設定することができる。このような方法でデータの処理順序を変更できるため、柔軟性の高いデータ処理を実現できる。また、複数の経路が同一であるパケットデータの列（データシーケンス）を並行して処理できるため、データ処理を高速化できる。
【０００４】
しかし、従来のネットワークオンチップシステムにおいては、転送されるデータシーケンスに対する制約は特に規定されていない。そのため、通信部において、複数の入力ポートから入力された複数のデータシーケンスを同一の出力ポートから送出する際に、送出待ちのパケットを一時的に蓄えておくバッファが必要となる。従って、バッファ溢れを防止するには、膨大な容量のバッファが必要となっていた。十分な容量のバッファを備えていない場合には、一般に、データ送出先のバッファに空きがなった段階で、その通信部へのデータ入力を一時的に禁止（停止）する制御がなされる（非特許文献１）。
【特許文献１】米国特許第６，０１８，７８２号明細書
【特許文献２】Ａｘｅｌ  Ｊａｎｔｓｃｈ  ａｎｄ  Ｈａｎｎｕ  Ｔｅｎｈｕｎｅｎ、“Ｎｅｔｗｏｒｋｓ  ｏｎ  Ｃｈｉｐ”，  ＵＫ，  Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ，  １９３頁
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した制御方式では、データ出力を禁止された通信部において、バッファでこれを吸収できなかった場合、更にその上流に位置する通信部へのデータ入力が禁止される。このようなデータ入力の禁止がネットワークオンチップ内を伝播すると、データ処理装置全体の処理性能が著しく低下する。また、データの入力が全く行えなくなる状態（デッドロック）を招いてしまう可能性もある。
【０００６】
そこで、本発明は、上記課題に鑑みてなされたものであり、バッファ溢れに起因したデータ転送性能の低下を抑制するようにしたデータ処理装置及びその処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様によるデータ処理装置は、パケット化されたデータを取得し装置内に入力する入力手段と、前記入力手段により入力されたパケットに所定の処理を施す処理手段と、前記処理手段により処理されたパケットを装置外に出力する出力手段と、パケットを一時的に蓄積するバッファを用いて、前記入力手段と前記処理手段と前記出力手段との間でパケットの転送制御を行なう通信手段とを具備し、前記入力手段と前記処理手段との少なくともいずれかは、前記通信手段による転送制御により入出力されるパケットの出力タイミングを制御するパケットレート制御手段を具備し、前記パケットレート制御手段は、不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして出力することを特徴とする。
【０００８】
また、本発明の一態様によるデータ処理装置の処理方法は、パケット化されたデータを取得し装置内に入力手段で入力し、前記入力手段で入力されたパケットに所定の処理を処理手段で施し、前記処理手段で処理されたパケットを装置外に出力手段で出力し、パケットを一時的に蓄積するバッファを用いて、前記入力手段と前記処理手段と前記出力手段との間でパケットを通信手段で転送制御し、前記入力手段と前記処理手段との少なくともいずれかは、前記通信手段による転送制御により入出力されるパケットの出力タイミングをパケットレート制御手段で制御し、前記パケットレート制御手段は、不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして出力することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、バッファ溢れに起因したデータ転送性能の低下を抑制することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明に係わるデータ処理装置及びその処理方法の一実施の形態について添付図面を参照して詳細に説明する。
【００１１】
（実施形態１）
図１は、本発明の一実施の形態に係わるデータ処理装置の構成の一例を示す図である。
【００１２】
データ処理装置は、データ入力部１１０と、通信部１２０と、データ処理部１３０と、データ出力部１４０とを具備して構成される。これら各構成部は、内部通信路１５０を介して接続されている。この場合、データ入力部１１０、通信部１２０、データ処理部１３０、データ出力部１４０各々は、複数設けられているが、必ずしも複数ずつ設けられる必要はない。
【００１３】
データ入力部１１０には、装置外部からデータを入力する外部入力ポート１１１が設けられ、データ出力部１４０には、装置外部にデータを出力する外部出力ポート１４１が設けられる。なお、本実施形態においては、データ入力部１１０、通信部１２０、データ処理部１３０、データ出力部１４０、各々を内部モジュールと呼ぶ場合もある。
【００１４】
外部入力ポート１１１には、メモリなどの外部記憶装置（不図示）又は外部通信路（不図示）等が接続されている。データ入力部１１０は、外部入力ポート１１１から経路が同一であるパケットデータの列（以下、データシーケンスと呼ぶ）を取得し、装置内にパケット化されたデータ、すなわち、パケットデータ（以下、パケットと呼ぶ）を入力する。そして、複数周期内に出力するパケット数を制限し、不均一な間隔で入力されるパケットを複数周期を単位に一定の数以下にして通信部１２０へ出力する。
【００１５】
データ入力部１１０には、パケットレート制御を行なうパケットレートコントローラ１１２が設けられる。パケットレートコントローラ１１２では、データシーケンスのスループット（クロック１周期あたりのパケット数）に基づいて出力パケット数を均一化する。
【００１６】
ここで、パケットレートコントローラ１１２について説明する。
【００１７】
図２は、パケットレートコントローラ１１２の処理の概要の一例を示す図である。パケットレートコントローラ１１２には、不均一な間隔でパケット（ａ１〜ａ６）が入力される。パケットレートコントローラ１１２では、この入力されるパケットの出力タイミングを制御し、時間方向におけるパケット出力数の偏りを補正する。例えば、１周期あたり２／５パケット（Ｍ／Ｔ（Ｍ及びＴは自然数であり、Ｔは２以上））が入力されるならば、任意の連続する５周期内（Ｔ周期内）のパケット数が２以下（Ｍ以下）となるように制御する。
【００１８】
図３は、パケットレートコントローラ１１２の構成の一例を示す図である。なお、ここでは、５周期内のパケット数が２以下となるように制御する場合を例に挙げて各構成部について説明する。
【００１９】
パケットレートコントローラ１１２は、ＦＩＦＯ（First-In First-Out）１１３と、カウンタ１１４とを具備して構成される。カウンタ１１４は、前周期での値に応じて周期２（スループットの分子に相当）を加算し、この値が５（スループットの分母に相当）以上であればイネーブル信号１１５を有効にする。但し、加算結果が８（スループットの（分子×（分母−分子＋１））に相当）を超える場合は８とする。パケットが出力されれば、この値から５（スループットの分母に相当）を減算する。ＦＩＦＯ１１３は、イネーブル信号１１５が有効であり、ＦＩＦＯ内にパケットがあればパケットを出力する。
【００２０】
図１に戻り、データ出力部１４０は、通信部１２０よりデータを受け取り、外部出力ポート１４１を用いてメモリ等の外部記憶装置（不図示）、又は外部通信路（不図示）を介して装置外（例えば、別のデータ処理装置）にパケットを出力する。
【００２１】
データ処理部１３０は、通信部１２０を介してパケットを受け取り、その受け取ったパケットに対して所定の処理を施す。また、その処理後のデータを再度パケット化した後、通信部１２０に出力する。データ処理部１３０におけるデータの入出力は、例えば、図４に示すタイミングで行なわれる。すなわち、経路が同一であるパケットを複数含むパケット列単位、すなわち、データシーケンス毎にパケットを処理し、それを出力する。なお、所定の処理とは、パケットに対して行なわれる処理全般を指す。例えば、パケットが画像データで構成されていれば、そのパケットに対して色空間変換や解像度変換等を所定の処理として実施する。また、例えば、パケットが音声データで構成されていれば、そのパケットに対してノイズ除去処理や符号化処理等を所定の処理として実施する。なお、データ処理部１３０で実施される処理（すなわち、所定の処理）によっては、データ処理部１３０にから出力されるパケット数が均一とならないことがある。この場合は、パケットレートコントローラ１１２と同様のモジュールをデータ処理部１３０の出力部に接続し、出力パケット数を均一化すればよい。
【００２２】
通信部１２０は、パケットを一時的に蓄積するバッファを用いて、データ入力部１１０とデータ処理部１３０とデータ出力部１４０との間でパケットを転送制御する。通信部１２０は、図５に示すように、複数の入力ポート２５０と、複数の出力ポート２６０と、入力バッファ部２１０と、スイッチング部２３０と、出力バッファ部２４０とを具備して構成される。入力バッファ部２１０は、図６に示すように、各入力ポート２５０毎にバッファ２１１が設けられている。この場合、３つの入力ポート２５０各々に対してバッファ２１１がそれぞれ設けられている。
【００２３】
ここで、通信部１２０における処理の流れの一例について説明する。ここでは、複数の入力ポートから入力されたデータを同一の出力ポートへ出力する場合を例に挙げて説明する。
【００２４】
図７に示すタイミングで通信部１２０にパケットが入力されたとする。ここで、３０１、３０２、３０３は、パケットを示しており、２２０、２２１、２２２は、１パケット分のパケットを蓄積できる入力バッファを示している。各データシーケンスのスループットは１／３とする。この場合、同じタイミングで入力されたパケットａ１（３０１）、パケットｂ１（３０２）、パケットｃ１（３０３）を１つの出力ポート２６０へ同時に出力することはできない。そのため、例えば、パケットａ１を優先出力すれば、パケットｂ１、パケットｃ１はそれぞれ、通信部１２０内のバッファ２２１、２２２に蓄積される。このとき、通信部１２０は、図８に示す状態となる。
【００２５】
次の周期でパケットｂ１を出力すれば、通信部１２０は、図９に示す状態に遷移する。更に、その次の周期でパケットｃ１を出力すれば、通信部１２０は、図１０に示す状態となり、図７に示す状態と同様の状態に戻る。なお、上述したように、パケットレートコントローラ１１２から一定周期内に通信部１２０へ出力されるパケット数は、一定以下となるように制御されている。従って、同一の出力ポート２６０へ出力する入力データシーケンスのスループットの合計が１以下であれば、上述した動作を繰り返すことでバッファ溢れを起こさずにデータシーケンスを転送できる。
【００２６】
次に、バッファ容量の決定方法について説明する。ここでは、説明を簡単にするために、データシーケンスｉ（ｉ＝１，２，．．．）のスループットがａｉ／５であり、また、同一の出力ポートへ出力するデータシーケンスのスループットの合計が１以下であるとする。この場合において、通信部１２０に入力される入力データのタイミングの中で多くのバッファ容量を必要とするワーストケースとしては、例えば、図１１に示す状態が挙げられる。すなわち、複数の入力ポート２５０から同じタイミングでの入力が連続して起こる周期数が最大となる場合である。同じタイミングで入力されたパケットは、そのいずれかをバッファに一時的に蓄積しておく必要がある。そのため、この一例の場合、入力ポート用バッファとして入力ポート２５０各々に対して２パケット分のバッファ容量があれば、バッファ溢れを起こさずにデータ転送を行なえる。
【００２７】
ここで、データシーケンスｉ（ｉ＝１，２，．．．）のスループットがａｉ／Ｔ（周期数：Ｔは自然数であり、Ｔは２以上）である場合に、各入力ポート専用バッファとして必要な容量（ＦＩＦＯ段数）が最大となるワーストケースを挙げる。ワーストケーストしては、［Ｎ］がＮを超えない最大の自然数としたとき、２つの入力ポートから[Ｔ／２]周期連続で同時にパケットが入力される時である。すなわち、通信部１２０には、「Ｔ／バッファ数」以下の最大の自然数に相当するパケット数分以上（この場合、[Ｔ／２]パケット数分以上）の容量を有するバッファを設ければ、バッファ溢れを防止できる。
【００２８】
以上説明したように実施形態１によれば、データ入力部１１０（又はデータ処理部１３０）から出力する複数周期内のパケット数を１周期あたりに入力されるパケット数により求められる特定の値以下に制限する。また、通信部１２０においては、その複数の周期数と入力ポート数とに基づいたバッファ容量を有するバッファを入力ポート各々に対応して設ける。これにより、バッファ溢れを防止することができるため、データ送出元の内部モジュールは、送出先の内部モジュールへ常時データを転送できるので、バッファ溢れに起因した転送性能の低下やデッドロックを防止できる。
【００２９】
なお、上述した説明では、内部通信路１５０のスループットの最大値を１と仮定して説明したが、内部通信路１５０のスループットの最大値が１／Ｕ（Ｕは自然数）に制限されている場合においても同様に成り立つ。
【００３０】
（実施形態２）
次に、実施形態２について説明する。上述した実施形態１では通信部１２０内の入力バッファを入力ポート毎に設けていたが、実施形態２においては全入力ポート共有のバッファを設ける。以下、実施形態１と異なる点について重点的に説明する。
【００３１】
図１２は、実施形態２に係わる入力バッファ部２１０の構成の一例を示す図である。２１２はディスパッチャであり、２１３は共有バッファである。また、２１４は共有バッファの空き情報をディスパッチャ２１２に伝える信号である。
【００３２】
入力ポート２５０から入力されたパケットは、まず、ディスパッチャ２１２に入力される。ディスパッチャ２１２は、空き情報２１４に基づいて共有バッファ２１３内の空いている領域にパケットを割り当てる。共有バッファ２１３に蓄積されたパケットは、出力ポートが空くまで共有バッファ２１３内で待機する。
【００３３】
次に、実施形態２に係わるバッファの容量の決定方法について説明する。ここでは、説明を簡単にするために、データシーケンスｉ（ｉ＝１，２，．．．）のスループットがａｉ／５であり、また、同一の出力ポートへ出力するデータシーケンスのスループットの合計が１以下であるものとする。
【００３４】
この場合において、通信部１２０に入力される入力データのタイミングの中で多くのバッファ容量を必要とするワーストケースとしては、例えば、５つの入力ポートより同タイミングで５つのパケットが入力される場合である。入力されたパケットのうち、１周期で出力できるのは１パケットであるため、この一例の場合、共有バッファとして４パケット分の容量があれば、バッファ溢れを起こさずにデータの転送を行なえる。
【００３５】
一般に、データシーケンスｉ（ｉ＝１，２，．．．）のスループットがａｉ／Ｔ（周期数）であれば、共有バッファとして必要な容量は（Ｔ−１）パケット数分以上の容量となる。
【００３６】
以上説明したように実施形態２によれば、入力バッファ部２１０を共有バッファとして実現する。これにより、入力ポートの数が多い場合には、上述した実施形態１における入力バッファの容量の合計よりも、入力バッファの容量を削減できる。
【００３７】
なお、上述した説明では、内部通信路１５０のスループットの最大値を１と仮定して説明したが、内部通信路１５０のスループットの最大値が１／Ｕ（Ｕは自然数）に制限されている場合においても同様に成り立つ。
【００３８】
（実施形態３）
次に、実施形態３について説明する。実施形態３においては、同一の内部通信路１５０を共用するデータシーケンスの数を共有シーケンス数と定義する。但し、データシーケンスの経路にループを含み、同一の内部通信路１５０をｎ回通過する場合は、共有シーケンス数をｎとして数える。
【００３９】
例えば、図１を用いて、データシーケンス１、データシーケンス２の経路について説明する。データシーケンス１は、まず、データ入力部１１０−１→通信部１２０−６→通信部１２０−１→データ処理部１３０−１→通信部１２０−１→通信部１２０−２→データ処理部１３０−３→通信部１２０−２の順に内部通信路１５０を通過する。また更に、通信部１２０−２→通信部１２０−１→データ処理部１３０−２→通信部１２０−１→通信部１２０−２→データ処理部１３０−４→通信部１２０−２→通信部１２０−３の順に通過し、最後に、データ出力部１４０−１からデータが出力される経路である。
【００４０】
次に、データシーケンス２は、データ入力部１１０−２→通信部１２０−６→通信部１２０−１→データ処理部１３０−１→通信部１２０−１→通信部１２０−２→データ処理部１３０−３→通信部１２０−２の順に内部通信路１５０を通過する。また更に、通信部１２０−２→通信部１２０−３の順に通過し、最後に、データ出力部１４０−１からデータが出力される経路である。
【００４１】
この場合、例えば、通信部１２０−６から通信部１２０−１への内部通信路１５０の共有シーケンス数は２となり、また、通信部１２０−１から通信部１２０−２への内部通信路１５０の共有シーケンス数は３となる。
【００４２】
上述した実施形態１及び２においては、共有シーケンス数の制限を規定しなかったが、共有シーケンス数に制限がある場合には、入力バッファの容量を更に削減できる場合がある。例えば、共有シーケンス数の最大値が２であるとする。更に、パケットレートコントローラ１１２において、１周期あたりＭ／Ｔパケットのスループットであれば、任意の連続する［Ｔ×Ｓ／Ｍ］（Ｓは共有シーケンス数の制限値であり、Ｓ＝１，２，．．．，Ｍとする）周期内のパケット数がＳ以下となるように制御する。なお、［Ｎ］はＮを超えない最大の自然数とする。
【００４３】
ここで、図３を用いて、実施形態３に係わるパケットレートコントローラ１１２の動作について説明する。
【００４４】
カウンタ１１４は、前周期での値に応じて周期Ｍを加算し、この値がＴ以上であれば、イネーブル信号１１５を有効にする。但し、加算結果が（Ｔ＋Ｍ−１）より大きい場合は（Ｔ＋Ｍ−１）とする。パケットが出力されれば、この値からＴを減算する。ＦＩＦＯ１１３は、イネーブル信号１１５が有効であり、ＦＩＦＯ内にパケットがあればパケットを出力する。この場合、入力バッファとして必要な容量は、実施形態１の場合には入力ポート毎に１パケット分、実施形態２の場合には共有で１パケット分となる。
【００４５】
以上説明したように実施形態３によれば、データシーケンスに更なる制約をかけることで、実施形態１及び実施形態２における入力バッファの容量の合計に比べて更に、入力バッファの容量を削減できる。
【００４６】
（実施形態４）
次に、実施形態４について説明する。実施形態４においては、パケットが画像の画素値を含み、データ処理部１３０が画像処理を行なうものとして説明する。また、通信部１２０を単方向のリング状に接続する。各通信部１２０は、１つの画像処理モジュール（すなわち、データ処理部１３０）若しくはデータ入力部１１０、データ出力部１４０と内部通信路１５０を介して接続されている。
【００４７】
図１３を用いて、実施形態４に係わるデータ処理装置の動作について説明する。
【００４８】
画像処理モジュールは、例えば、色空間変換、解像度変換、エッジ強調、雑音除去処理を行なう。ここで、データ入力部１１０から入力されたデータシーケンスを、色空間変換、エッジ強調、雑音除去、解像度変換の順に処理し、データ出力部１４０へ出力するとする。また、データ入力部１１０から入力されたデータシーケンスのスループットが２／５であるとし、解像度変換モジュール１３１−３は、入力パケット数を３／２倍に増やすとする。なお、色空間変換モジュール１３１−２、エッジ強調モジュール１３１−６、雑音除去モジュール１３１−７は、パケット数及びパケット間隔を変えないものとする。
【００４９】
このとき、例えば、各通信部１２０の入力ポート毎に１パケット分のバッファを設ける。また、データ入力部１１０及び解像度変換モジュール１３１−３は、通信部１２０への出力ポートに、実施形態３で説明したパケットレートコントローラ１１２を具備するものとする。これにより、解像度変換モジュール通過前のデータシーケンスは、任意の連続する５周期内のパケット数が２以下、かつ任意の連続する２周期内のパケット数が１以下となる。また、解像度変換モジュール通過後のデータシーケンスは、任意の連続する５周期内のパケット数が３以下、かつ任意の連続する３周期内のパケット数が２以下となる。例えば、通信部１２０−２では、通信部１２０−３へ送出する際に、解像度変換モジュール１３１−３から入力されたパケットと、通信部１２０−１から入力されたパケットとが合流するが、それぞれの入力は均一化される。入力ポート毎に設けた１パケット分のバッファによりバッファ溢れを起こさない。同様に、全ての通信部１２０においてバッファ溢れを起こすことなくデータシーケンスを処理できる。
【００５０】
なお、パケットレートコントローラ１１２の設定により、画像処理モジュールの処理順序やスループットが上述した場合と異なる場合においても、各通信路のスループットが１を超えない限り、同様にバッファ溢れを起こす事なくデータシーケンスを処理できる。このとき、解像度変換モジュールでは、処理前、処理後の両方で通信路のスループットが１以下となるようにスループットを設定する必要がある。例えば、解像度変換モジュールがパケット数をＸ倍に増やすとすれば、解像度変換モジュールへ入力するデータシーケンスのスループットとして設定できる最大の値は１／Ｘとなる。更に、例えば、解像度変換後のデータシーケンスがスループットＹ／Ｚのデータシーケンスと通信路を共有すると仮定する。この場合、解像度変換モジュールへ入力するデータシーケンスのスループットとして設定できる最大の値は（１−Ｙ／Ｚ）／Ｘ＝（（Ｚ−Ｙ）／ＸＺ）となる。このようにパケット数の増減や他データシーケンスとの共有を考慮してスループットを設定する必要がある。
【００５１】
以上説明したように実施形態４によれば、内部通信路１５０のスループットの最大値に合わせて入力するデータシーケンスのスループットを制限する。これにより、処理モジュールでスループットが変わる場合においてもバッファ溢れを起こすことなく、データ処理を実行できる。また、通信部１２０を単方向のリング状に接続しているので、通信部１２０の設定により任意のデータシーケンスを実現できるため、柔軟性の高い（処理順の変更が可能な）画像処理を実現できる。
【００５２】
なお、データ処理モジュールの個数や処理順序、各モジュールの処理内容が異なる場合においても同様に成り立つことは言うまでもない。また、複数のデータシーケンスを並行処理する場合においても同様に成り立つ。
【００５３】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施の形態に係わるデータ処理装置の構成の一例を示す図である。
【図２】パケットレートコントローラ１１２の処理の概要の一例を示す図である。
【図３】パケットレートコントローラ１１２の構成の一例を示す図である。
【図４】データ処理部１３０におけるデータの入出力タイミングの一例を示す図である。
【図５】通信部１２０の構成の一例を示す図である。
【図６】入力バッファ部２１０の構成の一例を示す図である。
【図７】通信部１２０における処理の流れの一例を示す第１の図である。
【図８】通信部１２０における処理の流れの一例を示す第２の図である。
【図９】通信部１２０における処理の流れの一例を示す第３の図である。
【図１０】通信部１２０における処理の流れの一例を示す第４の図である。
【図１１】通信部１２０における処理の流れの一例を示す第５の図である。
【図１２】実施形態２に係わる入力バッファ部２１０の構成の一例を示す図である。
【図１３】実施形態４に係わるデータ処理装置の構成の一例を示す図である。
【符号の説明】
【００５５】
１１０    データ入力部
１１１    外部入力ポート
１１２    パケットレートコントローラ
１１３    ＦＩＦＯ
１１４    カウンタ
１２０    通信部
１３０    データ処理部
１４０    データ出力部
１４１    外部出力ポート
２１０    入力バッファ部
２１１、２２０〜２２２    バッファ
２１２    ディスパッチャ
２１３    共有バッファ
２２０    スイッチング
２３０    スイッチング部
２４０    出力バッファ部
２５０    入力ポート
２６０    出力ポート
【図１】
2010136019.tif 000003
【図２】
2010136019.tif 000004
【図３】
2010136019.tif 000005
【図４】
2010136019.tif 000006
【図５】
2010136019.tif 000007
【図６】
2010136019.tif 000008
【図７】
2010136019.tif 000009
【図８】
2010136019.tif 000010
【図９】
2010136019.tif 000011
【図１０】
2010136019.tif 000012
【図１１】
2010136019.tif 000013
【図１２】
2010136019.tif 000014
【図１３】
2010136019.tif 000015