(57)【要約】【課題】  画像処理装置において、画像処理モジュールを複数含み、少なくとも２つのモジュールのバウンダリが互いに異なっている場合でも、適切なデータ処理を実現する。【解決手段】  画像処理装置１０の制御部５０は、実行すべき画像処理の種類に対応した画像処理モジュールを選択するモジュール選択部５１と、上記選択した画像処理モジュールに対してデータ転送を行うようにＤＭＡＣを制御するデータ転送制御部７１と、上記選択された画像処理モジュールのバウンダリに応じて、ＤＭＡＣの１転送当たりの転送データ量を調整する転送データ量調整手段６０と、を含む構成である。【選択図】  図４
2006350843.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像処理部と制御部とを備え、
さらに、画像処理部に対するデータ転送を実行するデータ転送部を含み、
上記複数の画像処理部のうちの少なくとも２つの画像処理部においては、上記データ転送の転送単位のデータ量を示す転送パラメータが互いに異なっており、
上記制御部は、
実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、
選択した画像処理部において画像データの転送が行われるように上記データ転送部を制御する転送制御手段と、
上記選択された画像処理部の上記転送パラメータに応じて上記データ転送部の１転送当たりの転送データ量を調整する転送データ量調整手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
上記転送データ量調整手段は、上記選択された画像処理部の上記転送パラメータの倍数となるように上記転送データ量を調整することを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
上記画像処理選択手段は２以上の画像処理部を選択し、
上記転送制御手段は、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、
上記転送データ量調整手段は、上記選択された２以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整することを特徴とする画像処理装置。
【請求項４】
画像処理装置の制御プログラムであって、コンピュータを請求項１ないし３のいずれか１項に記載の各手段として機能させる画像処理装置の制御プログラム。
【請求項５】
請求項４に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理モジュールを備え、各々の画像処理モジュールに画像データの処理を実行させる画像処理装置、画像処理装置の制御プログラム、該制御プログラムを記憶した記憶媒体に関するものである。
【背景技術】
【０００２】
従来から、複数種類の画像処理を実行する画像処理装置においては、画像処理の種類毎に画像処理モジュールが設けられていることがある。例えば、「回転処理」「変倍処理」「圧縮処理」を行える画像処理装置においては、回転処理用の画像処理モジュールと、変倍処理用の画像処理モジュールと、圧縮処理用の画像処理モジュールと、が設けられている。なお、「画像処理モジュール」とは、画像処理を実現する一つのユニットであって、画像データを入出力するためのＤＭＡＣ（Direct Memory Access Controller），画像処理を実行する演算回路，等からなるユニットである。
【０００３】
つぎに、従来の画像処理装置における画像データの転送方式について、図に基づいて説明する。図８は、従来の画像処理装置の内部構成を模式的に示したブロック図である。図８に示すように、画像処理装置１００には、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３，および、メモリ７０が設けられている。また、同図に示すように、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々には、入力用ＤＭＡＣおよび出力用ＤＭＡＣが含まれている。この入力用ＤＭＡＣとは、メモリ７０から画像処理モジュールへ画像データを転送（入力）するものであり、出力用ＤＭＡＣとは、画像処理モジュールからメモリ７０へ画像データを転送（出力）するものである。
【０００４】
この画像処理装置１００においては、実行する画像処理の種類に対応する画像処理モジュールのみが画像処理を実行し、当該モジュールのみにメモリ７０から画像データが転送される。例えば、利用者による実行命令のあった画像処理の種類に対応する画像処理モジュールがＩＰ１，ＩＰ２の場合、メモリ７０上の画像データは、処理を実行する画像処理モジュールＩＰ１，ＩＰ２の各々に順次転送されて画像処理が実行されるものの、画像処理モジュールＩＰ３には転送されずに画像処理装置１００から出力されることになる。なお、この転送は、画像処理を実行する画像処理モジュールＩＰ１，ＩＰ２に備えられているＤＭＡＣによって行われる。
【０００５】
つぎに、図８に示す画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の全てが画像処理を実行する場合を例にして、画像処理装置１００における画像データの転送の流れについて、より詳細に説明する。
【０００６】
まず、スキャナ等によって画像処理装置１００に入力された画像データは、一旦メモリ７０に展開される。ここで、メモリ７０に展開される画像データに対応する画像（ビットマップ画像）には、図７に示すように、処理対象の画像が展開されている実画像領域と、実画像領域を囲むように展開されているマージン領域とが含まれている。
【０００７】
そして、図８に示すように、メモリ７０に書き込まれた画像データは、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３に含まれるＤＭＡＣによって、これら画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３に対して、カスケードに転送される。より詳細に説明すると、画像データは、画像処理モジュールＩＰ１→メモリ７０→画像処理モジュールＩＰ２→メモリ７０→画像処理モジュールＩＰ３→メモリ７０の順に転送される。
【０００８】
また、この転送において、画像処理装置１００は、図７に示すように、所定の画素数（図では５０００画素）からなる主走査方向１行分の画像を１転送ラインとして設定している。そして、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々に含まれるＤＭＡＣは、転送ライン毎に画像データを転送するように設定されている。
【０００９】
ところで、このような画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリは、図８に示すように、互いに共通かつ固定値である。なお、画像処理モジュールのバウンダリとは、その画像処理モジュールにおいて転送単位となるデータ量を示すものである（つまり、その画像処理モジュールに含まれるＤＭＡＣの転送単位となるデータ量とも表現できる）。
【００１０】
よって、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々においては、ＤＭＡＣの１転送処理当たりで、バウンダリの倍数のデータ量の画像データの転送（入力または出力）が可能であるが、バウンダリの倍数でないデータ量の画像データを転送することはできない。例えば、バウンダリが３byteの場合、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々においては、ＤＭＡＣの１回の転送処理において、３byteの倍数のデータ量の画像データを転送可能である。
【００１１】
ここで、上述したように、各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々に含まれるＤＭＡＣは、転送ライン毎に画像データを転送するように設定されているため、１転送ライン分の画像のデータ量（以下、「転送データ数」と称する）は、１転送処理当たりの転送データ量に該当する。したがって、この転送データ数は、上記バウンダリの倍数になるように設定されていなければならず、仮にバウンダリの倍数でないデータ転送数が設定されると、ＤＭＡＣは処理を停止し、転送処理を行うことができない。
【００１２】
そこで、画像処理装置１００においては、画像データの転送処理を適切に実行するために、処理対象となる画像がカラーかモノクロかの相違に応じて上記転送データ数を切り換える必要がある。以下、この切り換えについて詳細に説明する。
【００１３】
例えば、図７に示す画像において、１色/１画素当たりのデータ量は１byteであるものとする。さらに、図８に示すように、各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリは３byteで固定されているものとする。
【００１４】
この例において、図７の画像が３色の色成分からなるカラー画像の場合、１画素当たりのデータ量は３byteとなる。ここで、図示の通り、上記１転送ラインの画素数を５０００画素として設定すると、上記転送データ数は１５Kbyteとして設定される。これにより、上記転送データ数は、各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３のバウンダリ（３byte）の倍数となり、ＤＭＡＣによる転送処理を適切に実行できる。
【００１５】
これに対し、図７の画像がモノクロの場合、１画素当たりのデータ量は１byteとなる。ここで、仮に、カラーの場合と同様、上記１転送ラインの画素数を５０００画素として設定すると、上記転送データ数は、５０００byteとして設定され、各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３のバウンダリ（３byte）の倍数とならない。
【００１６】
そこで、モノクロの場合、上記１転送ラインにマージン領域の画素を１画素分だけ余分に加えることにより（図７参照）、上記１転送ラインの画素数を５００１画素に設定変更する。このようにすることにより、上記転送データ数は、５００１byteとして設定され、各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３のバウンダリ（３byte）の倍数となり、適切にデータ転送を実行することができる。
【００１７】
従来の画像処理装置１００においては、このようにして、上記転送データ数をカラーかモノクロかの相違に応じて切り換えることとしていた。
【特許文献１】特開平６−２６６６５５号公報（公開日：平成６年９月２２日）
【発明の開示】
【発明が解決しようとする課題】
【００１８】
また、以上示した画像処理装置１００では、上述したように、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリは、各々で共通値となるように設定されている。しかし、本来、各々の画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３において設定されるべきバウンダリの最適値は、各々の画像処理モジュールにて実行される画像処理の種類によって異なるものである。したがって、画像処理装置１００において、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリは、全画像処理モジュールで共通の値とはせずに、画像処理モジュール毎に、各々で実行される処理に最適なバウンダリを設定することが好ましい。
【００１９】
ところが、画像処理装置１００において、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリが異なっていると、上記転送データ数が、あるモジュールのバウンダリの倍数に該当するが、別の画像処理モジュールのバウンダリの倍数にならないという不都合が起こり得、この場合、画像処理モジュール間でのデータ転送を行うことができなくなる。
【００２０】
また、ある画像処理においては画像処理モジュールＩＰ１にのみ画像データの転送が行われ、別の画像処理においては画像処理モジュールＩＰ２にのみ画像データの転送が行われるという場合もあり得る。ここで、常に上記転送データ数を一定とすると、画像処理モジュールＩＰ１と画像処理モジュールＩＰ２とでバウンダリが互いに異なる場合、いずれかの画像処理においてデータ転送を実現できなくなる事があり得るという問題が生じる。
【００２１】
また、画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々のバウンダリを共通としない場合に、仮に、選択された各画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３の各々に対してモジュール別に上記転送データ数を設定すれば、当該転送データ数を画像処理モジュール別に計算する必要があり、ＣＰＵや演算回路等の演算処理の負荷が増大するという問題も生じる。例えば、選択された複数の画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３において、各々の転送データ数が３byte，６byte，９byteとして設定されている場合、画像処理モジュール毎に転送データ数を計算すると、画像処理モジュールＩＰ１に対しては３の倍数の５００１byteを上記転送データ数として計算し、画像処理モジュールＩＰ２に対しては６の倍数の５００４byteを上記転送データ数として計算し、画像処理モジュールＩＰ３に対しては９の倍数の５００４byteを上記転送データ数として計算する必要がある。
【００２２】
本発明は、以上の問題に鑑みてなされたものであり、複数の画像処理部を備えた画像処理装置において、少なくとも２つの画像処理部のバウンダリが互いに異なっている場合であっても、適切にデータ転送を実現できる画像処理装置、画像処理装置の制御プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２３】
以上の目的を達成するために、本発明の画像処理装置は、複数の画像処理部と制御部とを備え、さらに、画像処理部に対するデータ転送を実行するデータ転送部を含み、上記複数の画像処理部のうちの少なくとも２つの画像処理部においては、上記データ転送の転送単位のデータ量を示す転送パラメータが互いに異なっており、上記制御部は、実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、選択した画像処理部において画像データの転送が行われるように上記データ転送部を制御する転送制御手段と、上記選択された画像処理部の上記転送パラメータに応じて、上記データ転送部の１転送当たりの転送データ量を調整する転送データ量調整手段と、を含むことを特徴とする。
【００２４】
上記構成によれば、上記複数の画像処理部のうち、画像処理を実行する画像処理部のみにおいて画像データの転送処理が実行されることとなるが、当該画像処理部の転送パラメータ（バウンダリ）に応じて、データ転送部の１転送当たりの転送データ量を調整することができる。それゆえ、データ転送のなされる画像処理部の転送パラメータがどのような値であっても、上記データ転送部の１転送当たりの転送データ量を上記転送パラメータに適した値に調整することができる。
【００２５】
これにより、画像処理装置において、画像処理部を複数含み、少なくとも２つの画像処理部の上記転送パラメータが互いに異なっている場合でも、データ転送のなされる画像処理部の転送パラメータに応じて、上記データ転送部における１転送当たりの転送データ量を該転送パラメータに適合した値に調整することが可能となり、適切にデータ処理を実行することができる。
【００２６】
なお、前記特許文献１には、バウンダリの異なる２つのプロセッサ間でデータ転送を行う構成において、データバッファを介して転送データを変換する方式が開示されている。しかしながら、この方式では、転送元および転送先は定まっており、バウンダリを異ならせる複数のプロセッサのなかから転送先のプロセッサを選択し、選択されたプロセッサのバウンダリに応じて１転送当たりのデータ転送量を調整するといった構成は開示されていない。
【００２７】
また、本発明の画像処理装置においては、上記データ転送部における１転送当たりの転送データ量を、データ転送のなされる画像処理部における転送パラメータの倍数となるように設定することが可能となり、データ転送が行えないという事態の発生を回避できる。
【００２８】
さらに、本発明の画像処理装置は、上記画像処理選択手段は２以上の画像処理部を選択し、上記転送指示手段は、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、上記転送データ量調整手段は、上記選択された２以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整する構成であってもよい。
【００２９】
上記構成によれば、画像処理部が２以上選択され、選択された各画像処理部に対して順に画像データを転送する場合、データ転送のなされる各画像処理部の転送パラメータが夫々で異なることもあり得る。
【００３０】
そこで、上記構成において、上記データ転送量調整手段は、上記選択された２以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整している。それゆえ、データ転送のなされる各画像処理部の上記転送パラメータが夫々で異なっていても、選択された画像処理部の各々に対して、これら画像処理部の上記転送パラメータの倍数のデータ量の画像データを順に転送することができ、適切にデータ処理を実行することができる。
【００３１】
なお、本発明の画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させる画像処理装置の制御プログラム，該プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００３２】
以上のように、本発明の画像処理装置は、複数の画像処理部と制御部とを備え、さらに、各画像処理部における画像データの転送処理を実行するデータ転送部を含み、上記複数の画像処理部のうちの少なくとも２つの画像処理部においては、上記転送処理における転送単位のデータ量を示す転送パラメータが互いに異なっており、上記制御部は、実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、選択した画像処理部へ画像データが転送されるように上記データ転送部を制御する転送制御手段と、上記選択された画像処理部の上記転送パラメータに応じて、上記データ転送部の１転送当たりの転送データ量を調整する転送データ量調整手段と、を含むことを特徴とする。
【００３３】
それゆえ、画像処理装置において、画像処理部を複数含み、少なくとも２つの画像処理部の上記取扱データ量が互いに異なっている場合でも、適切なデータ処理を実現できる。
【００３４】
また、上記の画像処理装置において、上記画像処理選択手段が２以上の画像処理部を選択し、上記転送指示手段が、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、上記転送データ量調整手段が、上記選択された２以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整する構成を採用すれば、１転送当たりの転送データ量を画像処理部毎で計算する必要がなく、各画像処理部に共通の上記転送データ量を１回計算するだけでよく、制御部の演算処理の負荷を軽減できるという効果が生じる。また、開発者にとっては把握すべき転送データ量の個数が減り（３個→１個）、開発が容易になるメリットがある。
【００３５】
例えば、選択された複数の画像処理部ａ，ｂ，ｃにおいて、各々の転送パラメータが３byte，６byte，９byteであるとき、（３，６，９）の最小公倍数→１８から、１８の倍数の５００４byteを選択されたすべての画像処理部ａ，ｂ，ｃに対する共通の転送データ量として演算すれば、画像処理モジュール毎に転送データ量を演算する構成よりも演算処理の負荷を軽減できる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の画像処理装置の一実施形態を図に基づいて説明する。図１は、本実施形態の画像処理装置１０の概略構成を示すブロック図である。なお、以下で説明する画像処理装置１０は、図示しないものの、ＭＦＰ（Multi Function Printer）等の画像形成装置に備えられている画像処理手段であるものとする。
【００３７】
図１に示すように、画像処理装置１０は、複数の画像処理モジュール（Ｍ１，Ｍ２，・・・，Ｍｎ），メモリ１５，バス２０，入力部３０，出力部４０，制御部５０を含む構成である。
【００３８】
画像処理モジュールＭ１，・・・，Ｍｎの各々は、画像処理を実現するユニットである。また、図１に示すように、各々の画像処理モジュールＭ１，・・・，Ｍｎは、メモリ１５に書き込まれている画像データを該画像処理モジュールに転送する入力用ＤＭＡＣと、転送されてきた画像データに対して画像処理を実行する演算回路（不図示）と、画像処理の実行された画像データをメモリ１５に転送する出力用ＤＭＡＣと、を含んでいる。
【００３９】
なお、図１に示すように、本実施形態の画像処理モジュールの各々においては、入力用ＤＭＡＣと出力用ＤＭＡＣとが別々に構成され、これらＤＭＡＣはバス２０に接続されている。そして、図２に示すように、この入力用ＤＭＡＣとは、メモリ７０から画像処理モジュールへ画像データを転送（入力）するものであり、出力用ＤＭＡＣとは、画像処理モジュールからメモリ７０へ画像データを転送（出力）するものである。
【００４０】
また、各画像処理モジュールＭ１，・・・，Ｍｎは、各々で互いに異なる種類の画像処理を実行するものである。ここで、実行される画像処理の種類としては、「回転処理」「変倍処理」「圧縮処理」「伸張処理」等がある。
【００４１】
なお、図１の画像処理装置１０において、各画像処理モジュールＭ１，・・・，Ｍｎは、カラー画像を処理するためのものであり、図示しないが、モノクロ画像を処理する画像処理モジュールｍ１，・・・，ｍｎも備えられているものとする。
【００４２】
メモリ１５は、各々の画像処理モジュールＭ１，・・・，Ｍｎにおいて処理対象とされる画像データが書き込まれるデータ展開領域であり、バス２０に接続されている。
【００４３】
入力部３０は、外部装置（例えば、スキャナ、ＰＣ等）から送られてくる画像データを画像処理装置１０に入力するインターフェイスであり、バス２０に接続されている。出力部４０は、画像処理装置１０にて画像処理された画像データをプリンタエンジン（画像形成手段）へ出力するインターフェイスである。
【００４４】
制御部５０は、画像処理装置１０に備えられている各種ハードウェア（各画像処理モジュール，ＤＭＡＣ，メモリ，入力部，出力部）の動作を統括的に制御するコンピュータであり、例えば、プログラムコードを実行するＣＰＵ（Central Processing Unit）、該プログラムコードを格納するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などによって実現される。
【００４５】
つぎに、画像処理装置１０における画像データの転送の概略について説明する。まず、入力部３０から画像データが入力されると、この画像データはメモリ１５に書き込まれる。そして、ある画像処理の実行コマンドが利用者によって入力されると、制御部５０は、当該画像処理を実行する画像処理モジュールを選択・起動する。なお、ここで選択される画像処理モジュールは単数であっても複数であってもよいが、以下では、説明の便宜上、画像処理モジュールＭ１，Ｍ２，Ｍ３が選択されたものとする。
【００４６】
そして、図２に示すように、メモリ１５に書き込まれた画像データは、上記選択された各画像処理モジュールＭ１，Ｍ２，Ｍ３に含まれる各ＤＭＡＣによって、これら画像処理モジュールＭ１，Ｍ２，Ｍ３に対して、カスケードに転送される。より詳細に説明すると、画像データは、画像処理モジュールＭ１→メモリ１５→画像処理モジュールＭ２→メモリ１５→画像処理モジュールＭ３→メモリ１５の順に転送される。
【００４７】
つぎに、以上示した画像データの転送について、より詳細に説明する。転送される画像データは、図３に示すように、ビットマップ形式のデータであり、処理対象の画像が展開されている実画像領域と、実画像領域を囲むように展開されているマージン領域とが含まれている。
【００４８】
画像処理装置１０は、入力部３０から入力した画像データがメモリ１５に書き込まれると、メモリ１５上に展開された画像について、図３に示すように、所定の画素数（図では５０００画素）からなる主走査方向１行分の画像を１転送ラインとし、上記１転送ライン×ｎ列個の画素からなる画像を１転送ブロックとして、メモリ１５上に展開された画像を転送ブロック毎に分割設定する。
【００４９】
この設定の後、まず、画像処理モジュールＭ１では、入力用ＤＭＡＣによって、１転送ライン分の画像データが転送・入力される。さらに、画像処理モジュールＭ１は入力した画像データを処理し、その後、画像処理モジュールＭ１の出力用ＤＭＡＣによって該画像データはメモリ１５に転送される。画像処理モジュールＭ１では、上記１転送ライン毎に、このような処理がｎ回繰り返され、最初の転送ブロックａ（図３参照）の画像データの処理が行われる。
【００５０】
つぎに、図６に示すように、画像処理モジュールＭ１は、最初の転送ブロックａの画像データの処理・転送が終了すると、次段の画像処理モジュールＭ２に対して、転送ブロックａに対する処理の完了を通知する。この通知を受けた画像処理モジュールＭ２においては、転送ブロックａに対応する画像データの転送・処理が上記１転送ライン毎に行われる。また、図６に示すように、この画像処理モジュールＭ２の動作と並行して、画像処理モジュールＭ１においては、次の転送ブロックｂ（図３参照）に対応する画像データの転送・処理が上記１転送ライン毎に行われる。
【００５１】
さらに、画像処理モジュールＭ１が転送ブロックｂの画像データの処理を終え、画像処理モジュールＭ２が転送ブロックａに相当する画像データの処理を終えると、次は、画像処理モジュールＭ１において、転送ブロックｃに相当する画像データの転送・処理が上記１転送ライン毎に行われ、画像処理モジュールＭ２において、転送ブロックｂに相当する画像データの転送・処理が上記１転送ライン毎に行われ、画像処理モジュールＭ３において、転送ブロックａに相当する画像データの転送・処理が上記１転送ライン毎に行われる。このようにして、画像処理モジュールＭ１，Ｍ２，Ｍ３は、処理を進行していく。
【００５２】
つまり、画像処理モジュールＭ１，Ｍ２，Ｍ３においては、ＤＭＡＣによる１転送処理当たり、１転送ラインの画像が転送（入力または出力）されることになる。
【００５３】
また、本実施形態では、１転送ラインの画像のデータ量を表現する際、「転送データ数」というパラメータを使用することとする。つまり、「転送データ数」は、上記１転送ブロックの画像における主走査方向１行分のデータ量であって、ＤＭＡＣの１転送処理当たりの転送データ量に該当する。例えば、１画素当たりのデータ量が３byteからなり、上記１転送ラインの画素数が５０００画素の場合、上記「転送データ数」は１５Kbyteとなる。
【００５４】
ところで、本実施形態の画像処理装置１０では、画像処理モジュールＭ１，Ｍ２，Ｍ３，・・・，Ｍｎは、各々、バウンダリを異ならせている。具体的に説明すると、図２に示すように、画像処理モジュールＭ１のバウンダリは３byteであり、画像処理モジュールＭ２のバウンダリは６byteであり、画像処理モジュールＭ３のバウンダリは９byteとなっている。
【００５５】
なお、画像処理モジュールのバウンダリ（転送パラメータ）とは、その画像処理モジュールにおけるデータ転送の転送単位となるデータ量を示すものであり、より具体的には、その画像処理モジュールに含まれる入力用ＤＭＡＣおよび出力用ＤＭＡＣの転送単位となるデータ量を示すものである。つまり、各画像処理モジュールにおいては、１転送当たりで、バウンダリの倍数のデータ量の画像データを転送可能であるが、バウンダリの倍数でないデータ量の画像データを転送することはできない。例えば、バウンダリが３byteの画像処理モジュールにおいては、ＤＭＡＣによる１回の転送処理にて、３byteの倍数のデータ量の画像データを転送可能である。
【００５６】
そして、制御部５０は、選択・起動させる画像処理モジュールのバウンダリに基づいて、上記「転送データ数」を調整する機能を実現する。以下では、制御部５０における上記した機能について詳細に説明する。
【００５７】
図４に示すように、制御部５０には、モジュール選択部５１，転送データ数調整部６０，データ転送制御部７１が含まれている。
【００５８】
モジュール選択部５１は、画像処理の実行コマンドが利用者によって入力されると、当該画像処理を実行する画像処理モジュールを選択かつ起動させる制御を行う。つまり、モジュール選択部５１は、実行される画像処理の種類に対応した画像処理モジュールを選択・起動する制御を行う。また、モジュール選択部５１は、選択した画像処理モジュールおよび当該画像処理モジュールのバウンダリを示す情報を、転送データ数調整部６０およびデータ転送制御部７１に伝達する機能をも有する。
【００５９】
転送データ数調整部６０は、モジュール選択部５１に選択されている画像処理モジュールのバウンダリに応じて、上記転送データ数を調整する。以下では、転送データ数調整部６０において実行されている制御の具体的手順について詳細に説明する。
【００６０】
転送データ数調整部６０には、転送ブロック初期設定部６１、転送データ数演算部６２、転送データ数修正部６３、転送ブロック再設定部６４が含まれている。
【００６１】
転送ブロック初期設定部６１は、メモリ１５にアクセスすることによって、メモリ１５に書き込まれた画像データに対応する画像について、上述した各転送ブロック（図３参照）を初期設定する。なお、転送ブロック初期設定部６１は、図３に示すように、各転送ブロックにおいて、実画像領域の主走査方向両端と該両端に隣接するマージン領域とが必ず含まれるように、上記初期設定を行う。
【００６２】
転送データ数演算部６２は、メモリ１５にアクセスすることによって、転送ブロック初期設定部６１によって初期設定された各転送ブロックの１転送ラインの画素数から、初期設定された各転送ブロックの転送データ数を演算する。なお、上述通り、上記転送データ数とは、１転送ライン分の画像のデータ量に相当するものである。
【００６３】
例えば、１画素当たり３byteのデータ量の画像データ（例えば、８bitの３色カラー画像のデータ）において、初期設定された各転送ブロックの１転送ラインの画素数が５０００画素である場合、転送データ数は、５０００×３=１５０００byteになる。また、例えば、１画素当たり１byteのデータ量の画像データ（例えば、８bitのモノクロ画像のデータ）において、初期設定された各転送ブロックの１転送ラインの画素数が５０００画素である場合、転送データ数は、５０００×１=５０００byteになる。
【００６４】
なお、転送データ数演算部６２は、演算した転送データ数を転送データ数修正部６３へ伝達する。
【００６５】
転送データ数修正部６３は、モジュール選択部５１によって選択された画像処理モジュールのバウンダリを示す情報をモジュール選択部５１から取得し、このバウンダリを参照して、上記転送データ数の修正値を演算する。この演算について、以下、詳細に説明する。
【００６６】
まず、転送データ数修正部６３は、モジュール選択部５１によって選択された画像処理モジュールが単一の場合、該選択された画像処理モジュールのバウンダリの倍数であって、転送データ数演算部６２に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、転送データ数の修正値を演算する。
【００６７】
具体的には、転送データ数演算部６２に演算された転送データ数をＴ，選択された画像処理モジュールのバウンダリをＢとした場合、転送データ数修正部６３は、ＴをＢで除算し、除算して得られた値の小数部分を切り上げて、切り上げて得られた値にＢを乗算することによって上記修正値を得ることとしている。
【００６８】
例えば、転送データ数演算部６２に演算された転送データ数が５０００byte（上記モノクロ画像の場合）であって、モジュール選択部５１に選択された画像処理モジュールのバウンダリが３byteの場合、
５０００／３≒１６６７（小数点以下切り上げ）
１６６７×３＝５００１
となり、転送データ数の修正値は５００１byte（３の倍数）となる。
【００６９】
また、例えば、転送データ数演算部６２に演算された転送データ数が１５０００byte（上記カラー画像の場合）であって、モジュール選択部５１に選択されたのが画像処理モジュールＭ１のみの場合、該画像処理モジュールＭ１のバウンダリは３byteであることから（図２参照）、転送データ数修正部６３によって演算される転送データ数の修正値も１５０００byte（３の倍数）となる。
【００７０】
また、転送データ数修正部６３は、モジュール選択部５１に選択された画像処理モジュールが複数の場合、該選択された複数の画像処理モジュールにおける各々バウンダリの公倍数であって、転送データ数演算部６２に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、上記転送データ数の修正値を演算する。
【００７１】
具体的には、転送データ数演算部６２に演算された転送データ数をＴ，選択された各画像処理モジュールの各バウンダリをＥ，Ｆ，Ｇとした場合、転送データ数修正部６３は、Ｅ，Ｆ，Ｇの最小公倍数を求め、Ｔを当該最小公倍数で除算して得られた値の小数部分を切り上げて、切り上げて得られた値に当該最小公倍数を乗算することによって上記修正値を得ることとしている。
【００７２】
例えば、転送データ数演算部６２に演算された転送データ数が５０００byte（上記モノクロ画像の場合）であって、モジュール選択部５１に選択された各画像処理モジュールの各バウンダリが３byte，６byte，９byteの場合、
（３，６，９）の最小公倍数→１８
５０００／１８≒２７８（小数点以下切り上げ）
２７８×１８＝５００４
となり、転送データ数修正部６３によって演算される転送データ数の修正値は５００４byte（３，６，９の公倍数）となる。
【００７３】
また、例えば、転送データ数演算部６２に演算された転送データ数が１５０００byte（上記カラー画像の場合）であって、モジュール選択部５１に選択されたのが画像処理モジュールＭ１，Ｍ２，Ｍ３の場合、該画像処理モジュールＭ１，Ｍ２，Ｍ３のバウンダリは３byte，６byte，９byteであることから、転送データ数修正部６３によって演算される転送データ数の修正値は、
（３，６，９）の最小公倍数→１８
１５０００／１８≒８３４（小数点以下切り上げ）
８３４×１８＝１５０１２となり、転送データ数修正部６３によって演算される転送データ数の修正値は１５０１２byte（３，６，９の公倍数）となる。
【００７４】
なお、転送データ数修正部６３は、演算した転送データ数の修正値を、転送ブロック再設定部６４へ伝達する。
【００７５】
転送ブロック再設定部６４は、１転送ラインのデータ量が上記転送データ数の修正値になるように、メモリ１５にアクセスして上記１転送ラインおよび各転送ブロックを再設定する。なお、転送データ数の修正値は、初期設定された各転送ブロックの１転送ラインの転送データ数と同一または増加することになるが、増加する場合は、図３に示すマージン領域の画素を増加することによって、上記１転送ラインおよび各転送ブロックを再設定する。
【００７６】
なお、転送ブロック再設定部６４は、各転送ブロックの再設定を終えると、修正された転送データ数、および、再設定された転送ブロックにおけるデータ転送を開始すべき箇所の画素位置（図３の符号α参照）を示すアドレスをデータ転送制御部７１へ伝達する。
【００７７】
データ転送制御部７１は、転送ブロック再設定部６４から上記アドレスおよび転送データ数が伝達されると、モジュール選択部５１に選択されている各画像処理モジュールに含まれているＤＭＡＣを制御することによって、各画像処理モジュールにおけるデータ転送を制御する。具体的に、データ転送制御部７１は、転送ブロック再設定部６４から伝達されてきたアドレスをスタートアドレスとして上記ＤＭＡＣに設定し、上記伝達されてきた転送データ数を１転送処理当たりの転送データ量として上記ＤＭＡＣに設定する。
【００７８】
これにより、モジュール選択部５１に選択されている各画像処理モジュールにおいては、カスケードに画像データが転送されることとなる。また、モジュール選択部５１に選択されている画像処理モジュールＭ１，Ｍ２，Ｍ３の各々が互いにバウンダリを異ならせていても、メモリ１５に展開されている画像の１転送ラインのデータ量（１回の転送処理における転送データ量）を、画像処理モジュールＭ１，Ｍ２，Ｍ３の各々のバウンダリの倍数にすることができる。それゆえ、互いにバウンダリの異なる各画像処理モジュールＭ１，Ｍ２，Ｍ３に対する１転送当たりのデータ量は、各画像処理モジュールのバウンダリの共通の倍数に該当することとなる。
【００７９】
つぎに、以上示した制御部５０に含まれる各部の処理の流れを図５に示すフローチャートに基づいて説明する。
【００８０】
入力部３０から入力された画像データがメモリ１５に書き込まれ、かつ、画像処理の実行コマンドが利用者によって入力されると、モジュール選択部５１は、当該実行コマンドに応じた画像処理を実行する画像処理モジュールを選択かつ起動させる（Ｓ１）。さらに、転送ブロック初期設定部６１は、メモリ１５に書き込まれた画像データに対応する画像について、上述した各転送ブロック（図３参照）を初期設定する（Ｓ２）。その後、転送データ数演算部６２が、Ｓ２において初期設定された１転送ブロックにおける１転送ラインの画素数から転送データ数を演算する（Ｓ３）。つぎに、転送データ数修正部６３が、モジュール選択部５１によって選択されている各画像処理モジュールのバウンダリに基づいて、上記転送データ数の修正値を演算する（Ｓ４）。さらに、転送ブロック再設定部６４は、転送ブロックの１転送ラインのデータ量が転送データ数の修正値になるように、上記各転送ブロックを再設定する（Ｓ５）。
【００８１】
ここで、再設定された各転送ブロックの１転送ライン分のデータ量は、画像処理モジュールに対してデータ転送を行うＤＭＡＣにおける１転送処理当たりの転送データ量に該当することとなる。それゆえ、転送データ数調整部６０は、モジュール選択部５１に選択されている画像処理モジュールのバウンダリに応じて、該画像処理モジュールにデータ転送を行うＤＭＡＣにおける１転送処理当たりの転送データ量（１転送ラインのデータ量，転送データ数）を調整（修正）していることとなる。
【００８２】
以上示したように、図１に示す画像処理装置１０は、複数の画像処理モジュール（画像処理部）を備え、この複数の画像処理モジュールのうち、少なくとも、画像処理モジュールＭ１，Ｍ２，Ｍ３は、バウンダリが互いに異なっている。さらに、上記複数の画像処理モジュールの各々には、各々の画像処理モジュールに対して画像データを転送するＤＭＡＣ（データ転送部）が備えられている。また、画像処理装置１０には、上記複数の画像処理モジュールおよびＤＭＡＣの動作を制御する制御部５０が備えられている。さらに、制御部５０には、モジュール選択部５１と転送データ数調整部６０とデータ転送制御部７１とが含まれている。
【００８３】
モジュール選択部（画像処理選択手段）５１は、上述通り、実行される画像処理の種類に対応した画像処理モジュールを選択・起動する。そして、データ転送制御部（転送制御手段）７１は、選択・起動された画像処理モジュールにおいて画像データの転送が行われるように、該画像処理モジュールに含まれるＤＭＡＣを制御する。また、転送データ数調整部（転送データ量調整手段）６０は、モジュール選択部５１に選択された画像処理モジュールのバウンダリに応じて、該画像処理モジュールに含まれるＤＭＡＣにおける１転送処理当たりの転送データ量を調整していることとなる。
【００８４】
これにより、画像処理装置１００において、画像処理モジュールを複数含み、各画像処理モジュールのバウンダリが互いに異なっている場合でも、データ転送のなされる画像処理モジュールのバウンダリに応じて、データ転送を行うＤＭＡＣにおける１転送当たりの転送データ量を該バウンダリに適合した値に調整することが可能となり、適切にデータ処理を実行することができる。
【００８５】
また、本実施形態においては、上記ＤＭＡＣにおける１転送当たりの転送データ量を、データ転送のなされる画像処理モジュールにおけるバウンダリの倍数となるように設定することが可能となり、データ転送が行えないという事態の発生を回避できる。
【００８６】
さらに、本実施形態においては、モジュール選択部（画像処理選択手段）５１によって画像処理モジュールが２以上選択され、選択された各画像処理モジュールに対して順に画像データを転送する場合、上記選択された２以上の画像処理部における各々のバウンダリの公倍数になるように上記転送データ量を調整している。それゆえ、データ転送のなされる各画像処理モジュールのバウンダリが夫々で異なっていても、選択された画像処理モジュールの各々に対して、これら画像処理モジュールの上記バウンダリの共通の倍数のデータ量の画像データを順に転送することができ、適切にデータ処理を実行することができる。
【００８７】
また、以上の構成によれば、１転送当たりの転送データ量を画像処理モジュール毎で計算する必要がなく、制御部５０の演算処理の負荷を軽減することが可能になる。例えば、モジュール選択部５１によって選択された複数の画像処理モジュールＩＰ１，ＩＰ２，ＩＰ３において、図２に示すように、各々のバウンダリが３byte，６byte，９byteであるとき、画像モジュール毎に１転送あたりの転送データ量を計算すると、画像処理部ＩＰ１に対しては３の倍数の５００１byteを上記転送データ量として計算し、画像処理部ＩＰ２に対しては６の倍数の５００４byteを上記転送データ量として計算し、画像処理部ＩＰ３に対しては９の倍数の５００４byteを上記転送データ量として計算する必要がある。これに対し、本実施形態の構成によれば、画像処理モジュール毎に１転送当たりの転送データ量を計算する必要がなく、各画像処理モジュールに共通の上記転送データ量を１回計算するだけでよく、制御部の負荷を軽減することができる。また、開発者にとっては把握すべき転送データ量の個数が減り（３個→１個）、開発が容易になるメリットがある。
【００８８】
また、以上の実施形態では、画像処理モジュールＭ１，Ｍ２，Ｍ３の各々が互いにバウンダリを異ならせているが、少なくとも２つの画像処理モジュールが互いにバウンダリを異ならせている構成であればよく、３つの画像処理モジュールが互いにバウンダリを異ならせている必要はない。
【００８９】
なお、以上の実施形態においては、画像処理モジュールのバウンダリとは、その画像処理モジュールにおける転送単位となるデータ量であり、より具体的には、その画像処理モジュールに含まれる入力用ＤＭＡＣおよび出力用ＤＭＡＣの転送単位となるデータ量であった。つまり、以上の実施形態においては、各画像処理モジュールにおいて、入力用ＤＭＡＣの転送単位となるデータ量と、出力用ＤＭＡＣの転送単位となるデータ量とは同一となるように設定されていることとなる。
【００９０】
しかし、各画像処理モジュールにおいて、入力用ＤＭＡＣの転送単位となるデータ量と、出力用ＤＭＡＣの転送単位となるデータ量とが異なるように設定されていてもよい。この場合、画像処理モジュールのバウンダリとは、該画像処理モジュールに含まれている入力用ＤＭＡＣの転送単位となるデータ量である入力バウンダリと、該画像処理モジュールに含まれている出力用ＤＭＡＣの転送単位となるデータ量である出力バウンダリとの両方を意味するものとなる。さらに、この場合、転送データ数修正部６３は、モジュール選択部５１に選択された全画像処理モジュールの入力バウンダリおよび出力バウンダリの公倍数であって、転送データ数演算部６２に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、上記転送データ数の修正値を演算する。
【００９１】
なお、上記実施形態の制御部５０は、ＣＰＵなどの演算手段が、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェイス回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の制御部５０の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
【００９２】
この記録媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばＲＯＭのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することにより読み取り可能なプログラムメディアであっても良い。
【００９３】
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。
【００９４】
また、上記プログラムメディアとしては、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやＣＤ／ＭＯ／ＭＤ／ＤＶＤ等のディスクのディスク系、ＩＣカード（メモリカードを含む）等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する記録媒体等がある。
【００９５】
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記録媒体であることが好ましい。
【００９６】
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒体からインストールされるものであることが好ましい。
【００９７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９８】
本発明の画像処理装置は、複写機，インクジェットプリンタ，ＭＦＰ（Multi Function Printer）等に含まれる画像処理手段として好適であるが、これに限定されず、画像処理装置単体としても構成することが可能である。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態に係る画像処理装置の内部構成を模式的に示すブロック図である。
【図２】図１に示した画像処理装置において、各画像処理モジュール間における画像データの転送の流れを示した模式図である。
【図３】図１に示した画像処理装置にて取り扱われる画像データに対応する画像を示した模式図である。
【図４】図１に示した画像処理装置に含まれる制御部の構成を示したブロック図である。
【図５】図１に示した画像処理装置に含まれる制御部の処理の流れを示したフローチャートである。
【図６】図１に示した画像処理装置において、各画像処理モジュールによる画像データの処理のタイミングを示したチャートである。
【図７】従来の画像処理装置において取り扱われる画像データに対応する画像を示した模式図である。
【図８】従来の画像処理装置において、各画像処理モジュール間における画像データの転送の流れを示した模式図である。
【符号の説明】
【０１００】
１０    画像処理装置
１５    メモリ
２０    バス
５０    制御部
５１    モジュール選択部（画像処理選択手段）
６０    転送データ数調整部（転送データ量調整手段）
６１    転送ブロック初期設定部
６２    転送データ数演算部
６３    転送データ数修正部
６４    転送ブロック再設定部
７０    メモリ
７１    データ転送制御部（データ転送制御手段）
Ｍ１，Ｍ２，Ｍ３    画像処理モジュール（画像処理部）
ＤＭＡＣ（データ転送部）
【図１】
2006350843.tif 000003
【図２】
2006350843.tif 000004
【図３】
2006350843.tif 000005
【図４】
2006350843.tif 000006
【図５】
2006350843.tif 000007
【図６】
2006350843.tif 000008
【図７】
2006350843.tif 000009
【図８】
2006350843.tif 000010