(57)【特許請求の範囲】
【請求項１】
シリアルに接続される複数の処理部を有し、前記複数の処理部が一連の処理をそれぞれ分担して非同期で実行することにより、入力データに前記一連の処理を施すデータ処理システムであって、
前記複数の処理部は、前記一連の処理のうち特定の処理とその前段の前段処理とを実行可能な第１の処理部と、前記特定処理とその後段の後段処理とを実行可能な第２の処理部とを含み、
前記第１の処理部は、前記第２の処理部からの要求により前記特定処理の実行を中止する、データ処理システム。
【請求項２】
前記第２の処理部は、前記第１の処理部で前記特定処理が実行されていない前記入力データに対して、前記特定の処理を実行する、請求項１に記載のデータ処理システム。
【請求項３】
前記複数の処理部の負荷を予測する予測手段をさらに備え、前記予測手段で予測された負荷に応じて前記特定処理を実行する処理部を決定する、請求項１または２に記載のデータ処理システム。
【請求項４】
前記複数の処理部の負荷を予測する予測手段をさらに備え、前記予測手段で予測された負荷に応じて前記特定処理を変更する、請求項１または２に記載のデータ処理システム。
【請求項５】
前記予測手段は、前記入力データの種類を検出する手段を含み、検出された種類に基づいて負荷を予測する、請求項３または４に記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はデータ処理システムに関し、特に、シリアルに接続された複数の処理部が一連の処理をそれぞれ分担して非同期で実行することにより、入力データに一連の処理を施すデータ処理システムに関する。
【０００２】
【従来の技術】
従来より、複数のＭＰＵ（マイクロプロセッシングユニット）で入力データに対して複数の処理を順に施す非同期方式のデータ処理装置が知られている。従来のデータ処理装置は、複数のＭＰＵがそれぞれ複数の処理の一部を担当して非同期にデータ処理を行ない、ＭＰＵ間でデータの受渡しをすることにより、入力データに一連の処理を施すものである。
【０００３】
図１５は、従来のデータ処理装置におけるＭＰＵ間のデータ入出力を説明するためのブロック図である。図では、ＭＰＵ２１とＭＰＵ２２の２つのＭＰＵで処理１〜処理１０の１０の処理を実行する場合のデータの入出力を示している。ＭＰＵ２１では処理１〜処理５までの５つの処理が実行され、ＭＰＵ２２では、処理５の後段の処理にあたる処理６〜処理１０までの５つの処理が実行される。したがって、ＭＰＵ２１に入力されるデータは処理１〜処理５の５つの処理が施されてＭＰＵ２２に引渡され、ＭＰＵ２２ではＭＰＵ２１で処理後のデータに対して処理６〜処理１０の処理が施される。
【０００４】
ＭＰＵ２１とＭＰＵ２２との間では、要求信号ＡＣＫと送信信号ＲＥＱの２つの制御信号が送受信されてデータＤＡＴＡの引渡しが行なわれる。要求信号ＡＣＫはデータＤＡＴＡを要求するための信号であり、ＭＰＵ２２からＭＰＵ２１に送信される。送信信号ＲＥＱは、データＤＡＴＡを送信するための信号であり、ＭＰＵ１からＭＰＵ２に送信される。
【０００５】
要求信号ＡＣＫがＭＰＵ２２からＭＰＵ２１に送信される際には、ＭＰＵ２２は前のデータに対する処理６〜処理１０の処理の実行が終了している状態である。送信信号ＲＥＱがＭＰＵ２１からＭＰＵ２２に送信される際には、要求信号ＡＣＫをＭＰＵ２２から受信した場合であって、これから送信するデータＤＡＴＡに対する処理１〜処理５の処理の実行が終了した状態である。
【０００６】
したがって、ＭＰＵ２１がＭＰＵ２２に対して送信信号ＲＥＱを送信することができる条件は、ＭＰＵ２２から要求信号ＡＣＫを受信した場合であって、かつ処理１〜処理５の処理の実行が終了していることが条件となる。一方ＭＰＵ２２で要求信号ＡＣＫを送信することができる状態とは、ＭＰＵ２２で処理６〜処理１０の処理の実行が終了していることが条件となる。ＭＰＵ２１とＭＰＵ２２との双方の条件が揃った場合に初めてデータＤＡＴＡがＭＰＵ２１からＭＰＵ２２に送信されることになる。
【０００７】
図１６は、ＭＰＵ２１とＭＰＵ２２における動作状態の時間的変化を示す図である。図は、横方向に時間を示し図面右方向に向かって時間が経過することを示す。そして、上段よりＭＰＵ２１の状態、ＭＰＵ２２の状態を示す。最下段では入力データＡと入力データＢとに処理１〜処理１０のすべての処理が施される時間をそれぞれ示している。
【０００８】
ＭＰＵ２１は、入力データＡに対して処理１〜処理５を実行し（Ａ（１−５））、ＭＰＵ２２に対して送信信号ＲＥＱを送信した後直ちに次の入力データＢに対して処理１〜処理５を実行し（Ｂ（１−５））、ＭＰＵ２２より要求信号ＡＣＫを受信するまで待機状態となる。ＭＰＵ２２より要求信号ＡＣＫを受信すると、ＭＰＵ２２に対して送信信号ＲＥＱを送信して処理済の入力データＢを送信する。その後、入力データＣに対して処理１〜処理５を実行する。
【０００９】
ＭＰＵ２２は、ＭＰＵ２１より送信信号ＲＥＱを受信した後ＭＰＵ２１で処理済の入力データＡに対して処理６〜処理１０を実行する（Ａ（６−１０））。そして、入力データＡに対して処理が終了すると、ＭＰＵ２１に対して要求信号ＡＣＫを送信し、ＭＰＵ２１から送信信号ＲＥＱを受信するまで待機状態となる。その後、ＭＰＵ２１から送信信号ＲＥＱを受信した後、ＭＰＵ２１で処理済の入力データＢを受信して、受信した入力データＢに対して処理６〜処理１０を実行する（Ｂ（６−１０））。
【００１０】
ＭＰＵ２１とＭＰＵ２２とでそれぞれ処理が実行されることにより、入力データＡと入力データＢとに処理１〜処理１０が施される時間は図に示すとおり異なる時間となる。
【００１１】
【発明が解決しようとする課題】
画像データに複数の処理を施す画像処理においては、画像データ中の画素データが異なればそれぞれの処理にかかる負荷が異なることになる。これは、画素データの違いにより処理の内容が異なってくることによるものである。たとえば、文字と写真とが描かれた画像データにシェーディング補正、Ｌｏｇ変換、変倍、ＭＴＦ補正、γ補正、２値化の６つの処理を施す画像処理のにおいては、処理の対象となる画素データが文字の領域に属する場合と写真の領域に属する場合とで処理内容が異なり、負荷が異なる。ＭＴＦ補正では、文字の領域に属する画素データの処理に要する負荷を「３」とすると、写真領域に属する画素データの処理に要する負荷は「１」となる。また、２値化処理においては、文字の領域に属する画素データの処理に要する負荷を「１」とすると、写真の領域に属する画素データの処理に要する負荷は「３」となる。
【００１２】
画像データのようにそれぞれの処理に要する負荷が変動するデータを、従来のデータ処理装置で処理した場合には、ＭＰＵ２１の負荷とＭＰＵ２２の負荷とがデータの種類により異なってくるので、ＭＰＵ２１でＭＰＵ２２から要求信号ＡＣＫを受信するまでの待機時間とＭＰＵ２でデータＤＡＴＡを受信するまでの待機時間とが長くなってしまい、データ処理の速度が遅くなるといった問題点があった。
【００１３】
この発明は上述の問題点を解決するためになされたもので、複数の処理部において何も行なわない待ち時間（待機時間）を全体的に短くすることにより、データの処理を高速に行なうことができるデータ処理システムを提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述の目的を達成するためにこの発明のある局面によるデータ処理システムは、シリアルに接続される複数の処理部を有し、複数の処理部が一連の処理をそれぞれ分担して非同期で実行することにより、入力データに一連の処理を施すデータ処理システムであって、複数の処理部は、一連の処理のうち特定の処理とその前段の前段処理とを実行可能な第１の処理部と、特定処理とその後段の後段処理とを実行可能な第２の処理部とを含み、第１の処理部は、第２の処理部からの要求により特定処理の実行を中止する。
【００１６】
さらに好ましくはデータ処理システムは、第２の処理部は、第１の処理部で特定処理が実行されていない入力データに対して、特定の処理を実行することを特徴とする。
【００１７】
さらに好ましくはデータ処理システムは、複数の処理部の負荷を予測する予測手段をさらに備え、予測手段で予測された負荷に応じて特定処理を実行する処理部を決定することを特徴とする。
【００１８】
さらに好ましくはデータ処理システムは、複数の処理部の負荷を予測する予測手段をさらに備え、予測手段で予測された負荷に応じて特定処理を変更することを特徴とする。
【００１９】
さらに好ましくはデータ処理システムの予測手段は、入力データの種類を検出する手段を含み、検出された種類に基づいて負荷を予測することを特徴とする。
【００２０】
これらの発明に従うと、複数の処理部で実行することのできる処理を重複させたので、一方の処理部の負荷が大きいときに他方の処理部で重複する処理を行なうことにより、各処理部における待機時間を短くすることができる。その結果、データの処理を高速に行なうことができるデータ処理システムを提供することができる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当する部材を示す。
【００２２】
［第１の実施の形態］
図１は、この発明の第１の実施の形態のデータ処理システムにおけるＭＰＵ間のデータ入出力を説明するためのブロック図である。図を参照して、ＭＰＵ１とＭＰＵ２とで処理１〜処理１０の１０の処理が１つのデータに対して施される。そして、ＭＰＵ１では処理１〜処理８までの処理を実行することが可能で、ＭＰＵ２では処理３〜処理１０の処理を実行することが可能である。このとき処理３〜処理８の６つの処理については、ＭＰＵ１とＭＰＵ２の双方で実行することができるようになっている。このＭＰＵ１とＭＰＵ２との双方で実行することができる処理（処理３〜処理８）を特定処理という。ＭＰＵ１がデータＤＡＴＡをＭＰＵ２に引渡す際に、ＭＰＵ１とＭＰＵ２との間で要求信号ＡＣＫと送信信号ＲＥＱとからなる制御信号の送受信が行なわれる。
【００２３】
ＭＰＵ１では、１つのデータに施す処理として、ＭＰＵ１で処理可能な処理（処理１〜処理８）から特定処理（処理６〜処理８）を除いた処理（処理１〜処理５）が不要な処理を除いて必ず行なわれる。同様に、ＭＰＵ２では、ＭＰＵ２で処理可能な処理（処理３〜処理１０）から特定処理を除いた処理（処理９〜処理１０）が不要な処理を除いて必ず行なわれる。そして、特定処理（処理３〜処理８）をどちらのＭＰＵで実行するかは、制御信号（ＡＣＫ，ＲＥＱ）をＭＰＵ間で送受信することにより定められる。
【００２４】
図２は、本実施の形態におけるＭＰＵ１とＭＰＵ２における動作状態の時間的変化を示す図である。図を参照して、ＭＰＵ１では、入力データＡに対して処理１〜処理５を実行した後（Ａ（１−５））、送信信号ＲＥＱをＭＰＵ２に送信するとともに処理１〜処理５を施した入力データＡをＭＰＵ２に送信する。そして、次の入力データＢに対して処理１〜処理５を実行する。入力データＢに対して処理５の実行が終了した時点で、ＭＰＵ２より要求信号ＡＣＫを受信していないので、引続き入力データＢに対して特定処理を実行する。そして、ＭＰＵ２により要求信号ＡＣＫを受信したときに行なっている処理（図では処理８）を終了した時点でＭＰＵ２に対して送信信号ＲＥＱを送信するとともに、処理１〜処理８を施した入力データＢをＭＰＵ２に送信する。その後、次の入力データＣに対して処理１〜処理５を実行する。
【００２５】
一方、ＭＰＵ２では、ＭＰＵ１から送信信号ＲＥＱと処理１〜処理５が施された入力データＡを受信すると、処理５の後の処理（処理６〜処理１０）を入力データＡに対して実行する（Ａ（６−１０））、入力データＡに対して処理１０の実行が終了すると、ＭＰＵ１に対して要求信号ＡＣＫを送信し、ＭＰＵ１より送信信号と次の入力データＢが送信されてくるまで待機状態となる。そして、ＭＰＵ１より処理１〜処理８が施された入力データＢを受信すると、処理８の後の処理（処理９，処理１０）を入力データＢに対して実行し（Ｂ（９−１０））、ＭＰＵ１に対して要求信号ＡＣＫを送信する。以下同様に、ＭＰＵ１とＭＰＵ２とで入力データの処理と受渡しが行なわれる。
【００２６】
図２に示すＭＰＵ１とＭＰＵ２との時間の経過に伴う状態の変化からも明らかなように、ＭＰＵ１における待機時間がなくなっている。また、ＭＰＵ２には待機時間が発生するが、ＭＰＵ１とＭＰＵ２との両方における待機時間の合計は、従来のデータ処理装置（図１６参照）に比べて減少しているのがわかる。また、入力データそれぞれについても、従来のデータ処理装置で処理される入力データよりも短い時間で処理されている。
【００２７】
図３は、本実施の形態におけるそれぞれのＭＰＵで行なわれる処理の流れを示すフロー図である。図を参照して、ＭＰＵは、前段のＭＰＵに対してデータＤＡＴＡの送信を要求する要求信号ＡＣＫを送信する（ステップＳ０１）。その後、前段のＭＰＵが送信する送信信号ＲＥＱを受信するまで待機状態となる（ステップＳ０２）。前段のＭＰＵが送信する送信信号ＲＥＱは、後段のＭＰＵが送信信号ＲＥＱを受信した後にデータＤＡＴＡを送信する旨を示す制御信号である。送信信号ＲＥＱを受信すると、データＤＡＴＡが前段のＭＰＵより送信されるので、そのデータを受信する（ステップＳ０３）。
【００２８】
ここで、前段のＭＰＵから送信されるデータＤＡＴＡについて説明する。図４は、データＤＡＴＡのデータフォーマットを示す図である。データＤＡＴＡは、４ビットの処理フラグと８ビットの処理データよりなる。処理フラグは、データＤＡＴＡを送信するＭＰＵで実行した最後の処理を示すもので、本実施の形態においては処理の数が１０個なので４ビットとしている。このビット数は、データ処理システムで行なわれる処理の数により定まるもので、４ビット設けておけば１６個の処理を実行するデータ処理システムに用いることができる。処理データは、それぞれの処理を行なう対象となるデータであり、処理フラグに書かれた処理が施されたデータが書込まれる。画像データを画像処理するデータ処理システムの場合には、画像データを構成する画素データのビット数にあたる８ビットとすればよい。処理データのビット数はデータ処理システムで処理の対象となるデータにより定まるもので、８ビットに限定されるわけではない。
【００２９】
図３に戻って、受信したデータＤＡＴＡから処理フラグが読取られ、変数Ｆに読取った処理フラグが設定される（ステップＳ０４）。ここでは、処理フラグを前段のＭＰＵで最後に実施した処理の番号としているので、そのまま変数Ｆに代入される。
【００３０】
次に、変数Ｆに「１」が加算される（ステップＳ０５）。これは、データＤＡＴＡを受信したＭＰＵ（後段のＭＰＵ）は、データＤＡＴＡを送信したＭＰＵ（前段のＭＰＵ）で最後に実施した処理の次の処理から実行するためである。
【００３１】
そして、受信したデータＤＡＴＡ中の処理データを読出し、読出した処理データに対してＦ番目の処理を実行する（ステップＳ０６）。
【００３２】
そして次に後段のＭＰＵからデータの送信を要求する要求信号ＡＣＫを受信したか否かが判断される（ステップＳ０７）。後段のＭＰＵより要求信号ＡＣＫを受信した場合には、変数Ｆが定数Ｓと比較され（ステップＳ０９）、要求信号ＡＣＫを受信していない場合には変数Ｆが定数Ｅと比較される（ステップＳ０８）。変数Ｆが定数Ｓより小さい場合（ステップＳ０９でＹＥＳ）と変数Ｆが定数Ｅより小さい場合（ステップＳ０８でＹＥＳ）には、ステップＳ０５からステップＳ０７までの処理が繰返し行なわれる。変数Ｆが定数Ｓより小さくない場合（ステップＳ０９でＮＯ）と変数Ｆが定数Ｅより小さくない場合（ステップＳ０８でＮＯ）には、ステップＳ１０に進む。
【００３３】
ここで、定数Ｓと定数Ｅとは、それぞれ特定処理（処理３〜処理８）の最初の処理の番号と最後の処理の番号を示す。したがって、本実施の形態においては、定数Ｓは「３」となり、定数Ｅは「８」となる。ステップＳ０７とステップ０８とステップＳ０９とで行なわれる処理は、後段のＭＰＵより要求信号ＡＣＫを受信した際に、終了した処理（処理Ｆ）が特定処理でない場合（ステップＳ０９でＹＥＳ）には特定処理になるまでステップＳ０５とステップＳ０６を繰返し行なうようにしている。また、後段のＭＰＵより要求信号ＡＣＫを受信していない場合（ステップＳ０７でＮＯ）には、終了した処理（処理Ｆ）が処理可能な最後の処理（処理８）になるまでステップＳ０５とステップＳ０６を繰返し行なうようにしている。
【００３４】
ステップＳ１０では、後段のＭＰＵ２に対してデータＤＡＴＡを送信する旨を示す送信信号ＲＥＱを送信し、後段のＭＰＵ２で送信信号ＲＥＱの受信を確認した後データＤＡＴＡを送信する（ステップＳ１１）。その後上述の処理を繰返し行なう。
【００３５】
図５は、処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷よりも常に小さい入力データを処理する場合における各ＭＰＵの状態を従来のデータ処理装置と比較して示す図である。図５（Ａ）は、本実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２の状態を示す図である。図５（Ｂ）は、従来のデータ処理装置のＭＰＵ２１とＭＰＵ２２の状態を示す図である。図では、入力データＡ、入力データＢ、入力データＣ…が入力された場合を示す。それぞれのＭＰＵで行なわれる処理は、たとえば入力データＡに対して処理１〜処理５が実行される状態を、Ａ（１−５）として示している。
【００３６】
図５（Ａ）を参照して、ＭＰＵ１では、ＭＰＵ２で負荷の大きい処理６〜処理１０を入力データＡに対して実行している間に、入力データＢに対して処理１〜処理５を実行した後にさらに処理６〜処理８を実行している（Ｂ（６−８））。また、ＭＰＵ２では、入力データＢについてはＭＰＵ１で処理８まで実行されているので、処理９と処理１０とが実行される。
【００３７】
図５（Ａ）と図５（Ｂ）とを比較して明らかなように、本実施の形態におけるデータ処理システムでは、従来のデータ処理装置と比べて、処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷よりも常に小さい場合においても、ＭＰＵ２の負荷が大きい場合に負荷の小さいＭＰＵ１で特定処理を実行するようにしたのでＭＰＵ１とＭＰＵ２の待機時間が短くなっており、データ処理の高速化が図られていることがわかる。また、入力データ各々についても、処理が開始されてから終了するまでの時間が短縮されている。
【００３８】
図６は、処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷よりも常に大きい入力データを処理する場合における各ＭＰＵの状態を従来のデータ処理装置と比較して示す図である。図６（Ａ）は、本実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２の状態を示す図である。図６（Ｂ）は、従来のデータ処理装置におけるＭＰＵ２１とＭＰＵ２２の状態を示す図である。ＭＰＵ２２では、ＭＰＵ２１より常に負荷が小さいので、入力データの受信が完了した時点で要求信号ＡＣＫをＭＰＵ２１に送信するようにし、ＭＰＵ２１では、ＭＰＵ２２から要求信号ＡＣＫを受信するまで待機状態となるようにしている。
【００３９】
図６（Ａ）を参照して、入力データＢについては、処理１〜処理４がＭＰＵ１で実行され（Ｂ（１−４））、処理５〜処理１０がＭＰＵ２で実行される（Ｂ（５）、Ｂ（６−１０））。
【００４０】
図６（Ａ）と図６（Ｂ）とを比較して明らかなように、処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷よりも常に大きい場合においても、従来のデータ処理装置に比べて、ＭＰＵ１とＭＰＵ２の待機時間が短縮されてデータ処理の高速化が図られていることがわかる。
【００４１】
以上説明したとおり、ＭＰＵ１とＭＰＵ２とで重複して実行することができる特定処理（処理３〜処理８）を設けて、後段の処理を実行するＭＰＵ２からの要求信号ＡＣＫを受信するまで前段の処理を実行するＭＰＵ１で特定処理を実行するようにしたので、ＭＰＵ１とＭＰＵ２における待機時間を短くすることができ、その結果データ処理を高速に行なうことができる。
【００４２】
［第２の実施の形態］
第２の実施の形態におけるデータ処理システムは、第２の実施の形態におけるデータ処理システムを画像処理に適用したものである。画像処理においては処理１から処理６までの４つの処理が行なわれる。処理１は、ＳＨ補正処理（シェーディング補正処理）であり、入力データである画像データがＣＣＤ等の光電変換素子で読込まれる場合に生ずるＣＣＤ等の光電変換素子の性能のばらつきに起因する読取むら（シェーディングむら）を除去するための補正処理である。
【００４３】
処理２はＬｏｇ変換処理であり、ＳＨ補正処理が施されたデータとＬｏｇ関係にあるデータに変換する処理である。
【００４４】
処理３は変倍処理であり、入力される画像データを拡大または縮小したデータに変換する処理である。処理４はＭＴＦ補正処理であり、先鋭度補正とも言われ、たとえばラプラシアンフィルタ等のデジタルフィルタを用いて入力データに先鋭度補正を行なう処理である。
【００４５】
処理５はγ補正処理であり、画像データを入力する装置と画像データを出力する装置との階調カーブの差異を補正する処理である。たとえば、２５６ワード８ビットのＬＵＴ（ルックアップテーブル）を用いて、非線形γ補正データを出力する処理である。
【００４６】
処理６は、２値化処理であり、γ補正処理が施されたデータを明暗に応じた１ビットの２値データに変換する処理である。２値化処理には、たとえば誤差拡散２値化方式等の面積階調２値化法を用いることができる。
【００４７】
図７は、画像データの属性と変倍処理で処理される倍率とによって区分されるパターン別の処理１〜処理６で要する負荷を示す図である。図を参照して、パターンＡは、画像データのうち処理対象となる画素データの属性が「文字」で、処理３で変倍処理される倍率が「１」のパターンであり、そのときの処理１〜処理６のそれぞれに要する負荷は、順に「１」、「１」、「０」、「３」、「１」、「１」である。
【００４８】
パターンＢは、処理対象となる画素データの属性は「文字」で、処理３で変倍処理される倍率が「４」のパターンである。パターンＣは処理対象となる画像データの属性が「写真」で処理３で、変倍処理される倍率が「１」を示す。パターンＤは、処理対象となる画像データの属性が「写真」で、処理３で変倍処理される倍率が「４」であるパターンを示す。パターンＢ〜パターンＤにおける処理１〜処理６のそれぞれにおける負荷は、図７に示すとおりである。図７に示すパターン別の処理部の負荷から判るように、本実施の形態における画像処理システムで行なわれる画像処理は、パターンが異なることによって、処理１〜処理６で要する負荷が異なってくる。
【００４９】
本実施の形態におけるデータ処理システムでは、処理５を特定処理とすると、前段のＭＰＵ１で実行可能な処理を処理１〜処理５となり、後段のＭＰＵ２で実行可能な処理を処理５〜処理６となる。そして、各ＭＰＵで行なわれる処理は図３に示した処理の流れに従って実行される。
【００５０】
図８は、本実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２の動作状態の時系的変化を従来のデータ処理装置と比較して示す図である。図８（Ａ）は、本実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２の動作状態を示す図であり、図８（Ｂ）は従来のデータ処理装置のＭＰＵ２１とＭＰＵ２２の動作状態を示す図である。従来のデータ処理装置では、前段のＭＰＵ１で処理１〜処理４を実行し、後段のＭＰＵ２で処理５と処理６とを実行する。
【００５１】
図８（Ａ）を参照して、入力データＢ以降に入力されるデータは、処理１〜処理５がＭＰＵ１で実行され、処理６のみがＭＰＵ２で実行される。この結果、ＭＰＵ１とＭＰＵ２それぞれの待機時間が短くなっている。また、入力データそれぞれの処理が開始されてから終了するまでの時間の、従来のデータ処理装置における時間より短縮されている。
【００５２】
このように、本実施の形態におけるデータ処理システムは、処理対象のデータの属性や処理する内容が処理対象となるデータにより異なり各処理で要する負荷が変動する場合であっても、ＭＰＵ１とＭＰＵ２の待機時間を短くすることができ、データの処理を高速に行なうことができる。
【００５３】
［第３の実施の形態］
第３の実施の形態におけるデータ処理システムは、第２の実施の形態におけるデータ処理システムで行なわれる処理に種類判別処理を付加したものである。
【００５４】
図９は、本実施の形態におけるデータ処理システムで行なわれる処理を説明するための図である。本実施の形態におけるデータ処理システムで行なわれる処理は、ＳＨ補正処理、種類判別処理、Ｌｏｇ変換処理、変倍処理、ＭＴＦ補正処理、γ補正処理、２値化処理であり、これらの処理がこの順に行なわれる。
【００５５】
種類判別処理とは、処理対象となる画素データの種類を判別する処理である。画素データの種類とは、「背景」と「属性」の２種類をいう。種類判別は、背景判別と属性判別とを含む。
【００５６】
背景判別においては、処理対象となる画素データの背景が判別される。ここで、「背景」とは、処理対象となる画素データが属する背景領域をいい、「画像」と「無地」とを含む。「画像」とは、濃淡の変化がある領域で下地に画像が描かれた領域である。「無地」とは、濃淡の変化のない領域で下地に何も描かれていない領域である。
【００５７】
また、属性判別においては、処理対象となる画素データの属性が判別される。ここで、「属性」とは、処理対象となる画素データが属する領域をいい、「文字」と「写真」の領域を含む。「文字」とは、文字が描かれた領域である。「写真」とは、写真が描かれた領域である。
【００５８】
図１０は、種類判別処理で行なわれる処理の流れを示すフロー図である。図を参照して、領域判別処理は、属性判別処理（ステップＳ２１）と背景判別処理（ステップＳ２２）とを行ない、属性判別処理で判別された属性と背景判別処理で判別された背景をもとに４つの種類を判別する（ステップＳ２３〜ステップＳ２９）。すなわち、属性が文字で背景が画像の場合には、画素データの種類を「１」とし（ステップＳ２５）、属性が文字で背景が無地の場合には画素データの種類を「２」とし（ステップＳ２６）、属性が写真で背景が画像の場合には画素データの種類を「３」とし（ステップＳ２８）、属性が写真で背景が無地の場合には画素データの種類を「４」とする（ステップＳ２９）。
【００５９】
この種類判別処理は、処理対象となる画素データを４つの種類に分類するものである。後述するように、画素データの処理に伴う負荷がこの４つの種類により大きく異なるので、処理を施す前にその画素データの種類を予め判別することで、後で行なう処理の負荷を予測することができる。
【００６０】
図１１は、種類判別処理により判別される種類別の処理１〜処理７における負荷を示す図である。図を参照して、種類１〜４により、処理１〜処理７における負荷がそれぞれ示されている。処理１のＳＨ補正処理と処理２の背景判別処理については、種類に関係なくすべて負荷が「１」となる。他の処理については、それぞれ図に示すとおり「０」から「３」の間の値となっている。
【００６１】
ＭＰＵ１で実行可能な処理から特定処理を除いた処理における負荷とＭＰＵ２で実行可能な処理から特定処理を除いた処理の負荷とがほぼ同じとなるように、処理対象の画素データの種類によって特定処理を決定する。
【００６２】
図１２は、処理対象となる画素データの種類別の特定処理を示す図である。図を参照して、処理対象の画素データの種類が「１」の場合は、処理３〜処理５を特定処理とし、このときの特定処理より前の処理の負荷は「２」となり特定処理より後の処理の負荷は「２」となる。また、特定処理の負荷は「４〜」となる。これは、変倍処理により特定処理の負荷が変更することによるものである。
【００６３】
処理対象となる画素データの種類が「２」の場合には、処理３〜処理６が特定処理となる。同様に、処理対象となる画素データの種類が「３」の場合には処理４〜処理６が、種類が「４」の場合は処理３〜処理６がそれぞれ特定処理となる。
【００６４】
このように、処理対象となる画像データの種類を判別して、その後の処理で行なわれる処理の負荷を予め予測し、予測された負荷に基づいてＭＰＵ１とＭＰＵ２との両方で実施することができる特定処理を変更する。特定処理を変更することにより、処理対象となる画像データの負荷に応じた処理をＭＰＵ１とＭＰＵ２とに分担させることができるので、より待機時間を短縮してデータの処理速度を高速間することが可能となる。
【００６５】
図１３は、本実施の形態におけるデータ処理システムのＭＰＵで行なわれる処理の流れを示すフロー図である。図を参照して、図３に示した第１の実施の形態におけるＭＰＵで行なわれる処理と異なる点は、ステップＳ３５において処理対象となる画素データの種類により定数Ｓと定数Ｌを決定する処理（ステップＳ３５）が加わった点である。その他の点については図３で示した処理の流れと同様であるので、ここでの説明は繰返さない。
【００６６】
ステップＳ３５で行なわれる処理は、処理２の種類判別処理で判別された種類により、図１２で示す特定処理に基づいて特定処理の最初の処理の番号を示す定数Ｓと特定処理の最後の処理の番号を示すＬを決定するものである。この定数Ｓと定数Ｌとはそれぞれ、ステップＳ４０、ステップＳ４１においてＭＰＵが実行を終了した処理の番号Ｆと比較判断する処理で用いられる。
【００６７】
後段のＭＰＵ２では、種類判別処理を行なわないため、処理対象となる画素データがどの種類を有する画素データであるのか不明である。そのため、前段のＭＰＵ１から後段のＭＰＵ２へデータＤＡＴＡを送信する際に、「種類」も合わせて送信される。
【００６８】
図１４は、本実施の形態におけるデータＤＡＴＡのデータフォーマットを示す図である。図を参照して、データＤＡＴＡのデータフォーマットは、２ビットの種類フラグと４ビットの処理フラグと８ビットの処理データとよりなる。種類フラグには、処理判別処理で判別された処理対象の画素データの種類が書込まれて送信される。種類フラグのビット数を２ビットととしたのは、本実施の形態における「種類」が４種類だからである。後の処理の負荷を予測するために判別される種類が４種類以上ある場合には、これより多くのビット数が必要となる。
【００６９】
以上説明したとおり、本実施の形態におけるデータ処理システムにおいては、種類判別処理において、処理対象となる画像データがこれから行なわれる処理でどれだけの負荷を要する画素データであるのかを予測し、予測した結果に基づいて特定処理を変更しているので、ＭＰＵ１とＭＰＵ２の待機時間を短くすることができ、データの処理を高速に行なうことができる。
【００７０】
［第４の実施の形態］
第４の実施の形態におけるデータ処理システムは、第３の実施の形態におけるデータ処理システムが種類判別処理により判別された種類に基づいて特定処理を変更したのに対して、種類判別処理により判別された種類に基づいて前段のＭＰＵ１で行なう処理と後段のＭＰＵ２で行なう処理を決定するようにしたものである。図１１を参照して、点線１０よりも前の処理がＭＰＵ１で行なわれる処理となり、点線１０より後の処理がＭＰＵ２で行なわれる処理となる。具体的には、処理対象となる画素データの種類が「１」と「２」の場合には、処理１〜処理４がＭＰＵ１で実行され、処理５〜処理７がＭＰＵ２で実行される。種類が「３」と「４」の場合には、処理１〜処理５がＭＰＵ１で実行され、処理６と処理７がＭＰＵ２で実行される。
【００７１】
本実施の形態においては、特定処理を処理５とすると、特定処理を行なうＭＰＵを処理対象となる画素データの種類に応じて決定するものである。
【００７２】
したがって、処理対象となる画素データの負荷を種類判別処理により判別された種類に基づいて予測することができ、予測された負荷に応じて特定処理を実行するＭＰＵを決定するので、ＭＰＵ１とＭＰＵ２で生ずる待機時間を短くすることができる。その結果、データ処理を高速に行なうことができる。
【００７３】
なお、本実施の形態においては、データ処理システムについて説明したが、図３、図１０または図１３に示すフローをコンピュータに実行させるためのプログラムを記録した記録媒体として捉えることもできる。
【００７４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】第１の実施の形態におけるデータ処理システムにおけるＭＰＵ間のデータ入出力を説明するためのブロック図である。
【図２】第１の実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２との動作状態の時間的変化を示す図である。
【図３】第１の実施の形態におけるデータ処理システムのＭＰＵで行なわれる処理の流れを示すフロー図である。
【図４】第１の実施の形態におけるＭＰＵ１とＭＰＵ２との間で引渡されるデータＤＡＴＡのデータフォーマットを示す図である。
【図５】処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷より常に小さい入力データを処理する場合における各ＭＰＵの状態を従来のデータ処理装置と比較して示す図である。
【図６】処理１〜処理５に要する負荷が処理６〜処理１０に要する負荷より常に大きい入力データを処理する場合における各ＭＰＵの状態を従来のデータ処理装置と比較して示す図である。
【図７】処理対象の画素データの属性と変倍処理される倍率とに基づき決定されるパターン別の処理１〜処理６における負荷を示す図である。
【図８】第２の実施の形態におけるデータ処理システムのＭＰＵ１とＭＰＵ２との動作状態の時間的変化を従来のデータ処理装置と比較して示す図である。
【図９】第３の実施の形態におけるデータ処理システムで行なわれる処理を説明するための図である。
【図１０】種類判別処理の流れを示すフロー図である。
【図１１】処理対象となる画素データの種類別に処理１〜処理７における負荷を示す図である。
【図１２】処理対象となる画素データの種類別に特定処理を示す図である。
【図１３】第３の実施の形態におけるデータ処理システムのＭＰＵで行なわれる処理の流れを示すフロー図である。
【図１４】第３の実施の形態におけるデータＤＡＴＡのデータフォーマットを示す図である。
【図１５】従来のデータ処理装置におけるＭＰＵ間のデータ入出力を説明するためのブロック図である。
【図１６】従来のデータ処理装置のＭＰＵ２１とＭＰＵ２２との動作状態の時間的変化を示す図である。
【符号の説明】
１，２  ＭＰＵ
２１，２２  ＭＰＵ
１０  点線
【図１】
0004348760.tif 000002
【図２】
0004348760.tif 000003
【図３】
0004348760.tif 000004
【図４】
0004348760.tif 000005
【図５】
0004348760.tif 000006
【図６】
0004348760.tif 000007
【図７】
0004348760.tif 000008
【図８】
0004348760.tif 000009
【図９】
0004348760.tif 000010
【図１０】
0004348760.tif 000011
【図１１】
0004348760.tif 000012
【図１２】
0004348760.tif 000013
【図１３】
0004348760.tif 000014
【図１４】
0004348760.tif 000015
【図１５】
0004348760.tif 000016
【図１６】
0004348760.tif 000017