(57)【要約】【課題】  並行処理を高速に行うことができ、処理済データを効率的に格納できる情報処理装置、情報処理方法、情報処理プログラム及び記録媒体を提供することを目的とする。【解決手段】  逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理装置であって、分割データ毎の処理時間が近似するように、逐次処理可能なデータを分割する分割機能４２，４４と、分割データを並行処理可能な処理機能４５と、処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能４６とを有することにより上記課題を解決する。【選択図】  図４
2005332298.tif 000002
【特許請求の範囲】
【請求項１】
逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理装置であって、
前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、
前記分割データを並行処理可能な処理機能と、
前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能と
を有することを特徴とする情報処理装置。
【請求項２】
前記分割機能は、前記逐次処理可能なデータの特徴量をカウントし、前記分割データ毎のカウント値が所定値となるように前記逐次処理可能なデータを分割することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として黒ドット数をカウントし、前記分割データ毎の黒ドット数のカウント値が所定値となるように前記逐次処理可能なデータを分割することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量としてドット変化数をカウントし、前記分割データ毎のドット変化数のカウント値が所定値となるように前記逐次処理可能なデータを分割することを特徴とする請求項２記載の情報処理装置。
【請求項５】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として像域分離ビットの変化数をカウントし、前記分割データ毎の像域分離ビットの変化数のカウント値が所定値となるように前記逐次処理可能なデータを分割することを特徴とする請求項２記載の情報処理装置。
【請求項６】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として非文字ビット数をカウントし、前記分割データ毎の非文字ビット数のカウント値が所定値となるように前記逐次処理可能なデータを分割することを特徴とする請求項２記載の情報処理装置。
【請求項７】
前記逐次処理可能なデータが画像データであり、前記所定の処理の負荷が軽い場合、前記分割機能は前記画像データをページ単位に分割し、前記処理機能はページ単位に分割された画像データを並行処理することなく順次処理することを特徴とする請求項２記載の情報処理装置。
【請求項８】
前記逐次処理可能なデータが画像データであり、前記所定の処理の負荷が重い場合、前記分割機能は前記画像データをページ単位よりも小さい領域単位に分割し、前記処理機能は領域単位に分割された画像データを並行処理することを特徴とする請求項２記載の情報処理装置。
【請求項９】
前記逐次処理可能なデータが画像データであり、前記分割機能は前記画像データの特徴量およびライン数をカウントし、前記画像データのライン数が設定値に達する毎に前記画像データの特徴量のカウント値が所定値に達しているか否かを判定して、前記画像データの特徴量のカウント値が所定値に達しているときに前記画像データを分割することを特徴とする請求項２記載の情報処理装置。
【請求項１０】
前記分割機能は、画像データの画像サイズに応じて前記設定値を変更することを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記格納機能は、前記処理機能により並行処理された処理済データを同一のメモリ空間内の先頭アドレスからアドレスの増加方向と最終アドレスからアドレスの減少方向とに交互に格納することを特徴とする請求項１記載の情報処理装置。
【請求項１２】
前記格納機能は、前記処理機能を実現する処理部の数に応じて、前記同一のメモリ空間内を複数のメモリ空間に分割し、分割したメモリ空間を各処理部に割り当て、前記各処理部により並行処理された処理済データを各処理部に割り当てられた分割したメモリ空間に格納することを特徴とする請求項１記載の情報処理装置。
【請求項１３】
前記格納機能は、前記同一のメモリ空間内を複数のメモリ空間に分割し、分割した各メモリ空間の先頭アドレスからアドレスの増加方向と最終アドレスからアドレスの減少方向とに、前記処理機能により並行処理された処理済データを順次格納することを特徴とする請求項１記載の情報処理装置。
【請求項１４】
前記格納機能は、前記処理機能を実現する処理部の数に応じて、前記同一のメモリ空間内を複数のメモリ空間に分割することを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
所定の処理を行う前の逐次処理可能なデータと所定の処理を行った後の処理済データとを同一のメモリ空間内の異なるアドレスに格納することを特徴とする請求項１乃至１４何れか一項記載の情報処理装置。
【請求項１６】
前記処理済データのデータ量は、所定の処理を行う前の分割データのデータ量と異なっていることを特徴とする請求項１乃至１５何れか一項記載の情報処理装置。
【請求項１７】
前記所定の処理は、圧縮又は伸張処理であることを特徴とする請求項１乃至１６何れか一項記載の情報処理装置。
【請求項１８】
画像形成に係る処理を行う画像処理装置であることを特徴とする請求項１乃至１７何れか一項記載の情報処理装置。
【請求項１９】
逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理方法であって、
前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割段階と、
前記分割データを並行処理する処理段階と、
前記並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納段階と
を有することを特徴とする情報処理方法。
【請求項２０】
逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納するコンピュータに、
前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、
前記分割データを並行処理可能な処理機能と、
前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能と
を実現させる為の情報処理プログラム。
【請求項２１】
逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納するコンピュータに、
前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、
前記分割データを並行処理可能な処理機能と、
前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能と
を実現させる為の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体に係り、特に逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理装置、情報処理方法、情報処理プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
画像データを扱う情報処理の分野では、画像データに対して色変換処理、変倍処理、フィルタ処理、画像編集処理、γ変換処理、階調処理、圧縮・伸張処理などの画像処理を高速に行うため、画像データを複数の領域に分割し、複数の画像処理部で並行処理することが知られている（例えば、特許文献１又は２参照）。
【特許文献１】特開２００１−１６０９０４号公報
【特許文献２】特開２００２−２６２２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、画像処理の負荷は画像データの特徴（例えばカラー、モノクロ、文字、非文字等）に応じて大きく異なる。つまり、画像データを同じ大きさの領域に分割したとしても、画像処理の負荷が各領域毎に異なる場合があった。その結果、画像データを複数の領域に分割し、複数の画像処理部で並行処理する場合、各画像処理部での処理時間にバラツキが発生する為、全体の処理時間は最も負荷の重い画像処理部の処理時間に影響されるという問題があった。
【０００４】
また、画像処理後の画像データは同一のメモリ空間の連続したアドレスに格納することが望ましい。しかしながら、画像データは、例えば圧縮・伸張処理などのように、画像処理の前後でデータ量が変化する場合もある。通常、画像処理後の画像データのデータ量は予測できないため、複数の画像処理部で並行処理する場合、画像処理後の画像データを格納する各領域毎のメモリ空間を予め大きめに割り当てておかなければならず、メモリを効率的に利用できないという問題があった。
【０００５】
なお、画像処理後の画像データを異なるメモリ空間に格納する場合、各領域毎のメモリ空間を予め大きめに割り当てておく必要は無いが、複数のメモリが必要となり、コスト面で問題があった。特に、情報処理装置の一例としての画像処理装置では、限られたメモリ空間内で高速に画像処理を行う必要があるため、上記問題の解消が望まれていた。
【０００６】
本発明は、上記の点に鑑みなされたもので、並行処理を高速に行うことができ、処理済データを効率的に格納できる情報処理装置、情報処理方法、情報処理プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、上記課題を解決するため、本発明は、逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理装置であって、前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、前記分割データを並行処理可能な処理機能と、前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能とを有することを特徴とする。
【０００８】
前記分割機能は、前記逐次処理可能なデータの特徴量をカウントし、前記分割データ毎のカウント値が所定値となるように前記逐次処理可能なデータを分割するようにしてもよい。
【０００９】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として黒ドット数をカウントし、前記分割データ毎の黒ドット数のカウント値が所定値となるように前記逐次処理可能なデータを分割するようにしてもよい。
【００１０】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量としてドット変化数をカウントし、前記分割データ毎のドット変化数のカウント値が所定値となるように前記逐次処理可能なデータを分割するようにしてもよい。
【００１１】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として像域分離ビットの変化数をカウントし、前記分割データ毎の像域分離ビットの変化数のカウント値が所定値となるように前記逐次処理可能なデータを分割するようにしてもよい。
【００１２】
前記逐次処理可能なデータは画像データであり、前記分割機能は画像データの特徴量として非文字ビット数をカウントし、前記分割データ毎の非文字ビット数のカウント値が所定値となるように前記逐次処理可能なデータを分割するようにしてもよい。
【００１３】
前記逐次処理可能なデータが画像データであり、前記所定の処理の負荷が軽い場合、前記分割機能は前記画像データをページ単位に分割し、前記処理機能はページ単位に分割された画像データを並行処理することなく順次処理するようにしてもよい。
【００１４】
前記逐次処理可能なデータが画像データであり、前記所定の処理の負荷が重い場合、前記分割機能は前記画像データをページ単位よりも小さい領域単位に分割し、前記処理機能は領域単位に分割された画像データを並行処理するようにしてもよい。
【００１５】
前記逐次処理可能なデータが画像データであり、前記分割機能は前記画像データの特徴量およびライン数をカウントし、前記画像データのライン数が設定値に達する毎に前記画像データの特徴量のカウント値が所定値に達しているか否かを判定して、前記画像データの特徴量のカウント値が所定値に達しているときに前記画像データを分割するようにしてもよい。
【００１６】
前記分割機能は、画像データの画像サイズに応じて前記設定値を変更するようにしてもよい。
【００１７】
前記格納機能は、前記処理機能により並行処理された処理済データを同一のメモリ空間内の先頭アドレスからアドレスの増加方向と最終アドレスからアドレスの減少方向とに交互に格納するようにしてもよい。
【００１８】
前記格納機能は、前記処理機能を実現する処理部の数に応じて、前記同一のメモリ空間内を複数のメモリ空間に分割し、分割したメモリ空間を各処理部に割り当て、前記各処理部により並行処理された処理済データを各処理部に割り当てられた分割したメモリ空間に格納するようにしてもよい。
【００１９】
前記格納機能は、前記同一のメモリ空間内を複数のメモリ空間に分割し、分割した各メモリ空間の先頭アドレスからアドレスの増加方向と最終アドレスからアドレスの減少方向とに、前記処理機能により並行処理された処理済データを順次格納するようにしてもよい。  前記格納機能は、前記処理機能を実現する処理部の数に応じて、前記同一のメモリ空間内を複数のメモリ空間に分割するようにしてもよい。
【００２０】
所定の処理を行う前の逐次処理可能なデータと所定の処理を行った後の処理済データとを同一のメモリ空間内の異なるアドレスに格納するようにしてもよい。
【００２１】
前記処理済データのデータ量は、所定の処理を行う前の分割データのデータ量と異なっていてもよい。
【００２２】
前記所定の処理は、圧縮又は伸張処理であってもよい。
【００２３】
画像形成に係る処理を行う画像処理装置であってもよい。
【００２４】
また、本発明は、逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納する情報処理方法であって、前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割段階と、前記分割データを並行処理する処理段階と、前記並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納段階とを有することを特徴とする。
【００２５】
また、本発明は、逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納するコンピュータに、前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、前記分割データを並行処理可能な処理機能と、前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能とを実現させる為の情報処理プログラムであることを特徴とする。
【００２６】
また、本発明は、逐次処理可能なデータを分割し、分割データに所定の処理を行い、処理済データを格納するコンピュータに、前記分割データ毎の処理時間が近似するように、前記逐次処理可能なデータを分割する分割機能と、前記分割データを並行処理可能な処理機能と、前記処理機能により並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納する格納機能とを実現させる為の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【００２７】
本発明は、分割データ毎の処理時間が近似するように逐次処理可能なデータを分割できるので、分割データ毎の処理時間にバラツキが生じず、全体の処理時間を大幅に短縮できる。また、本発明は並行処理された処理済データを同一のメモリ空間内の異なるアドレスに格納できるので、同一のメモリ空間を効率的に利用可能である。
【発明の効果】
【００２８】
本発明によれば、並行処理を高速に行うことができ、処理済データを効率的に格納できる情報処理装置、情報処理方法、情報処理プログラム及び記録媒体を提供できる。
【発明を実施するための最良の形態】
【００２９】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。図１は、本発明による情報処理装置の一実施例のハードウェア構成図である。情報処理装置１は、コントローラ１と，操作パネル２と，スキャナユニット３と，プロッタユニット４と，ＡＤＦ（Auto Document Feeder：自動原稿送り装置）５とを含むように構成される。
【００３０】
コントローラ１は、ＣＰＵ１０と，システムメモリ１１と，ＮＢ（ノースブリッジ）１２と，ＳＢ（サウスブリッジ）１３と，ローカルメモリ１４と，ＨＤＤ等のストレージデバイス１５と，ＡＳＩＣ１６と，外部Ｉ／Ｆ１７とを含む。
【００３１】
操作パネル２は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。スキャナユニット３は、ＡＤＦ５にセットされた原稿の読み取りをＣＣＤ（Charge Coupled Device：電荷結合素子）で行い、シェーディング補正後の画像データをＲＧＢフォーマットにてコントローラ１の例えばローカルメモリ１４に送信する。プロッタユニット４は、コントローラ１から指示された給紙口から転写紙を給紙し、ＣＭＹＫフォーマットにて受信した画像データを転写紙に印刷する。
【００３２】
コントローラ１のＣＰＵ１０は、情報処理装置の全体制御を行うものである。システムメモリ１１は、主にＣＰＵ１０が用いるメモリである。ＮＢ１２はブリッジである。ＳＢ１３は、図示しないＲＯＭや周辺デバイス等とを接続するためのブリッジである。ローカルメモリ１４は、主にＡＳＩＣ１６が用いるメモリである。
【００３３】
ストレージデバイス１５は、画像データ，文書データ，プログラム，フォントデータ等を格納する。ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。また、外部Ｉ／Ｆ１７はＰＣ等の外部機器と接続するインターフェースである。
【００３４】
情報処理装置は、図２の各種処理を行う。図２は、本発明による情報処理装置が行う処理を表した模式図である。コントローラ１は、画像処理２１，画像フォーマット変換処理２２，ストレージデバイス制御処理２３，レンダリング処理２４，外部接続処理２５，セキュリティ処理２６，操作部接続処理２７，メモリ制御処理２８を行う。スキャナユニット３は、ＣＣＤ２９で読み取った画像データにシェーディング処理３０を行う。プロッタユニット４は、変調処理３１，画像形成処理３２を行う。画像処理２１は、ＲＧＢ処理およびＣＭＹＫ処理を含む。
【００３５】
図３は、本発明による情報処理装置の各種機能を説明する為の模式図である。コピー機能の実行は、次のように行われる。まず、スキャナユニット３にて読み取られたＲＧＢフォーマットの画像データは、ローカルメモリ１４に格納される。ローカルメモリ１４に格納されたＲＧＢフォーマットの画像データは、画像処理２１のＲＧＢ処理（例えば色変換処理，変倍処理，フィルタ処理，画像編集処理，γ変換処理，圧縮・伸張処理など）が行われたあと、ＣＭＹＫ処理にてＲＧＢフォーマットの画像データからＣＭＹＫフォーマットの画像データに変換される。ＣＭＹＫフォーマットに変換された画像データをプロッタユニット４に送信することで、コピー機能は実現される。
【００３６】
また、スキャナ機能（例えばＳｃａｎ  Ｔｏ  Ｅｍａｉｌ等）の実行は次のように行われる。スキャナユニット３にて読み取られたＲＧＢフォーマットの画像データは、ローカルメモリ１４に格納される。ローカルメモリ１４に格納されたＲＧＢフォーマットの画像データは、画像処理２１のＲＧＢ処理（例えば色変換処理，変倍処理，フィルタ処理，画像編集処理，γ変換処理，圧縮・伸張処理など）が行われたあと、画像フォーマット変換処理２２にて他の画像フォーマット（例えば、ＪＰＥＧ，ＴＩＦＦ，ＰＤＦ等）に変換される。画像フォーマット変換処理２２にて他の画像フォーマットに変換された画像データを外部接続処理２５にて外部機器に送信することで、スキャナ機能は実現される。
【００３７】
また、スキャナユニット３にて読み取られたＲＧＢフォーマットの画像データは、ストレージデバイス１５に格納しておくことができる。したがって、原稿の読み取りを再び行うことなく、画像データの再送信や再印刷が可能である。さらに、スキャナユニット３にて読み取られたＲＧＢフォーマットの画像データは、ほとんど処理が行われていない状態でローカルメモリ１４に格納されるため、再送信や再印刷を行う度に、画像処理２１や画像フォーマット変換処理２２などが可能となる。
【００３８】
本発明による情報処理装置は、画像データをバンド単位に分割し、分割した画像データをバンド単位で並行処理している。以下の説明では、画像データをバンド単位に分割して並行処理することを画像データのバンド処理と言う。ここでは、１頁分の画像データをバンド単位の画像データ（以下、バンドデータと言う）に分割して複数個の圧縮器で並行処理する例を説明する。
【００３９】
図４は、画像データのバンド処理を説明する為の模式図である。図４のコントローラ１は、メモリ４１，画像データ制御部４２，バッファ４４，画像データ圧縮部４５，メモリ４６を含むように構成される。メモリ４１，バッファ４４及びメモリ４６は、１つのＤＩＭＭ（Dual Inline Memory Module：メモリモジュール）であってもよいし、別々のＤＩＭＭであってもよい。メモリ４１，バッファ４４及びメモリ４６は、例えばローカルメモリ１４に相当する。画像データ制御部４２及び画像データ圧縮部４５は、例えば画像処理２１により実現される。なお、画像データ圧縮部４５は４つの圧縮器を含む。画像データ圧縮部４５は、ＡＳＩＣ１６のハードウェア要素の一つであってもよい。以下、図４に表したコントローラ１の処理を説明していく。
（画像データのバンド処理）
図５は、画像データのバンド処理を表す一例のフローチャートである。ステップＳ１では、スキャナユニット３より画像データの送信が開始され、メモリ４１を介して画像データ制御部４２に画像データが送信される。
【００４０】
メモリ４１からの画像データを受信すると、画像データ制御部４２はステップＳ２に進み、圧縮処理の負荷に影響する画像データ情報（画像データの特徴量）のカウントをカウンタ４３で開始する。ステップＳ３に進み、画像データ制御部４２は画像データ情報をカウンタ４３でカウントしつつ、受信した画像データを１つのバンドデータとしてバッファ４４に格納していく。
【００４１】
ステップＳ４に進み、画像データ制御部４２は画像データ情報のカウント値が所定値ｎとなったか否かを判定する。画像データ情報のカウント値が所定値ｎとなったと判定すると（Ｓ４においてＹＥＳ）、画像データ制御部４２はステップＳ５に進み、画像データ圧縮部４５に対して割り込みを入力する。
【００４２】
ステップＳ５に続いてステップＳ７に進み、画像データ制御部４２は画像データ情報のカウント値をリセットすると共に、次のバンド単位に切り替るための切替処理を行う。ステップＳ８に進み、画像データ制御部４２からの割り込みに基づき、カウンタ４３が今回リセットされるまでにバッファ４４に格納された画像データを１つのバンドデータとして扱い、割り当てられた１つの圧縮器で圧縮処理を開始してステップＳ２に戻る。
【００４３】
一方、画像データ情報のカウント値が所定値ｎとなっていないと判定すると（Ｓ４においてＮＯ）、画像データ制御部４２はステップＳ６に進み、スキャナユニット３からの画像データの送信が終了したか否かを判定する。スキャナユニット３からの画像データの送信が終了したと判定すると（Ｓ６においてＹＥＳ）、画像データ制御部４２はステップＳ９に進み、以降のバンド単位および圧縮器の切替を行わず、順次、各バンドデータを所定の圧縮器にて圧縮処理を完了させる。なお、スキャナユニット３からの画像データの送信が終了していないと判定すると（Ｓ６においてＮＯ）、画像データ制御部４２はステップＳ４に戻る。
【００４４】
即ち、図５のフローチャートによれば、画像データ制御部４２は圧縮処理の負荷に影響する画像データ情報が同じとなるようなバンド単位で１頁分の画像データを分割することで、画像データ圧縮部４５の各圧縮器で行う圧縮処理時間が同程度となるように制御している。したがって、複数の圧縮器を効率的に使用することができ、全体の処理速度を向上できる。
【００４５】
図６は、画像データのバンド処理の一例のイメージ図である。図６（ａ）は、スキャナユニット３より送信される１頁〜Ｎ頁までの画像データを表している。図６では、各頁分の画像データを４つのバンドデータに分割している。例えば１頁分の画像データは、４つのバンドデータ１頁−１〜１頁−４に分割されている。なお、バンドデータ１頁−１〜１頁−４のデータ量は、圧縮処理の負荷に応じて異なる。
【００４６】
分割された４つのバンドデータは、バンドデータ毎にそれぞれ割り当てられた４つの圧縮器で圧縮処理される。図６（ｂ）〜図６（ｅ）は、分割された４つのバンドデータとそのバンドデータにそれぞれ割り当てられた４つの圧縮器との関係を表している。圧縮処理が終了したバンド圧縮データはメモリ４６に格納され、図６（ｆ）のような１頁分の構造化データに組み合わされる。構造化データは、ヘッダ情報と、バンド圧縮データとで構成されている。
【００４７】
次に、画像データ制御部４２のカウンタ４３でカウントされる画像データ情報の一例について図７〜図１０を参照しつつ説明していく。図７は、黒ドット数を表した模式図である。黒ドット数を利用する場合、カウンタ４３は画像に含まれる黒色の１画素ドットの数を黒ドット数としてカウントする。
【００４８】
図８は、ドット変化数を表した模式図である。ドット変化数を利用する場合、カウンタ４３は画像に含まれる黒色の１画素ドットから白色の１画素ドットに変化する変化点または白色の１画素ドットから黒色の１画素ドットに変化する変化点をドット変化数としてカウントする。
【００４９】
図９は、像域分離ビットの変化数を表した模式図である。ここで、像域分離ビットとは１画素ドットに与えられる白／黒／カラー情報以外の情報であって、その１画素ドットが画像の文字部を構成するか、それ以外の非文字部を構成するかの情報である。非文字部とは、文字以外の写真、図形等を構成する１画素ドットである。なお、余白は文字部と判断される。像域分離ビットの変化数を利用する場合、カウンタ４３は文字部または非文字部を表す像域分離ビットの変化点を像域分離ビットの変化数としてカウントする。
【００５０】
図１０は、像域分離ビットの非文字ビット数を表した模式図である。像域分離ビットの非文字ビット数を利用する場合、カウンタ４３は非文字部を表す像域分離ビットの数を像域分離ビットの非文字ビット数としてカウントする。
【００５１】
次に、ユーザが選択可能な画像モードに応じてバンド単位および圧縮器の数を変更する処理について説明する。図１１は、ユーザが選択可能な画像モードに応じてバンド単位および圧縮器の数を変更する処理の一例のフローチャートである。
【００５２】
まず、ユーザは画像データの圧縮処理を開始する前に、操作パネル２から画像モードを選択しておく。ユーザが選択可能な画像モードには、例えばカラー読取モード，モノクロ読取モード、写真読取モード，文字読取モード等がある。モノクロ読取モード及び文字読取モードは、負荷の軽い画像モードの一例である。また、カラー読取モード及び写真読取モードは負荷の重い画像モードの一例である。
【００５３】
ステップＳ１１では、スキャナユニット３より画像データの送信が開始され、メモリ４１を介して画像データ制御部４２に画像データが送信される。ステップＳ１２に進み、画像データ制御部４２は選択されている画像モードが、負荷の重いカラー読取モード又は写真読取モードであるか否かを判定する。
【００５４】
選択されている画像モードが、カラー読取モード又は写真読取モードであると判定すれば（Ｓ１２においてＹＥＳ）、画像データ制御部４２はステップＳ１３に進み、１頁分の画像データを更にバンドデータに分割して複数の圧縮器で並行して圧縮処理を行う。
【００５５】
選択されている画像モードが、カラー読取モード又は写真読取モードでないと判定すれば（Ｓ１２においてＮＯ）、画像データ制御部４２はステップＳ１４に進み、１頁分の画像データをバンドデータとして１つの圧縮器で圧縮処理を行う。
【００５６】
図１１のフローチャートによれば、負荷の重い画像モードが選択されたときに情報処理装置が備えている圧縮器を多く占有することにより、圧縮処理の速度を向上させることができ、情報処理装置を直に操作するユーザのジョブ処理を優先することで、ユーザの使い勝手が良くなる。即ち、よりリアルタイムな操作性が実現可能である。また、負荷の軽い画像モードが選択されたときに使用する圧縮器の数を減らすことにより、マルチ動作用に圧縮器を確保しておくことができるため、マルチ動作優先モードとして使用でき、マルチ動作を頻繁に行うユーザの使い勝手が良くなる。
【００５７】
図１２は、画像データのバンド処理を表す他の一例のフローチャートである。ステップＳ２１では、スキャナユニット３より画像データの送信が開始され、メモリ４１を介して画像データ制御部４２に画像データが送信される。
【００５８】
メモリ４１からの画像データを受信すると、画像データ制御部４２はステップＳ２２に進み、画像データ情報および画像のラインのカウントをカウンタ４３で開始する。ステップＳ２３に進み、画像データ制御部４２は画像データ情報および画像のラインをカウンタ４３でカウントしつつ、受信した画像データを１つのバンドデータとしてバッファ４４に格納していく。
【００５９】
ステップＳ２４に進み、画像データ制御部４２はラインのカウント値が設定値ｍになるまで待ち、ラインのカウント値が設定値ｍとなるとステップＳ２５に進む。ステップＳ２５では、画像データ制御部４２が、ラインのカウント値をリセットする。ステップＳ２６に進み、画像データ制御部４２は画像データ情報のカウント値が所定値ｎを越えているか否かを判定する。画像データ情報のカウント値が所定値ｎを越えていると判定すると（Ｓ２６においてＹＥＳ）、画像データ制御部４２はステップＳ２７に進み、画像データ圧縮部４５に対して割り込みを入力する。
【００６０】
ステップＳ２８に進み、画像データ制御部４２は画像データ情報のカウント値をリセットすると共に、次のバンド単位に切り替るための切替処理を行う。そして、ステップＳ２９に進み、画像データ制御部４２からの割り込みに基づき、画像データ情報のカウント値が今回リセットされるまでにバッファ４４に格納された画像データを１つのバンドデータとして扱い、割り当てられた１つの圧縮器で圧縮処理を開始したあと、ステップＳ２３に戻る。
【００６１】
一方、画像データ情報のカウント値が所定値ｎを越えていないと判定すると（Ｓ２６においてＮＯ）、画像データ制御部４２はステップＳ３０に進み、スキャナユニット３からの画像データの送信が終了したか否かを判定する。スキャナユニット３からの画像データの送信が終了したと判定すると（Ｓ３０においてＹＥＳ）、画像データ制御部４２はステップＳ３１に進み、以降のバンド単位および圧縮器の切替を行わず、順次、各バンドデータを所定の圧縮器にて圧縮処理を完了させる。なお、スキャナユニット３からの画像データの送信が終了していないと判定すると（Ｓ３０においてＮＯ）、画像データ制御部４２はステップＳ２４に戻る。
【００６２】
即ち、図１２のフローチャートによれば、画像のライン数が設定値ｍとなる度に、画像データ情報のカウント値が所定値ｎを越えているか否かを判定し、画像データ情報のカウント値が所定値ｎを越えていれば、それまでにバッファ４４に格納されたライン数ｍ×整数倍の画像データをバンドデータとして扱っている。したがって、バンドデータのライン数が設定値ｍの整数倍となり、ソフトウェアによる制御を単純化できる。
【００６３】
なお、画像データ制御部４２のカウンタ４３でカウントされる画像データ情報は前述した黒ドット数，ドット変化数，像域分離ビットの変化数，像域分離ビットの非文字ビット数を利用できる。
【００６４】
図１２のフローチャートでは、ラインのカウント値の設定値ｍが予め設定されている例を表しているが、図１３のフローチャートのように自動変更するようにしてもよい。図１３は、画像データのバンド処理を表す他の一例のフローチャートである。
【００６５】
ステップＳ４１に進み、画像データ制御部４２はスキャナユニット３により読み取りを行う原稿の用紙サイズ（例えば、Ａ３，Ａ４縦，Ａ４横など）を検知する。ステップＳ４２に進み、画像データ制御部４２は画像データ情報のカウント値を検出する間隔となるラインのカウント値の設定値ｍを用紙サイズに基づいて決定する。
【００６６】
以降のステップＳ４３〜Ｓ５３の処理は、図１２のステップＳ２１〜Ｓ３１の処理と同様であるため、説明を省略する。図１３のフローチャートによれば、どのような用紙サイズの原稿であっても、ラインのカウント値が設定値ｍに達するまでにバッファ４４に格納される画素ドット数が同程度となるように調節できるので、圧縮器をより安定的且つ効率的に並行処理させることが可能となる。
（画像データのバンド処理におけるメモリ空間制御）
例えば画像データに対して圧縮処理を行う場合、圧縮処理前後のデータ量は異なることが多い。従来、複数個の圧縮器でバンドデータを並行処理する場合、バンド圧縮データを格納するためのメモリ空間は圧縮器毎に異なるＤＩＭＭに確保されていた。この場合、複数個のＤＩＭＭを用意しておく必要があり、コスト上の問題があった。一方、バンド圧縮データを格納するためのメモリ空間を１つのＤＩＭＭに確保する場合、最もデータ量が大きいバンド圧縮データを予測し、そのバンド圧縮データが格納できるだけのメモリ空間をバンドデータ毎に割り当てておく必要があり、使用されない無駄なメモリ空間が多数発生するという問題があった。
【００６７】
そこで、本発明の情報処理装置では、バンド圧縮データを１つのＤＩＭＭに確保されているメモリ空間に格納する場合に、以下のようにバンド圧縮データを格納するためのメモリ空間を制御している。ここでは、画像データ圧縮部４５の複数個の圧縮器で並行処理されたバンド圧縮データをメモリ４６に格納する例を説明する。
【００６８】
図１４は、画像データのバンド処理におけるメモリ空間制御の一例を表した模式図である。図１４では、奇数番目のバンド圧縮データをメモリ４６のメモリ空間の先頭アドレスからアドレスをインクリメント（増加）しながら格納し、偶数番目のバンド圧縮データをメモリ４６のメモリ空間の最終アドレスからアドレスをデクリメント（減少）しながら格納している。
【００６９】
この場合、１番目のバンド圧縮データは３番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。即ち、３番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、１番目のバンド圧縮データの終了アドレスが分かるため、１番目のバンド圧縮データの終了アドレスの次のアドレスからインクリメントしながら３番目のバンド圧縮データを格納できる。
【００７０】
同様に、２番目のバンド圧縮データは４番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。即ち、４番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、２番目のバンド圧縮データの終了アドレスが分かるため、２番目のバンド圧縮データの終了アドレスの次のアドレスからデクリメントしながら４番目のバンド圧縮データを格納できる。図１４のメモリ空間制御によれば、バンド圧縮データを連続して格納できる為、使用されない無駄なメモリ空間の発生を抑制することができる。
【００７１】
図１５は、画像データのバンド処理におけるメモリ空間制御の他の一例を表した模式図である。図１５では、メモリ４６のメモリ空間を圧縮器の個数（４つ）に分割し、分割したメモリ空間を各圧縮器に割り当てる。各圧縮器は、割り当てられたメモリ空間の先頭アドレスからアドレスをインクリメント（増加）しながら格納している。
【００７２】
この場合、１番目のバンド圧縮データは５番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。即ち、５番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、１番目のバンド圧縮データの終了アドレスが分かるため、１番目のバンド圧縮データの終了アドレスの次のアドレスからインクリメントしながら５番目のバンド圧縮データを格納できる。
【００７３】
同様に、２〜４番目のバンド圧縮データは６〜８番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。即ち、６〜８番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、２〜４番目のバンド圧縮データの終了アドレスが分かるため、２〜４番目のバンド圧縮データの終了アドレスの次のアドレスからインクリメントしながら６〜８番目のバンド圧縮データを格納できる。図１５のメモリ空間制御によれば、バンド圧縮データを連続して格納できる為、使用されない無駄なメモリ空間の発生を抑制することができる。
【００７４】
図１６は、画像データのバンド処理におけるメモリ空間制御の他の一例を表した模式図である。図１６では、メモリ４６のメモリ空間に中間開始アドレスを設け、ｎ番目のバンド圧縮データをメモリ４６のメモリ空間の先頭アドレスからアドレスをインクリメントしながら格納し、ｎ＋１番目のバンド圧縮データをメモリ４６のメモリ空間の最終アドレスからアドレスをデクリメントしながら格納し、ｎ＋２番目のバンド圧縮データを中間開始アドレスからアドレスをインクリメントしながら格納し、ｎ＋３番目のバンド圧縮データを中間開始アドレスからアドレスをデクリメントしながら格納している。
【００７５】
この場合、１又は３番目のバンド圧縮データは５又は７番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。すなわち、５又は７番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、１又は３番目のバンド圧縮データの終了アドレスが分かるため、１又は３番目のバンド圧縮データの終了アドレスの次のアドレスからインクリメントしながら５又は７番目のバンド圧縮データを格納できる。
【００７６】
同様に、２又は４番目のバンド圧縮データは６又は８番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、メモリ４６のメモリ空間に格納される。即ち、６又は８番目のバンド圧縮データをメモリ４６のメモリ空間に格納し始める前に、２又は４番目のバンド圧縮データの終了アドレスが分かる為、２又は４番目のバンド圧縮データの終了アドレスの次のアドレスからデクリメントしながら６又は８番目のバンド圧縮データを格納できる。
【００７７】
次に、使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理について説明する。図１７は、使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理の一例のフローチャートである。
【００７８】
ステップＳ６１に進み、スキャナユニット３より画像データの送信が開始され、メモリ４１を介して画像データ制御部４２に画像データが送信される。ステップＳ６１に続いてステップＳ６２に進み、画像データ制御部４２は選択されている画像モードにより、使用する圧縮器の数ｎを決定する。ステップＳ６３に進み、中間開始アドレス数がｎ−１に決定される。なお、中間開始アドレスの位置はメモリ４６のメモリ空間が均等となるようにアサインされる。図１８は、ｎ−１個の中間開始アドレス数がアサインされたメモリ空間を表した模式図である。
【００７９】
さらに、使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理について説明する。図１９は、使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理の他の一例のフローチャートである。
【００８０】
ステップＳ７１に進み、スキャナユニット３より画像データの送信が開始され、メモリ４１を介して画像データ制御部４２に画像データが送信される。ステップＳ７１に続いてステップＳ７２に進み、画像データ制御部４２は選択されている画像モードにより、使用する圧縮器の数ｎを決定する。ステップＳ７３に進み、中間開始アドレス数ｘが以下のように算出される。
【００８１】
圧縮器の数ｎが奇数の場合、中間開始アドレス数ｘは、以下の式（１）により算出される。また、圧縮器の数ｎが偶数の場合、中間開始アドレス数ｘは以下の式（２）により算出される。
【００８２】
ｘ＝（ｎ−１）／２・・・・・（１）
ｘ＝（ｎ−２）／２・・・・・（２）
ｎ＝３，４，５，・・・・
なお、中間開始アドレスの位置は、メモリ４６のメモリ空間が均等となるようにアサインされる。図２０は、ｘ個の中間開始アドレス数がアサインされたメモリ空間を表した模式図である。図２１は、圧縮器の数ｎと中間開始アドレス数ｘとの関係を表した模式図である。
【００８３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求のの範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００８４】
【図１】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図２】本発明による情報処理装置が行う処理を表した模式図である。
【図３】本発明による情報処理装置の各種機能を説明する為の模式図である。
【図４】画像データのバンド処理を説明する為の模式図である。
【図５】画像データのバンド処理を表す一例のフローチャートである。
【図６】画像データのバンド処理の一例のイメージ図である。
【図７】黒ドット数を表した模式図である。
【図８】ドット変化数を表した模式図である。
【図９】像域分離ビットの変化数を表した模式図である。
【図１０】像域分離ビットの非文字ビット数を表した模式図である。
【図１１】ユーザが選択可能な画像モードに応じてバンド単位および圧縮器の数を変更する処理の一例のフローチャートである。
【図１２】画像データのバンド処理を表す他の一例のフローチャートである。
【図１３】画像データのバンド処理を表す他の一例のフローチャートである。
【図１４】画像データのバンド処理におけるメモリ空間制御の一例を表した模式図である。
【図１５】画像データのバンド処理におけるメモリ空間制御の他の一例を表した模式図である。
【図１６】画像データのバンド処理におけるメモリ空間制御の他の一例を表した模式図である。
【図１７】使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理の一例のフローチャートである。
【図１８】ｎ−１個の中間開始アドレス数がアサインされたメモリ空間を表した模式図である。
【図１９】使用する圧縮器の数に応じて中間開始アドレス数を自動変更する処理の他の一例のフローチャートである。
【図２０】ｘ個の中間開始アドレス数がアサインされたメモリ空間を表した模式図である。
【図２１】圧縮器の数ｎと中間開始アドレス数ｘとの関係を表した模式図である。
【符号の説明】
【００８５】
１    コントローラ
２    操作パネル
３    スキャナユニット
４    プロッタユニット
５    ＡＤＦ（自動原稿送り装置）
１０    ＣＰＵ
１１    システムメモリ
１２    ＮＢ（ノースブリッジ）
１３    ＳＢ（サウスブリッジ）
１４    ローカルメモリ
１５    ストレージデバイス
１６    ＡＳＩＣ
１７    外部Ｉ／Ｆ
４１，４６    メモリ
４２    画像データ制御部
４３    カウンタ
４４    バッファ
４５    画像データ圧縮部
【図１】
2005332298.tif 000003
【図２】
2005332298.tif 000004
【図３】
2005332298.tif 000005
【図４】
2005332298.tif 000006
【図５】
2005332298.tif 000007
【図６】
2005332298.tif 000008
【図７】
2005332298.tif 000009
【図８】
2005332298.tif 000010
【図９】
2005332298.tif 000011
【図１０】
2005332298.tif 000012
【図１１】
2005332298.tif 000013
【図１２】
2005332298.tif 000014
【図１３】
2005332298.tif 000015
【図１４】
2005332298.tif 000016
【図１５】
2005332298.tif 000017
【図１６】
2005332298.tif 000018
【図１７】
2005332298.tif 000019
【図１８】
2005332298.tif 000020
【図１９】
2005332298.tif 000021
【図２０】
2005332298.tif 000022
【図２１】
2005332298.tif 000023