(57)【要約】【課題】  メインCPUとサブCPUを持つマルチファンクションシステムにおいて、後付けのサブCPUの速度に応じて、それぞれに最適なPDL処理分担を自動的に行い、マルチファンクションシステムの性能を最大限に引き出す。【解決手段】  メインCPUを含むメインコントローラ部とサブCPUを含むサブコントローラ部において、前記メインコントローラ部とサブコントローラ部間の通信により、PDLプリントを実現することが可能なマルチファンクションシステムにおいて、メインCPUの速度とサブCPUの速度を自動的に検知し、サブCPUがメインCPUよりも速度が高い場合と、サブCPUがメインCPUよりも速度が低い場合とで、前記メインコントローラ部とサブコントローラ部の処理の分担方法を自動的に変える。【選択図】  図１
2006236039.tif 000002
【特許請求の範囲】
【請求項１】
メインCPUを含むメインコントローラ部とサブCPUを含むサブコントローラ部において、前記メインコントローラ部とサブコントローラ部間の通信によりPDLプリントを実現することが可能なマルチファンクションシステムにおいて、メインCPUの速度とサブCPUの速度を自動的に検知し、サブCPUがメインCPUよりも速度が高い場合と、サブCPUがメインCPUよりも速度が低い場合とで、前記メインコントローラ部とサブコントローラ部の処理の分担方法を自動的に変えることを特徴としたマルチファンクションシステム。
【請求項２】
請求項１記載のマルチファンクションシステムにおいて、メインコントローラ部及びサブコントローラ部はそれぞれPDLデータからディスプレイリストを作成することが可能な、ディスプレイリスト作成手段を有することを特徴とするマルチファンクションシステム。
【請求項３】
請求項１記載のマルチファンクションシステムにおいて、メインコントローラ部及びサブコントローラ部はそれぞれ、請求項２記載のディスプレイリスト作成手段により作成されたディスプレイリストを、レンダリング処理することの出来るレンダリング処理手段を有することを特徴とするマルチファンクションシステム。
【請求項４】
請求項１記載のマルチファンクションシステムにおいて、メインコントローラ部とサブコントローラ部の処理の分担方法とは、請求項２記載のディスプレイリスト作成手段を、前記メインコントローラ部で行うかあるいは前記サブコントローラ部で行うかどうかの判断に相当することを特徴とするマルチファンクションシステム。
【請求項５】
請求項１記載のマルチファンクションシステムにおいて、メインコントローラ部とサブコントローラ部の処理の分担方法とは請求項３記載のレンダリング処理手段を前記メインコントローラ部で行うかあるいは前記サブコントローラ部で行うかどうかの判断に相当することを特徴とするマルチファンクションシステム。
【請求項６】
請求項１記載のマルチファンクションシステムにおいて、PDLデータの展開は前記メインコントローラ部あるいは前記サブコントローラ部のいずれかで実現可能なことを特徴としたマルチファンクションシステム。
【請求項７】
請求項１記載のマルチファンクションシステムにおいて、PDLデータの展開は前記メインコントローラ部及び前記サブコントローラ部の両方の処理で実現可能なことを特徴としたマルチファンクションシステム。
【請求項８】
請求項１記載のマルチファンクションシステムにおいて、前記メインコントローラ部と前記サブコントローラ部の処理の分担方法はPDLプリントの１部目の処理に関することを特徴としたマルチファンクションシステム。
【請求項９】
請求項１記載のマルチファンクションシステムにおいて、前記メインコントローラ部と前記サブコントローラ部間の通信はＰＣＩバス上で行われることを特徴としたマルチファンクションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はPDLプリントが可能なデジタル複写機等を含むマルチファンクションシステムに関する。
【背景技術】
【０００２】
従来からPDLプリントが可能なマルチファンクションシステムでは請求項１に記載されるようなメインCPUを含むメインコントローラ部とサブCPUを含むサブコントローラ部及び前記メインコントローラ部とサブコントローラ部間の通信によりPDLプリントを実現することが行われてきた。また、CPUの高速化に伴って製品コストあるいは開発費削減ため、PDLの展開作業はハードウェアによる専用回路ではなく、ソフトウェアにより実現される様な動きも見られる。
【０００３】
また、従来のPDLプリントが可能なマルチファンクションシステムでは、PDL処理に関しては、メインCPUが担当する処理とサブCPUが担当する処理が固定されている。
【０００４】
又、別の従来例としては、特許文献１及び特許文献２をあげることが出来る。
【０００５】
【特許文献１】特開平08-174956号公報
【特許文献２】特開2000-198239号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、CPUの速度の高速化は著しく、特に、サブCPUが後付けである場合、メインCPUよりもサブCPUの方が高速になる可能性が高くなる。この時、メインCPUの方がサブCPUよりも処理速度が高いことを前提とした処理分担に固定されていては、マルチファンクションシステムの持つ性能を十分発揮することが出来ない。
【課題を解決するための手段】
【０００７】
そこで、本発明では、メインCPUを含むメインコントローラ部とサブCPUを含むサブコントローラ部において、前記メインコントローラ部とサブコントローラ部間の通信によりPDLプリントを実現することが可能なマルチファンクションシステムにおいて、メインCPUの速度とサブCPUの速度を自動的に検知し、サブCPUがメインCPUよりも速度が高い場合と、サブCPUがメインCPUよりも速度が低い場合とで、前記メインコントローラ部とサブコントローラ部の処理の分担方法を自動的に変えることにより、メインCPUとサブCPUの速度に応じて最適な制御を行い、システムの性能を最大限に引き出す制御方法を提案する。
【発明の効果】
【０００８】
以上の様に本発明の手法により、メインCPUを含むメインコントローラ部とサブCPUを含むサブコントローラ部において、前記メインコントローラ部とサブコントローラ部間の通信によりPDLプリントを実現することが可能なマルチファンクションシステムにおいて、メインCPUの速度とサブCPUの速度を自動的に検知し、サブCPUがメインCPUよりも速度が高い場合と、サブCPUがメインCPUよりも速度が低い場合とで、前記メインコントローラ部とサブコントローラ部の処理の分担方法を自動的に変えることを特徴としたマルチファンクションシステムにより、前記サブCPUと前記メインCPUの速度に応じて、最適なPDL処理の分担になるよう制御することで、システムの性能を最大限に引き出すことを可能にした。
【発明を実施するための最良の形態】
【０００９】
以下で本発明の実施例について説明する。
【００１０】
［ハードウェア］
全体構成
全体構成図を図３に示す。Controller Unit 2000は画像入力デバイスであるScanner2070や画像出力デバイスであるPrinter2095と接続し、一方ではLAN2011や公衆回線(WAN)2051接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。CPU2001はシステム全体を制御するコントローラである。RAM2002はCPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。また、ROM2003はブートROMであり、システムのブートプログラムが格納されている。HDD2004はハードディスクドライブで、システムソフトウェア、画像データを格納する。
【００１１】
Main CPU2001はJBIG部2040を内蔵しており、RAM2002に展開された画像データを入力として、算術符号化である画像のJBIG圧縮を行い、コードデータをRAM2002に書き込むことができる。RAM2002に書き込まれたコードデータはCPU2001内蔵のDMA回路により、HDD2004に転送され画像の格納が行われる。また、HDD2004に格納されているJBIGコードデータはCPU2001内蔵のDMA回路によりRAM2002に展開され、展開された画像データを入力としてJBIG部2040で画像のJBIG伸張を行い、伸張されたラスタデータをRAM2002に書き込むことができる。また、ソフトウェアによりPDL処理を行うことが可能で、ディスプレイリストの作成やレンダリング処理を行う。
【００１２】
操作部I/F2006は操作部(UI)2012とインターフェイス部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。Network2010はLAN2011に接続し、情報の入出力を行う。Modem2050は公衆回線2051に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。Image Bus I/F2005はシステムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394で構成される。画像バス2008上には以下のデバイスが配置される。
【００１３】
Sub CPU2060はMain CPUと処理速度は同等か異なり、同等の処理が可能なCPUである。Main CPU単体でもマルチファンクションシステムとして構成することが可能だが、Sub CPu2060により、Main CPUの担当する処理の一部を分担することで、PDL処理の高速化を図ることが可能なものである。RAM2062はRIP2060が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。RIP2060はCPU2001と同様にJBIG部2061を内蔵しており、RAM2062に展開された画像データを入力として、算術符号化である画像のJBIG圧縮を行い、コードデータをRAM2062に書き込むことができる。RAM2062に書き込まれたコードデータはRIP2060内蔵のDMA回路により、HDD2004に転送され画像の格納が行われる。また、HDD2004に格納されているJBIGコードデータはRIP2060内蔵のDMA回路によりRAM2062に展開され、展開された画像データを入力としてJBIG部2061で画像のJBIG伸張を行い、伸張されたラスタデータをRAM2062に書き込むことができる。また、Main CPUと同様に、ソフトウェアによりPDL処理が可能であり、ディスプレイリストの作成やレンダリング処理を行うことが可能である。尚、Sub CPUは、初めから搭載されている必要はなく、ユーザーが任意で後から取り付けることが可能なものである。
【００１４】
デバイスI/F部2020は、画像入出力デバイスであるスキャナ2070やプリンタ2095とコントローラ2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部2030は画像データの回転を行う。
【００１５】
画像入出力部
画像入出力デバイスを図４に示す。画像入力デバイスであるスキャナ部2070は、原稿となる紙上の画像を照明し、CCDラインセンサ(図示せず)を走査することで、ラスターイメージデータ2071として電気信号に変換する。原稿用紙は原稿フィーダ2072のトレイ2073にセットし、装置使用者が操作部2012から読み取り起動指示することにより、コントローラCPU2001がスキャナ2070に指示を与え(2071)、フィーダ2072は原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
【００１６】
プリンタデバイスであるプリンタ部2095は、ラスターイメージデータ2096を用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、コントローラCPU2001からの指示2096によって開始する。プリンタ部2095には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット2101、2102、2103、2104がある。また、排紙トレイ2111は印字し終わった用紙を受けるものである。
【００１７】
操作部
操作部2012の構成を図５に示す。LCD表示部2013は、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラCPU2001に伝える。スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014中央部には、緑と赤の2色LED2018があり、その色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部からの設定を初期化する時に用いる。
【００１８】
スキャナ画像処理部
スキャナ画像処理部2080の構成を図６に示す。フィルタ処理部2082は、空間フィルタでコンボリューション演算を行う。編集部2083は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。変倍処理部2084は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行う。副走査方向の変倍については、画像読み取りラインセンサ(図示せず)を走査する速度を変えることで行う。テーブル2085は、読み取った輝度データである画像データを濃度データに変換するために、行うテーブル変換である。2値化2086は、多値のグレースケール画像データを、誤差拡散処理やスクリーン処理によって2値化する。
【００１９】
プリンタ画像処理部
プリンタ画像処理部2090の構成を図７に示す。解像度変換部2092は、Network2011あるいは公衆回線2051から来た画像データを、プリンタ2095の解像度に変換するための解像度変換を行う。スムージング処理部2093は、解像度変換後の画像データのジャギー(斜め線等の白黒境界部に現れる画像のがさつき)を滑らかにする処理を行う。
【００２０】
画像回転部
画像回転部2030の構成を図１７に示す。画像バスI/Fコントローラ2031は、画像バス2008と接続し、そのバスシーケンスを制御する働き、画像回転部2032にモード等を設定する制御及び、画像回転部2032に画像データを転送するためのタイミング制御を行う。以下に画像回転部の処理手順を示す。
【００２１】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2031に画像回転制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像回転部2032に対して画像回転に必要な設定(たとえば画像サイズや回転方向・角度等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2031はRAM2002もしくは画像バス2008上の各デバイスから画像データの転送を開始する。尚、ここでは32bitをそのサイズとし回転を行う画像サイズを32×32(bit)とし、又、画像バス2008上に画像データを転送させる際に32bitを単位とする画像転送を行うものとする(扱う画像は２値を想定する)。
【００２２】
上述のように、32×32(bit)の画像を得るためには、上述の単位データ転送を３２回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある。(図１８参照)
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、RAM2033に書き込まれる。例えば、90度反時計方向回転であれば、最初に転送された32bitの画像データを、図１９のようにY方向に書き込んでいく。読み出し時にX方向に読み出すことで、画像が回転される。
【００２３】
32×32(bit)の画像回転(RAM2033への書き込み)が完了した後、画像回転部2032はRAM2033から上述した読み出し方法で画像データを読み出し、画像バスI/Fコントローラ2031に画像を転送する。
【００２４】
回転処理された画像データを受け取った画像バスI/Fコントローラ2031は、連続アドレッシングを以て、RAM2002もしくは画像バス2008上の各デバイスにデータを転送する。
【００２５】
こうした一連の処理は、 CPU2001からの処理要求が無くなるまで(必要なページ数の処理が終わったとき)繰り返される。
【００２６】
デバイスI/F部
デバイスI/F部2020の構成を図１６に示す。画像バスI/Fコントローラ2021は、画像バス2008と接続し、そのバスアクセスシーケンスを制御する働きと、デバイスI/F部2020内の各デバイスの制御及びタイミングを発生させる。また、画像切換え部2026への制御信号を発生させる。スキャンバッファ2022は、画像切換え部2026から送られてくる画像データを一時保存し、画像バス2008に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換2023は、スキャンバッファ2022に保存された画像データを順番に並べて、あるいは分解して、画像バス2008に転送できる画像データのデータ幅に変換する。パラレルシリアル・シリアルパラレル変換2024は、画像バス2008から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ2025に保存できる画像データのデータ幅に変換する。プリントバッファ2025は、画像バス2008から送られてくる画像データを一時保存し、画像切換え部2026からの転送要求に応じてに画像データを出力する。
【００２７】
画像スキャン時の処理手順を以下に示す。スキャナ2070から送られてくる画像データをスキャナ2070から送られてくるタイミング信号に同期させて、画像切換え部2026に送る。画像切換え部2026ではスキャナ2070から受け取った画像をCPU2001からの設定に応じて選択された転送先へ画像を送る。通常はスキャナ2070から受け取った画像はスキャナ画像処理部2080へ送られ、所定の画像処理を行った後、画像切換え部2026を介してスキャンバッファ2022に保存される。そして、画像バス2008がPCIバスの場合には、バッファ内に画像データが32ビット以上入ったときに、画像データを先入れ先出しで32ビット分、バッファからシリアルパラレル・パラレルシリアル変換2023に送り、32ビットの画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。また、画像バス2008がIEEE1394の場合には、バッファ内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換2023に送り、シリアル画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。
【００２８】
画像プリント時の処理手順を以下に示す。画像バス2008がPCIバスの場合には、画像バスから送られてくる32ビットの画像データを画像バスI/Fコントローラで受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに分解し、プリントバッファ2025に保存する。また、画像バス2008がIEEE1394の場合には、画像バスからおくられてくるシリアル画像データを画像バスI/Fコントローラで受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに変換し、プリントバッファ2025に保存する。画像データはプリントバッファ2025から画像切換え部2026を介してプリンタ画像処理部2090に送られる。そして所定の画像処理を行った後、画像切換え部2026を介し、プリンタ2095から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ2095に送る。
【００２９】
［ソフトウェア］
システム全体
本発明のネットワークシステム全体の構成図を図１に示す。1001は本発明の装置で、後述するスキャナとプリンタから構成され、スキャナから読み込んだ画像をローカルエリアネットワーク1010（以下ＬＡＮ）に流したり、LANから受信した画像をプリンタによりプリントアウトしたりすることができる。また、スキャナから読んだ画像を図示しないFAX送信手段により、PSTNまたはISDN（1030）に送信したり、PSTNまたはISDNから受信した画像をプリンタによりプリントアウトしたりできる。1002は、データベースサーバーで、本発明の装置1001により読み込んだ2値画像及び多値画像をデータベースとして管理する。1003は、データベースサーバー1002のデータベースクライアントで、データベース1002に保存されている画像データを閲覧/検索等できる。1004は、電子メールサーバーで、本発明の装置1001により読み取った画像を電子メールの添付として受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバー1004の受け取ったメールを受信し閲覧したり、電子メールを送信したり、可能である。1006がHTML文書をＬＡＮに提供するWWWサーバーで、本発明の装置1001によりWWWサーバーで提供されるHTML文書をプリントアウトできる。1007は、ルータでLAN1010をインターネット／イントラネット1012と連結する。インターネット／イントラネットに、前述したデータベースサーバー（1002）、WWWサーバー（1006）、電子メールサーバー（1004）、本発明の装置（1001）と同様の装置が、それぞれ1020、1021、1022、1023として連結している。一方、本発明の装置1001は、PSTNまたはISDN（1030）を介して、FAX装置1031と送受信可能になっている。また、LAN上にプリンタ1040も連結されており、本発明の装置1001により読み取った画像をプリントアウト可能なように構成されている。
【００３０】
ソフトウェアブロック全体構成
図２は、本発明を実施した複合機のソフトウェアブロック図である。
【００３１】
1501はUI即ちユーザインターフェイスを司るものであり、オペレータが本複合機の各種操作・設定を行う際、機器との仲介を行うモジュールである。本モジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送し処理の依頼、或いはデータの設定等を行う。
【００３２】
1502はAddress-Book即ちデータの送付先、通信先等を管理するデータベースモジュールである。Address-Bookの内容は、UI1501からの操作によりデータの追加、削除、取得が行われ、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与えるものとして使用されるものである。
【００３３】
1503はWeb-Serverモジュールであり、図外のWebクライアントからの要求により、本複合機の管理情報を通知するために使用される。管理情報は、後述のControll-API1518を介して読み取られ、後述のHTTP1512、TCP/IP1516、Network−Driver1517を介してWebクライアントに通知される。
【００３４】
1504はUniversal-Send即ち、データの配信を司るモジュールであり、UI1501によりオペレータに指示されたデータを、同様に指示された通信（出力）先に配布するものである。また、オペレータにより、本機器のスキャナ機能を使用し配布データの生成が指示された場合は、後述のControll-API1518を介して機器を動作させ、データの生成を行う。
【００３５】
1505はUniversal-Send1504内で出力先にプリンタが指定された際に実行されるモジュールである。
【００３６】
1506はUniversal-Send1504内で通信先にE-mailアドレスが指定された際に実行されるモジュールである。
【００３７】
1507はUniversal-Send1504内で出力先にデータベースが指定された際に実行されるモジュールである。
【００３８】
1508はUniversal-Send1504内で出力先に本機器と同様の複合機が指定された際に実行されるモジュールである。
【００３９】
1509はRemote-Copy-Scanモジュールであり、本複合機のスキャナ機能を使用し、ネットワーク等で接続された他の複合機を出力先とし、本複合機単体で実現しているCopy機能と同等の処理を行うモジュールである。
【００４０】
1510はRemote-Copy-Printモジュールであり、本複合機のプリンタ機能を使用し、ネットワーク等で接続された他の複合機を入力先とし、本複合機単体で実現しているCopy機能と同等の処理を行うモジュールである。
【００４１】
1511はWeb-Pull-Print即ちインターネットまたはイントラネット上の各種ホームページの情報を読み出し、印刷するモジュールである。
【００４２】
1512は本複合機がHTTPにより通信する際に使用されるモジュールであり、後述のTCP/IP1516モジュールにより前述のWeb-Server1503、Web-Pull-Print1511モジュールに通信を提供するものである。
【００４３】
1513はlprモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のプリンタモジュール1505に通信を提供するものである。
【００４４】
1514はSMTPモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のE-mailモジュール1506に通信を提供するものである。
【００４５】
1515はSLM即ちSalutation-Managerモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のデータベースモジュール1517、DPモジュール1518、及びRemote-Copy-Scan1509モジュール、Remote-Copy-Print1510モジュールに通信を提供するものである。
【００４６】
1516はTCP/IP通信モジュールであり、前述の各種モジュールに後述のNetwork-Driverによりネットワーク通信を提供するものである。
【００４７】
1517はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。
【００４８】
1518はControll-APIであり、Universal-Send1504等の上流モジュールに対し、後述のJOB-Manager1519等の下流モジュールとのインターフェイスを提供するものであり、上流、及び下流のモジュール間の依存関係を軽減しそれぞれの流用性を高めるものである。
【００４９】
1519はJOB-Managerであり、前述の各種モジュールよりControll-API1518を介して指示される処理を解釈し、後述の各モジュールに指示を与えるものである。また、本モジュールは、本複合機内で実行されるハード的な処理を一元管理するものであり、本発明の請求項の記述にあるようなJOBが競合するかどうかの判断する手段を行う。1520はCODEC-Managerであり、JOB-Manager1519が指示する処理の中でデータの各種圧縮・伸長を管理・制御するものである。1521はFBE-Encoderであり、JOB-Manager1519、Scan-Manager1524により実行されるスキャン処理により読み込まれたデータをFBEフォーマットにより圧縮するものである。
【００５０】
1522はJPEG-CODECであり、JOB-Manager1519、Scan-Manager1524により実行されるスキャン処理、及びPrint-Manager1526により実行される印刷処理において、読み込まれたデータのJPEG圧縮及び印刷データのJPEG展開処理を行うものである。
【００５１】
1523はMMR-CODECであり、JOB-Manager1519、Scan-Manager1524により実行されるスキャン処理、及びPrint-Manager1526により実行される印刷処理において、読み込まれたデータのMMR圧縮及び印刷データのMMR伸長処理を行うものである。
【００５２】
1524はScan-Managerであり、JOB-Manager1519が指示するスキャン処理を管理・制御するものである。
【００５３】
1525はSCSIドライバであり、Scan-Manager1524と本複合機が内部的に接続しているスキャナ部との通信を行うものである。
【００５４】
1526はPrint-Managerであり、JOB-Manager1519が指示する印刷処理を管理・制御するものである。
【００５５】
1527はEngine-I/Fドライバであり、Print-Manager1526と印刷部とのI/Fを提供するものである。
【００５６】
1528はパラレルポートドライバであり、Web-Pull−Print1511がパラレルポートを介して図外の出力機器にデータを出力する際のI/Fを提供するものである。
【００５７】
アプリケーション
以下、本発明の組み込みアプリケーションの実施の形態について図面を用いて説明する。
【００５８】
図２０は、本発明の配信に関する組み込みアプリケーションブロックを表すものである。
【００５９】
4050は、前記3000で説明した本発明の操作部アプリケーションを示すブロックである。
【００６０】
4100は、リモートコピーアプリケーションの送信側を示すブロック図である。
【００６１】
4150は、同報配信の送信側を示すブロック図である。
【００６２】
4200は、Web Pull Printモジュールを示すブロック図である。
【００６３】
4250は、Web Serverモジュールを示すブロック図である。
【００６４】
4300は、リモートコピーの受信側（プリント側）を示すブロック図である。
【００６５】
4350は、同報配信で送信されてきたイメージを汎用のプリンタで受信・プリントするブロック図である。
【００６６】
4400は、リモートプリントの受信側（プリント側）を示すブロック図である。
【００６７】
4450は、同報配信で送信されてきたイメージを公知のNotes Serverで受信・格納するブロック図である。
【００６８】
4500は、同報配信で送信されてきたイメージを2値のイメージを受信・格納するブロック図である。
【００６９】
4550は、同報配信で送信されてきたイメージを公知のMail Serverで受信・格納するブロック図である。
【００７０】
4600は、同報配信で送信されてきたイメージを多値のイメージを受信・格納するブロック図である。
【００７１】
4650は、情報コンテンツを含んだ、公知のWeb Serverを示す図である。
【００７２】
4700は、本発明のWeb Serverなどにアクセスする公知のWeb Browserを示す図である。
【００７３】
以下、それぞれのブロックに照らし合わせながら、アプリケーション群の説明を詳細に行う。
【００７４】
User Interface アプリケーション
4050ブロックに示したUser Interface（以下、UI）の詳細は、前記したとおりであるが、ここでは、4051のAddress Bookについて説明する。このAddress Bookは、本発明の機器内の不揮発性の記憶装置（不揮発性メモリやハードディスクなど）に保存されており、この中には、ネットワークに接続された機器の特徴が記載されている。例えば、以下に列挙するようなものが含まれている。
【００７５】
機器の正式名やエイリアス名
機器のネットワークアドレス
機器の処理可能なネットワークプロトコル
機器の処理可能なドキュメントフォーマット
機器の処理可能な圧縮タイプ
機器の処理可能なイメージ解像度
プリンタ機器の場合の給紙可能な紙サイズ、給紙段情報
サーバー（コンピューター）機器の場合のドキュメントを格納可能なフォルダ名
以下に説明する各アプリケーションは、上記Address Book4051に記載された情報により配信先の特徴を判別することが可能となる。
【００７６】
また、このAddress Bookは、編集可能であると共に、ネットワーク内のサーバーコンピューターなどに保存されているものをダウンロードして使用する、または、直接参照することも可能である。
【００７７】
リモートコピーアプリケーション
リモートコピーアプリケーションは、配信先に指定された機器の処理可能な解像度情報を前記Address Book4051より判別し、それに従い、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLM4103に通して、ネットワーク上のプリンター機器に送信する。SLM4103とは、詳細には説明しないが、公知のSalutation Manager（または、Smart Link Manager）と呼ばれる機器制御情報などを含んだネットワークプロトコルの一種である。
【００７８】
同報配信アプリケーション
同報配信アプリケーションは、前記リモートコピーアプリケーションと違い、一度の画像走査で複数の配信宛先に画像を送信する事が可能である。また、配信先もプリンタ機器にとどまらず、いわゆるサーバーコンピューターにも直接配信可能である。
【００７９】
以下、配信先に従って純に説明する。
【００８０】
配信先の機器が公知のネットワークプリンタプロトコルであるLPD(Line Printer Daemon)、プリンタ制御コマンドとして公知のLIPSを処理可能だとAddress Book4051より判別した場合、同様にAddress Book4051より判別した画像解像度に従って画像読み取りを行い、画像自体は、本実施例では、公知のFBE(First Binari Encoding)を用いて圧縮し、さらにLIPSコード化して、公知のネットワークプリンタプロトコルであるLPRで相手機器に送信する。
【００８１】
配信先の機器が前記SLMで通信可能で、サーバー機器の場合、Address Book4051より、サーバードレス、サーバー内のフォルダの指定を判別し、リモートコピーアプリケーションと同様に、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLMを通して、ネットワーク上のサーバー機器の特定のフォルダに格納する事が可能である。
【００８２】
また、本実施例の機器では、相手機器であるサーバーが公知のJPEG圧縮された多値画像を処理可能だと判別した場合、前記の2値画像と同様に多値読み取りした画像を公知のJPEG圧縮を用いて、やはり公知のJFIF化し、SLMを通して、ネットワーク上のサーバー機器の特定のフォルダに格納する事が可能である。
【００８３】
配信先の機器が公知のE-Mailサーバーである場合、Address Book4051に記載されたメールアドレスを判別し、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、公知のSMTP(Simple Mail Transfer Protcol)4153を使用して、E-Mailサーバーに送信する。その後の配信は、Mail Server4550に従って実行される。
【００８４】
Web Pull Print アプリケーション
Web Pull Printアプリケーションは、本実施例と直接関係しないので、説明は省略する。
【００８５】
Web Server アプリケーション
Web Serverアプリケーションは、本実施例と直接関係しないので、説明は省略する。
【００８６】
Device Information Service (DIS)
コントローラ内でジョブに対する設定値、デバイス（スキャナ、プリンタなど）の機能、ステータス、課金情報等をControl APIに準拠したデータ形態で保持するデータベースと、そのデータベースとのI/FをDeviceInformationService（以下、DISと呼称する）として定義している。図２１にDIS 7102とJOBManager 7101、及びScan、Printの各DocumentManager7103、7104とのやり取りを示す。
【００８７】
基本的に、JOBの開始命令など動的な情報はJOBManager 7101から各DocumentManagerに直接指示され、デバイスの機能やジョブの内容など静的な情報はDIS 7102を参照する。各DocumentManagerからの静的、動的情報、イベントはDIS 7102を介してJOBManager 7101に伝えられる。
【００８８】
各DocumentManagerからDISのデータベースにデータの設定、取得を行う場合、DISの内部データ形式がControl API準拠であることから、Control APIに準拠したデータ形式と各DocumentManagerが理解できるデータ形式との相互の変換処理を行う。例えば、各DocumentManagerからステータスデータの設定を行う場合、デバイス固有のデータを解釈し、Control APIで定義される対応するデータに変換し、DISのデータベースへ書き込みを行う。
【００８９】
JOBManagerからDISのデータベースにデータの設定、取得を行う場合には、JOBManagerとDISの間でデータの変換は生じない。
【００９０】
またDISには、DocumentManagerから通知される各種イベント情報に基づき、イベントデータの更新が行われる。
【００９１】
図２２にDIS内部に保持される各種データベース（以下、DBと呼称する）を示し、それぞれのDBについて説明する。図２２中の丸角長方形は個々のDBを表している。
【００９２】
7201はSupervisorDBであり、機器全体についてのステータスやユーザ情報を保持しているDBであり、ユーザIDやパスワード等、バックアップが必要な情報はHD装置、あるいはバックアップメモリなどの不揮発性の記憶装置に保持される。
【００９３】
7202はScanComponentDB、7203はPrintComponentDBであり、これらComponentDBは存在するComponent毎に対応して保持される。例えば、プリンタのみからなる機器の場合はPrintComponentDBのみが存在し、また例えば、FAXを備えた機器の場合はFAXComponentDBが保持される。各ComponentDBには初期化時に、それぞれ対応するDocumentManagerがComponentの機能やステータスを設定する。
【００９４】
7204はScanJOBServiceDB、7205はPrintJOBServiceDBであり、これらのJOBServiceDBもComponentDB同様、初期化時にそれぞれ対応するDocumentManagerが機器で使用できる機能や、それらのサポート状況を設定する。
【００９５】
次にJOBDB、DocumentDBについて説明する。7206はScanJOBDB、7207はPrintJOBDBの各JOBDB、7208はScanDocumentDB、7209はPrintDocumentDBである。
【００９６】
JOBDB、DocumentDBはJOBとそれに付随するDocumentが生成される度にJOBManagerにより動的に確保、初期化が行われ、必要な項目の設定が行われる。各DocumentManagerはJOBの処理開始前にJOBDB、およびDocumentDBから処理に必要な項目を読み出し、JOBを開始する。その後、JOBが終了するとこれらのJOB、及びそれに付随していたDocumentのDBは解放される。JOBは1つ以上のDocumentを持つので、あるJOBに対して複数のDocumentDBが確保される場合がある。
【００９７】
7210は各DocumentManagerから通知されるイベント情報を保持するデータベース、7211は装置のScan回数、Print回数を記録するためのカウンタテーブルである。
【００９８】
DocumentManagerから通知されるイベントには、ScanDocumentManagerからのComponentの状態遷移、Scan処理動作完了や各種のエラー、またPrintDocumentManagerからのComponentの状態遷移、Print処理動作完了、紙詰まり、給紙カセットオープンなどがあり、それぞれのイベントを識別するためのイベントIDが予め定められている。
【００９９】
DocumentManagerからイベントが発行された場合、DISはイベントデータベース7211に発行されたイベントIDと必要なら該イベントに付随する詳細データを登録する。また、DocumentManagerからイベントの解除が通知された場合、解除指定されたイベントデータをイベントデータベース7211から削除する。
【０１００】
JOBManagerよりイベントのポーリングが行われた場合、DISはイベントデータベース7210を参照し、現在発生しているイベントIDと必要ならイベントに付随する詳細データをJOBManagerへ返信し、現在イベントが発生していなければその旨を返信する。
【０１０１】
また、Scan処理動作完了、Print処理動作完了のイベントが通知された場合はScan、Printを行ったユーザのカウンタ値を更新する。このソフトウェアによるカウンタは不慮の電源遮断などでその値が失われないように、バックアップされたメモリ装置やHD装置の不揮発性記憶装置にその値が更新されるたびに書き戻す。
【０１０２】
スキャン動作
以下にスキャン動作の詳細について説明する。図２３はスキャン動作に関するブロックの概念図である。PCIバス8105にCPU8101とメモリ8102、画像の圧縮・伸長ボード8104、及びスキャナ8107と、このシステムを接続するためのI/Fを提供するSCSI I/F回路8103が接続されている。SCSI I/F回路8103とスキャナ（または複合機能を有する複写機のスキャナ機能ユニット）8107はSCSIインターフェースケーブル8106で接続されている。
【０１０３】
またPCIバス8105にはIDE Controller8108が接続されており、IDE Cable8109を介してIDE Hard Disk8110と接続されている。図２４はスキャン動作に関するソフトウェア構造を示したものである。JOBManager8201はアプリケーションレベルの要求を分類、保存する機能を持つ。DIS8202はアプリケーションレベルからのスキャン動作に必要なパラメータを保存する。アプリケーションからの要求はメモリ8102に保存される。スキャン動作管理部8203はJOBManager8201とDIS8202からスキャンを行うのに必要な情報を取得する。スキャン動作管理部8203はJOBManager8201から図２５のジョブ番号、ドキュメント番号のテーブルデータ8301を受け取り、ジョブ番号、ドキュメント番号のテーブルデータ8301を元に、DIS8202よりスキャンパラメータ8302をうけとる。これによりアプリケーションから要求されているスキャン条件を元にスキャンを行う。
【０１０４】
スキャン動作管理部8203はDIS8202から取得したスキャンパラメータ8302をドキュメント番号順にスキャンシーケンス制御部8204に渡す。スキャンパラメータ8302を受け取ったスキャンシーケンス制御部8204はスキャン画像属性8308の内容に従ってSCSI制御部8207をコントロールする。これにより図２３のPCI8105に接続されたSCSI Controller8103を動作させることにより、SCSIケーブル8106を介してScanner8107にSCSI制御コマンドを送ることによりスキャンが実行される。スキャンした画像はSCSI Cable8106を介してSCSI Controller8103にわたり、さらにPCI8105を介してMemory8102に格納される。スキャンシーケンス制御部8204はスキャンが終了し、PCI8105を介してMemory8102に画像が格納された時点で、スキャンパラメータ8302のスキャン画像圧縮形式8309の内容にしたがって、Memory8102に格納されているスキャン画像を圧縮するために、圧縮・伸長制御部8205に対して要求を出す。要求を受け取った圧縮・伸長制御部8205はPCI8105に接続されているCODEC8104を用いて、スキャンシーケンス制御部8204からのスキャン画像圧縮形式8309の指定で圧縮を行う。圧縮・伸長制御部8205はPCI8105を介して、圧縮された画像をMemory8102に格納する。
【０１０５】
スキャンシーケンス制御部8204は圧縮・伸長制御部8205がスキャン画像圧縮形式8309で指定された形式にスキャン画像を圧縮し、Memory8102に格納した時点で、スキャンパラメータ8302の画像ファイルタイプ8307にしたがってMemory8102に格納されている圧縮されたスキャン画像をファイル化する。スキャンシーケンス制御部8204はファイルシステム8206に対して、スキャンパラメータ8302の画像ファイルタイプ8307で指定されたファイル形式でファイル化することを要求する。ファイルシステム8206はスキャンシーケンス制御部8204からの画像ファイルタイプ8307にしたがって、Memory8102に格納されている圧縮された画像をファイル化し、PCI8105を介してIDE Controller8108に転送し、IDE Cable8109を介してIDE Hard Disk8110に転送することによりスキャンされた圧縮画像をファイル化する。スキャンシーケンス制御部8204はファイルシステム8206がIDE Hard Disk8110にファイル化された画像を格納した時点で、Scanner8107上の一枚の現行の処理が終了したとして、スキャン動作管理部8203にスキャン終了通知を送り返す。
【０１０６】
この時点でScanner8107上にまだスキャンが行われていない原稿が存在し、JOB Manager8201からスキャン要求が存在する場合には再度、DIS8202に格納されているスキャンパラメータ8302を用いてスキャンシーケンス制御部にスキャン動作を要求する。
【０１０７】
Scanner8107上にスキャンされていない原稿が存在しない場合、またはJOBManager8201からのスキャン要求が存在しない場合には、スキャン動作が終了したものとしてJOBManager8201に対してスキャン終了通知を発行する。
【０１０８】
プリント動作
以下でプリント動作について詳細に説明する。
図２６はプリント動作に関するブロックの概念図である。PCIバス9005にCPU9001とメモリ9002、画像の圧縮・伸張ボード9004、及びプリンタ9007と、このシステムを接続するためのI/Fを提供するEngineI/Fボード9003が接続されている。EngineI/Fボード9003とプリンタ（または複合機能を有する複写機のプリンタ機能ユニット）9007はエンジンインターフェースケーブル9006で接続されている。
【０１０９】
EngineI/Fボードは内部にDPRAMを持ち、このDPRAMを介してプリンタへのパラメータ設定及びプリンタの状態読み出しと、プリントの制御コマンドのやりとりを行う。またこのボードはVideoコントローラを持ち、プリンタからエンジンインターフェースケーブル経由で与えられるVCLK（VideoClock）とHSYNCに合わせて、PCI上に展開されているイメージデータはエンジンインターフェースケーブルを介してプリンタに送信される。この送信のタイミングを図で表すと図２７の様になる。VCLKは常に出続け、HSYNCがプリンタの１ラインの開始に同期して与えられる。Videoコントローラは設定された画像幅(WIDTH)分のデータを、設定されたPCI上のメモリ（SOURCE）から読み出して、Video信号としてエンジンインターフェースケーブルに出力する。これを指定ライン分（LINES）繰り返した後、IMAGE_END割り込みを発生する。
【０１１０】
先に説明したとおり、CPU上のアプリケーションプログラムからControllAPIにプリントジョブの指示が渡されると、ControllAPIはこれをコントローラレベルのJOBManagerにジョブとして渡す。さらにこのJOBManagerはジョブの設定をDISに格納し、PrintManagerにジョブの開始を指示する。PrintManagerはジョブを受け付けるとDISからジョブ実行に必要な情報を読み出し、EngineI/Fボード及び、DPRAMを介してプリンタに設定する。
【０１１１】
EngineI/Fボードの設定項目を図２８に、プリンタのDPRAMを介した設定項目及び制御コマンド、状態コマンドを図２９に示す。
【０１１２】
簡単のためにこのジョブを非圧縮、レター（11"x8.5"）サイズ２値画像の、２ページ１部プリント、プリンタが600dpiの性能を持つものとして、具体的に動作を説明する。
【０１１３】
まず、このジョブを受けるとPrintManagerはこの画像の幅（この場合8.5"の側とする）の画像バイト数を算出する。
【０１１４】
WIDTH = 8.5 × 600 ÷ 8 ≒ 630(Bytes)
次にライン数を演算する。
【０１１５】
LINES = 11 × 600 = 6600(Lines)
これらの算出した値と、与えられた１ページ目の画像が格納されているSOURCEアドレスとを図２８に示したWIDTH,LINES,SOURCEに設定する。この時点でEngineI/Fボードは画像出力の用意が完了しているが、プリンタからのHSYNC信号が来ていないため（VCLKは来ている）画像データを出力していない。
【０１１６】
次にPrintManagerは図２９に示したDPRAMの所定のアドレス（BookNo）に出力部数である１を書き込む。その後、１ページ目に対する出力用紙の給紙要求（FEED_REQ）を出し、プリンタからのIMAGE_REQを待つ。プリンタからIMAGE_REQが来たら、IMAGE_STARTを出す。これを受けてプリンタはHSYNCを出し始め、HSYNC待ちであったEngineI/Fボードは画像を出力する。プリンタは出力用紙の後端を検出すると、IMAGE_ENDを出力し、出力用紙が排出されるとSHEET_OUTを出力する。PrintManagerは１ページ目のIMAGE_ENDを受けて、２ページ目のWIDTH,LINES,SOURCEをEngineI/Fボードに設定し、FEED_REQを出して、IMAGE_REQを待つ。２ページ目のIMAGE_REQが来てからの動作は、１ページ目と同様である。
【０１１７】
PDLプリント時の画像転送経路およびPDL処理分担
ここではネットワーク経由で送られたPDLデータを展開、圧縮、HD格納を行うと同時に１部目の画像がプリントされるまでの転送経路やPDL処理分担方法について説明する。ここでは、PDL処理を、ディスプレイリストの作成と、レンダリング処理（ディスプレイリストからラスタデータへの展開処理）の2つに着目し、メインCPUとサブCPUでどのように分担するかを説明する。
【０１１８】
図８は、Main CPUがSub CPUのクロック周波数を認識し、Main CPUのクロック周波数と比較することで、どの分担のパターンを用いるかを決定するまでの手順である。まず、Main CPUは、Sub CPUが存在するかを調べる(ステップS2201)。ここで、Sub CPUを検出できなかった場合は、STARTへ戻り、Sub CPUを検出した場合は、次のステップS2202へ移行する。ステップS2202では、Sub CPUのクロック周波数を検出する。ここで検出したSub CPUのクロック周波数に基づき、Sub CPUのクロック周波数がMain CPUのクロック周波数よりも遅い場合は、PDL処理の分担をパターン１に設定する(S2203・S2205)。パターン１については、後述する。前記ステップS2203において、Sub CPUのクロック周波数がMain CPUのクロック周波数よりも遅くない場合は、ステップS2204へ移行し、PDL処理の分担をパターン2に設定する。パターン2については、後述する。
【０１１９】
Sub CPUのクロック周波数がMain CPUのクロック周波数以下の場合の各CPUの分担方法(パターン1)
図９は、PDL処理をディスプレイリスト作成処理とレンダリング処理のそれぞれにおいて、CPUに掛ける負担を模擬的に示したものである(Main CPUのクロック周波数とSub CPUのクロック周波数が同等の場合)。この図が示す通り、ディスプレイリストの作成にCPUのパワーが必要であるので、Main CPUかSub CPU、どちらかクロック周波数が大きいほうに、ディスプレイリストを作成させることが、PDL処理全体の高速化に結び付く。
【０１２０】
図１０に、具体的なPDL処理の流れを示す。
【０１２１】
ネットワーク経由で送られてきたPDLデータは、Main CPU2040へ送られ、ディスプレイリスト作成処理が行われる。作成されたディスプレイリストは、バス2008を介して、Sub CPU2060へ送られる。ここで、レンダリング処理を行い、ラスタデータを生成する。ラスタデータがバス2008を経由して、JBIG部2040で画像のJBIG圧縮が行われる。JBIG圧縮されたコードデータは、HDD2004へ格納される。この場合、RAM2002上に、上記JBIG圧縮のためにラスタデータが格納されているため、上記JBIG圧縮、HDD格納を行うと同時に、図１１に示すような経路でRAM2002上のラスタデータがダイレクトにプリント出力される。
【０１２２】
一方、図１２は、PDL展開後のラスタデータの圧縮をJBIG部2061で行った場合の画像経路を示している。ネットワーク経由で送られたPDLデータは、Main CPU2040へ送られ、ディスプレイリスト作成処理が行われる。作成されたディスプレイリストは、バス2008を介して、Sub CPU2060へ送られる。ここで、レンダリング処理を行い、ラスタデータを生成する。その後、JBIG2061で圧縮が行われ、コードデータがバス2008を介して、HDD2004へ格納される。この場合、バス2008上の負荷は軽減されるが、RAMからのダイレクトなプリントは出来ず、図１３のように、JBIG部2040で画像の伸張を行った後にプリントを行わなければならない。
【０１２３】
Sub CPUのクロック周波数がMain CPUのクロック周波数以上の場合の各CPUの分担方法(パターン2)
図１４に、具体的なPDL処理の流れを示す。
【０１２４】
ネットワーク経由で送られてきたPDLデータは、Sub CPU2060へ送られ、ディスプレイリスト作成処理が行われる。作成されたディスプレイリストは、バス2008を介して、Main CPU2001へ送られる。ここで、レンダリング処理を行い、ラスタデータを生成する。ラスタデータは、JBIG部2040で画像のJBIG圧縮が行われる。JBIG圧縮されたコードデータは、HDD2004へ格納される。この場合、RAM2002上に、上記JBIG圧縮のためにラスタデータが格納されているため、上記JBIG圧縮、HDD格納を行うと同時に、図１１に示すような経路でRAM2002上のラスタデータがダイレクトにプリント出力される。
【０１２５】
一方、図１５は、PDL展開後のラスタデータの圧縮をJBIG部2061で行った場合の画像経路を示している。ネットワーク経由で送られたPDLデータは、Sub CPU200へ送られ、ディスプレイリスト作成処理が行われる。作成されたディスプレイリストは、バス2008を介して、Main CPU2001へ送られる。ここで、レンダリング処理を行い、ラスタデータを生成する。その後、バス2008を経由してラスタデータがJBIG2061へ送られ、ここで圧縮が行われる。その後、コードデータがバス2008を介して、HDD2004へ格納される。この場合、RAMからのダイレクトなプリントは出来ず、図１３のように、JBIG部2040で画像の伸張を行った後にプリントを行わなければならない。
【図面の簡単な説明】
【０１２６】
【図１】本発明におけるネットワークシステムの全体構成図。
【図２】本システムのソフトウェアの全体構成図。
【図３】本システムの全体ブロック図。
【図４】スキャナ部、プリンタ部、及び操作部の外形図。
【図５】操作部。
【図６】スキャナ画像処理部のブロック図。
【図７】プリンタ画像処理部のブロック図。
【図８】Main CPUとSub CPUの周波数に応じた設定を行うためのフローチャート。
【図９】ディスプレイリスト作成処理とレンダリング処理のそれぞれの処理負荷の程度を表す模式図。
【図１０】Main CPUよりもSub CPUが遅い場合における、PDL処理時のプリント画像経路図。
【図１１】PDL展開後のラスタデータの圧縮をJBIG部2061で行った場合のプリント画像経路図。
【図１２】JBIG圧縮をJBIG部2061で行った場合のプリント画像経路図。
【図１３】JBIG伸張をJBIG2040で行い、プリント出力する場合の、プリント画像経路図。
【図１４】Sub CPUがMain CPUよりも高速な場合における、プリント画像経路。
【図１５】JBIG部2040でJBIG圧縮する場合の、プリント画像経路。
【図１６】デバイスI/F部のブロック図。
【図１７】画像回転部のブロック図。
【図１８】画像回転処理の説明図。
【図１９】画像回転処理の説明図。
【図２０】組み込みアプリケーション説明のブロック図。
【図２１】DISとJOBManager、PrintManager、ScanManagerとのやり取りを示す図。
【図２２】DIS内部のデータベース、及びカウンタを示す図。
【図２３】スキャンに関するハードウェア制御のブロック図。
【図２４】スキャンにおけるソフトウェア制御のブロック図。
【図２５】スキャンにおけるパラメータテーブルの概略図。
【図２６】プリントに関するブロック図。
【図２７】プリントイメージデータの転送タイミング図。
【図２８】EngineI/Fボード内のプリントパラメータレジスタ表。
【図２９】プリンタとEngineI/Fボードとの通信コマンド表。
【図１】
2006236039.tif 000003
【図２】
2006236039.tif 000004
【図３】
2006236039.tif 000005
【図４】
2006236039.tif 000006
【図５】
2006236039.tif 000007
【図６】
2006236039.tif 000008
【図７】
2006236039.tif 000009
【図８】
2006236039.tif 000010
【図９】
2006236039.tif 000011
【図１０】
2006236039.tif 000012
【図１１】
2006236039.tif 000013
【図１２】
2006236039.tif 000014
【図１３】
2006236039.tif 000015
【図１４】
2006236039.tif 000016
【図１５】
2006236039.tif 000017
【図１６】
2006236039.tif 000018
【図１７】
2006236039.tif 000019
【図１８】
2006236039.tif 000020
【図１９】
2006236039.tif 000021
【図２０】
2006236039.tif 000022
【図２１】
2006236039.tif 000023
【図２２】
2006236039.tif 000024
【図２３】
2006236039.tif 000025
【図２４】
2006236039.tif 000026
【図２５】
2006236039.tif 000027
【図２６】
2006236039.tif 000028
【図２７】
2006236039.tif 000029
【図２８】
2006236039.tif 000030
【図２９】
2006236039.tif 000031