JP4540054B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP4540054B2
JP4540054B2 JP2005015957A JP2005015957A JP4540054B2 JP 4540054 B2 JP4540054 B2 JP 4540054B2 JP 2005015957 A JP2005015957 A JP 2005015957A JP 2005015957 A JP2005015957 A JP 2005015957A JP 4540054 B2 JP4540054 B2 JP 4540054B2
Authority
JP
Japan
Prior art keywords
processing
mpu
data
attribute
pixel data
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
Application number
JP2005015957A
Other languages
English (en)
Other versions
JP2005174365A (ja
Inventor
俊哉 白澤
健一 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2005015957A priority Critical patent/JP4540054B2/ja
Publication of JP2005174365A publication Critical patent/JP2005174365A/ja
Application granted granted Critical
Publication of JP4540054B2 publication Critical patent/JP4540054B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Description

この発明はデータ処理システムに関し、特に複数の処理部で複数の処理を所定の順序に従って実行するデータ処理システムに関する。
図30は、第1の従来技術として、同期パイプライン方式のデータ処理装置の概略を示すブロック図である。従来のデータ処理装置は、MPU70と、画像入力装置71と、SH補正、Log変換、MTF補正、ガンマ補正、2値化の5つの処理をそれぞれ行なう処理部72〜76と、画像出力装置77とを含む。画像入力装置71は、CCD等の光電変換素子とこれを操作する駆動系およびA/D変換器からなり、たとえば連続階調画像と線画等からなる混在原稿をスキャンして標本化アナログ信号を生成し、A/D変換器にてその標本化アナログ信号を1画素がたとえば8ビット(256階調)の値を持つ連続階調反射率データとして量子化し、デジタル信号を出力する。
処理部72は、SH補正処理を行なう。SH補正処理とは、シェーディング補正とも言われ、画像入力装置71のCCDの光電変換素子における性能等のばらつきに起因する読取むら(シェーディングむら)を除去するための補正処理を言う。
処理部73は、Log変換処理を行なう。Log変換処理とは、SH補正処理が施された連続階調反射率データとLog関係にある8ビット連続階調濃度データを算出し、出力する処理を言う。
処理部74は、MTF補正処理を行なう。MTF補正処理とは、先鋭度補正であり、処理部73で画像データにLog変換処理を施して得られる8ビット連続階調濃度データに先鋭度補正をたとえばラプラシアンフィルタ等のデジタルフィルタを用いて行なう。
処理部75は、ガンマ補正処理を行なう。ガンマ補正処理とは、データ処理装置全体として望ましてガンマ特性を実現するために、画像入力装置71と画像出力装置77との階調カーブの差異を補正する処理である。たとえば、256ワード8ビットのLUT(ルックアップテーブル)を用いて、非線形ガンマ補正データを出力する処理である。また、ガンマ補正処理が、操作者が自己の望ましいガンマ特性を設定するためにも行なうことができる。
処理部76は、2値化処理を行なう。2値化処理とは、ガンマ補正された8ビット連続階調濃度データを明暗に応じた1ビットの2値データに変換する処理である。2値化処理には、たとえば誤差拡散2値化方式等の面積階調2値化法が用いられる。
画像出力装置77は、電子写真プリンタあるいはインクジェットプリンタ等のプリンタであり、紙などの出力媒体に処理部76で2値化された1ビットの2値データを印字する。
画像入力装置71と、処理部72〜76と、画像出力装置77とは、画像データバスで接続されており、それぞれに共通の画素クロックに同期して入力されるデータを処理する。
このように、第1の従来技術で示した同期パイプライン方式のデータ処理装置は、画像入力装置71で入力された画像データが、処理部72〜76で1つの画素データごとに順に処理が施される。画像入力装置71と、処理部72〜76と、画像出力装置77との間で画素データの入出力の同期をとるために、1つの画素データごとに対応した画素クロックがクロック発振器(図示しない)により発生され、画像入力71、処理部72〜76、画像出力装置77が画素クロックに同期して動作する。
また、第2の従来技術では、第1の従来技術で示した5つの処理を5つの処理部で非同期処理する方式がある。図31は、非同期処理方式を説明するためのブロック図である。図31を参照して、処理ブロック81,82,83は、それぞれ固有のクロック85,86,87で動作して処理を行なうことができる。ただし、それぞれの処理ブロックは同期せずに動作するので、処理ブロック間でデータを直接授受することができない。このため、ブロック間に所定容量のバッファメモリ83,84を備える必要がある。バッファメモリ83,84を備えることで、処理ブロック80,81,82それぞれの間の処理速度の差を吸収することができるからである。
さらに、第3の従来技術として同じ処理を並列して処理する並列処理方式がある。たとえば、特開昭61−28164号公報に開示されている技術は、並列処理する複数のイメージパイプラインプロセッサをリング状に連結したパイプラインプロセッサをタスク(画像データ)およびタスクごとのオブジェクトプログラムおよびタスクごとのテーブルをメモリからロードし、所定のタスクについては並列で処理する技術が開示されている。
しかしながら、第1の従来技術で示した同期パイプライン方式のデータ処理装置では、画像入力装置71、処理ブロック72〜76、画像出力装置77のそれぞれが画素クロックに同期して動作するようにしているため、画素クロックは画像入力装置71と処理ブロック72〜76と画像出力装置77のうち最も動作速度の遅いものに合わせて発生させなければならなかった。このため、ボトルネックとなる処理ブロック(動作速度の遅い処理ブロック)に合わせて回路を構成しなければならず回路設計が困難であった。
また、第2の従来技術で示した非同期処理方式のデータ処理装置では、第1の従来技術で示した同期パイプライン方式に比べて、ボトルネックとなる処理ブロックがデータ処理装置の処理速度を決定してしまうようなことにはならけれども、バッファメモリが必要となるためコストアップとなる。また、バッファメモリには2つの処理ブロックからのデータの書込と読出が発生するため、処理ブロック間でいずれか1つの処理ブロックがバッファメモリへアクセスすることができるように調停する処理を、各処理ブロックで行なうか、もしくはバッファメモリごとに備えたコントローラで行なわなければならないという問題があった。
さらに、第3の従来技術で示した並列処理方式では、処理負荷の大きい処理について並列接続した複数の処理ブロックにより処理するので、高速に処理することができるが、負荷の大きい処理を実行する処理ブロックを予め余分に追加するため、入力されるデータにより処理ブロックの負荷が変動するような場合には、負荷が小さいときは並列接続されている処理ブロックの一方を使わないことになり、装置のパフォーマンスが悪くなるといった問題があった。
この発明は上述の問題点を解決するためになされたもので、非同期処理の制御に工夫をこらし、処理するデータによって負荷に変動が生じるような場合であっても、データの高速処理を可能としたデータ処理システムを提供することを目的とする。
上述した目的を達成するためにこの発明のある局面によれば、データ処理システムは、シリアルに入力される複数の入力データに、種類の異なる複数の処理を非同期で施すデータ処理システムであって、複数の処理のそれぞれを実行するための、予め初期設定状態における処理の種類が決められた複数の処理部と、複数の処理は、複数の入力データごとに、複数の属性のうちのいずれかの属性を検出する属性判別処理を含み、属性判別処理により複数の入力データごとに検出された属性が複数の属性のうちの所定の属性である場合には、複数の処理部のうち少なくとも1つの特定の処理部で実行する処理の種類を、他の処理部で実行する予め定められた処理であって負荷が大きい負荷処理に変更し、当該少なくとも1つの特定の処理部と他の処理部とにより負荷処理を実行させ、検出された属性が所定の属性でない場合には、前記少なくとも1つの特定の処理部の処理の種類を初期設定状態にリセットし、前記初期設定状態における種類の処理を実行させる動作制御手段とを備える。
好ましくは、複数の処理部は、複数の処理の数より多くあり、初期設定状態における処理の種類が複数の処理のいずれも実行しない予備処理部を少なくとも1つ含み、動作制御手段は、検出された属性が所定の属性である場合には予備処理部が負荷処理を実行するように処理の種類を変更し、検出された属性が所定の属性でない場合には予備処理部の処理の種類を初期設定状態にリセットすることを特徴とする。
好ましくは、複数の処理部それぞれで処理が実行された結果を記憶する記憶手段をさらに備え、動作制御手段は、検出された属性が所定の属性である場合には、負荷処理より後段の処理を実行する処理部のそれぞれが直前の処理を実行するように、処理の種類を変更し、検出された属性が所定の属性でない場合には、負荷処理より後段の処理を実行する処理部の処理の種類を初期設定状態にリセットし、前記初期設定状態における種類の処理を実行させることを特徴とする。
好ましくは、複数の処理部は、複数の処理のうち自己が実行する自己処理の直後の処理を実行する処理部に対して、自己処理を実行した後の入力データを引き渡すことを特徴とする。
好ましくは、入力データは、画像データであり、複数の処理は、種類の異なる複数の画像処理である。
好ましくは、所定の属性とは文字属性または線画属性を含み、動作制御手段は、属性判別処理により検出された属性が文字属性または線画属性であるときに、複数の処理部のうち少なくとも1つの特定の処理部で実行する処理の種類を変更する。

これらの発明に従うと、入力されるデータの種類によらず、入力されるデータの負荷に応じて処理部で実行する処理を切換えるので、データの高速処理を可能としたデータ処理システムを提供することができる。
以下、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当する部材を示す。
[第1の実施の形態]
図1は、この発明の第1の実施の形態におけるデータ処理装置の概略を示すブロック図である。図を参照して、第1の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU2〜6と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU2〜6、画像出力装置8(以下「MPU等1〜8」と言う)の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU等1〜8の動作を制御するデータフロー制御部9と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12とを含む。
MPU2〜6はマイクロプロセッシングユニットであり、それぞれのMPU2〜6で処理する内容は、データフロー制御部9からの指示により定められ、データフロー制御部9の内部に設けられたROMに記憶されている処理プログラムをロードすることにより、それぞれのMPU2〜6で実行する処理が決められる。初期状態、たとえばデータ処理装置の電源がオンされた状態や、1頁分の画像データが入力された場合などには、MPU2はSH補正処理を、MPU3はLog変換処理を、MPU4はMTF補正処理を、MPU5はガンマ補正処理を、MPU6は2値化処理を行なうようにデータフロー制御部9から指示を受け、それぞれのMPU2〜6で各プログラムがロードされる。なお、SH補正処理、Log変換処理、MTF補正処理、ガンマ補正処理、2値化処理の5つの処理の内容については、従来の技術の第1の従来技術で説明した処理と同じであるので、ここでの説明は繰返さない。
また、画像入力装置1と画像出力装置8についても同様に従来の技術で説明した画像入力装置71と画像出力装置77とそれぞれ同じであるのでここでの説明は繰返さない。
MPU等1〜8は、データフロー制御部9とシステムバス14で接続されおり、状態レジスタ10とシステムバス15で接続されている。また、MPU等1〜8は、画像データバス13でそれぞれ接続されており、MPU等1〜8の間で画素データの受渡し、および入力バッファメモリ11と出力バッファメモリ12への入出力が可能となっている。
図1に示すデータ処理装置は、原稿を画像入力装置1で読込むことにより、画像データが画素データごとに入力バッファメモリ11に記憶される。MPU2では、入力バッファメモリ11に記憶されている画素データを、画像入力装置1で記憶した順に読出し、SH補正処理を施す。MPU2でSH補正処理が施された画素データはMPU3に受渡される。MPU3ではMPU2より受取った画素データにLog変換処理を施しMPU4に画素データを受渡す。このように、画素データは、MPU2〜6に順に受渡されて、SH補正処理、Log変換処理、MTF補正処理、ガンマ補正処理、2値化処理が施され、MPU6で2値化処理が施された画素データは、出力バッファメモリ12に記憶される。画像出力装置8は、処理後の画素データを出力バッファメモリに記憶すると同時に、ディスプレイへの表示出力、または紙などの記録媒体への印刷出力をする。
図2は、前段の処理を実行するMPUと後段の処理を実行するMPUとの間でデータの受渡しの手順を説明するための図である。図2では、MPU3とMPU4との間のデータの受渡しの手順を例に示す。MPU3で処理が終了すると、MPU4に対して画素データDATAの引き渡しを要求するための信号REQを送信する。MPU4ではMPU3からの引き渡しを要求する信号REQを受信した後、MPU4で現在行なっている処理が終了した時点で、MPU3に対してデータの引き渡しに応じるための信号ACKをMPU3に送信する。MPU3でMPU4からのデータの引き渡しに応じる信号ACKを受信すると、MPU3はMPU4に対して画素データDATAを送信する。このようにして、MPU3とMPU4とでは、それぞれ非同期に処理を実行しつつ、画素データDATAの引き渡しが行なわれる。
MPU2〜6のそれぞれの間では、上述の手順により画素データDATAの引き渡しが行なわれ、それぞれのMPU2〜6で順次処理が行なわれる。しかし、画素データによっては、それぞれのMPU2〜6で処理に要する時間が等しくならない。たとえば、ある画素データについてはMTF補正処理に時間がかかり、MPU4の負荷が大きくなってしまい、その結果、MPU4がボトルネックとなり、データ処理装置全体としてのデータ処理速度が低下してしまうことになる。
この問題を避けるため、本実施の形態におけるデータ処理装置は、状態レジスタ10で、MPU2〜6の処理負荷を監視しており、データフロー制御部9で、処理負荷が大きくなったMPUの前段の処理を実行するMPUに対して負荷の大きくなったMPUで実行する処理を実行するように指示するようにしている。これについて詳細に説明する。
図3は、データフロー制御部9で行なわれる処理の流れを示すフロー図である。図を参照して、データフロー制御部9では、状態レジスタ10を参照して、各MPU2〜6の処理負荷の監視を行なう(ステップS01)。状態レジスタ10には、各MPU2〜6から送られてくる画素データの処理に要した処理時間や処理した画素データのアドレスが記憶されており、データフロー制御部は、状態レジスタ10の内容を見ることによりMPU2〜6それぞれの負荷を把握することができる。
その結果、処理負荷の大きいMPUがある場合には(ステップS02でYES)、負荷が大きいMPUの前段の処理を行なうMPUに対して、現在行なっている処理に加えて負荷が大きいMPUで実行する処理も引続き行なうよう制御信号ONを出力する(ステップS03)。たとえば、図1を参照して、MTF補正処理を行なうMPU4の負荷が大きくなった場合、データフロー制御部9は、状態レジスタ10の状況からMPU4の負荷が大きくなったことを検知し、MTF補正処理の前段の処理であるLog変換処理を実行するMPU3に対して、MPU3が現在行なっているLog変換処理に加えてMTF補正処理を続けて行なうように制御信号を出力する。これにより、MPU3は、Log変換処理に加えてMTF補正処理を行なうことになる。
処理負荷の大きいMPUがない場合には(ステップS02でNO)、各MPU2〜6に初期設定の処理を実行することを示す制御信号OFFを出力する(ステップS04)。
その後、すべての画素データについて処理が終了したか否かが判断され(ステップS05)、未処理の画素データがある場合には上述の処理を繰り返し、すべての画素データについて処理した場合には、処理を終了する。
このように、負荷の大きくなったMPUで実行する処理をその前段の処理を行なうMPUと並列して行なうようにすることで、負荷を分散することができ、データ処理装置全体としてデータ処理速度を高めることができる。
データフロー制御部9で、負荷が大きいMPUを判断する際には(図3におけるステップS02)、それぞれのMPU2〜6で処理するデータのアドレスを参照することにより行なわれる。
図4は、それぞれのMPUで実行する画素データのアドレス値の差を示す図である。画像入力装置1に入力される画像データは、画素データごとにアドレス値を持っており、このアドレス値は画像入力装置1に入力される順に付されるものである。これは、画像入力装置1に入力される画像データは、入力バッファメモリ11に記憶される時点で、入力バッファメモリ11のアドレス値として得られる。各MPU2〜6では、画素データの処理が終了するたびに、その画素データのアドレス値を状態レジスタ10に送信する。データフロー制御部9は、状態レジスタ10に記憶されている各MPUで実行している画素データのアドレス値から、それぞれのMPU2〜6で実行している画素データのアドレス差(dif_1,dif_2,dif_3,dif_4)を算出する。算出されたアドレス差が予め定められた設定値よりも小さくなった場合には、アドレス差が小さくなったMPUの前段のMPUの負荷が大きくなったと判断する。たとえば、ガンマ補正処理を行なうMPU5で実行するアドレス値とMTF補正処理を行なうMPU4で実行するアドレス値との差であるアドレス差dif_2が、予め設定されたしきい値reg_2よりも小さくなった場合には、前段の処理であるMTF補正処理を行なうMPU4の負荷が大きくなったと判断する。
アドレス差dif_1は、2値化処理を行なうMPU6とガンマ補正を行なうMPU5との間のアドレス差を示し、dif_2は、ガンマ補正処理を行なうMPU5とMTF補正処理を行なうMPU4との間のアドレス差を示し、dif_3は、MTF補正処理を行なうMPU4とLog変換処理を行なうMPU3との間のアドレス差を示し、dif_4は、Log変換処理を行なうMPU3とSH補正処理を行なうMPU2との間のアドレス差を示す。このアドレス差が小さいときには前段のMPUの負荷が大きいことを表わす。また、データフロー制御部9でこのアドレス差がしきい値よりも小さくなったときに、前段のMPUの負荷が大きくなったと判断する。このしきい値は、アドレス差(dif_1,dif_2,dif_3,dif_4)ごとに定められ、データフロー制御部内部のROMに予め記憶されている。
しきい値regを、MPU間同士で異ならせるのは次の理由による。たとえば、MTF補正処理においてラプラシアンフィルタを用いた処理のように複数画素からなるマトリックス演算を行なう場合には、相当分のアドレス差が必要となる。図5は、3×3のフィルタを用いてMTF補正処理を行なう場合の画素データを説明するための図である。図を参照して、MTF補正処理を3×3のフィルタを用いて行なう場合、処理の対象となる画素を中心とする3×3のマトリックスで囲まれた画素のすべてについてLog変換処理が終了している必要がある。したがって、MTF補正処理では、処理の対象となる画素の前後1ライン分のデータが必要となるため、MTF補正処理の前段の処理であるLog変換処理が、MTF補正処理の対象となる画素のアドレスと(1ライン分の画素数+1)のアドレス差が必要となる。このことを考慮して、MTF補正処理を行なうMPU4とLog変換処理を行なうMPU3との間のアドレス差に対するしきい値を設定する必要がある。
したがって、アドレス差dif_1に対するしきい値reg_1と、dif_2に対応しるしきい値reg_2と、dif_3に対応するしきい値reg_3と、dif_4に対応するしきい値reg_4は1以上、好ましくは1のしきい値とすればよく、dif_2に対応するしきい値reg_2は(1ライン分の画素数+1)以上、好ましくは(1ライン分の画素数+1)のしきい値とすればよい。
図6は、MPU2〜6のそれぞれで行なわれる処理の流れを示すフロー図である。図を参照して、MPU2〜6では、画素データの取込が行なわれる(ステップS11)。MPU2は、入力バッファメモリ11より画素データを取込み、MPU3〜6は、それぞれ前段の処理を行なうMPUより画素データを受取る。たとえば、MPU3はMPU2より画素データを受取る。
次に、データフロー制御部9より制御信号を受信したか否かの判断がなされる(ステップS12)。なお、ここで受信する制御信号は制御信号ONと制御信号OFFのいずれかである。受信した制御信号が制御信号ONの場合には(ステップS12でYES)、データフロー制御部9内部のROMより後段の処理のプログラムをロードし、現在行なっている処理(初期設定の処理)と後段の処理との2つの処理を実行する(ステップS14)。
制御信号ONを受信していない場合、すなわち制御信号OFFを受信した場合には(ステップS12でNO)、現在実行している処理(初期設定の処理)を実行する(ステップS13)。その後、処理した画素データを出力する(ステップS15)。MPU2〜5においては、後段の処理を実行するMPU3〜6に処理した画素データを引き渡す。たとえば、MPU2はMPU3に処理した画素データを引き渡す。MPU6は、処理した画素データを画像出力装置7に画素データを引き渡す。
その後状態レジスタ10に、画素データのアドレスとその画素データを処理した時間または処理速度を書込む(ステップS16)。
そして、すべての画素データの処理が終了したか否かの判断がなされ(ステップS17)、処理が終了していない場合にはステップS10からステップS16までの処理を繰返し、すべての画素データの処理が終了した場合には処理を終了する。
ここで言う初期設定処理と後段の処理とは、たとえばMPU3では、初期設定処理はLog変換処理であり、後段の処理はMTF補正処理である。
図7は、本実施の形態におけるデータ処理装置において、データフロー制御部9によりMPU4の負荷が大きいと判断されたとき、各MPU2〜6で行なわれる処理を示した図である。図7を参照して、MPU3においては、Log変換処理に加えてMTF補正処理が実行される。また、この状態での画素データの流れは、第1の流れとして、MPU2でSH補正処理が施された画素データは、MPU3でLog変換処理とMTF補正処理が施され、その後、MPU5に引き渡されてガンマ補正処理が施される。第2の流れとして、MPU2でSH補正処理が施された画素データは、MPU3でLog変換処理のみが施された後MPU4に引き渡されてMTF補正処理が施され、その後、MPU5に引き渡されてガンマ補正処理が施される。
以上説明したとおり、本実施の形態におけるデータ処理装置は、データフロー制御部9で各MPU2〜6の負荷が常に監視され、負荷が大きいと判断されたMPUの前段のMPUに対して現在行なっている処理に加えて負荷が大きいMPUで行なっている処理も並列して実行するようにしたので、MPU2〜6の間で負荷が分散され、その結果、データ処理装置全体としてデータ処理の速度を速めることができる。
また、本実施の形態においては、データフロー制御部9で各MPU2〜6の負荷を常に監視し、負荷が大きいと判断されたMPUで実行する処理の前段の処理を実行するMPUに対して現在行なっている処理に加えて負荷が大きいMPUで実行する処理も並列して実行するようにしたが、負荷が大きいと判断されたMPUで実行する処理の後段の処理を実行するMPUに対して現在行なっている処理に加えて負荷が大きいMPUで実行する処理も並列して実行するようにしてもよい。このように、データフロー制御部9でMPU2〜6で実行する処理を変更することによっても、MPU2〜6の間で負荷を分散することができ、データ処理装置全体としてデータ処理速度を高めることができる。
この場合には、データフロー制御部9の処理は、図3のステップS03において、負荷が大きいMPUの後段の処理を行なうMPUに対して、現在行なっている処理に加えて負荷が大きいMPUで実行する処理も引続き行なうよう制御信号ONを出力する(ステップS03)。たとえば、図1を参照して、MTF補正処理を行なうMPU4の負荷が大きくなった場合、データフロー制御部9は、状態レジスタ10の状況からMPU4の負荷が大きくなったことを検知し、MTF補正処理の後段の処理であるガンマ補正処理を実行するMPU5に対して、MPU5が現在行なっているガンマ補正処理に加えてMTF補正処理を行なうように制御信号を出力する。これにより、MPU3は、MTF補正処理とガンマ補正処理とを行なうことになる。
一方、MPU3〜6の処理は、図6のステップS13において、受信した制御信号が制御信号ONのときは、ステップ14でデータフロー制御部9内部のROMより前段の処理のプログラムをロードし、現在行なっている処理(初期設定の処理)と前段の処理との2つの処理を実行する(ステップS14)ことになる。
この場合におけるデータ処理装置で、データフロー制御部9によりMPU4の負荷が大きいと判断されたときのMPU2〜6で実行される処理の状態を図8に示す。図8を参照して、MPU5においては、MTF補正処理処理とガンマ補正処理が実行される。また、この状態での画素データの流れは、第1の流れとして、MPU3でLog変換処理が施された画素データは、MPU4でMTF補正処理が施され、その後、MPU5に引き渡されてガンマ補正処理が施される。第2の流れとして、MPU3でLog変換処理が施された画素データは、MPU5に引き渡されてMTF補正処理とガンマ補正処理が施される。
[第2の実施の形態]
図9は、第2の実施の形態におけるデータ処理装置の概略を示すブロック図である。図を参照して、第2の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU21〜26と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU21〜26、画像出力装置8の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU21〜26の動作を制御するデータフロー制御部20と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12とを含む。
MPU21〜25は、初期設定の状態ではそれぞれ、SH補正処理、Log変換処理、MTF補正処理、ガンマ補正処理、2値化処理を行なう。MPU26は、初期設定状態では処理を何も行なわない。
第2の実施の形態におけるデータ処理装置は、データフロー制御部20でMPU21〜25のうち負荷が大きいとされたMPUで実行する処理を、MPU26で並列して実行するようにしたものである。
図10は、第2の実施の形態におけるデータフロー制御部20で行なわれる処理の流れを示すフロー図である。図を参照して、データフロー制御部20は、状態レジスタ10に記憶されている各MPUで実行する画素データのアドレスを取得する(ステップS31)。状態レジスタから取得した各MPUで実行する画素データのアドレス値よりアドレス差を求め、求めたアドレス差から負荷が大きいMPUを検出する(ステップS32)。負荷が大きいMPUがあると判断された場合には(ステップS32でYES)、負荷が大きいと判断されたMPUで実行する処理を行なうよう制御信号をMPU26へ出力する(ステップS33)。
一方、負荷が大きいMPUがないと判断された場合には(ステップS32でNO)、リセットするよう制御信号をMPU26へ出力する(ステップS34)。
その後、全画素データを終了したか否かが判断され(ステップS35)、未処理の画素データがある場合には上述の処理が繰返され、すべての画素データを処理した場合には処理を終了する。
図11は、MPU26で行なわれる処理の流れを示すフロー図である。図を参照して、MPU26では、データフロー制御部から出力する制御信号を受信する(ステップS41)。ここで受信する制御信号は、負荷が大きい処理を行なうことを示す制御信号もしくはリセットすることを示す制御信号のうちいずれかである。
次に、受信した制御信号がリセット信号が否かの判断がなされ(ステップS42)、受信した制御信号がリセット信号の場合には、処理を何も行なわないようリセット処理がなされ(ステップS44)、ステップS47に進む。
一方、リセット信号でないと判断された場合、すなわち負荷が大きい処理を行なうことを示す制御信号を受信した場合には(ステップS42でNO)、負荷が大きいとされた処理のプログラムをデータフロー制御部20内のROMからロードし、その処理を実行する(ステップS43)。
そして、処理した画素データを出力する(ステップS45)。この場合、たとえば負荷が大きいとされた処理が2値化処理の場合には、処理した画素データを画像出力装置8に出力する。それ以外の処理である場合には、後段の処理を実行するMPUに対してデータを引き渡す。たとえば、負荷が大きいとされた処理がMTF補正処理である場合には、後段の処理であるガンマ補正処理を実行するMPU24に対してデータを引き渡す。
図12は、データフロー制御部20により、MTF補正処理を行なうMPU23の負荷が大きいとされた場合の各MPU21〜26で行なわれる処理を示す図である。図を参照して、MPU26では、データフロー制御部20が出力するMTF補正処理を行なうことを示す制御信号の受信により、データフロー制御部20内のROMからMTF補正処理プログラムがロードされ、MTF補正処理が実行される。この場合における画素データの流れは、MPU22でLog変換処理が施された画素データが、MPU23に引き渡される流れと、MPU26に引き渡される流れの2つある。MPU23またはMPU26に引き渡された画素データはMTF補正処理が施された後MPU24に引き渡される。
以上説明したとおり、第2の実施の形態におけるデータ処理装置は、初期設定状態で、処理を何も行なわないMPU26を設け、データフロー制御部20で負荷が大きいと判断されたMPUで実行する処理を処理を何も行なわないMPU26で並列して実行するようにしたので、MPU21〜25における負荷をMPU21〜26で分散することができるので、データ処理装置全体としてデータ処理の高速化を図ることができる。
[第3の実施の形態]
図13は、第3の実施の形態におけるデータ処理装置の概略を示すブロック図である。第3の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU31〜35と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU31〜35、画像出力装置8の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU31〜35の動作を制御するデータフロー制御部30と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12と、各MPU31で処理した画素データを記憶する中間バッファメモリ13〜17とを含む。
第3の実施の形態におけるデータ処理装置は、MPU31〜35で処理した画素データを、それぞれに対応する中間バッファメモリ13〜17に一時記憶することができる。初期設定の状態では、MPU31はSH補正処理を、MPU32はLog変換処理を、MPU33はMTF補正処理を、MPU34はガンマ補正処理を、MPU35は2値化処理をそれぞれ行なうように設定される。中間バッファメモリ13にはSH補正処理がなされた画素データが、中間バッファメモリ14にはLog変換処理がなされた画素データが、中間バッファメモリ15にはMTF補正処理がなされた画素データが、中間バッファメモリ16にはガンマ補正処理がなされた画素データが、中間バッファメモリ17には2値化処理がなされた画素データがそれぞれ記憶される。
図14は、第3の実施の形態におけるデータフロー制御部30で行なわれる処理の流れを示すフロー図である。図を参照して、データフロー制御部30では、状態レジスタ10に記憶された各MPU31〜35で処理が施される画素データのアドレス値より、各MPU31〜35の負荷が監視される(ステップS51)。取得された各MPU31〜35で実行する画素データのアドレス値より、負荷が大きいMPUがあるか否かが判断される(ステップS52)。
負荷が大きいMPUがあると判断された場合には、負荷が大きいとされた処理の後段の処理を実行するMPUに対して、負荷が大きいとされた処理を行なうよう制御信号が出力される(ステップS53)。一方、負荷が大きいMPUがないと判断された場合には(ステップS52でNO)、すべてのMPUに対してリセットするよう制御信号が出力される(ステップS54)。
そして、すべての画素データに対して処理が終了したか否かが判断され(ステップS55)、未処理の画素データがある場合には上述の処理が繰返され、すべての画素データの処理が終了した場合には処理を終了する。
図15は、第3の実施の形態におけるMPU31〜35で行なわれる処理の流れを示すフロー図である。図を参照して、MPU31〜35は、データフロー制御部30が出力する制御信号を受信する(ステップS61)。ここで受信する制御信号は、負荷が大きいとされた処理を行なうことを示す制御信号もしくはリセットを示す制御信号のいずれかである。
ステップS70で受信した制御信号が、リセットを指示する制御信号か否かが判断される(ステップS62)。リセットを指示する制御信号でない場合には、負荷が大きい処理の実行を指示する制御信号であるので、負荷が大きい処理のプログラムをデータフロー制御部30内のROMからロードし、ロードしたプログラムを実行する(ステップS64)。
受信した制御信号がリセットを指示する制御信号である場合には(ステップS62でYES)、初期設定の処理を実行する(ステップS63)。ここで、一度負荷大の処理の実行を指示する制御信号を受信して既に負荷大の処理を実行している場合に、リセットを示す制御信号を受信したときは、負荷大の処理の実行を中止し、初期設定の処理を実行を再開する。たとえば、MTF補正処理を行なうMPU33の負荷が大きいと判断されてMPU34に対してMTF補正処理を行なうよう制御信号が出力された場合には、MPU34は初期設定処理であるガンマ補正処理の実行を中止してMTF補正処理を実行する。その後、MPU33の負荷が小さくなったときは、データフロー制御部30はMPU34に対してリセットを指示する制御信号を出力する。MPU34は、リセットを指示する制御信号の受信により、MTF補正処理を中止して初期設定処理であるガンマ補正処理を再開することとなる。
次に、処理した画素データの出力が行なわれる(ステップS65)。画素データの出力は、中間バッファメモリ13〜17に対して行なわれる。中間バッファメモリ13〜17のそれぞれでは、記憶する画素データが定められているので、たとえば、MPU34でMTF補正処理を行なう場合には、MTF補正処理を施した画素データは、中間バッファメモリ15に出力される。
次に、MPU31〜35で処理を実行した画素データのアドレスとその画素データの処理に要した処理時間もしくは処理速度が状態レジスタ10に書込される(ステップS66)。その後、すべての画素データについて処理が終了したか否かの判断がなされ(ステップS67)、未処理の画素データがある場合には上述の処理が繰り返され、すべての画素データに対して処理が終了した場合には処理を終了する。
図16は、データフロー制御部30でMPU33の負荷が大きいとされたときのMPU31〜35で実行される処理の状態を示す図である。図16を参照して、MPU34では、データフロー制御部30が出力する前段の処理の実行を指示する制御信号の受信により、データフロー制御部30内のROMからMTF補正処理プログラムをロードし、MTF補正処理が実行される。同様に、MPU35では、データフロー制御部が出力する前段の処理の実行を指示する制御信号の受信により、データフロー制御部9内のROMよりガンマ補正処理プログラムをロードし、ガンマ補正処理が実行される。このとき、MPU34では、中間バッファメモリ14からLog変換処理が施された画素データを読込んでMTF補正処理を施し、MTF補正処理後の画素データを中間バッファメモリ15に書き込む。また、MPU35では、中間バッファメモリ15からMTF補正処理が施された画素データを読込んでガンマ補正処理を施し、ガンマ補正処理後の画素データを中間バッファメモリ16に書き込む。
以上説明したとおり、第3の実施の形態におけるデータ処理装置は、MPU31〜35のそれぞれに処理後の画素データを記憶する中間バッファメモリ13〜17を設けて、データフロー制御部20で負荷が大きいMPUがあると判断された場合に、負荷大の処理の後段の処理を実行するMPUでその前段の処理を実行するようにしたので、前段の処理ほど速く処理を終了することができ、データ処理装置全体としてデータ処理の速度を速めることができる。また、前段の処理ほど速く処理を終了することができるので、新たな画像データ、たとえば次の頁の画像データを速く入力することができる。
さらに、各MPUで処理を実行した結果を記憶する中間バッファメモリ13〜18を設けたので、非同期で処理を実行するMPU31〜35の間で異なる処理速度の差を吸収することができ、かつ、MPU31〜35で実行する処理の内容に変更が生じたとしても、中間バッファメモリ13〜18に記憶される画素データの種類は変わらないので、MPU31〜35で実行する処理の内容を容易に変更することができる。
[第4の実施の形態]
図17は、第4の実施の形態におけるデータ処理装置の概略を示すブロック図である。図を参照して、第4の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU41〜46と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU41〜46、画像出力装置8の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU41〜46の動作を制御するデータフロー制御部40と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12とを含む。
MPU41〜45は、初期設定の状態ではそれぞれ、SH補正処理、領域判別処理、色変換処理、MTF補正処理、ガンマ補正処理を行なう。MPU46は、初期設定状態では処理を何も行なわない。
第4の実施の形態におけるデータ処理装置は、データフロー制御部40でMPU41〜45のうち負荷が大きいとされたMPUで実行する処理を、MPU46で並列して実行するようにしたものである。なお、第4の実施の形態におけるデータ処理装置は、カラー画像データを取扱う点と、画素データに対して行なう処理に領域判別処理を加えた点でこれまで述べた実施の形態におけるデータ処理装置と異なる。
領域判別処理とは、処理対象となる画像データを含む所定の領域に含まれる複数の画素データに所定の処理を施すことにより、所定の領域の属性を判別し、処理対象となる画素データが属する領域の属性を判別する処理である。所定の領域の属性とは、たとえば、文字領域、線画領域、下地領域等がある。この領域判別処理は、公知の方法により、たとえば、3×3のマトリックスを用いて、そのマトリックス内に存在する画素データを比較することにより判別される。
そして、領域判別処理により、属性が判別された画素データは、その後の処理たとえばMTF補正処理に要する時間が変わってくる。たとえば、領域判別処理により画素データの属性が文字属性もしくは線画属性と判断された場合には、下地属性と判断された場合に比べてMTF補正処理に要する時間が長くなる。その結果、MTF補正処理を実行するMPUの負荷が大きくなる。したがって、領域判別処理の結果により、その後の処理(Log変換、MTF補正、ガンマ補正、2値化)を実行するMPUの負荷を予測することができる。
第4の実施の形態におけるデータ処理装置は、画素データが領域判別処理により判別された属性によりMPU41〜46で実行する処理を変更するようにしたものである。
図18は、第4の実施の形態におけるデータフロー制御部40で行なわれる処理の流れを示すフロー図である。図を参照して、データフロー制御部40は、MPU42で実行する領域判別処理の結果を取得する(ステップS71)。取得した画素データの領域判別処理の結果から、画素データが文字属性または線画属性であるか否かを判断する(ステップS72)。文字属性または線画属性と判断した場合には、MPU46に対してMTF補正処理を行なうよう制御信号を出力する(ステップS73)。一方、文字属性または線画属性と判断されない場合には(ステップS72でNO)、MPU46に対してリセットするよう制御信号を出力する(ステップS74)。その後、すべての画素データの処理が終了したか否かが判断され(ステップS75)、未処理の画素データがある場合には上述の処理が繰返され、すべての画素データに対して処理が終了した場合には処理を終了する。
図19は、第4の実施の形態におけるMPU46で行なわれる処理の流れを示すフロー図である。図を参照して、MPU46では、データフロー制御部40から出力する制御信号を受信する(ステップS81)。ここで受信する制御信号は、MTF補正処理の実行を示す制御信号もしくはリセットすることを示す制御信号のうちいずれかである。
次に、受信した制御信号がリセット信号か否かの判断がなされ(ステップS82)、受信した制御信号がリセット信号の場合には、処理を何も行なわないようリセット処理がなされ(ステップS84)、ステップS87に進む。
一方、リセット信号でないと判断された場合、すなわち負荷が大きい処理を行なうことを示す制御信号を受信した場合には(ステップS82でNO)、MTF補正処理のプログラムをデータフロー制御部40内のROMからロードし、その処理を実行する(ステップS83)。そして、処理した画素データを出力する(ステップS85)。この場合、MTF補正処理の後段の処理を実行するMPU45に画素データを引き渡す。次に、MPU46で処理を実行した画素データのアドレスとその画素データの処理に要した処理時間もしくは処理速度が状態レジスタ10に書込まれる(ステップS86)。
その後、すべての画素データについて処理が終了したかい否かの判断がなされ(ステップS87)、未処理の画素データがある場合には上述の処理が繰り返され、すべての画素データに対して処理が終了した場合には処理を終了する。
図20は、領域判別処理を行なうMPU42で処理する画素データが文字属性または線画属性であると判別された場合に、MPU46で行なわれる処理を示す図である。図を参照して、MPU46では、データフロー制御部40が出力するMTF補正処理の実行を示す制御信号を受信して、MTF補正処理が実行される。この場合における画素データの流れは、MPU43で色変換が施された画素データが、MPU44に引き渡される流れと、MPU46に引き渡される流れの2つある。MPU44またはMPU46に引き渡された画素データはMTF補正処理が施された後、ガンマ補正処理を実行するMPU45に引き渡される。
なお、領域判別処理で画素データが文字属性または線画属性と判別された場合には、その画素データの近傍の画素データも同じ属性であるのが通常である。したがって、図20に示すMPU41〜46で実行する処理は、領域判別処理を実行するMPU42で処理する画素データが文字属性もしくは線画属性と判別されている間継続する。そして、領域判別処理により画素データが文字属性もしくは線画属性でないと判断された場合には、MPU41〜46は初期設定の処理を実行する。つまり、MPU46は処理を何も行なわない状態となる。
以上説明したとおり、第4の実施の形態におけるデータ処理装置は、領域判別処理を実行するMPU42で、画素データが文字属性もしくは線画属性と判断された場合に、初期設定状態では処理を行なわないMPU46で、負荷が大きいと予測されるMTF補正処理を行なうようにしたので、MPU41〜45における負荷をMPU41〜46で分散することができる。その結果、データ処理装置に入力されるデータの属性により、MPU41〜46で実行する処理を動的に変えることで、データ処理を高速に行なうことができる。
[第5の実施の形態]
図21は、第5の実施の形態におけるデータ処理装置の概略を示すブロック図である。図を参照して、第5の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU51〜56と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU51〜56、画像出力装置8の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU51〜56の動作を制御するデータフロー制御部50と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12と、各MPU51〜56で処理した画素データを記憶する中間バッファメモリ13〜18とを含む。
第5の実施の形態におけるデータ処理装置は、MPU51〜56で処理した画素データを、それぞれに対応する中間バッファメモリ13〜18に一時記憶することができる。初期設定の状態では、MPU51はSH補正処理を、MPU52は領域判別処理を、MPU53はLog変換処理を、MPU54はMTF補正処理を、MPU55はガンマ補正処理を、MPU56は2値化処理をそれぞれ行なうように設定される。
中間バッファメモリ13にはSH補正処理がなされた画素データが、中間バッファメモリ14には領域判別処理がなされた画素データが、中間バッファメモリ15にはLog変換処理がなされた画素データが、中間バッファメモリ16にはMTF補正処理がなされた画素データが、中間バッファメモリ17にはガンマ補正処理がなされた画素データが、中間バッファメモリ18には2値化処理がなされた画素データがそれぞれ記憶される。
領域判別処理については、第4の実施の形態において説明したのでここでの説明は繰り返さない。第5の実施の形態におけるデータ処理装置は、領域判別処理の結果により、その後の処理(Log変換、MTF補正、ガンマ補正、2値化)を実行するMPUの負荷を予測することにより、MPU51〜56で実行する処理を動的に変更するようにしたものである。
図22は、第5の実施の形態におけるデータフロー制御部50で行なう処理の流れを示すフロー図である。図を参照して、データフロー制御部9は、MPU52で実行する領域判別処理の結果を取得する(ステップS90)。ステップS90で取得した領域判別処理の結果、処理された画素データが文字属性もしくは線画属性であるか否かが判断される(ステップS91)。画素データが文字属性もしくは線画属性と判断された場合には(ステップS91でYES)、MTF補正処理の後段の処理(ガンマ補正処理、2値化処理)を実行するMPU55,56に対し、前段の処理を実行するよう制御信号を出力する。すなわち、ガンマ補正処理を実行するMPU55に対しては、ガンマ補正処理の前段の処理であるMTF補正処理を実行するよう制御信号が出力され、2値化処理を実行するMPU56に対しては2値化処理の前段の処理であるガンマ補正処理を行なうよう制御信号が出力される。
一方、画素データが文字属性もしくは線画属性と判断されない場合には(ステップS91でNO)、MPU55,56に対しリセットするよう制御信号が出力される(ステップS93)。
その後、すべての画素データの処理が終了したか否かが判断され(ステップS94)、未処理の画素データがある場合には上述の処理が繰返され、すべての画素データについて処理が終了した場合には、処理を終了する。
図23は、第5の実施の形態におけるMPU51〜56で行なわれる処理の流れを示すフロー図である。図を参照して、MPU55,56では、データフロー制御部40が出力する制御信号が受信される(ステップS101)。ここで受信する制御信号は、前段の処理の実行を示す制御信号もしくはリセットを示す制御信号のいずれかである。
受信した制御信号がリセットを示す制御信号でない場合には(ステップS102でNO)、受信した制御信号は前段の処理の実行を示す制御信号であるので、MPU55,56はデータフロー制御部50内のROMから前段の処理プログラムをロードし、MTF補正処理を実行する(ステップS84)。MPU55はMTF補正処理プログラムをロードし、MPU56はガンマ補正処理プログラムをロードする。一方、受信した制御信号がリセットを示す制御信号の場合には(ステップS102でYES)、初期設定の処理を実行するようリセット処理をする(ステップS103)。
処理が終了すると、処理済みの画素データを出力する(ステップS106)。MPU55、56は、MTF補正処理を実行している場合は画素データを中間バッファメモリ16に書き込み、ガンマ補正処理を実行している場合は画素データを中間バッファメモリ17に書き込み、2値化処理を実行している場合は画素データを中間バッファメモリ18に書き込む。
次に、MPU55,56で処理を実行した画素データのアドレスとその画素データの処理に要した処理時間もしくは処理速度が状態レジスタ10に書込される(ステップS106)。その後、すべての画素データについて処理が終了したかい否かの判断がなされ(ステップS107)、未処理の画素データがある場合には上述の処理が繰り返され、すべての画素データに対して処理が終了した場合には処理を終了する。
本実施の形態におけるデータ処理装置は、MPU51〜56で初期設定の処理プログラムがロードされて、画素データごとに処理が実行される。MPU55とMPU56については、初めは初期設定の処理プログラムがデータフロー制御部50内のROMよりロードされて実行されるが、データフロー制御部50より前段の処理の実行を指示する制御信号を受信した場合には、前段の処理のプログラムがデータフロー制御部50内のROMよりロードされて、そのプログラムが実行される。
図24は、データフロー制御部50でMPU52より画素データが文字属性もしくは線画属性と判断された場合に、MPU51〜56で行なう処理を示す図である。図を参照して、MPU55ではMTF補正処理が実行され、MPU56ではガンマ補正処理が実行される。このとき、MPU55では、処理対象となる画素データは中間バッファメモリ15より読出され、MTF補正処理後のデータは中間バッファメモリ16に書込まれる。MPU56では、処理対象の画素データは中間バッファメモリ16より読出され、ガンマ補正処理後の画素データは中間バッファメモリ17に書込まれる。
このように、第5の実施の形態におけるデータ処理装置は、領域判別処理を行なうMPU52より画素データが文字属性もしくは線画属性か否かの判断がなされその判別結果がデータフロー制御部50に送られる。データフロー制御部50では、MPU52より送られた判別結果をもとに、画素データが文字もしくは線画属性と判断された場合には、MPU55でMTF補正処理を、MPU56でガンマ補正処理を実行するようにMPU55およびMPU56に対して制御信号を出力する。画素データが文字属性もしくは線画属性でないと判断された場合には、MPU55とMPU56に対してリセットを示す信号が出力され、MPU55ではガンマ補正処理が、MPU56では2値化処理がそれぞれ行なわれる。
以上説明したとおり、第5の実施の形態におけるデータ処理装置は、処理対象となる画素データの属性を判断することにより、その後の処理を実行するMPUの負荷を予測し、予測された負荷に応じて各MPUで実行する処理を動的に変化するようにしたので、データ処理装置全体としてデータ処理速度を向上させることができる。
また、各MPUで処理を実行した結果を記憶する中間バッファメモリ13〜18を設けたので、非同期で処理を実行するMPU51〜56の間で異なる処理速度の差を吸収することができ、かつ、MPU51〜56で実行する処理の内容に変更が生じたとしても、中間バッファメモリ13〜18に記憶される画素データの種類は変わらないので、MPU51〜56で実行する処理の内容を容易に変更することができる。
[第6の実施の形態]
図25は、第6の実施の形態におけるデータ処理装置の概略を示すブロック図である。図を参照して、第6の実施の形態におけるデータ処理装置は、画像データを入力する画像入力装置1と、入力された画像データを画素データごとに各種の処理を行なうMPU61〜65と、処理された画像データを紙などの記録媒体に出力する画像出力装置8と、画像入力装置1、MPU61〜65、画像出力装置8の動作状態を監視する状態レジスタ10と、状態レジスタ10を参照してMPU61〜65の動作を制御するデータフロー制御部60と、画像入力装置1で入力された画像データを一時記憶する入力バッファメモリ11と、画像出力装置から出力される画像データを一時記憶する出力バッファメモリ12と、各MPU61〜65で処理した画素データを記憶する中間バッファメモリ13〜17とを含む。
第6の実施の形態におけるデータ処理装置は、MPU61〜65で処理した画素データを、それぞれに対応する中間バッファメモリ13〜17に一時記憶することができる。初期設定の状態では、MPU61はSH補正処理を、MPU62はLog変換処理を、MPU63はMTF補正処理を、MPU64はガンマ補正処理を、MPU65は2値化処理をそれぞれ行なうように設定される。
中間バッファメモリ13にはSH補正処理がなされた画素データが、中間バッファメモリ14にはLog変換処理がなされた画素データが、中間バッファメモリ15にはMTF補正処理がなされた画素データが、中間バッファメモリ16にはガンマ補正処理がなされた画素データが、中間バッファメモリ17には2値化処理がなされた画素データがそれぞれ記憶される。
図26は、第6の実施の形態におけるMPU61〜65で行なわれる処理の流れを示すフロー図である。説明を簡単にするためデータを受渡しするMPU61とMPU62における処理を同時に説明する形で示してある。実際には、MPU61とMPU62とは非同期で処理を実行する。
図26を参照して、MPU61は、SH補正処理(処理A)を画素データごとに実行する(ステップS111)。このとき、データフロー制御部60では、MPU61とMPU62との負荷を監視しており、MPU61で行なうSH補正処理の負荷と、MPU62で行なうLog変換処理(処理B)の負荷を比較し(ステップS112)、SH補正処理の負荷がLog変換処理の負荷より小さいときは、中間バッファメモリ13に残された記憶容量があるか否かが判断される(ステップS113)。中間バッファメモリ13にメモリ容量が残されている場合には(ステップS113でYES)、MPU61で実行したSH補正処理済の画素データが中間バッファメモリ13に書込まれる(ステップS114)。中間バッファメモリ13に記憶された画素データは、次の処理Log変換処理を行なうMPU62で読込まれ(ステップS115)、MPU62でLog変換処理が行なわれる(ステップS116)。
一方、SH補正処理の負荷がLog変換処理の負荷より小さくない場合(ステップS112でNO)には、MPU61で実行したSH補正処理後の画素データはMPU62に直接引き渡され、MPU62でLog変換処理が施される(ステップS116)。
次に、1頁分のすべての画素データが処理されたか否かの判断がなされ(ステップS117)、未処理の画素データがある場合は上述の処理が繰返され、すべての画素データの処理が終了した場合には、中間バッファメモリ13にMPU61で実行したSH補正処理済の画素データが記憶されているか否かが判断される(ステップS118)。中間バッファメモリ13に、SH補正処理済の画素データが記憶されている場合は(ステップS118でNO)、データフロー制御部60は、MPU61に対してLog変換処理の実行を指示する制御信号を出力し、MPU61はこの制御信号の受信に応答してデータフロー制御部60内のROMよりLog変換処理プログラムをロードしてLog変換処理を実行する(ステップS119とステップS120)。このとき、MPU61とMPU62とで同じLog変換処理が並列して行なわれることになる。
MPU61では、中間バッファメモリ13より画素データを読出し(ステップS119)、Log変換処理を実行した後(ステップS120)、中間バッファメモリ14にLog変換処理後の画素データを記憶する(ステップS121)。
MPU61で行なうLog変換処理と並行して、MPU62で中間バッファメモリ13より画素データが読込まれ(ステップS122)、Log変換処理を行なった後(ステップS123)、Log変換処理後の画素データが中間バッファメモリ14に書込まれる(ステップS124)。
このようにMPU61とMPU62で同じLog変換処理が並列して実行され、この並列処理は中間バッファメモリ13に記憶されている画素データがなくなるまで繰返される。
図27は、MPU61の負荷がMPU62の負荷と等しいかまたは大きい場合のMPU61とMPU62との間のデータの受渡しを説明するための図である。図を参照して、MPU61でSH補正処理を施した画素データは中間バッファメモリ13に記憶されることなく直接MPU62に引き渡される。これは、MPU61の方が負荷が大きいためMPU61で1つの画素データについて処理を終了した時には、MPU62では処理を終了して待ちの状態にあるからである。
図28は、MPU61の負荷がMPU62の負荷より小さい場合にMPU1とMPU2の間でデータの引き渡しを説明するための図である。MPU1でSH補正処理が施された画素データはMPU62に直接引き渡されることなく、中間バッファメモリ13に記憶される。このようにすることで、負荷の小さいSH補正処理を行なうMPU61は、MPU62の処理と同期をとることなくSH補正処理を実行することができる。
図29は、MPU61でSH補正処理が終了し、中間バッファメモリ13にSH補正処理後の画素データが記憶されている場合の、MPU61とMPU62で実行する処理と画素データの流れを説明するための図である。図を参照して、上述のごとく、MPU61でSH補正処理が終了し、中間バッファメモリ13にSH補正処理後の画素データが記憶されている場合には、MPU61とMPU62では同じLog変換処理が並列して実行される。MPU61では、中間バッファメモリ13よりデータが読出され、Log変換処理が施された後、処理後の画素データが中間バッファメモリ14に書込まれる。MPU2では中間バッファメモリ13よりデータが読出され、Log変換処理が施された後、処理後のデータは次のMPUへ引き渡される。
以上説明したとおり、第6の実施の形態におけるデータ処理装置では、MPU61〜65ごとに処理済の画素データを記憶する中間バッファメモリ13〜17を設け、後段の処理を実行するMPUの負荷が大きい場合は、処理済の画素データを後段の処理に直接引き渡すことなく、中間バッファメモリ13〜17に記憶するようにした。そして、前段の処理がすべての画素データに対して終了してもなお画素データが中間バッファメモリ13〜17にある場合には、中間バッファメモリ13〜17に記憶されている画素データに対して2つのMPUで後段の処理を並列して実行するようにしたので、前段の処理ほど速く処理を終了することができ、データ処理装置全体としてデータ処理の速度を速めることができる。また、前段の処理ほど速く処理を終了することができるので、新たな画像データ、たとえば次の頁の画像データを速く入力することができる。
さらに、各MPUで処理を実行した結果を記憶する中間バッファメモリ13〜17を設けたので、非同期で処理を実行するMPU61〜65の間で異なる処理速度の差を吸収することができ、かつ、MPU61〜65で実行する処理の内容に変更が生じたとしても、中間バッファメモリ13〜17に記憶される画素データの種類は変わらないので、MPU61〜65で実行する処理の内容を容易に変更することができる。
なお、上述したMPUを複数の装置に置換えた構成としてもよい。また、上述したデータフロー制御部、状態レジスタおよび各MPUで行なわれる処理、たとえば、データフロー制御部については図3、図10、図14、図18、図22に示した処理手順、MPUについては図6、図11、図15、図19、図23、図26に示した処理手順をコンピュータに実行させるためのプログラムで記述することが可能である。データフロー制御部、状態レジスタおよび各MPUで行なわれる処理をコンピュータに実行させるためのプログラムで記述した場合には、そのプログラムが記録されたコンピュータで読取り可能な記録媒体としても発明を捉えることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
第1の実施の形態におけるデータ処理装置の概略を示すブロック図である。 前段の処理を実行するMPUと後段の処理を実行するMPUとの間で画素データの受渡しの手順を説明するための図である。 第1の実施の形態におけるデータフロー制御部9で行なわれる処理の流れを示すフロー図である。 MPUで処理する画素データのアドレスとその差を説明するための図である。 MTF補正処理に用いられる画素データを説明するための図である。 第1の実施の形態におけるMPU2〜6で行なわれる処理の流れを示すフロー図である。 データフロー制御部9で負荷が大きいMPUが検出されたときのMPU2〜6で行なわれる処理を示す第1のブロック図である。 データフロー制御部9で負荷が大きいMPUが検出されたときのMPU2〜6で行なわれる処理を示す第2のブロック図である。 第2の実施の形態におけるデータ処理装置の概略を示すブロック図である。 第2の実施の形態におけるデータフロー制御部20で行なわれる処理の流れを示すフロー図である。 第2の実施の形態におけるMPU26で行なわれる処理の流れを示すフロー図である。 第2の実施の形態におけるデータフロー制御部20で負荷が大きいMPUが検出されたときのMPU21〜26で行なわれる処理を示すブロック図である。 第3の実施の形態におけるデータ処理装置の概略を示すブロック図である。 第3の実施の形態におけるデータフロー制御部30で行なわれる処理の流れを示すフロー図である。 第3の実施の形態におけるMPU31〜35で行なわれる処理の流れを示すフロー図である。 第3の実施の形態におけるデータフロー制御部30で負荷が大きいMPUが検出されたときのMPU31〜35で行なわれる処理の内容を示すブロック図である。 第4の実施の形態におけるデータ処理装置の概略を示すブロック図である。 第4の実施の形態におけるデータフロー制御部40で行なわれる処理の流れを示すフロー図である。 第4の実施の形態におけるMPU46で行なわれる処理の流れを示すフロー図である。 第4の実施の形態におけるデータフロー制御部40で負荷が大きいMPUが検出されたときのMPU46で行なわれる処理を示すブロック図である。 第5の実施の形態におけるデータ処理装置の概略を示すブロック図である。 第5の実施の形態におけるデータフロー制御部50で行なわれる処理の流れを示すフロー図である。 第5の実施の形態におけるMPU51〜56で行なわれる処理の流れを示すフロー図である。 第5の実施の形態におけるデータフロー制御部50で負荷が大きいMPUが検出されたときのMPU51〜56で行なわれる処理を示すブロック図である。 第6の実施の形態におけるデータ処理装置の概略を示すブロック図である。 第6の実施の形態におけるMPU61〜65で行なわれる処理とデータの受渡しを説明するためのフロー図である。 第6の実施の形態におけるMPU61の負荷がMPU62の負荷と等しいかもしくは大きいときのデータの引き渡しを説明するためのブロック図である。 第6の実施の形態におけるMPU61の負荷がMPU62の負荷より小さいときのデータの引き渡しを説明するためのブロック図である。 第6の実施の形態におけるMPU61でSH補正処理が終了した後、中間バッファメモリ13にSH補正処理済の画素データが記憶されている場合のMPU61とMPU62とで行なう処理とデータの引き渡しを説明するためのブロック図である。 従来のデータ処理装置の概略を示すブロック図である。 複数の処理ブロックで行なわれる非同期処理を説明するためのブロック図である。
符号の説明
1 画像入力装置、2〜6 MPU、8 画像出力装置、9 データフロー制御部、10 状態レジスタ、11 入力バッファメモリ、12 出力バッファメモリ、13 画像データバス、14,15 システムバス。

Claims (6)

  1. シリアルに入力される複数の入力データに、種類の異なる複数の処理を非同期で施すデータ処理システムであって、
    前記複数の処理のそれぞれを実行するための、予め初期設定状態における処理の種類が決められた複数の処理部と、
    前記複数の処理は、前記複数の入力データごとに、複数の属性のうちのいずれかの属性を検出する属性判別処理を含み、
    前記属性判別処理により前記複数の入力データごとに検出された属性が前記複数の属性うちの所定の属性である場合には、前記複数の処理部のうち少なくとも1つの特定の処理部で実行する処理の種類を、他の処理部で実行する予め定められた処理であって負荷が大きい負荷処理に変更し、当該少なくとも1つの特定の処理部と前記他の処理部とにより前記負荷処理を実行させ、前記検出された属性が前記所定の属性でない場合には、前記少なくとも1つの特定の処理部の処理の種類を前記初期設定状態にリセットし、前記初期設定状態における種類の処理を実行させる動作制御手段とを備えた、データ処理システム。
  2. 前記複数の処理部は、前記複数の処理の数より多くあり、前記初期設定状態における処理の種類が前記複数の処理のいずれも実行しない予備処理部を少なくとも1つ含み、
    前記動作制御手段は、前記検出された属性が前記所定の属性である場合には前記予備処理部が前記負荷処理を実行するように処理の種類を変更し、前記検出された属性が前記所定の属性でない場合には前記予備処理部の処理の種類を前記初期設定状態にリセットすることを特徴とする、請求項1に記載のデータ処理システム。
  3. 前記複数の処理部それぞれで処理が実行された結果を記憶する記憶手段をさらに備え、
    前記動作制御手段は、前記検出された属性が前記所定の属性である場合には、前記負荷処理より後段の処理を実行する処理部のそれぞれが直前の処理を実行するように処理の種類を変更し、前記検出された属性が前記所定の属性でない場合には、前記負荷処理より後段の処理を実行する処理部の処理の種類を前記初期設定状態にリセットし、前記初期設定状態における種類の処理を実行させることを特徴とする、請求項1に記載のデータ処理システム。
  4. 前記複数の処理部は、前記複数の処理のうち自己が実行する自己処理の直後の処理を実行する処理部に対して、前記自己処理を実行した後の前記入力データを引き渡すことを特徴とする、請求項1または2に記載のデータ処理システム。
  5. 前記入力データは、画像データであり、
    前記複数の処理は、種類の異なる複数の画像処理である、請求項1から4のいずれかに記載のデータ処理システム。
  6. 前記所定の属性とは文字属性または線画属性を含み、
    前記動作制御手段は、前記属性判別処理により検出された属性が文字属性または線画属性であるときに、前記複数の処理部のうち少なくとも1つの特定の処理部で実行する処理の種類を変更する、請求項5に記載のデータ処理システム。
JP2005015957A 2005-01-24 2005-01-24 データ処理システム Expired - Fee Related JP4540054B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005015957A JP4540054B2 (ja) 2005-01-24 2005-01-24 データ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005015957A JP4540054B2 (ja) 2005-01-24 2005-01-24 データ処理システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10333039A Division JP2000163388A (ja) 1998-11-24 1998-11-24 データ処理システム

Publications (2)

Publication Number Publication Date
JP2005174365A JP2005174365A (ja) 2005-06-30
JP4540054B2 true JP4540054B2 (ja) 2010-09-08

Family

ID=34737571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005015957A Expired - Fee Related JP4540054B2 (ja) 2005-01-24 2005-01-24 データ処理システム

Country Status (1)

Country Link
JP (1) JP4540054B2 (ja)

Also Published As

Publication number Publication date
JP2005174365A (ja) 2005-06-30

Similar Documents

Publication Publication Date Title
US7602392B2 (en) Image processing device, method, and storage medium which stores a program
US7605819B2 (en) Image processing device, method, and storage medium which stores a program
US20060274970A1 (en) Image processing device, method, and storage medium which stores a program
US7602391B2 (en) Image processing device, method, and storage medium which stores a program
US10650481B2 (en) Image processing device, image processing method, and non-transitory computer readable medium for image processing
JP2008276407A (ja) 画像処理装置及びその方法
US20180084128A1 (en) Information processing apparatus and method for controlling the same
JP2001358942A (ja) 誤差拡散演算装置
JP4348760B2 (ja) データ処理システム
US6535971B1 (en) Data processing system having plurality of processors and executing series of processings in prescribed order
JP4540054B2 (ja) データ処理システム
JP5636816B2 (ja) 再構成可能演算回路及びプログラム
JP2000148999A (ja) データ処理システム
US8724149B2 (en) Image forming apparatus and image forming method transferring data corresponding to line of document with set time period
US9609173B2 (en) Memory control circuit and image forming apparatus
JP2000163388A (ja) データ処理システム
JP4816272B2 (ja) 画像処理装置及び制御プログラム
JP5560785B2 (ja) 情報処理装置、画像形成装置及び情報処理方法
CN102198765B (zh) 图像形成设备和图像形成方法
JP2006133839A (ja) 画像処理装置、印刷装置および画像処理方法
JP7081477B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
US5668714A (en) Control system for multi-processor apparatus
JP4034323B2 (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
US20180213103A1 (en) Image processing apparatus, method of controlling the same, and storage medium
US9197782B2 (en) Image processing device and image processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070320

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070402

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100618

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: 20130702

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees