(57)【要約】【課題】本発明は、メモリに一旦画像データを保管した後、複数ラインを参照して画像処理してデータ出力を行う画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。【解決手段】複合装置１は、画像受信部１１の取り込んだ画像データをＷＤＭＡＣ１２によって主記憶部３に書き込んで、主記憶部３の画像データをＲＤＭＡＣ１３によって読み出して、複数ライン対象画像処理を施す画像処理部１５へと送り込むとともに、ライン転送制御部１６が、画像受信部１１の取り込んだ画像データの入力ライン数と画像処理部１５に送り込まれる画像データの送り込みライン数から、少なくとも端部処理に必要なライン数が主記憶部３に記憶されている状態に、ＲＤＭＡＣ１３の主記憶部３からの画像データの読み出しをライン転送抑制部１４に制限させるとともに、最終画像データが検出されると、該画像データの読み出し制限を解除する。【選択図】          図１
2011176651.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
入力される画像データを取り込むデータ取り込み手段と、
取り込まれた前記画像データを前記記憶手段に書き込む書き込み手段と、
前記データ取り込み手段によって取り込まれた画像データのライン数を入力ライン数としてカウントする入力ライン数カウント手段と、
前記画像データの最終画像データを検出する最終画像データ検出手段と、
設定情報に応じた設定ライン数の画像データに基づいて画像データに対して該設定情報に応じた複数ライン対象画像処理を施すとともに、該画像データの最後の該設定ライン数以下の残りラインに対する該複数ライン対象画像処理を端部処理として行う画像処理手段と、
画像データに対する画像処理内容に応じた前記設定情報を前記画像処理手段に設定する情報設定手段と、
前記書き込み手段の書き込んだ画像データを読み出して前記画像処理手段に送り込む読み出し手段と、
前記画像処理手段に送り込まれる前記画像データのライン数を送り込みライン数としてカウントする送り込みライン数カウント手段と、
前記画像処理手段への前記設定情報に基づいて前記設定ライン数以上のライン数を端部ライン数として取得する端部ライン数算出手段と、
前記入力ライン数と前記送り込みライン数に基づいて少なくとも前記端部ライン数が前記記憶手段に記憶されている状態に、前記読み出し手段が読み出して前記画像処理手段に送り込む画像データを制限するとともに、前記最終画像データ検出手段が前記最終画像データを検出すると、前記画像データの該画像処理手段への送り込み制限を解除する画像データ制限手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記画像処理装置は、
前記データ取り込み手段の取り込んだ前記画像データを所定の圧縮方式で圧縮して圧縮画像データとして前記書き込み手段に渡す圧縮手段と、
前記書き込み手段によって前記記憶手段に書き込まれ前記読み出し手段によって読み出された圧縮画像データを伸長して前記画像処理手段に送り込む伸長手段と、
を備え、
前記入力ライン数カウント手段は、前記圧縮手段による圧縮前の前記画像データのライン数をカウントし、
前記送り込みライン数カウント手段は、前記伸長手段の伸長した画像データのライン数をカウントすることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記書き込み手段による画像データの前記記憶手段への書き込みデータ量と前記読み出し手段による該記憶手段からの画像データの読み出しデータ量を取得して、該読み出し手段による該読み出しデータ量を、該書き込みデータ量よりも少なく制御する転送制御手段を備えていることを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記画像処理装置は、
前記画像データの総ライン数が予め既知であるか否かによって前記画像データ制限手段による前記画像データの制限処理の有効／無効を制御する制限制御手段を、さらに備えていることを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記画像処理手段は、同じ画像データに対してそれぞれライン数の異なる複数ライン対象画像処理を実行する複数の画像処理モジュールを搭載しており、
前記端部ライン数算出手段は、前記設定情報に基づいて前記複数の画像処理モジュールのうち動作する画像処理モジュールの前記設定ライン数の最大ライン数を前記端部ライン数として取得することを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
入力される画像データを取り込むデータ取り込み処理ステップと、
前記取り込み処理ステップによって取り込まれた画像データを記憶手段に書き込む書き込み処理ステップと、
前記データ取り込み処理ステップによって取り込まれた画像データのライン数を入力ライン数としてカウントする入力ライン数カウント処理ステップと、
前記画像データの最終画像データを検出する最終画像データ検出処理ステップと、
設定情報に応じた設定ライン数の画像データに基づいて画像データに対して該設定情報に応じた複数ライン対象画像処理を施すとともに、該画像データの最後の該設定ライン数以下の残りラインに対する該複数ライン対象画像処理を端部処理として行う画像処理ステップと、
画像データに対する画像処理内容に応じた前記設定情報を前記画像処理ステップに設定する情報設定処理ステップと、
前記書き込み処理ステップの書き込んだ画像データを読み出して前記画像処理ステップに送り込む読み出し処理ステップと、
前記画像処理ステップに送り込まれる画像データのライン数を送り込みライン数としてカウントする送り込みライン数カウント処理ステップと、
前記画像処理ステップへの前記設定情報に基づいて前記設定ライン数以上のライン数を端部ライン数として取得する端部ライン数算出処理ステップと、
前記入力ライン数と前記送り込みライン数に基づいて少なくとも前記端部ライン数が前記記憶手段に記憶されている状態に、前記読み出し処理ステップによって読み出して前記画像処理ステップに送り込む画像データを制限するとともに、前記最終画像データ検出処理ステップで前記最終画像データが検出されると、前記画像データの該画像処理ステップへの制限を解除する画像データ制限処理ステップと、
を有していることを特徴とする画像処理方法。
【請求項７】
コンピュータに、
入力される画像データを取り込むデータ取り込み処理と、
前記取り込み処理によって取り込まれた画像データを記憶手段に書き込む書き込み処理と、
前記データ取り込み処理によって取り込まれた画像データのライン数を入力ライン数としてカウントする入力ライン数カウント処理と、
前記画像データの最終画像データを検出する最終画像データ検出処理と、
設定情報に応じた設定ライン数の画像データに基づいて画像データに対して該設定情報に応じた複数ライン対象画像処理を施すとともに、該画像データの最後の該設定ライン数以下の残りラインに対する該複数ライン対象画像処理を端部処理として行う画像処理と、
画像データに対する画像処理内容に応じた前記設定情報を前記画像処理に設定する情報設定処理と、
前記書き込み処理の書き込んだ画像データを読み出して前記画像処理に送り込む読み出し処理と、
前記画像処理に送り込まれる画像データのライン数を送り込みライン数としてカウントする送り込みライン数カウント処理と、
前記画像処理への前記設定情報に基づいて前記設定ライン数以上のライン数を端部ライン数として取得する端部ライン数算出処理と、
前記入力ライン数と前記送り込みライン数に基づいて少なくとも前記端部ライン数が前記記憶手段に記憶されている状態に、前記読み出し処理によって読み出して前記画像処理に送り込む画像データを制限するとともに、前記最終画像データ検出処理で前記最終画像データが検出されると、前記画像データの該画像処理への制限を解除する画像データ制限処理と、
を実行させることを特徴とする画像処理プログラム。
【請求項８】
請求項記載の画像処理プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関し、詳細には、メモリに一旦画像データを保管した後、読み出した画像データに対して複数ラインを参照して画像処理してデータ出力を行う画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
複写装置、プリンタ装置、ファクシミリ装置、複合装置等の画像処理装置においては、スキャナで読み取られた原稿の画像データ等の入力画像データをプリンタで画像形成出力したり、ネットワーク上のコンピュータや画像形成装置に転送出力する場合、以下のような処理手順によってデータ出力が行われる。すなわち、画像処理装置は、スキャナで読み取られた画像データやネットワークから送られてくる画像データ等の入力画像データを、ＣＰＵ（Central Processing Unit ）を介することなく、ＤＭＡＣ（Direct Memory Access Controller）によってメモリに転送して出力用の画像データとして保存し、その後、メモリ上の画像データをＤＭＡＣで読み出して、必要な画像処理を施して、プリンタ等に出力する。また、画像処理装置は、スキャナで読み取られる等して入力される画像データを圧縮器で可変長圧縮して圧縮データとし、ＤＭＡＣによってメモリに転送して出力用の圧縮データとして保存する。その後、画像処理装置は、メモリ上の圧縮データをＤＭＡＣで読み出して伸長器で伸長し、必要な画像処理を施して、プリンタ等に出力する。
【０００３】
このような一連の画像データ処理においては、スキャナの読み取りデータを取り扱う場合には、スキャナの動作が一定の速度で行われるため、メモリへのデータ転送を一定速度で行う必要がある。
【０００４】
そして、処理速度を向上させるために、入力される画像データをメモリに保存し、全ての画像データのメモリへの保存が完了する前に、メモリの画像データの読み出しを開始して、読み出した画像データを出力する逐次処理を行っている。この場合、画像データをメモリに転送保存する転送処理とメモリの画像データを読み出して出力する読み出し出力処理を適切に連携させて全体の転送処理を速やかに行うことが、出力スピード（コピースピード等）、特に、コピーの場合、１枚目のコピーであるファーストコピーの処理時間を短くする上で、重要である。
【０００５】
そして、今日、画像処理装置においては、上述の入力画像データをメモリに転送するＤＭＡＣ、メモリから画像データを読み出すＤＭＡＣ、メモリから読み出された画像データに必要な画像処理を施す画像処理部等の各部がＡＳＩＣ（Application Specific Integrated Circuit）という１つのＩＣ（Integrated Circuit：集積回路）に搭載されており、小型で高速処理が図られている。
【０００６】
また、複写装置、複合装置等においては、ＡＤＦ（Auto Document Feeder）にサイズの異なる複数枚の原稿をセットして、ＡＤＦからスキャナに１枚ずつ搬送してスキャナで該原稿の画像を読み取って、ＡＳＩＣに出力するとともに、ＡＤＦからスキャナに原稿を搬送する過程で原稿サイズを検出して、該原稿サイズに対応したサイズの用紙を選択して画像を記録出力するサイズ混載コピー機能を搭載している。
【０００７】
さらに、画像処理装置においては、メモリに一旦保管した画像データを出力に際して、複数ラインを参照して画像処理を行うことがあるが、この場合、画像終端部の複数ラインの画像処理（端部処理）においては、画像の副走査サイズを事前に取得する必要がある。例えば、１／１６縮小変倍処理を行う場合、最終ラインから１６ライン以上前に副走査ライン数を確定しないと、端部処理を行うことができない。また、フィルタ処理やディザ処理等の画像処理においても、複数ラインの情報に基づいて画像処理行うため、該画像処理の端部処理を開始する前に副走査ライン数を確定して設定する必要がある。
【０００８】
そこで、従来、サイズ混載機能によってコピーを行うとともに、複数ラインを参照する必要のある画像処理を行う場合、以下のような方法のいずれかによって画像処理を行っている。
【０００９】
すなわち、メモリに１ページ分の画像データを転送保管して、副走査ライン数が確定した後に、画像処理部を起動して、端部処理に必要なライン数分の画像データずつ画像処理部に転送する第１の方法。または、ＡＳＩＣ内に複数ライン分蓄積可能なラインバッファを実装して、画像処理部へのデータ入力を該ラインバッファで遅延させ、遅延させている間に副走査ライン数を確定させて画像処理部の端部処理の開始に間に合わせる第２の方法。
【００１０】
ところが、第１の方法では、メモリに１ページ分の画像データを蓄積して副走査サイズを確定してから画像処理を開始するため、メモリの画像保存用に大きな容量を必要とし、コストが高くなるという問題がある。
【００１１】
また、第２の方法では、端部処理に必要な最大ライン数のラインバッファをＡＳＩＣに実装すると、ＡＳＩＣのチップ面積が大きくなりコストが高くなるだけでなく、必要な最大ライン数が大きくなると、現在のＡＳＩＣ生産技術では、生産可能なチップサイズを超えてしまい、実現性が問題となる。
【００１２】
そして、従来、転写ライン数が分からない場合に、転写ライン数が確定するまでは、エンジン側の転写ライン数として大きな値を設定して、メモリからエンジンへ画像データを転送して転写を開始し、転写ライン数が確定した後に、エンジン側の転写ライン数を確定した転写ライン数に設定し直して、確定した該転写ライン数まで画像を出力する画像処理装置が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記公報記載の従来技術にあっては、転写ライン数が確定するまでは、エンジン側の転写ライン数として大きな値を設定して、メモリからエンジンへ画像データを転送して転写を開始し、転写ライン数が確定した後に、エンジン側の転写ライン数を確定した転写ライン数に設定し直して、転写を行っているため、この技術を、入力画像データの副走査サイズが不明であって、複数ラインを参照する必要のある画像処理を行う場合の端部処理に適用しても、端部処理を開始する参照ライン数よりも前に画像データの副走査ライン数を確定させることはできない。その結果、上記第１の方法及び第２の方法の問題を解決することができず、安価かつ高速に画像データの転送を行って画像出力を行う上で、改良の必要があった。
【００１４】
そこで、本発明は、副走査サイズが不明の画像データに対して複数ラインを参照した画像処理を施して出力する場合の端部処理を安価かつ高速に実行する画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
本発明は、上記目的を達成するために、取り込んだ画像データを記憶手段に書き込んで、該記憶手段の画像データを読み出して、設定情報に応じた設定ライン数の画像データに基づいて画像データに対して該設定情報に応じた複数ライン対象画像処理を施すとともに、該画像データの最後の該設定ライン数以下の残りラインに対する該複数ライン対象画像処理を端部処理として行う画像処理へと送り込むとともに、取り込まれた上記画像データの入力ライン数と該画像処理に送り込まれる画像データの送り込みライン数を取得して、少なくとも上記端部ライン数が記憶手段に記憶されている状態に、記憶手段から読み出して画像処理に送り込む画像データを制限するとともに、最終画像データが検出されると、該画像処理への画像データの制限を解除することを特徴としている。
【００１６】
また、本発明は、取り込んだ前記画像データを所定の圧縮方式で圧縮して圧縮画像データとして前記記憶手段に書き込み、該記憶手段から読み出された圧縮画像データを伸長して画像処理に送り込むとともに、前記圧縮前の前記画像データのライン数を入力ライン数としてカウントし、伸長後の画像データのライン数を送り込みライン数としてカウントすることを特徴としてもよい。
【００１７】
さらに、本発明は、画像データの前記記憶手段への書き込みデータ量と該記憶手段からの画像データの読み出しデータ量を取得して、該読み出しデータ量を、該書き込みデータ量よりも少なく制御することを特徴としてもよい。
【発明の効果】
【００１８】
本発明によれば、副走査サイズが不明の画像データに対して複数ラインを参照した画像処理を施して出力する場合の端部処理を安価かつ高速に実行することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図２】画像処理を示すフローチャート。
【図３】画像データを圧縮して記憶する場合の複合装置の要部ブロック構成図。
【図４】画像データを圧縮して記憶する他の複合装置の要部ブロック構成図。
【図５】混載モード設定が可能な複合装置の要部ブロック構成図。
【図６】複数ライン参照画像処理モジュールが複数存在する場合の複合装置の要部ブロック構成図。
【発明を実施するための形態】
【００２０】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００２１】
図１〜図６は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の第１実施例を示す図であり、図１は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の第１実施例を適用した複合装置１の要部ブロック構成図である。
【００２２】
図１において、複合装置１は、ＣＰＵ（Central Processing Unit ）２、主記憶部３、ＡＳＩＣ４、スキャナ部５及びプロッタ部６等を備えているとともに、図示しないが、操作表示部、ファクシミリ通信部、ネットワーク通信部等を備えており、ＣＰＵ２、主記憶部３及びＡＳＩＣ４は、データバス７によって接続されている。複合装置１は、ＣＰＵ２の制御下で、コピー機能、プリンタ機能、ファクシミリ機能、データ転送機能等の各種機能を実行する。
【００２３】
ＡＳＩＣ４は、画像受信部１１、ＷＤＭＡＣ（Write Direct Memory Access Controller）１２、ＲＤＭＡＣ（Read Direct Memory Access Controller）１３、ライン転送抑制部１４、画像処理部１５、ライン転送制御部１６、抑制ライン数計算部１７、ＷＤＭＡＣ１８、ＲＤＭＡＣ１９及び画像送信部２０等を搭載しており、ＷＤＭＡＣ１２、ＲＤＭＡＣ１３、ＷＤＭＡＣ１８及びＲＤＭＡＣ１９は、データバス７によりＣＰＵ２及び主記憶部３により接続されている。
【００２４】
スキャナ部５は、例えば、ＣＣＤ(Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor ）、また、ＣＩＳ（Contact Image Sensor：密着イメージセンサ）をイメージセンサとして利用して、原稿からの反射光を光電変換し、アナログ／デジタル（Ａ／Ｄ）変換回路でデジタルデータに変化して画像受信部１１に出力する。スキャナにおける画像読み取り方式としては、固定されている原稿に対して読み取り側を移動させつつ原稿面を主走査及び副走査するフラットベッド（Flat Bed）方式、固定した読み取り側に対して原稿を搬送移動させて原稿面を主走査及び副走査するＡＤＦ（Auto Document Feeder）方式がある。
【００２５】
プロッタ部（出力手段）６は、所定の印刷方式、例えば、電子写真方式、インク噴射方式のプロッタ部が用いられており、カラー、または、モノクロで用紙に画像を印刷出力する。
【００２６】
主記憶部（記憶手段）３は、ＲＡＭや不揮発性メモリ等で構成され、後述するように、スキャナ部５の読み取った原稿の画像データ、図示しないネットワークインターフェイスの受信した画像データ、ファクシミリ通信部の受信した画像データ等の画像データが、ＡＳＩＣ４のＷＤＭＡＣ１２によって書き込まれて、ＲＤＭＡＣ１３によって読み出される。また、主記憶部３は、ＡＳＩＣ４で画像処理後の画像データがＷＤＭＡＣ１８によって書き込まれ、ＲＤＭＡＣ１９によって読み出される。
【００２７】
主記憶部３は、ＣＰＵ２によって、ＷＤＭＡＣ１２、ＲＤＭＡＣ１３、ＷＤＭＡＣ１８及びＲＤＭＡＣ１９の利用するディスクリプタがそれぞれ書き込まれる。
【００２８】
ＣＰＵ２は、主記憶部３、または、図示しないＲＯＭ（Read Only Memory）やハードディスク等に格納されているプログラムに基づいて複合装置１の各部を制御して、複合装置１としての基本処理を実行するとともに、本発明の画像処理を実行する。ＣＰＵ２は、ＡＳＩＣ４への動作モードの設定や起動指示、主記憶部３のアドレス管理等を行い、また、スキャナ部５やプロッタ部６のモータ等の制御指示を行う。
【００２９】
画像受信部（データ取り込み手段、入力ライン数カウント手段、最終画像データ検出手段）１１スキャナ部５で読み取られて電子化（デジタル化）された画像データを、ＡＳＩＣ４内に取り込み、入力される画像データのライン数を計測して、画像の入力完了とともに入力画像データのライン数をライン転送制御部１６に出力する。
【００３０】
なお、画像受信部１１が入力ライン数情報を取得する方法としては、例えば、スキャナから１ライン周期内に書き込みがないことを検知すると、それまでに受け取った画像データのライン数から入力画像の副走査ライン数を算出する方法を用いることができる。
【００３１】
また、画像受信部１１は、１ライン周期内に書き込みがないことを画像の入力完了として検出して、入力完了通知をライン転送制御部１６に出力する。
【００３２】
さらに、画像受信部１１は、スキャナ部５から転送完了情報を受信して、入力完了通知と入力ライン数情報を確定してもよい。
【００３３】
また、画像受信部１１は、データ転送総量を画像の主走査長で割ることでライン数を求めてもよい。この場合、例えば、スキャナ部５からの画像データ入力中は、例えば、画像受信部１１からＷＤＭＡＣ１２への転送データ量を取得し、さらに、ＣＰＵ２による設定等の方法で別途取得した主走査長で転送データ量を割ることで、入力ライン数を随時取得する。
【００３４】
また、ＲＤＭＡＣ（送り込みラインカウント手段）１３は、主記憶部３から読み出してライン転送抑制部１４へ転送する画像データの転送データ量から上記同様の方法で転送ライン数を随時取得し、取得した転送ライン数を送り込みライン数（転送ライン数）としてライン転送制御部１６に出力する。
【００３５】
抑制ライン数計算部（端部ライン数算出手段）１７は、ＣＰＵ２によって画像処理部１５に設定される画像処理用の画像処理パラメータ（画像処理情報）を取得して、該画像処理パラメータに応じた端部処理に必要なライン数をライン転送制御部１６に通知する。すなわち、画像処理部１５が複数ラインを参照して画像処理する場合、端部処理を正常に実施するために必要なライン数は、ＣＰＵ２によって設定される画像処理パラメータによって決定される。なお、端部処理に必要なライン数は、画像処理部１５が自動計算してもよいし、ＣＰＵ２で計算してライン転送制御部１６に直接ライン数を設定してもよい。
【００３６】
ＷＤＭＡＣ（書き込み手段）１２は、画像受信部１１からの画像データを、主記憶部３にＣＰＵ２が書き込んだディスクリプタに基づいて主記憶部３に転送して書き込む。ＲＤＭＡＣ（読み出し手段）１３は、ＣＰＵ２が主記憶部３に書き込んだディスクリプタに基づいて、主記憶部３にＷＤＭＡＣ１２によって書き込まれた画像データを、主記憶部３から読み出してライン転送抑制部１４に転送する。
【００３７】
ライン転送制御部１６は、抑制ライン数計算部１７から端部処理に必要なライン数を受信し、画像受信部１１がＷＤＭＡＣ１２に転送した入力ライン数と、ＲＤＭＡＣ１３がライン転送抑制部１４に転送した転送ライン数との差が常に端部処理に必要なライン数以上遅延するように、ライン転送抑制部１４に対する転送許可信号を制御する。また、ライン転送制御部１６は、画像受信部１１によって検知された画像データの入力完了通知を受信すると、画像処理部１５も同時に入力ライン数情報の確定値を取得したと判断して、入力ライン数と転送ライン数の比較を中止し、転送許可信号をアサート状態にする。
【００３８】
そして、ライン転送抑制部１４は、ライン転送制御部１６からの転送許可信号がアサート状態のときだけＲＤＭＡＣ１３から画像処理部１５へのデータ転送を許可し、その他のときには、データ転送を禁止する。このライン転送抑制部１４によって転送を止められた画像データは、主記憶部３に蓄積されるため、ＡＳＩＣ４内にラインバッファとしてＳＲＡＭを搭載する必要がなく、ラインバッファとしてのＳＲＡＭ搭載分を削減して、コストを削減することができる。
【００３９】
したがって、上記ライン転送抑制部１４及びライン転送制御部１６は、全体として画像データ制限手段として機能する。
【００４０】
画像処理部１５は、ＣＰＵ２によって、主記憶部３に格納した画像データに対して施す画像処理のパラメータが設定され、スキャナ部５によって読み取られた画像を、該パラメータに応じて、プロッタ部６における出力用の出力画像に画像処理するが、この画像処理としては、ライン間補正、シェーディング補正、フィルタ処理等の画像処理を行ってもよい。特に、画像処理部１５は、変倍処理等の複数ラインを参照して行う場合の端部処理を行うのに必要な画像データのライン数情報は、画像受信部１１から入力完了通知とともにライン転送制御部１６に通知され、また、端部処理に必要な参照ライン数は、抑制ライン数計算部１７がＣＰＵ２によって画像処理部１５に設定されたパラメータから取得して、ライン転送制御部１６に通知する。そして、ライン転送制御部１６は、ライン転送抑制部１４にＲＤＭＡＣ１３が主記憶部３から読み取った画像データの画像処理部１５への転送許可を制御することで、画像処理部１５での端部処理を可能としている。
【００４１】
なお、端部処理を行うために必要な入力ライン数情報は、画像受信部１１より入力完了通知と同時にライン転送制御部１６に通知される。
【００４２】
ＷＤＭＡＣ１８は、ＣＰＵ２を介することなく、主記憶部３のディスクリプタに基づいて、画像処理部１５の画像処理した画像データを主記憶部３にデータバス７を介して転送して、主記憶部３の指定のメモリアドレスに出力用画像データとして書き込む。
【００４３】
ＲＤＭＡＣ１９は、主記憶部３の指定アドレスの出力用画像データを読み出して画像送信部２０に転送し、この読み出し指定アドレスは、ＣＰＵ２が書き込んだ主記憶部３のリード用ディスクリプタによって指定されるアドレスである。
【００４４】
そして、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像処理方法を実行する画像処理プログラムを読み込んで主記憶部３、ＲＯＭ、ハードディスク等に導入することで、後述する画像データサイズが不明な場合に複数ラインを参照する画像処理における端部処理を安価かつ高速に実行する画像処理方法を実行する画像処理装置として構築されている。この画像処理プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００４５】
なお、ＲＤＭＡＣ１９と画像送信部２０は、図1では、ＡＳＩＣ４内部に搭載されているが、別のハードウェアに実装されていてもよく、画像処理装置が複合装置１ではなく、スキャナやファックス等の装置のときには、実装されていなくてもよい。
【００４６】
次に、本実施例の作用を説明する。本実施例の複合装置１は、画像データサイズが不明な場合に複数ラインを参照する画像処理における端部処理を安価かつ高速に実行する。
【００４７】
なお、以下の説明では、スキャナ部５で読み取った原稿に複数ライン参照画像処理（複数ライン対象画像処理）を施してプリンタ部６で印刷出力する場合について説明するが、入力画像データは、スキャナ部５で読み取った画像データに限るものではなく、また、出力先は、プリンタ部６に限るものではない。
【００４８】
画像処理部１５が端部処理に複数のライン数が必要となる画像処理としては、例えば、画像変倍処理で、入力される画像を副走査方向に１６分の１に縮小変倍する縮小変倍処理がある。この場合、画像処理部１５は、入力される１６ラインの画像毎に１ラインの出力画像を生成する。ところが、入力画像の副走査ライン数が１６の倍数でない場合、例えば、副走査３１ラインの入力画像を扱う場合には、画像の後端において残り１５ラインから１ラインの出力画像を生成する必要がある。このとき、画像処理部１５は、画像の後端を処理する端部処理を行うためには、残りライン数が１５ラインであるという情報を事前に知っておく必要がある。また、縮小変倍処理の場合、端部処理に必要なライン数は縮小変倍率の設定に依存するだけでなく、縮小変倍の方式によっても異なってくる。
【００４９】
また、例えば、ディザ処理やスムージング処理を行う場合等にも、複数のラインにまたがるマトリクスを参照して注目画素を決定するため、端部処理を開始する前に入力画像の副走査ライン数を確定させておく必要が生じる。
【００５０】
そこで、本実施例の複合装置１は、このような複数ラインを参照した画像処理を行う場合の端部処理を安価かつ高速に行うために、図２に示すように処理を行う。すなわち、複合装置１は、図２に示すように、コピーモードにおいて、操作部で必要なモード設定等が行われてスタートキーが投入されると、システムを制御するＣＰＵ２が、ＡＳＩＣ４に対して画像処理方法や画像転送方法を設定するためのパラメータをセットする（ステップＳ１０１）。
【００５１】
次に、抑制ライン数計算部１７は、ＣＰＵ２によって画像処理部１５に設定された画像処理設定値（設定情報）から端部処理に必要なライン数を求め、ライン転送制御部１６に該ライン数を通知する（ステップＳ１０２）。
【００５２】
ＣＰＵ２は、スキャナ部５とＡＳＩＣ４を起動して画像の入力を開始させる（ステップＳ１０３）。スキャナ部５は、読み取った原稿の画像データを順次ＡＳＩＣ４の画像受信部１１に出力し、ＡＳＩＣ４は、画像受信部１１によって受け取った画像データを、ＷＤＭＡＣ１２によって一旦主記憶部３に書き込んで、再び、ＲＤＭＡＣ１３によって読み込むまで主記憶部３に一時蓄積させる。
【００５３】
そして、ライン転送制御部１６は、スキャナ部５から入力される画像データの入力ライン数と、ＲＤＭＡＣ１３によって主記憶部３から読み込まれる画像データのライン数を比較し、画像処理部１５内の複数のラインを参照して画像処理を行う機能モジュールの端部処理に必要な参照ライン数以上遅延させるように、ライン転送抑制部１４に出力する転送許可信号を制御する。ライン転送抑制部１４は、ライン転送制御部１６が出力する転送許可信号に従って、ＲＤＭＡＣ１３が主記憶部３から読み出した画像データの画像処理部１５への転送を抑制する（ステップＳ１０４）。
【００５４】
画像受信部１１は、スキャナ部５からの入力画像完了を検知すると、入力完了通知とともに入力ライン数情報（入力ライン数計測値）を画像処理部１５とライン転送制御部１６に通知する（ステップＳ１０５）。
【００５５】
ライン転送制御部１６は、画像受信部１１から入力完了通知を受け取ると、ライン転送抑制部１４に出力する転送許可信号をアサート状態に固定する（ステップＳ１０６）。
【００５６】
画像処理部１５は、画像受信部１１から入力完了通知とともに入力ライン数情報を取り込んで、ライン転送抑制部１４から転送される画像データが端部処理に必要なライン数に達すると、端部処理を行う（ステップＳ１０６）。
【００５７】
ＡＳＩＣ４は、画像処理部１５での画像データに対する画像処理が完了すると、ＷＤＭＡＣ１８によって主記憶部３に画像処理後の画像データの書き込みを行い、１ページ分の画像データの主記憶部３への書き込みが完了すると、ＣＰＵ２に対して割り込みによって完了を通知する（ステップＳ０７）。
【００５８】
そして、複合装置１は、所定タイミングに、ＷＤＭＡＣ１８によって主記憶部３に書き込まれた画像データをＲＤＭＡＣ１９によって読み出して、画像送信部２０に送り、画像送信部２０からプロッタ部６に送信する。プロッタ部６は、送信されてきた画像データに基づいて、用紙に画像を形成する。
【００５９】
なお、ＲＤＭＡＣ１９と画像送信部２０は、画像受信部１１や画像処理部１５と同時に起動される必要はなく、画像処理後に画像を形成する用紙の方向に合わせて９０度回転処理を行ったり、プロッタ部６の出力タイミングに合わせて一時主記憶部３に画像データを蓄積させてもよい。
【００６０】
このように、本実施例の複合装置１は、画像受信部１１の取り込んだ画像データをＷＤＭＡＣ１２によって主記憶部３に書き込んで、主記憶部３に書き込んだ画像データをＲＤＭＡＣ１３によって読み出して、設定情報に応じた設定ライン数の画像データに基づいて画像データに対して該設定情報に応じた複数ライン参照画像処理を施すとともに、該画像データの最後の該設定ライン数以下の残りラインに対する該複数ライン参照画像処理を端部処理として行う画像処理部１５へと送り込むとともに、ライン転送制御部１６が、画像受信部１１の取り込んだ画像データの入力ライン数と画像処理部１５に送り込れる画像データの転送ライン数を取得して、少なくとも端部ライン数が主記憶部３に記憶されている状態に、主記憶部３から読み出して画像処理部１５に送り込む画像データをライン転送抑制部１４によって制限させるとともに、最終画像データが検出されると、該画像処理への画像データの制限を解除している。
【００６１】
したがって、ＡＳＩＣ４内に端部処理に必要なライン数の画像データを蓄積するＳＲＡＭを搭載することなく、また、主記憶部３に１ページ分の画像データ用メモリ領域を確保することなく、端部処理に必要なライン数以上の画像データを主記憶部３に蓄積させて、複数ライン参照画像処理及び端部処理を適切に行うことができ、副走査サイズが不明の画像データに対して複数ラインを参照した画像処理である複数ライン参照画像処理を施して出力する場合の端部処理を安価かつ高速に実行することができる。
【００６２】
なお、複合装置１としては、上記図１の構成に限るものではなく、例えば、図３に示す複合装置３０のように、ＡＳＩＣ３１が、画像圧縮部３２と画像伸長部３３を備えていてもよい。なお、図３において、図１と同様の構成部分には、同一の符号を付して、その説明を省略する。
【００６３】
この複合装置３０は、画像受信部１１が受信した画像データを、画像圧縮部３２が所定の圧縮方式で圧縮してＷＤＭＡＣ１２に渡し、ＷＤＭＡＣ１２が主記憶部３に転送して記憶する。画像伸長部３３は、ＲＤＭＡＣ１３が読み出した主記憶部３の圧縮画像データを伸長して、ライン転送抑制部１４に出力する。この画像伸長部３３は、伸長後の画像データのライン数である転送ライン数を計測してライン転送制御部１６に出力し、以降、上記同様に処理する。
【００６４】
このようにすると、主記憶部３に圧縮画像データを蓄積することができ、主記憶部３の画像データを保管するための容量を節約して、より一層安価なものとすることができる。また、この場合、転送に用いるデータバス７の転送量を削減することができ、バストラフィックの効率を向上させることができる。
【００６５】
また、図３の場合、図４に示すように、メモリ転送制御部３４を設けてもよい。このメモリ転送制御部３４は、ＷＤＭＡＣ１２によって主記憶部３に書き込まれた符号量（圧縮画像データ量）を計測しながら書き込み符号量を追い越さないように、ＲＤＭＡＣ１３の読み込みを制御する。なお、図４において、図１及び図３と同様の構成部分には、同一の符号を付して、その説明を省略する。
【００６６】
通常、画像伸長部３３やＲＤＭＡＣ１３内にはデータバッファが搭載されるため、ＲＤＭＡＣ１３は、データバッファ分だけ主記憶部３から画像データを先読みしてしまうことがある。
【００６７】
そこで、本実施例の複合装置１は、ＡＳＩＣ３１内にライン転送抑制部１４よりも上流のＲＤＭＡＣ１３が、画像データを主記憶部３から先読みすることを制御することで、画像データのハンドリングをより一層確実に実施し、書き込み符号量を追い越さないように、ＲＤＭＡＣ１３の読み込みを制御する。この場合、メモリ転送制御部３４は、ＷＤＭＡＣ１２から主記憶部３に転送される画像データのバイト数を入力データ量として計測するとともに、ＲＤＭＡＣ１３が主記憶部３から読み出す画像データのバイト数を読み出しデータ量として計測し、この入力データ量と読み出しデータ量を比較することで、ＲＤＭＡＣ１３への転送許可信号を制御して、読み出しデータ量を書き込みデータ量よりも少なく制御している。
【００６８】
このように、メモリ転送制御部３４によって、ＷＤＭＡＣ１２の書き込みをＲＤＭＡＣ１３の読み込みが追い越さないよう制御することで、圧縮画像データ（符号データ）を一時蓄積する主記憶部３上での追い越しによる異常画像の発生を確実に防止することができる。
【００６９】
さらに、図５に示すように、ＡＳＩＣ３１が、混載モード設定部３５を搭載していてもよい。図５において、ＡＳＩＣ３１は、混載モード設定部３５が搭載されており、混載モード設定部３５は、ライン転送制御部１６の機能をオン／オフする。なお、図５において、図１及び図４と同様の構成部分には、同一の符号を付して、その説明を省略する。
【００７０】
すなわち、混載モードにおいて、入力される画像データの副走査サイズが分かっている場合には、ライン転送制御部１６によってライン転送抑制部１４を制御することで画像処理部１５に転送する転送ライン数を端部処理に必要なライン数以下に抑制する必要がない。
【００７１】
そこで、図示しないが、複合装置１の操作表示部に、混載モードとして画像データサイズが既知のサイズ既知混載モードと画像データサイズが未知のサイズ未知混載モードを切り替える切り替えスイッチを設けられている。
【００７２】
混載モード設定部３５は、切り替えスイッチによってサイズ既知混載モードが選択操作されると、ライン転送制御部１６に該ライン転送制御部１６の機能をオフにする信号を出力し、切換スイッチによってサイズ未知混載モードが選択されると、ライン転送サイズ制御部１６に該ライン転送制御部１６の機能をオンにする信号を出力する。
【００７３】
このように、画像データサイズが既知の場合に、混載モード設定部３５によってライン転送制御部１６の機能をオフにすると、ライン転送抑制部１４によるデータ転送遅延や画像受信部１１による入力完了判断時間分のデータ転送遅延の発生を防止することができ、ＡＳＩＣ３１での処理速度を早くして、ファーストコピー時間をより一層短縮することができる。
【００７４】
また、図６に示すように、複合装置４０は、そのＡＳＩＣ４１の画像処理部４２が複数ラインを参照して画像処理する画像処理モジュールを複数搭載していてもよい。この場合、画像処理部４２は、各画像処理モジュールの画像処理設定値を抑制ライン計算部４３に出力し、抑制ライン計算部４３は、各画像処理モジュールの画像処理設定値から各端部処理に必要なライン数を比較して、端部処理に必要な数の最大値を取得してライン転送制御部１６に出力する。以降、上記同様に、ライン転送制御部１６は、画像受信部１１がＷＤＭＡＣ１２に転送したライン数と、ＲＤＭＡＣ１３がライン転送抑制部１４に転送したライン数との差が、常に抑制ライン数計算部４３から受け取った端部処理に必要なライン数以上となるように、ライン転送抑制部１４に対する転送許可信号を制御する。
【００７５】
このようにすると、画像処理部２が複数ラインを参照して画像処理する画像処理モジュールを複数搭載している場合にも、画像データのサイズが分からなくても、複数ラインを参照して処理する画像処理の端部処理を安価かつ高速に行うことができる。
【００７６】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７７】
本発明は、メモリに一旦画像データを保管した後、複数ラインを参照して画像処理してデータ出力を行う画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に利用することができる。
【符号の説明】
【００７８】
１  複合装置
２  ＣＰＵ
３  主記憶部
４  ＡＳＩＣ
５  スキャナ部
６  プロッタ部
７  データバス
１１  画像受信部
１２  ＷＤＭＡＣ
１３  ＲＤＭＡＣ
１４  ライン転送抑制部
１５  画像処理部
１６  ライン転送制御部
１７  抑制ライン数計算部
１８  ＷＤＭＡＣ
１９  ＲＤＭＡＣ
２０  画像送信部
３０  複合装置
３１  ＡＳＩＣ
３２  画像圧縮部
３３  画像伸長部
３４  メモリ転送制御部
３５  混載モード設定部
４０  複合装置
４１  ＡＳＩＣ
４２  画像処理部
４３  抑制ライン計算部
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特許第４０２４７４９号公報
【図１】
2011176651.tif 000003
【図２】
2011176651.tif 000004
【図３】
2011176651.tif 000005
【図４】
2011176651.tif 000006
【図５】
2011176651.tif 000007
【図６】
2011176651.tif 000008