(57)【要約】【課題】  パケットを複数の画像処理ブロックで処理する際、画像処理ブロックのＢｕｓｙ状態を判断し、パケットの処理を複数の画像処理ブロックに割り振ることによって、高速なプリンタへの出力を可能とする。【解決手段】  画像読み取り手段によって読み取られた画像データを所定の矩形画像単位に分割し、矩形画像単位毎に画像処理を行う複数の矩形画像処理手段と、上記画像データ蓄積手段から矩形画像単位で上記矩形画像処理手段に画像データの転送を行う矩形画像データ転送手段と、矩形画像データを受け取り、画像データを出力する画像出力Ｉ／Ｆ手段とを有し、上記矩形画像データ転送手段において、複数の上記矩形画像処理部がビジー状態かレディ状態かを判断する判断手段と、上記判断手段により、レディ状態であることが判断された上記矩形画像処理部に対して、選択的に矩形画像データを転送する。【選択図】        図２
2006166102.tif 000002
【特許請求の範囲】
【請求項１】
複写機・プリンタ等のマルチファンクションシステムコントローラにおいて、
画像読み取り手段によって読み取られた画像データを記憶しておく画像データ蓄積手段と、前記記憶された画像データを所定の矩形画像単位に分割し前記矩形画像単位毎に画像処理を行う複数の矩形画像処理手段と、前記画像データ蓄積手段から矩形画像単位で前記矩形画像処理手段に画像データの転送を行う矩形画像データ転送手段と、矩形画像データを受け取り、画像データを出力する画像出力Ｉ／Ｆ手段とを有し、
前記矩形画像データ転送手段において、複数の前記矩形画像処理部がビジー状態かレディ状態かを判断する判断手段と、
前記判断手段により、レディ状態であることが判断された前記矩形画像処理部に対して、選択的に矩形画像データを転送することを特徴とするマルチファンクションシステムコントローラ。
【請求項２】
前記矩形画像処理部の機能が画像伸張処理であることを特徴とする請求項１に記載のマルチファンクションシステムコントローラ。
【請求項３】
前記画像処理部の処理の後、画像出力手段によって、画像出力を行うことを特徴とする請求項１または２に記載のマルチファンクションシステムコントローラ。
【請求項４】
前記画像出力手段において、前記複数の矩形画像処理手段からの画像データをラスター順に並べ替えて出力することを特徴とする請求項３に記載のマルチファンクションシステムコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチファンクションシステム（ＭＦＰ）のコントローラにおける、矩形画像データ（パケットデータ）の出力制御方法に関するものである。
【背景技術】
【０００２】
従来のＭＦＰのコントローラにおいては画像データをラスターイメージとして処理を行っており、その画像処理単位は１ページのラスター画像単位となっていた。また、これとは別に画像データをパケット毎に分割し、各パケット単位で画像処理を行う構成とし、パケットデータに対して、並列に画像処理を行うコントローラもある（例えば、下記特許文献１参照。）。
【特許文献１】特開２００２−２７１６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、ラスター画像毎に処理する従来の方法では、画像処理を並列処理する際に、画素単位、あるいはライン単位で分割して、処理を行うため、ブロック単位での画像処理をするのには不向きである。また、パケットデータ単位で並列に画像処理を行う場合でも、従来の方法では、パケットデータをあらかじめ定められた順番で、複数の画像処理部に転送を行うため、ある画像処理部での処理時間が別の画像処理部の処理時間より著しく長かった場合でも、パケットデータの画像処理部への転送順序は変更することができなかった。
【０００４】
結果として、全体の処理時間が長くなってしまうことがあった。これは、高速なプリンタへの画像出力を行う際には、画像欠損等を引き起こす要因となり得る。
【０００５】
本発明は上述の問題点に着目してなされたものであって、画像データをパケットごとに分割し、各パケット単位で画像処理を行い、かつ、画像処理部を並列に配置することで、１ページに掛かる処理時間を短縮するとともに、画像処理部の処理速度に応じて、パケットを最適に複数の画像処理部に選択的に転送を可能とするマルチファンクションシステムコントローラの提供を目的とする。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、本発明のマルチファンクションコントローラは、画像読み取り手段によって読み取られた画像データを記憶しておく画像データ蓄積手段と、上記記憶された画像データを所定の矩形画像単位に分割し上記矩形画像単位毎に画像処理を行う複数の矩形画像処理手段と、上記画像データ蓄積手段から矩形画像単位で上記矩形画像処理手段に画像データの転送を行う矩形画像データ転送手段と、矩形画像データを受け取り、画像データを出力する画像出力Ｉ／Ｆ手段とを有し、上記矩形画像データ転送手段において、複数の上記矩形画像処理部がビジー状態かレディ状態かを判断する判断手段と、上記判断手段により、レディ状態であることが判断された上記矩形画像処理部に対して、選択的に矩形画像データを転送することを特徴とするものである。
【発明の効果】
【０００７】
本発明のマルチファンクションシステムコントローラによれば、複数の矩形画像処理部を有効に並列動作させることによって、プリンタへの出力のような高速処理が必要な場合にも、画像欠損等の起きることなく、高速な画像処理を行うことが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下に本発明を実施するための最良の形態を実施例に基づいて説明する。
【実施例】
【０００９】
以下で本発明の装置及びその動作について詳細に説明する。
【００１０】
［ハードウェア］
（全体構成）
全体構成図を図２に示す。Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ（２０００）は画像入力デバイスであるＳｃａｎｎｅｒ（２０７０）や画像出力デバイスであるＰｒｉｎｔｅｒ（２０９５）と接続し、一方ではＬＡＮ（２０１１）や公衆回線（ＷＡＮ）（２０５１）接続することで、画像情報やデバイス情報の入出力、ＰＤＬデータのイメージ展開を行う為のコントローラである。
【００１１】
ＣＰＵ（２００１）はシステム全体を制御するプロセッサである。本実施例では２つのＣＰＵを用いた例を示す。これら二つのＣＰＵは、共通のＣＰＵバス（２１２６）に接続され、さらに、システムバスブリッジ（２００７）に接続される。
システムバスブリッジ（２００７）は、バススイッチであり、ＣＰＵバス（２１２６）、ＲＡＭコントローラ（２１２４）、ＲＯＭコントローラ（２１２５）、ＩＯバス１（２１２７）、サブバススイッチ（２１２８）、ＩＯバス２（２１２９）、画像リングインターフェース１（２１４７）、画像リングインターフェース２（２１４８）が接続される。
【００１２】
サブバススイッチ（２１２８）は、第二のバススイッチであり、画像ＤＭＡ１（２１３０）、画像ＤＭＡ２（２１３２）、フォント伸張部（２１３４）、ソート回路（２１３５）、ビットマップトレース部（２１３６）が接続され、これらのＤＭＡから出力されるメモリアクセス要求を調停し、システムバスブリッジへの接続を行う。
【００１３】
ＲＡＭ（２００２）はＣＰＵ（２００１）が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＲＡＭコントローラ（２１２４）により制御される、本実施例では、ダイレクトＲＤＲＡＭを採用する例を示す。
【００１４】
ＲＯＭ（２００３）はブートＲＯＭであり、システムのブートプログラムが格納されている。ＲＯＭコントローラ（２１２５）により制御される。
【００１５】
画像ＤＭＡ１（２１３０）は、画像圧縮部（２１３１）に接続し、レジスタアクセスリング（２１３７）を介して設定された情報に基づき、画像圧縮部（２１３１）を制御し、ＲＡＭ（２００２）上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う、本実施例では、ＪＰＥＧを圧縮アルゴリズムに採用した例を示す。
【００１６】
画像ＤＭＡ２（２１３２）は、タイル伸張部（２１０３）に接続し、レジスタアクセスリング（２１３７）を介して設定された情報に基づき、タイル伸張部（２１０３）を制御し、ＲＡＭ（２００２）上にある圧縮データの読み出し、伸張、伸張後データの書き戻しを行う、本実施例では、ＪＰＥＧを伸張アルゴリズムに採用した例を示す。
【００１７】
フォント伸張部（２１３４）は、ＬＡＮインターフェース（２０１０）等を介し外部より転送されるＰＤＬデータに含まれるフォントコードに基づき、ＲＯＭ（２００３）もしくは、ＲＡＭ（２００２）内に格納された、圧縮フォントデータの伸張を行う。本実施例では、ＦＢＥアルゴリズムを採用した例を示した。
【００１８】
ソート回路（２１３５）は、ＰＤＬデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路である。
【００１９】
ビットマップトレース回路（２１３６）は、ビットマップデータより、エッジ情報を抽出する回路である。
【００２０】
ＩＯバス１（２１２７）は、内部ＩＯバスの一種であり、標準バスであるＵＳＢバスのコントローラ、ＵＳＢインターフェース（２１３８）、汎用シリアルポート（２１３９）、インタラプトコントローラ（２１４０）、ＧＰＩＯインターフェース（２１４１）が接続される。ＩＯバス１には、バスアービタ（図示せず）が含まれる。
【００２１】
操作部Ｉ／Ｆ（２００６）は操作部（ＵＩ）（２０１２）とインターフェース部で、操作部（２０１２）に表示する画像データを操作部（２０１２）に対して出力する。また、操作部（２０１２）から本システム使用者が入力した情報を、ＣＰＵ（２００１）に伝える役割をする。
【００２２】
ＩＯバス２（２１２９）は内部ＩＯバスの一種であり、汎用バスインターフェース１及び２（２１４２）と、ＬＡＮコントローラ（２０１０）が接続される。ＩＯバス２にはバスアービタ（図示せず）が含まれる。
【００２３】
汎用バスインターフェース（２１４２）は、２つの同一のバスインターフェースから成り、標準ＩＯバスをサポートするバスブリッジである。本実施例では、ＰＣＩバス（２１４３）を採用した例を示した。
【００２４】
ＨＤＤ（２００４）はハードディスクドライブで、システムソフトウェア、画像データを格納する。ディスクコントローラ（２１４４）を介して一方のＰＣＩバス（２１４３）に接続される。
【００２５】
ＬＡＮコントローラ（２０１０）は、ＭＡＣ回路（２１４５）、ＰＨＹ／ＰＭＤ回路（２１４６）を介しＬＡＮ（２０１１）に接続し、情報の入出力を行う。
【００２６】
Ｍｏｄｅｍ（２０５０）は公衆回線（２０５１）に接続し、情報の入出力を行う。
【００２７】
画像リングインターフェース１（２１４７）及び画像リングインターフェース２（２１４８）は、システムバスブリッジ（２００７）と画像データを高速で転送する画像リング（２００８）を接続し、タイル化後に圧縮されたデータをＲＡＭ（２００２）とタイル画像処理部（２１４９）間で転送するＤＭＡコントローラである。
【００２８】
画像リング（２００８）は、一対の単方向接続経路の組み合わせにより構成される（画像リング１及び画像リング２）。画像リング（２００８）は、タイル画像処理部（２１４９）内で、画像リングインターフェース３（２１０１）及びタイル画像インターフェース４（２１０２）を介し、タイル伸張部（２１０３）、コマンド処理部（２１０４）、ステータス処理部（２１０５）、タイル圧縮部（２１０６）に接続される。本実施例では、タイル伸張部（２１０３）を２組、タイル圧縮部を３組実装する例を示した。
【００２９】
タイル伸張部（２１０３）は、画像リングインターフェースへの接続に加え、タイルバス（２１０７）に接続され、画像リングより入力された圧縮後の画像データを伸張し、タイルバス（２１０７）へ転送するバスブリッジである。本実施例では、多値データにはＪＰＥＧ、２値データにはパックビッツを伸張アルゴリズムとして採用した例を示す。
【００３０】
タイル圧縮部（２１０６）は、画像リングインターフェースへの接続に加え、タイルバス（２１０７）に接続され、タイルバスより入力された圧縮前の画像データを圧縮し、画像リング（２００８）へ転送するバスブリッジである。本実施例では、多値データにはＪＰＥＧ、２値データにはパックビッツを圧縮アルゴリズムとして採用した例を示す。
【００３１】
コマンド処理部（２１０４）は、画像リングインターフェースへの接続に加え、レジスタ設定バス（２１０９）に接続され、画像リングを介して入力したＣＰＵ（２００１）より発行されたレジスタ設定要求を、レジスタ設定バス（２１０９）に接続される該当ブロックへ書き込む。また、ＣＰＵ（２００１）より発行されたレジスタ読み出し要求に基づき、レジスタ設定バスを介して該当レジスタより情報を読み出し。画像リングインターフェース４（２１０２）に転送する。
【００３２】
ステータス処理部（２１０５）は各画像処理部の情報を監視し、ＣＰＵ（２００１）に対してインタラプトを発行するためのインタラプトバケットを生成し、画像リングインターフェース４に出力する。
【００３３】
タイルバス（２１０７）には上記ブロックに加え、以下の機能ブロックが接続される。
【００３４】
レンダリング部インターフェース（２１１０）、画像入力インターフェース（２１１２）、画像出力インターフェース（２１１３）、多値化部（２１１９）、２値化部（２１１８）、色空間変換部（２１１７）、画像回転部（２０３０）、解像度変換部（２１１６）。
【００３５】
レンダリング部インターフェース（２１１０）は、後述するレンダリング部により生成されたビットマップイメージを入力するインターフェースである。レンダリング部とレンダリング部インターフェースは、一般的なビデオ信号（２１１１）にて接続される。レンダリング部インターフェースは、タイルバス（２１０７）に加え、メモリバス（２１０８）、レジスタ設定バス（２１０９）への接続を有し、入力された、ラスター画像をレジスタ設定バスを介して設定された、所定の方法によりタイル画像への構造変換をすると同時にクロックの同期化を行い、タイルバス（２１０７）に対し出力を行う。
【００３６】
画像入力インターフェースは（２１１２）は、後述するスキャナー用画像処理部（２１１４）により補正画像処理されたラスタイメージデータを入力とし、レジスタ設定バスを介して設定された、所定の方法によりタイル画像への構造変換とクロックの同期化を行い、タイルバス（２１０７）に対し出力を行う。
【００３７】
画像出力インターフェースは、タイルバスからのタイル画像データを入力とし、ラスター画像への構造変換及び、クロックレートの変更を行い、ラスター画像をプリンタ用画像処理部（２１１５）へ出力する。
【００３８】
画像回転部（２０３０）は画像データの回転を行う。解像度変換部（２１１６）は画像の解像度の変更を行う。色空間変換部（２１１７）はカラー及びグレースケール画像の色空間の変換を行う。
【００３９】
２値化部（２１１８）は、多値（カラー、グレースケール）画像を２値化する。多値化部（２１１９）は２値画像を多値データへ変換する。
【００４０】
外部バスインターフェース部（２１２０）は、画像リングインターフェース１、２，３，４、コマンド処理部、レジスタ設定バスを介し、ＣＰＵ（２００１）により発行された、書き込み、読み出し要求を外部バス３（２１２１）に変換出力するバスブリッジである。外部バス３（２１２１）は本実施例では、プリンタ用画像処理部（２１１５）、スキャナー用画像処理部（２１１４）に接続されている。
【００４１】
メモリ制御部（２１２２）は、メモリバス（２１０８）に接続され、各画像処理部の要求に従い、あらかじめ設定されたアドレス分割により、画像メモリ１及び画像メモリ２（２１２３）に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施例では、画像メモリにＳＤＲＡＭを用いた例を示した。
【００４２】
スキャナー用画像処理部（２１１４）では、画像入力デバイスであるスキャナー（２０７０）によりスキャンされた画像データを補正画像処理する。
【００４３】
プリンタ用画像処理部では、プリンタ出力のための補正画像処理を行い、結果をＰｒｉｎｔｅｒ（２０９５）へ出力する。
【００４４】
レンダリング部（２０６０）はＰＤＬコードもしくは、中間ディスプレイリストをビットマップイメージに展開する。
【００４５】
［システム全体］
本発明のネットワークシステム全体の構成図を図１に示す。
【００４６】
１００１は本発明の装置で、スキャナーとプリンタから構成され、スキャナーから読み込んだ画像をローカルエリアネットワーク（１０１０）（以下ＬＡＮ）に流したり、ＬＡＮから受信した画像をプリンタによりプリントアウトできる。また、スキャナーから読んだ画像を図示しないＦＡＸ送信手段により、ＰＳＴＮまたはＩＳＤＮ（１０３０）に送信したり、ＰＳＴＮまたはＩＳＤＮから受信した画像をプリンタによりプリントアウトできる。１００２は、データベースサーバで、本発明の装置（１００１）により読み込んだ２値画像及び多値画像をデータベースとして管理する。
【００４７】
１００３は、データベースサーバ（１００２）のデータベースクライアントで、データベース（１００２）に保存されている画像データを閲覧／検索等できる。
【００４８】
１００４は、電子メールサーバで、本発明の装置（１００１）により読み取った画像を電子メールの添付として受け取ることができる。１００５は、電子メールのクライアントで、電子メールサーバ（１００４）の受け取ったメールを受信し閲覧したり、電子メールを送信したり、可能である。
【００４９】
１００６がＨＴＭＬ文書をＬＡＮに提供するＷＷＷサーバで、本発明の装置（１００１）によりＷＷＷサーバで提供されるＨＴＭＬ文書をプリントアウトできる。
【００５０】
１００７は、ルータでＬＡＮ（１０１０）をインターネット／イントラネット（１０１２）と連結する。インターネット／イントラネットに、前述したデータベースサーバ（１００２）、ＷＷＷサーバ（１００６）、電子メールサーバ（１００４）、本発明の装置（１００１）と同様の装置が、それぞれ１０２０、１０２１、１０２２、１０２３として連結している。一方、本発明の装置（１００１）は、ＰＳＴＮまたはＩＳＤＮ（１０３０）を介して、ＦＡＸ装置（１０３１）と送受信可能になっている。
【００５１】
また、ＬＡＮ上にプリンタ（１０４０）も連結されており、本発明の装置（１００１）により読み取った画像をプリントアウト可能なように構成されている。
【００５２】
［タイル画像（パケット）フォーマット］
本発明によるＳｙｓｔｅｍＣｏｎｔｒｏｌｌｅｒＵｎｉｔ（２０００）内では、画像データ、ＣＰＵ（２００１）によるコマンド、各ブロックより発行される割り込み情報を、パケット化された形式で転送する。
【００５３】
本実施例では、図３に示すデータパケット、図４に示すコマンドパケット、図５に示すインタラプトパケットの３種の異なる種類のパケットが使用される。
【００５４】
データパケット（図３）
本実施例では画像Ｄａｔａを３２ｐｉｘｅｌ×３２ｐｉｘｅｌのＴｉｌｅ単位の画像データ（３００２）に分割して取り扱う例を示した。
【００５５】
このＴｉｌｅ単位の画像に、必要なヘッダ情報（３００１）及び画像付加情報等（３００３）を付加してデータＰａｃｋｅｔとする。
【００５６】
以下にヘッダ情報（３００１）に含まれる情報について説明を行う。ＰａｃｋｅｔのＴｙｐｅはヘッダ情報（３００１）内のＰｃｋｔＴｙｐｅ（３００４）で区別される。ＰｃｋｔＴｙｐｅ（３００４）にはリピートフラグが含まれており、Ｄａｔａ  Ｐａｃｋｅｔの画像Ｄａｔａが１つ前に送信したＤａｔａ  Ｐａｃｋｅｔの画像Ｄａｔａと同一の場合、リピートフラグをセットする。
【００５７】
ＣｈｉｐＩＤ（３００５）はパケットを送信するターゲットとなるチップのＩＤを示す。
【００５８】
ＤａｔａＴｙｐｅ（３００６）ではデータのタイプを示す。ＰａｇｅＩＤ（３００７）はページを示しており、ＪｏｂＩＤはソフトウェアで管理するためのＪｏｂ  ＩＤ（３００８）を格納する。
【００５９】
Ｔｉｌｅの番号はＹ方向のＴｉｌｅ座標（３００９）とＸ方向のＴｉｌｅ座標（３０１０）の組み合わせで、ＹｎＸｎで表される。
【００６０】
データパケットは画像データが圧縮されている場合と非圧縮の場合がある。本実施例では、圧縮アルゴリズムとして、多値カラー（多値グレースケールを含む）の場合はＪＰＥＧを２値の場合はパックビッツを採用した例を示した。
【００６１】
圧縮されている場合と非圧縮の場合との区別はＣｏｍｐｒｅｓｓＦｌａｇ（３０１７）で示される。
【００６２】
Ｐｒｏｃｅｓｓ  Ｉｎｓｔｒｕｃｔｉｏｎ（３０１１）は左詰で処理順に設定し、各処理Ｕｎｉｔは、処理後Ｐｒｏｃｅｓｓ  Ｉｎｓｔｒｕｃｔｉｏｎを左に８ＢｉｔＳｈｉｆｔする。Ｐｒｏｃｅｓｓ  Ｉｎｓｔｒｕｃｔｉｏｎ（３０１１）はＵｎｉｔＩＤ（３０１９）とＭｏｄｅ（３０２０）の組が８組格納されている。ＵｎｉｔＩＤ（３０１９）は各処理Ｕｎｉｔを指定し、Ｍｏｄｅ（３０２０）は各処理Ｕｎｉｔでの動作Ｍｏｄｅを指定する。これにより、１つのパケットは８つのＵｎｉｔで連続して処理することができる。
【００６３】
ＰａｃｋｅｔＢｙｔｅＬｅｎｇｔｈ（３０１２）はパケットのトータルバイト数を示す。ＩｍａｇｅＤａｔａＢｙｔｅＬｅｎｇｈ（３０１５）は画像データのバイト数、ＺＤａｔａＢｙｔｅＬｅｎｇｔｈ（３０１６）は画像付加情報のバイト数を表し、ＩｍａｇｅＤａｔａＯｆｆｓｅｔ（３０１３）、ＺＤａｔａＯｆｆｓｅｔ（３０１４）はそれぞれのデータのパケットの先頭からのＯｆｆｓｅｔを表している。
【００６４】
Ｐａｃｋｅｔ  Ｔａｂｌｅ（図６）
各ＰａｃｋｅｔはＰａｃｋｅｔ  Ｔａｂｌｅ（６００１）によって管理する。Ｐａｃｋｅｔ  Ｔａｂｌｅ（６００１）の構成要素は次の通りで、それぞれＴａｂｌｅの値に０を５ｂｉｔ付加すると、Ｐａｃｋｅｔの先頭Ａｄｄｒｅｓｓ（６００２）、ＰａｃｋｅｔのＢｙｔｅ  Ｌｅｎｇｔｈ（６００５）となる。
【００６５】
Ｐａｃｋｅｔ  Ａｄｄｒｅｓｓ  Ｐｏｉｎｔｅｒ（２７ｂｉｔ）＋５ｂ０００００＝Ｐａｃｋｅｔ先頭Ａｄｄｒｅｓｓ
Ｐａｃｋｅｔ  Ｌｅｎｇｔｈ（１１ｂｉｔ）＋５ｂ０００００＝ＰａｃｋｅｔのＢｙｔｅ  Ｌｅｎｇｔｈ
Ｐａｃｋｅｔ  Ｔａｂｌｅ（６００１）とＣｈａｉｎ  Ｔａｂｌｅ（６０１０）は分割されないものとする。
【００６６】
Ｐａｃｋｅｔ  Ｔａｂｌｅ（６００１）は常に走査方向に並んでおり、Ｙｎ／Ｘｎ＝０００／０００，  ０００／００１，０００／００２，．．．．という順で並んでいる。このＰａｃｋｅｔ  Ｔａｂｌｅ（６００１）のＥｎｔｒｙは一意にひとつのＴｉｌｅを示す。また、Ｙｎ／Ｘｍａｘの次のＥｎｔｒｙはＹｎ＋１／Ｘ０となる。
【００６７】
Ｐａｃｋｅｔがひとつ前のＰａｃｋｅｔとまったく同じＤａｔａである場合は、そのＰａｃｋｅｔはＭｅｍｏｒｙ上には書かず、Ｐａｃｋｅｔ  ＴａｂｌｅのＥｎｔｒｙに１つめのＥｎｔｒｙと同じＰａｃｋｅｔ  Ａｄｄｒｅｓｓ  Ｐｏｉｎｔｅｒ、Ｐａｃｋｅｔ  Ｌｅｎｇｔｈを格納する。１つのＰａｃｋｅｔ  Ｄａｔａを２つのＴａｂｌｅ  Ｅｎｔｒｙが指すようなかたちになる。この場合、２つめのＴａｂｌｅ  ＥｎｔｒｙのＲｅｐｅａｔ  Ｆｌａｇ（６００３）がＳｅｔされる。
【００６８】
ＰａｃｋｅｔがＣｈａｉｎ  ＤＭＡにより複数に分断された場合は、Ｄｉｖｉｄｅ  Ｆｌａｇ（６００４）をＳｅｔし、そのＰａｃｋｅｔの先頭部分が入っているＣｈａｉｎ  ＢｌｏｃｋのＣｈａｉｎ  Ｔａｂｌｅ番号（６００６）をＳｅｔする。
【００６９】
Ｃｈａｉｎ  Ｔａｂｌｅ（６０１０）のＥｎｔｒｙはＣｈａｉｎ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ（６０１１）とＣｈａｉｎ  Ｂｌｏｃｋ  Ｌｅｎｇｔｈ（６０１２）からなっており、Ｔａｂｌｅの最後のＥｎｔｒｙにはＡｄｄｒｅｓｓ、Ｌｅｎｇｔｈ共に０を格納しておく。
【００７０】
Ｃｏｍｍａｎｄ  Ｐａｃｋｅｔ  Ｆｏｒｍａｔ（図４）
本Ｐａｃｋｅｔ  Ｆｏｒｍａｔはレジスタ設定バス（２１０９）へのアクセスを行うためのものである。本パケットを用いることにより、ＣＰＵ（２００１）より画像メモリ（２１２３）へのアクセスも可能である。
【００７１】
ＣｈｉｐＩＤ（４００４）にはコマンドパケットの送信先となる画像処理部（２１４９）を表すＩＤが格納される。
【００７２】
ＰａｇｅＩＤ（４００７）、ＪｏｂＩＤ（４００８）はソフトウェアで管理するためのＰａｇｅ  ＩＤとＪｏｂ  ＩＤを格納する。
【００７３】
Ｐａｃｋｅｔ  ＩＤ（４００９）は１次元で表される。Ｄａｔａ  ＰａｃｋｅｔのＸ−ｃｏｏｒｄｉｎａｔｅのみを使用する。
【００７４】
パケットバイトレングス（４０１０）は１２８Ｂｙｔｅ固定である。
【００７５】
パケットデータ部（４００２）には、アドレス（４０１１）とデータ（４０１２）の組を１つのコマンドとして、最大１２個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはＣｍｄＴｙｐｅ（４００５）で示され、コマンドの数はＣｍｄｎｕｍ（４００６）で示される。
【００７６】
Ｉｎｔｅｒｒｕｐｔ  Ｐａｃｋｅｔ  Ｆｏｒｍａｔ（図５）
本ＰａｃｋｅｔＦｏｒｍａｔは画像処理部（２１４９）からＣＰＵ（２００１）への割り込みを通知するためのものである。ステータス処理部（２１０５）はＩｎｔｅｒｒｕｐｔ  Ｐａｃｋｅｔを送信すると、次に送信の許可がされるまではＩｎｔｅｒｒｕｐｔ  Ｐａｃｋｅｔを送信してはならない。
【００７７】
パケットバイトレングス（５００６）は１２８Ｂｙｔｅ固定である。
【００７８】
パケットデータ部（５００２）には、画像処理部（２１４９）の各内部モジュールのステータス情報（５００７）が格納されている。ステータス処理部（２１０５）は画像処理部（２１４９）内の各モジュールのステータス情報を集め、一括してシステム制御部（２１５０）に送ることができる。
【００７９】
ＣｈｉｐＩＤ（５００４）にはＩｎｔｅｒｒｕｐｔ  Ｐａｃｋｅｔの送信先となるシステム制御部（２１５０）を表すＩＤが、また、ＩｎｔＣｈｉｐＩＤ（５００５）にはＩｎｔｅｒｒｕｐｔ  Ｐａｃｋｅｔの送信元となる画像処理部（２１４９）を表すＩＤが格納される。
【００８０】
［画像出力］
以下に本実施例の通常の画像出力制御方法について示す。本実施例では、次の手順でデータパケットを出力するものとする。
【００８１】
１．画像データがデータパケットとしてＲＡＭ（２００２）に格納されている。このデータパケットは通常、ＲＡＭ容量を節約するために、画像圧縮部（２１３１）で圧縮されたデータである。また、ＲＡＭ（２００２）には複数のデータパケットがＲＡＭ（２００２）のどのアドレスに格納されているかを示すパケットテーブルも同様に格納されている。
【００８２】
２．画像リングインターフェース３（２１０１）はＲＡＭ（２００２）に格納されているパケットテーブルを元に、ＲＡＭ（２００２）に格納されているデータパケットをシステムバスブリッジ（２００７）を介して、画像リングインターフェース３（２１０１）に転送する。
【００８３】
３．画像リングインターフェース３（２１０１）は、データパケットのヘッダ情報（３００１）に記載されているＣｈｉｐＩＤ（３００５）およびＵｎｉｔＩＤ（３０１９）により、転送先のユニット（タイル伸張部（２１０３））に対してデータパケットを転送する。
【００８４】
４．タイル伸張部（２１０３）は受け取ったデータパケットのヘッダ情報（３００１）に記載された処理方法に従い、データパケットを伸張する。
【００８５】
５．タイル伸張部（２１０３）は処理後のデータパケットをタイルバス（２１０７）に転送する。
【００８６】
６．タイルバスは伸張処理後のデータパケットのヘッダ情報（３００１）に記載されている転送先である、画像出力インターフェース（２１１３）にデータパケットを転送する。
【００８７】
７．画像出力インターフェース（２１１３）は受け取ったデータパケットを元に、ラスターデータを作成し、画像出力を行う。
【００８８】
上記の手順に沿って、通常の画像出力制御方法を詳細に説明する。
【００８９】
手順１において、スキャナーやネットワーク上のＰＣから送られたＰＤＬデータもしくは公衆回線を経由して受け取ったＦＡＸ画像を、あらかじめパケット単位で圧縮されてＲＡＭ（２００２）内に格納されているものとする。格納されているデータパケットにはパケットヘッダが付属しており、そのパケットの属性や、これから行われる処理内容が記載されている。例えば、２つのタイル伸張部（２１０３ａ，２１０３ｂ）を使用する場合には、データパケット毎に処理を行うタイル伸張部を指示するために、データパケットに付属するパケットヘッダのＵｎｉｔＩＤ（３０１９）に所定の値が書き込まれている。例えば、タイル伸張部１（２１０３ａ）、タイル伸張部２（２１０３ｂ）を示すＵｎｉｔＩＤがそれぞれ、０００１、００１０だとすると、パケットヘッダのＵｎｉｔＩＤが０００１だった場合、そのデータパケットはタイル伸張部１（２１０３ａ）で処理され、パケットヘッダのＵｎｉｔＩＤが００１０だった場合、そのデータパケットはタイル伸張部２（２１０３ｂ）で処理される。
【００９０】
手順２において、画像リングインターフェース３（２１０１）はシステムバスブリッジ（２００７）を介して、ＲＡＭ（２００２）内に格納されたデータパケットをＲＡＭ（２００２）内に格納されたパケットテーブルを参照し、画像処理部（２１４９）に対して転送を行う。１つのデータパケットを転送完了した後、次のデータパケットを転送できる状態にあるなら、さらにパケットテーブルを参照し次のデータパケットを転送する。
【００９１】
手順３において、画像リングインターフェース３（２１０１）はＣｈｉｐＩＤ（３００５）およびＵｎｉｔＩＤ（３０１９）を参照してデータパケットを受け取り、キューイングするとともに、次にデータパケットを参照すべきユニットに対してデータを転送する。このときタイル伸張部（２１０３）に対してデータ転送が可能か否かの確認を行う。データ転送が可能でない場合は、データ転送が可能となるまで、待たされることとなる。
【００９２】
手順４において、画像データが多値カラーデータであるとすると、データパケットはタイル伸張部（２１０３）において、ＪＰＥＧ伸張処理が行われる。
【００９３】
手順５において、タイル伸張部（２１０３）は伸張処理が終了したパケットデータをタイルバス（２１０７）に対して転送を行う。
【００９４】
以下、このパケットデータは手順６、７で所定の処理を行った後、画像出力される。
【００９５】
通常、タイル伸張部１（２１０３ａ）とタイル伸張部２（２１０３ｂ）は異なるジョブに対して、並列処理を行うために使用される。例えば、ＲＡＭ（２００２）に格納されたデータパケットをタイル伸張部１（２１０３ａ）で伸張し、画像出力インターフェース（２１１３）を介して、プリンタ（２０９５）に出力すると同時に、ＲＡＭ（２００２）に格納された別のデータパケットをタイル伸張  部２（２１０３ｂ）で伸張し、画像リングインターフェース４（２１０２）を介して、ＲＡＭ（２００２）に書き戻すという並列動作を行うとする。このとき、それぞれのデータパケットのパケットヘッダ部のＵｎｉｔＩＤ（３０１９）にはそれぞれ、０００１と００１０が指定され、所定のタイル伸張部で伸張が行われるしくみとなっている。
【００９６】
ところが、仮にデータパケットのメモリへの書き戻しのジョブがプリンタへの出力のジョブと並列に行われなかった場合、タイル伸張部２（２１０３ｂ）はアイドル状態となっているにも関わらず、プリンタ出力のジョブの伸張処理はタイル伸張部１（２１０３ａ）のみで行われてしまう。そこで、本提案での実施例では、以下のような手順でプリンタ出力のジョブの伸張処理動作を高速化している。
【００９７】
図９は画像リングインターフェース３（２１０１）とタイル伸張部１（２１０３ａ）、タイル伸張部２（２１０３ｂ）を示したブロック図である。同図において、９００１，９００２は画像リングインターフェース３（２１０１）とタイル伸張部１（２１０３ａ）、タイル伸張部２（２１０３ｂ）間でデータ転送を行うための信号群である。
【００９８】
図８において、データ転送のタイミングを説明する。８００１はクロックであり、データ転送は全て、このクロック同期で行われる。８００２はリクエスト信号で、画像リングインターフェース３（２１０１）はタイル伸張部１（２１０３ａ）、またはタイル伸張部２（２１０３ｂ）に対して画像転送の要求を出す。８００３はアクノリッジ信号であり、画像リングインターフェース３（２１０１）からの要求に対して、タイル伸張部１（２１０３ａ）、またはタイル伸張部２（２１０３ｂ）が転送の許可を与えるものである。８００４は画像データで、６４ｂｉｔのバスで構成される。本実施例では一回につき、６４ｂｉｔ×１６ｂｅａｔのデータを転送する。８００５はタイル伸張部１（２１０３ａ）、またはタイル伸張部２（２１０３ｂ）の状態を示すＢｕｓｙ信号で、画像リングインターフェース３（２１０１）はこのＢｕｓｙ信号がアクティブ（Ｈｉ）のときには、リクエスト信号をアサートしないようになっている。これらの信号群（８００１−８００５）はタイル伸張部毎に並列に具備されている。
【００９９】
図７は画像リングインターフェース３（２１０１）の動作フロー図である。
【０１００】
画像リングインターフェース３（２１０１）に転送されたデータパケットはまず、ヘッダを確認され、ＵｎｉｔＩＤ（３０１９）の値が取得される（７００１）。ＵｎｉｔＩＤ（３０１９）の値が０００１だった場合、タイル伸張部１（２１０３ａ）の動作状態を判別する。タイル伸張部１（２１０３ａ）がＢｕｓｙ状態で無かった場合、タイル伸張部１（２１０３ａ）に対して、データを転送する（７００４）。仮にタイル伸張部１（２１０３ａ）がＢｕｓｙ状態だった場合、ＵｎｉｔＩＤ（３０１９）の値を００１０とし、再度、判定処理（７００２）を行う。すなわち、ＵｎｉｔＩＤ（３０１９）００１０に対応した、タイル伸張部２（２１０３ｂ）の動作状態を判別する。ここで、タイル伸張部２（２１０３ｂ）がＢｕｓｙ状態で無ければ、タイル伸張部２（２１０３ｂ）に対して、データ転送を行う。さらに、タイル伸張部２（２１０３ｂ）もＢｕｓｙ状態であるなら、再度、ＵｎｉｔＩＤ（３０１９）をトグルして、Ｂｕｓｙ状態で無いタイル伸張部があるまで、ウエイトする。
【０１０１】
次に図２において、画像出力インターフェース（２１１３）のデータの並べ替えについて説明する。
【０１０２】
タイル伸張部１（２１０３ａ）とタイル伸張部２（２１０３ｂ）に振り分けられたデータパケットは、ビジー状態が続いたタイル伸張部からの伸張データを、後から入力されたもう一方のタイル伸張部からの出力伸張データが追い越してしまう可能性がある。そこで、画像出力インターフェース（２１１３）では、データのヘッダ部のＹ方向のＴｉｌｅ座標（３００９）とＸ方向のＴｉｌｅ座標（３０１０）を読み、しかるべき順序に並べ替えを行う。画像出力インターフェース（２１１３）はタイル伸張部１（２１０３ａ）、タイル伸張部２（２１０３ｂ）から得られたデータをメモリバス（２１０８）、メモリ制御部（２１２２）を介して、画像メモリ（２１２３）に転送をする。画像メモリ（２１２３）上には、３２ライン分のバンド領域が確保されており、座標データにしたがって、所定の位置にタイル画像として、書き込みを行う。３２ライン分のデータの書き込みが終了すると、ラスター画像として、３２ライン分の画像の先頭から順番に読み出しを行い、プリンタ用画像処理部（２１１５）を介して、プリンタ（２０９５）に画像データを転送する。
【０１０３】
このように、異なるジョブの並列動作用に設けられた矩形画像処理部の動作状態を判断し、１つのジョブを２つの矩形画像処理部に振り分けを行うことによって、複数の矩形画像処理部を適切に使用することができる。また、複数の矩形画像処理部の処理速度が異なっている場合でも、画像出力インターフェースにおいて、ラスター画像へのデータの並べ替えを行うことで、適切な画像出力が得られる。
【０１０４】
本実施例では、矩形画像処理部の数を２つとしたが、３つ以上の場合でも、ＵｎｉｔＩＤのトグル処理を該当数のラウンドロビン処理にすることで、同様の処理が可能となる。また、矩形画像処理部をＪＰＥＧの伸張処理である構成で説明しているが、ブロック単位で処理を行う別の画像処理を行う場合でも、本実施形態が適用可能である。
【図面の簡単な説明】
【０１０５】
【図１】本システムの実使用環境を表す図
【図２】本システムコントローラの全体ブロック図
【図３】イメージパケットを表す図
【図４】コマンドパケットを表す図
【図５】インタラプトパケットを表す図
【図６】パケットテーブルを表す図
【図７】画像リングインターフェース３の動作フロー図
【図８】画像リングインターフェース３とタイル伸張部間のデータ転送のタイミング図
【図９】画像リングインターフェース３とタイル伸張を示したブロック図
【符号の説明】
【０１０６】
２０００  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ
２００１  ＣＰＵ
２００２  ＲＡＭ
２００３  ＲＯＭ
２１０１  画像リングインターフェース３
２１１３  画像出力インターフェース
２１２８  サブバススイッチ
２１５０  システム制御部
【図１】
2006166102.tif 000003
【図２】
2006166102.tif 000004
【図３】
2006166102.tif 000005
【図４】
2006166102.tif 000006
【図５】
2006166102.tif 000007
【図６】
2006166102.tif 000008
【図７】
2006166102.tif 000009
【図９】
2006166102.tif 000010
【図８】
2006166102.tif 000011