以下、図面を参照し、本発明の実施の形態の一例について詳細に説明する。
本実施形態のネットワークシステム全体の接続形態を表す構成図を図1に示す。
1001は本実施形態による画像処理装置であり、後述するスキャナ、プリンタ等から構成され、スキャナから入力される原稿画像をローカルエリアネットワーク1010(以下LAN)に出力したり、LANを介して受信した画像をプリンタにより記録シート上にプリントアウトできる。また、スキャナから入力される原稿画像をFAX送信モジュールにより、PSTNまたはISDN1030等の公衆回線網に送信したり、PSTNまたはISDN等の公衆回線網から受信した画像をプリンタによりプリントアウトできる。
1002は、データベースサーバであり、画像処理装置1001に入力された2値画像及び多値画像をデータベースとして管理する。1003は、データベースサーバ1002のデータベースクライアントで、データベース1002に保存されている画像データを閲覧/検索等できる。
1004は、電子メールサーバであり、画像処理装置1001に入力された画像を電子メールの添付ファイルとして受け取ることができる。
1005は、電子メールクライアントであり、電子メールサーバ1004の受け取った電子メールを受信し、内容を閲覧したり、電子メールを送信したりといった通常の電子メールの処理が可能な汎用のコンピュータ端末である。
1006は、HTML文書をLANに提供するWWWサーバであり、画像処理装置1001によりこのWWWサーバで提供されるHTML文書をプリントアウトできる。
1007は、ルータであり、LAN1010をインターネット/イントラネット1012と連結する。インターネット/イントラネットに、前述したデータベースサーバ1002、WWWサーバ1006、電子メールサーバ1004、画像処理装置1001と同様の装置が、それぞれ1020、1021、1022、1023として連結されている。
一方、画像処理装置1001は、PSTNまたはISDN1030を介して、FAX装置1031とデータの送受信が可能になっている。また、LAN上にプリンタ1040も連結されており、画像処理装置1001に入力された画像をプリントアウト可能なように構成されている。
次に画像処理装置1001の構成及びその動作について、ハードウェアとソフトウェアに分けて詳細に説明する。
(1)ハードウェア
1−1.全体構成
画像処理装置1001の全体構成を示すブロック図を図2に示す。
Controller Unit 2000は画像入力デバイスであるスキャナ2070(原稿の画像を読み取る)や画像出力デバイスであるプリンタ2095(画像を可視記録し出力する)と接続し、一方ではLAN2011(LAN1010)や公衆回線(WAN)2051(PSTNまたはISDN1030)と接続することで画像情報やデバイス情報の入出力を行う為のコントローラである。
CPU2001は図2の画像処理装置全体を制御するコントローラである。RAM2002はCPU2001が動作するためのシステムワークメモリであり、また、画像でデータを一時記憶するための画像メモリとしても用いられる。ROM2003はブートROMであり、本画像処理装置のブートプログラムが格納されている。HDD2004はハードディスクドライブで、システムソフトウェアプログラム、画像データ等を格納する。
操作部I/F2006が操作部(UI)2012とのインターフェース部で、操作部2012に表示するユーザインターフェース用の画像データを操作部2012に対して出力する。また、操作部2012から使用者が入力した情報をCPU2001に伝える役割をする。
NetworkI/F2010は本画像処理装置を複数の端末で形成されるLAN2011に接続し、情報の入出力を行う。Modem2050は本画像処理装置を一般の公衆回線網2051に接続し、情報の入出力を行う。
以上のデバイスがシステムバス2007上に配置される。
Image Bus I/F2005はシステムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394で構成される。
画像バス2008上には以下のデバイスが配置される。
ラスターイメージプロセッサ(RIP)2060はPDLコードをビットマップイメージに展開する。デバイスI/F部2020は、画像入出力デバイスであるスキャナ2070やプリンタ2095とコントローラ2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力された画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力すべき画像データに対して、プリンタの特性に応じた補正、解像度変換等を行う。画像回転部2030は画像データの回転処理を行う。画像圧縮部2040は、多値画像データはJPEG、2値画像画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
1−2.画像入出力部
画像入出力デバイスの外観図を図3に示す。同一符号は上述のものと同一であることを示す。以下、同様である。
画像入力デバイスであるスキャナ部2070は、原稿上に描かれた画像を照明し、CCDラインセンサ(図示せず)を用いて原稿を走査することで、画像を読み取りラスターイメージデータ2071として電気信号に変換する。原稿用紙は原稿フィーダ2072のトレイ2073にセットし、使用者が操作部2012から読み取り起動指示することにより、コントローラCPU2001がスキャナ2070に指示を与え(2071)、フィーダ2072は原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
画像出力デバイスであるプリンタ部2095は、電気的なラスターイメージデータ2096を用紙上の可視画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微小ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、コントローラCPU2001からの指示2096によって開始する。プリンタ部2095には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット2100、2102、2103、2104がある。また、排紙トレイ2111は印字し終った用紙を受けるものである。
1−3.操作部
操作部2012の構成概要を図4に示す。
LCD表示部2013は、LCD上にタッチパネルシートが貼られており、本画像処理装置の操作のための操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラCPU2001に伝える。これにより、CPU2001は操作者の操作内容を判断する。CPU2001は状況に応じて適宜LCD表示部2013の表示を切り替える。
スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014の中央部には、緑と赤の2色LED2018があり、表示(点灯)されたLED2018の色によってスタートキー2014が使える状態にあるかどうかをユーザに対し示す。ストップキー2015は稼動中の本画像処理装置の所定の動作をユーザの意思により止めさせる働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部2012からの設定を初期化する時に用いる。上記2014〜2017はハードキーである。
1−4.スキャナ画像処理部
スキャナ画像処理部2080の構成を示すブロック図を図5に示す。
画像バスI/Fコントローラ2081は、画像バス2008と接続し、そのバスアクセスシーケンスの制御、スキャナ画像処理部2080の各デバイスの制御及びタイミングの制御を行う。
フィルタ処理部2082は、空間フィルタで画像データに対しコンボリューション演算を行う。編集部2083は、例えば入力画像データから原稿内の画像のマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。変倍処理部2084は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小処理を行う。副走査方向の変倍については、画像読み取りラインセンサ(図示せず)が画像を走査する速度を変えることで行う。テーブル2085は、原稿画像を読み取って得た輝度データである画像データを濃度データに変換する際に参照する変換用テーブルである。2値化部2086は、入力された1画素多値のグレースケール画像データを、誤差拡散処理やスクリーン処理によって2値化する。
これらのような処理が終了した画像データは、再び画像バスコントローラ2081を介して、画像バス上に転送される。
1−5.プリンタ画像処理部
プリンタ画像処理部2090の構成を示すブロック図を図6に示す。
画像バスI/Fコントローラ2091は、画像バス2008と接続し、そのバスアクセスシーケンスの制御、スキャナ画像処理部2090内の各デバイスの制御及び各種タイミングの制御を行う。解像度変換部2092は、NetworkI/F2011あるいは公衆回線2051から到来した画像データを、プリンタ2095の解像度に適合するように変換するための解像度変換を行う。スムージング処理部2093は、解像度変換後の画像データのジャギー(斜め線等の白黒境界部に現れる画像のがたつき)等を滑らかにする処理を行う。
1−6.画像圧縮部
画像圧縮部2040の構成を示すブロック図を図7に示す。
画像バスI./Fコントローラ2041は、画像バス2008と接続し、そのバスアクセスシーケンスの制御、入力バッファ2042・出力バッファ2045とのデータのやりとりを行うためのタイミング制御及び、画像圧縮部2043に対するモード設定などの制御を行う。以下に画像圧縮処理部の処理手順を示す。
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2041に画像圧縮制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像圧縮部2043に対して画像圧縮に必要な設定(たとえばMMR圧縮・JBIG伸長等の設定)を行う。この必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2041はRAM2002もしくは画像バス2008上の各デバイスから画像データの転送を開始する。受け取った画像データは入力バッファ2042に一時格納され、画像圧縮部2043の画像データ要求に応じて一定のスピードで画像を転送する。この際、入力バッファは画像バスI/Fコントローラ2041と、画像圧縮部2043両者の間で、画像データを転送できるかどうかを判断し、画像バス2008からの画像データの読み込み及び、画像圧縮部2043への画像の書き込みが不可能である場合は、データの転送を行わないような制御を行う(以後このような制御をハンドシェークと称するものとする)。画像圧縮部2043は受け取った画像データを、一旦RAM2044に格納する。これは画像圧縮を行う際には行う画像圧縮処理の種類によって、数ライン分のデータを要するためであり、最初の1ライン分の圧縮を行うためには数ライン分の画像データを用意してからでないと画像圧縮が行えないためである。画像圧縮を施された画像データは直ちに出力バッファ2045に送られる。出力バッファ2045では、画像バスI/Fコントローラ2041及び画像圧縮部2043とのハンドシェークを行い、画像データを画像バスI/Fコントローラ2041に転送する。画像バスI/Fコントローラ2041では転送された圧縮(もしくは伸長)された画像データをRAM2002もしくは画像バス2008上の各デバイスにデータを転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(必要なページ数の処理が終ったとき)もしくはこの画像圧縮部から停止要求が出るまで(圧縮及び伸長時のエラー発生時等)繰り返される。
1−7.画像回転部
画像回転部2030の構成を示すブロック図を図8に示す。
画像バス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を単位とする画像転送を行うものとする(ただし扱う画素は1画素2値を想定する)。
上述のように、32×32(bit)の画像を得るためには、上述の単位データ転送を32回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある(図9参照)。
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、RAM2033に書き込まれる。例えば、90度反時計方向回転であれば、最初に転送された32bitの画像データを、図10のようにY方向に書き込んでいく。読み出し時にX方向に読み出すことで、結果として画像が回転される。
32×32(bit)の画像回転(RAM2033への書き込み)が完了した後、画像回転部2032はRAM2033から上述した読み出し方法で画像データを読み出し、画像バスI/Fコントローラ2031に画像を転送する。
回転処理された画像データを受け取った画像バスI/Fコントローラ2031は、連続アドレッシングを以て、RAM2002もしくは画像バス2008上の各デバイスにデータを転送する。
こうした一連の処理は、CPU2001からの処理要求が無くなるまで(必要なページ数の処理が終ったとき)繰り返される。
1−8.デバイスI/F部
デバイスI/F部2020の構成を図11に示す。
画像バスI/Fコントローラ2021は、画像バス2008と接続し、そのバスアクセスシーケンスの制御、デバイスI/F部2020内の各デバイスの制御及びタイミングの制御を行う。また、外部のスキャナ2070及びプリンタ2095への制御信号を発生させる。スキャンバッファ2022は、スキャナ2070から送られてくる画像データを一時保存し、画像バス2008に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換2023は、スキャンバッファ2022に保存された画像データを順番に並べて、あるいは分解して、画像バス2008に転送できる画像データのデータ幅に変換する。パラレルシリアル・シリアルパラレル変換2024は、画像バス2008から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ2025に保存できる画像データのデータ幅に変換する。プリントバッファ2025は、画像バス2008から送られてくる画像データを一時保存し、プリンタ2095に同期させて画像データを出力する。
画像スキャン時の処理手順を以下に示す。
スキャナ2070から送られてくる画像データをスキャナ2070から送られてくるタイミング信号に同期させて、スキャンバッファ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に保存する。そして、プリンタ2095から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ2095に送る。
(2)ソフトウェア
2−1.ソフトウェアブロック全体構成
図12は、画像処理装置1001のソフトウェアブロック図である。
1501はUI即ちユーザインターフェースを司るものであり、オペレータが本画像処理装置の各種操作・設定を行う際、機器との仲介を行うモジュールである。本モジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送し処理の依頼、或いはデータの設定等を行う。
1502はAddress−Book即ちデータの送付先、通信先等を管理するデータベースモジュールである。Address−Bookの内容は、UI1501からの操作情報によりデータの追加、削除、取得が行われ、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与えるものとして使用されるものである。このAddress−Bookには、宛先の情報と対応付けてその宛先に送信する際のデータの形式、及び送信可能な画像の形態、解像度の情報等が記憶されている。
1503はWeb−Serverモジュールであり、図外のWebクライアントからの要求により、本画像処理装置の管理情報を通知するために使用される。管理情報は、後述のControll−API1518を介して読み取られ、後述のHTTPモジュール1512、TCP/IPモジュール1516、Network−Driver1517を介してWebクライアントに通知される。
1504はUniversal−Sendモジュール即ち、各種データの配信を司るモジュールであり、UI1501によりオペレータに指示されたデータを、同様に指示された通信(出力)先に配布するものである。また、オペレータにより、本画像処理装置のスキャナ機能を使用し配布データの生成が指示された場合は、後述のControll−API1518を介して機器を動作させ、データの生成を行う。
1505はプリンタモジュールであり、Universal−Sendモジュール1504内で画像データの出力先としてプリンタが指定された際に実行されるモジュールである。
1506はE−mailモジュールであり、Universal−Sendモジュール1504内で画像データの送信先としてE−mailアドレスが指定された際に実行されるモジュールである。
1507はデータベースモジュールであり、Universal−Send1504内で画像データの出力先としてデータベースが指定された際に実行されるモジュールである。
1508はDPモジュールであり、Universal−Sendモジュール1504内で画像データの出力先として本画像処理装置と同機能を持った装置が指定された際に実行されるモジュールである。
1509はRemote−Copy−Scanモジュールであり、本画像処理装置のスキャナ機能を使用し、ネットワーク等で接続された他の装置を画像データの出力先とし、本画像処理装置単体で実現しているCopy機能と同等の処理を行うモジュールである。
1510はRemote−Copy−Printモジュールであり、本画像処理装置のプリンタ機能を使用し、ネットワーク等で接続された他の装置を画像データの入力元とし、本画像処理装置単体で実現しているCopy機能と同等の処理を行うモジュールである。
1511はWeb−Pull−Printモジュール即ちインターネットまたはイントラネット上の各種ホームページの情報を読み出し、印刷するモジュールである。
1512は本画像処理装置がHTTPにより通信する際に使用されるモジュールであり、後述のTCP/IP1516モジュールにより前述のWeb−Server1503、Web−Pull−Print1511モジュールに通信を提供するものである。
1513は1prモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Sendモジュール1504内のプリンタモジュール1505に1prによる通信を提供するものである。
1514はSMTPモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Sendモジュール1504内のE−mailモジュール1506にSMTPによる通信を提供するものである。
1515はSLM即ちSalutation−Managerモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal−Sendモジュール1504内のデータベースモジュール1517、DPモジュール1518、及びRemoto−Copy−Scan1509モジュール、Remote−Copy−Print1510モジュールにsalutationアーキテクチャによる通信を提供するものである。
1516はTCP/IP通信モジュールであり、前述の各種モジュールに後述のNetwork−DriverによりTCP/IPに準拠したネットワーク通信を提供するものである。
1517はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。
1518はControll−APIであり、Universal−Sendモジュール1504等の上流モジュールに対し、後述のJob−Manager1519等の下流モジュールとのインターフェイスを提供するものであり、上流、及び下流のモジュール間の依存関係を軽減しそれぞれの流用性を高めるものである。
1519はJob−Managerであり、前述の各種モジュールよりControll−API1518を介して指示される処理内容を解釈し、後述の各モジュールに指示を与えるものである。また、本モジュールは、本画像処理装置内で実行されるハード的な処理を一元管理するものである。
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−Printモジュール1511がパラレルポートを介して図外の出力機器にデータを出力する際のI/Fを提供するものである。
なお、上記のものは、使用すべき装置に必要なもののみ設定し、利用することも可能である。
2−2.アプリケーション
以下、本実施形態の組み込みアプリケーションについて図面を用いて説明する。
図13は、本実施形態の処理動作に関する組み込みアプリケーションブロックを表す図である。図13において、左側の大ブロックは主に画像処理装置1001が送信側(主導側もしくは能動側)となる場合の処理を示すブロックであり、右側の大ブロックは主に受信側(スレーブ側もしくは受動側)となる場合の処理を示すブロックである。なお、略称、用語については、前述のものと同様である。また、下記のもののうち、使用すべき装置に必要なもののみ、設定し利用することが可能である。
4050は、後述する操作部アプリケーションを示すブロックである。ここで、アドレス帳4051を用いた処理も行う。
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を示すブロックである。
以下、それぞれのブロックに照らし合わせながら、アプリケーション群の説明を詳細に行う。
2−2−1.User Interfaceアプリケーション
4050ブロック示したUser Interface(以下、UI)の詳細は、前述したとおりであるが、ここでは、4051のAddress Bookについて説明する。このAddress Bookは、画像処理装置1001内の不揮発性の記憶装置(バッテリバックアップされた不揮発性メモリやハードディスクなど)に保存されており、この中には、ネットワークに接続された機器の特徴が記述されている。例えば、以下に列挙するようなものが含まれている。
・機器の正式名やエイリアス名
・機器のネットワークアドレス
・機器の処理可能なネットワークプロトコル
・機器の処理可能なドキュメントフォーマット
・機器の処理可能な圧縮タイプ
・機器の処理可能なイメージ解像度
・プリンター機器の場合の給紙可能な紙サイズ、給紙段情報
・サーバ(コンピューター)機器の場合のドキュメントを格納可能なフォルダ名
以下に説明する各アプリケーションは、上記Address Book4051に記述された情報により配信先の特徴を判別することが可能となる。
また、このAddress Bookは、ユーザにより編集可能であると共に、ネットワーク内のサーバーコンピュータなどに保存されているものをダウンロードして使用したり、または、直接参照することも可能である。
2−2−2.リモートコピーアプリケーション
リモートコピーアプリケーションは、配信先に指定された機器の処理可能な解像度情報をAddress Book4051より判別し、それに従い、スキャナにより読みとった画像(2値画像)を公知のMMR方式を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLM4103を介して、ネットワーク上のプリンター機器に送信する(4100)。SLM4103とは、ここでは詳細には説明しないが、公知のSalutation Manager(または、Smart Link Manager)と呼ばれる機器制御情報などを含んだネットワークプロトコルの一種である。
2−2−3.同報配信アプリケーション
同報配信アプリケーションは、リモートコピーアプリケーションと違い、一度の原稿画像走査で複数の配信宛先に画像を送信する事が可能である(4150)。また、配信先もプリンター機器にとどまらず、いわゆるサーバーコンピュータにも直接配信可能である。
以下、配信先に従って順に説明する。
配信先の機器が公知のネットワークプリンタプロトコルであるLPD(Line Printer Daemon)、プリンタ制御コマンドとして公知のLIPSを処理可能だとAddress Book4051の内容により判別した場合、同様にAddress Book4051より判別した画像解像度に従って画像読み取りを行い、画像自体は、本実施形態では、公知のFBE(FirstBinari Encoding)を用いて圧縮し、さらにLIPSコード化して、公知のネットワークプリンタプロトコルであるLPRによって相手機器に送信する(4350)。
配信先の機器が前述のSLMで通信可能で、サーバ機器の場合、Address Book4051より、サーバーアドレス、サーバ内のフォルダの指定を判別し、リモートコピーアプリケーションと同様に、スキャナにより読みとった画像(2値画像)を公知のMMR方式を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLMを介して、ネットワーク上のサーバ機器の特定のフォルダに格納する事が可能である(4500)。
また、本画像処理装置1001では、相手機器であるサーバが公知のJPEG圧縮された多値画像を処理可能だと判別した場合、前述の2値画像と同様に多値読み取りした画像を公知のJPEG圧縮を用いて、やはり公知のJFIF化し、SLMを介して、ネットワーク上のサーバ機器の特定のフォルダに格納する事が可能である。
配信先の機器がE−Mailサーバである場合、Address Book4051に記憶されたメールアドレスを判別し、スキャナにより読みとった画像2値画像を公知のMMR方式を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)し、公知のSMTP(Simple Mail Transfer Protocol)4153を使用して、E−Mailサーバに送信する。その後の配信は、Mail Serverモジュール4550に従って実行される。
(3)操作部
次に、操作部アプリケーションについて説明する。
操作部の構成の概要は、図4に示した通りである。
3−1.操作画面
画像処理装置1001が提供する機能は、Copy/Send/Retrieve/Tasks/Management/Configurationの6つの大きなカテゴリーに分かれており、これらは操作画面(図14)上の上部に表示される6つのメインタブ(COPY/SEND/RERIEVE/TASKS/MGMT/CONFIG)(3011〜3016)に対応している。これらのメインタブを押すことにより(タッチパネル形式)、各カテゴリーの画面への切り換えが行われる。他カテゴリーへの切り換えが許可されない場合は、オペレーターにその旨を知らせるべくメインタブの表示色が変わり、メインタブを押しても反応しない。
上記カテゴリーにおいて、Copyは自機が有するスキャナとプリンタを使用してスタンドアローン型の複写機のようなドキュメント複写を行う機能と、自機が有するスキャナとネットワークで接続されたプリンタを使用してドキュメントの複写を行う機能(リモートコピー)を含む。
Sendは自機が有するスキャナにセットされたドキュメントを、電子メール、リモートプリンタ、ファックス、ファイル転送(FTP)およびデータベースに転送する機能であり、宛先を複数指定することが可能である。
“Retrieve”は外部に保存されているドキュメントを取得し、自機が有するプリンタで印刷する機能である。ドキュメントの取得形態としてWWW、電子メール、ファイル転送およびファックスの使用が可能である。
“Tasks”はファックスやインターネットプリントなどの外部から送られるドキュメントを自動処理し、定期的にRetrieveを行うためのタスクの生成、管理を行う。
“Management”はジョブ・アドレス帳・ブックマーク・ドキュメント・アカウント情報などの管理を行う。
“Configuration”では自機に関しての設定(ネットワーク、時計など)を行う。
以下、これらの機能設定を行う方法をLCD画面表示の例を使用して説明する。
3−2.ID入力画面
電源投入直後およびIDキー2016押下時にID入力画面(図15)が表示される。ID入力画面でユーザIDおよびパスワードを正しく入力し、OKボタンを押すと、前述の操作画面が表示され、操作が可能になる。ID入力領域(3021)とパスワード入力領域(3022)の切り換えは、入力領域を直接押すことで切替えることができる。また、誤った(登録されていない)IDまたはパスワードを入力すると、図16のようなエラー表示を行う。
3−3.COPY画面
COPYタブの選択によるCOPY画面表示時にスタートキー2014を押すと、スキャナが動作し、選択されているプリンタから画面上に表示されている各設定パラメータ(倍率、出力用紙サイズ、複写枚数等)に応じて原稿の複写物が出力される。
COPYメイン画面(図17)は選択ボタン(3103)およびプリンタ表示領域(3102)、Image Quality選択ボタン(3105)およびImage Quality表示領域(3104)、スタンドアローン型複写機と同様のコピーパラメータ表示(3101)、拡大縮小設定ボタン(3106、3107)、紙選択ボタン(3108)、ソータ設定ボタン(3110)、両面コピー設定ボタン(3112)、濃度インジケータおよび濃度設定ボタン(3109)、テンキー(3114)から構成される。
プリンタ選択ボタン(3103)を押すと、使用可能なプリンタ(自機が有するプリンタおよびネットワークで接続されたプリンタ)の名前の一覧(図18参照)がプルダウン表示される。一覧の中から所望のプリンタを選択すると、一覧が消え、プリンタ表示領域(3102)に選択したプリンタ名が表示される。
Image Quality設定ボタン(3105)を押すと、ImageQuality一覧(図19参照)が表示され、その中から所望のImageQuality(写真モード、文字/写真混在モード、文字モード)を選択することができる。
前述のコピーパラメータ設定用のボタンを押すと、それぞれに対応した設定を行うためのサブ画面(拡大縮小設定:図20、紙選択:図21、ソータ設定:図22、両面コピー設定:図23)が表示され、スタンドアローン型の複写機での設定と同様にパラメータを設定することができる。また濃度設定も同様に操作することができる。
3−4.SEND画面
SENDタブの選択によるSend画面表示時に宛先が選択されスタートキー2014が押されると、スキャナが動作し、読取った画像データを設定された宛先に指定された送信方法で送信する処理が開始される。このモードでは、宛先に関する情報は宛先に関する文字情報とともに宛先のカテゴリーを識別可能なアイコンが表示される。また、その宛先によっては、複数のアイコンを用いて、また、表示位置を制御し、一見してカテゴリーを容易に認識できるように表示する。そして選択を容易に、また選択した宛先を容易に視認可能にしている。
また、表示形態としては、宛先の人名毎の表示のほか、送信方法毎(FAX、E−mail、プリント等のプロトコル毎)にソートしての表示が可能である。
SENDメイン画面(図24)は、宛先表示領域(3202)、詳細宛先数表示領域(3203)、宛先スクロールボタン(3204)、アドレスブックボタン(3208)、Newボタン(3209)、Editボタン(3210)、Deleteボタン(3211)、Subject入力領域(3205)、Message入力領域(3206)、File Name入力領域(3207)、Cover pageチェックボタン(3212)、Put Into HDチェックボタン(3213)、Print Outチェックボタン(3214)、Scan Settingボタン(3215)から構成される。リセットキー2017の押下によるリセットを含む初期化時には図25に示すように、宛先表示領域には1つの宛先も表示されず、操作説明画面が表示される。
宛先表示領域(3202)には入力された宛先の一覧が表示される。入力した宛先は順次末尾に追加される。詳細宛先数表示領域(3203)には現在設定されている宛先数が表示される。
宛先表示領域からある宛先を選択した後、Deleteボタン(3211)を押すと、選択されていた宛先が削除される。
Subject入力領域(3205)、Message入力領域(3206)、File Name入力領域(3207)を押すと、図26に示すフルキーボードが表示され、それぞれの入力が可能になる。
3−5.アドレスブックサブ画面
Address Bookボタン(3208)を押すと、アドレスブックサブ画面(図27)が表示される。アドレス帳表示領域(3221)で選択マーク(3232)を付けられた宛先は、OKボタン(3231)を押すことにより、SENDメイン画面の宛先表示領域(3202)に追加される。アドレス帳の表示はソート項目設定ボタン(3224〜3226)を押すことによりクラス(出力形態等)別、名前昇順、名前降順にソートされる。項目選択件数表示領域(3227)には選択マークの付けられた項目数を表示する。
また、このとき宛先種別(FAX、E−mail、プリント等のプロトコル毎)でさらにソートすることもできる。
OKボタン(3231)またはキャンセルボタン(3230)が押されると、アドレスブックサブ画面はクローズされ、SENDメイン画面が表示される。
アドレス帳の中の1つの項目を選択した状態でDetailボタン(3229)を押すと、Detailサブ画面(図28)が表示される。Detailサブ画面には選択された項目の情報としてアドレス帳から得られるすべての情報が表示される。
3−6.サーチサブ画面
アドレスブックサブ画面内のSearchボタン(3228)を押すと画像処理装置1001内のローカルアドレス帳または外部にあるアドレスサーバから宛先を検索するためのサーチサブ画面(図29)が表示される。サーチサブ画面上部は検索条件設定部分である。検索対象クラス表示領域(3245)、検索対象属性表示領域(3247)、検索対象条件表示領域(3249)、検索対象アドレスブック表示領域(3252)には現在選択されているものが表示される。検索対象クラス設定ボタン(3246)を押すと、検索対象クラス一覧が表示される(図30)。この一覧から選択されたものが検索対象クラス表示領域に表示される。検索対象属性設定ボタン(3248)を押すことによって検索対象属性一覧が表示される(図31)。この一覧に表示される属性は選択されている検索対象クラスによって次のように変化する。Common Name・Address・Country(クラス:Person)、Common Name・Owner・Location・Model・Type・Resolution・Color・Finisher(クラス:Printer)、Common Name・Member(クラス:Group)、すべての属性(クラス:Everything)。検索対象条件設定ボタン(3250)を押すと、検索対象条件一覧が表示され(図32)、その一覧の中から条件を選択する。検索対象アドレスブック設定ボタン(3253)を押すと、検索対象アドレスブックの一覧が表示され(図33)、その中から選択することが可能になる。検索対象属性値入力領域(3251)を押すと、フルキーボード(図26)が表示され、所望の値を入力することが可能になる。
Do Searchボタン(3254)を押すと、設定された検索条件に従って検索が行われる。検索結果は検索結果表示領域(3241)に表示され、検索結果件数表示領域(3244)に件数が表示される。
検索結果表示領域の項目のうち1つを選択した状態でDetailボタン(3255)を押すと、その項目に対する詳細情報(3235)が表示される。
検索結果表示領域内の項目で宛先に追加するものには選択マークを付加する(図34参照)。OKボタン(3257)を押すと、サーチサブ画面がクローズされ、SENDメイン画面に戻り、選択マークが付加されていた項目が宛先に追加される。キャンセルボタン(3256)を押した場合はサーチサブ画面がクローズされ、SENDメイン画面に戻るが、宛先に変化はない。
3−7.詳細宛先サブ画面
SENDメイン画面のNewボタン(3209)を押すとPersonクラス詳細サブ画面(図35)が表示され、新しい宛先の設定が可能になる。宛先の入力は送信方法(電子メール、ファックス、プリンタ、FTP)に対応した送信方法選択ボタン(3271〜3274)を押すか、詳細宛先入力領域(3275〜3278)を押すと、ファックスの場合はテンキーボード(図36)、その他はフルキーボード(図26)が表示され、入力可能になる。3279〜3282はそれぞれの送信方法の送信オプションの設定を行うためのボタンであるが、ここでは詳細な説明は省略する。
SENDメイン画面でPersonクラスの宛先が選択されている状態でEditボタン(3210)が押された場合もPersonクラス詳細サブ画面(図37)が表示される。詳細宛先入力領域(3275〜3278)の該当する領域に、選択された宛先の詳細が表示され、前述した方法でキーボードを表示すると、これを用いて宛先の編集が可能になる。
SENDメイン画面Data Baseクラスの宛先が選択されている状態でEditボタン(3210)が押された場合、Data Baseクラス詳細サブ画面(図38)が表示される。データベースクラス詳細サブ画面にはデータベース名(3311)、フォルダリスト(3312)が表示される。
SENDメイン画面でGroupクラスの宛先が選択されている状態でEditボタン(3210)が押された場合Groupクラス詳細サブ画面(図39)が表示される。Groupクラス詳細サブ画面にはグループメンバー表示(3321)がされる。
3−8.HD SETTINGサブ画面
Put Into HDチェックボタン(3213)を押すと、データをハードディスクに送信し、保存させるための設定を行うHD SETTINGサブ画面(図40)が表示される。各カテゴリーに共通のPut Into HDチェックボタン(3406)を押すと、HD Settingサブ画面(図40)が表示される。機能はSendのHD Settingサブ画面と同様である。詳細説明は省略する。
3−9.Print Outサブ画面
Print Outチェックボタン(3214)を押すと、プリントアウトサブ画面(図41)が表示される。プリントアウトサブ画面ではプリント枚数、紙サイズ、拡大縮小率、両面印刷、ソート、解像度などを設定する。紙サイズ選択ボタン(3345)を押すと、紙サイズの一覧(図42)が表示され、そこから選択する。ソータ選択ボタン(3350)を押すと、選択可能なソータ一覧(図43)が表示される。
3−10.Scan Settingサブ画面
Scan Settingボタン(3215)を押すと、Scan Settingサブ画面(図44)が表示される。Scan Settingサブ画面内のPresetモード選択領域(3371)からスキャン設定を1つ選択すると、それに対応する予め設定された解像度、スキャンモード、濃度がそれぞれの表示領域(3377、3379、3381)に表示される。これらの値は手動で変えることが可能である。図45は紙サイズ選択一覧をプルダウン表示した状態の画面で、この一覧から使用する紙のサイズ、向きを選択する。図46、図47はそれぞれ、解像度、スキャンモード一覧をプルダウン表示した状態を示している。
3−11.RETRIEVE画面
RETRIEVEメイン画面(図48)にはWWW(3401)、E−mail(3402)、Fax(3403)、FTP(3404)のサブタブおよび各サブカテゴリーで共通に使用されるPUT INTO HDチェックボタン(3405)、PRINT SETTINGボタン(3406)が表示される。サブタブを押すことによって対応するWWW、E−mail、Fax、FTPの各サブ画面が表示される。リセットキー2017の押下によるリセットを含む初期化時にはWWWサブ画面が表示される。
3−12.WWWサブ画面
WWWサブ画面表示時にスタートボタンを押すと、画面上に表示されている各設定に従って指定されたホームページの内容が印刷される。ただし、URL入力領域に何も表示されていない時にスタートキー2014が押されても何も機能しない。
WWWサブ画面(図48)上のURL入力領域(3411)を押すと、フルキーボード(図26)が表示され、URLの直接入力が可能になる。Link Depth(3412)およびMax Pages(3414)入力領域を押すと、テンキーボード(図36)が表示され、数値を直接入力することが可能になる。
3−13.Bookmarkサブ画面
Bookmarkボタン(3419)を押すと、Bookmarkサブ画面(図49)が表示される。Bookmarkサブ画面中のブックマーク表示領域(3461)には設定されているブックマークの一覧が表示され、どれか1つの行を押すことによって選択表示状態となる。OKボタン(3466)を押すとBookmarkサブ画面がクローズされ、選択状態にあった項目に該当するURLがWWWサブ画面のURL入力領域に表示される。Bookmarkサブ画面中のその他のボタンの機能の説明は省略する。
3−14.E−mailサブ画面
E−mailサブ画面(図50)ではE−mailを受け取るための設定を行う。各入力領域(3431〜3433)を押すとフルキーボード(図26)が表示され、各項目を入力可能になる。
3−14.Faxサブ画面
Faxサブ画面(図51)ではファックス番号の入力を行う。入力領域(3441)を押すと、テンキーボード(図36)が表示され、ファックス番号入力が可能になる。
3−15.FTP Serverサブ画面
FTP Serverサブ画面(図52)ではサーバからデータを受け取るための設定を行う。各入力領域(3451〜3453)を押すとフルキーボード(図26)が表示され、入力可能になる。
3−15.Print Settingサブ画面
各カテゴリーに共通のPrint Settingボタン(3406)を押すと、Print Settingサブ画面(図53)が表示される。機能はSendのPrint Outサブ画面と同様である。
3−16.TASKS画面
TASKSタブの選択によるTASKS画面が表示されている状態でスタートキー2014が押されると、TASKS画面上で設定されたパラメータに従って、データの自動的なRETRIEVE動作が実行される。
TASKSメイン画面(図54)にはWWW、E−mail、Print Receive、Fax Receive、Fax Pollingのサブタブ(3501〜3505)が表示される。リセットキー2017の押下によるリセットを含む初期化時にはWWWサブ画面(図55)が表示される。
3−17.WWWサブ画面
WWWタスク一覧表示領域(3511)には機器内に保持されているタスクが入力された順番で表示されている。実際に実行する必要のあるタスクには選択マークを付加する。選択マークが表示されていないタスクはタスクとして機器内に保持されているが、実際には実行されない。
Newボタン(3513)を押すと、WWWタスク詳細サブ画面(図55)が表示され、新規にタスクの入力が可能となる。WWWタスク詳細サブ画面については後述する。
WWWタスク一覧から1つタスクを選択した状態でEditボタン(3514)を押すと、選択されているタスク情報が含まれるWWWタスク詳細サブ画面(図55)が表示され、設定を編集することが可能になる。
WWWタスク一覧から1つタスクを選択した状態でDeleteボタン(3515)を押すと、選択されたタスクは削除される。
3−18.WWWタスク詳細サブ画面
WWWタスク詳細サブ画面(図55)にはRETRIEVEメイン画面とRETRIEVEのWWWサブ画面に共通の機能を持つコンポーネント(3521〜3533)、チェックタイム表示領域(3534)、チェックタイム設定ボタン(3535)、PRINT WHEN CHANGEDチェックボタン(3536)、転送チェックボタン(3537)、OKボタン(3539)、キャンセルボタン(3538)が表示される。RETRIEVEと共通の部分の説明は省略する。
チェックタイム表示領域(3534)は、WWWタスク設定サブ画面がNewボタンによって表示された場合は空白、Editボタンによって表示された場合は設定されていたタスク実行時刻が表示されている。また、後述するチェックタイムサブ画面で設定が行われた直後は設定されたタスク実行時刻が表示される。
チェックタイム設定ボタン(3535)が押されると後述するチェックタイムサブ画面が表示され、タスクを実行するタイミングを設定することが可能になる。
3−19.チェックタイムサブ画面
チェックタイムサブ画面(図56−58)にはスケジュールモード設定ボタン(3551〜3553)、時刻入力領域(3554)、OKボタン(3558)、キャンセルボタン(3557)が表示される。その他にスケジュールモード設定ボタンのうち、Onceボタン(3551)が選択されている場合(図56参照)は月入力領域(3555)、日付入力領域(3556)が表示される。Weeklyボタン(3552)選択時(図57参照)は曜日設定チェックボタン(3561)が表示される。Monthlyボタン(3553)選択時(図58参照)は日付入力領域(3571)が表示される。それぞれの入力領域を押すと、テンキーボード(図36)が表示され、数値の入力が可能になる。曜日設定チェックボタンは複数の曜日の選択が可能である。
3−20.MGMT画面
図59はMGMTタブの選択によるManagement画面である。ここでは管理されている各種情報の表示等を行う。詳細な説明は省略する。
3−21.CONFIG画面
図60はConfiguration画面である。ここでは画像処理装置1001に関する各種設定内容の表示等を行う。詳細な説明は省略する。
3−22.フルキーボード
フルキーボード(図26)は文字の入力領域が押されたときに現在表示中の画面に重ねるようにして(ただし、文字入力表示部は隠さないように)表示される。www.ボタン(3041)、comボタン(3042)を押すと、それぞれ使用頻度の高い“www.”、“com”の文字が一括で入力される。その他のキーは周知の機能であるため、説明は省略する。
3−23.テンキーボード
テンキーボード(図36)は数値入力領域または月入力領域が押されたとき等に現在表示中の画面に重ねるようにして(ただし、数値入力表示部は隠さないように)表示される。各キーについての説明は省略する。
3−24.エラー画面
例えば図16に示すようなエラー画面は何らかのエラーがあった場合に表示される。
エラー画面にはエラーメッセージをテキストで表示するメッセージ表示領域(3031)、エラー画面をクローズするためのOKボタン(3032)が含まれる。
(4)Device Information Service(DIS)
画像処理装置1001のコントローラ内でジョブに対する設定値、デバイス(スキャナ、プリンタなど)の機能、ステータス、課金情報等をControlAPIに準拠したデータ形態で保持するデータベースと、そのデータベースとのI/FをDevice Information Service(以下、DISと呼称する)として定義する。また、他の装置にこれと同様なプログラム(必要な部分のみ)を設定して利用することも可能である。
図61にDIS 7102とJob Manager 7101、およびScan(読取)、Print(記録)の各Document Manager7103、7104とのやり取りを示す。
基本的に、Jobの開始命令など動的な情報はJob Manager 7101から各Document Managerに直接指示され、デバイスの機能やジョブの内容など静的な情報はDIS 7102を参照する。各Document Managerからの静的、動的情報、イベントはDIS 7102を介してJob Manager 7101に伝えられる。
各Document ManagerからDISのデータベースにデータの設定、取得を行う場合、DISの内部データ形式がControl API準拠であることから、Control APIに準拠したデータ形式と各Document Managerが理解できるデータ形式との相互の変換処理を行う。例えば、各Document Managerからステータスデータの設定を行う場合、デバイス固有のデータを解釈し、Control APIで定義される対応するデータに変換し、DISのデータベースへ書き込みを行う。
Job ManagerからDISのデータベースにデータの設定、取得を行う場合には、Job ManagerとDISの間でデータの変換は生じない。
またDISには、Document Managerから通知される各種イベント情報に基づき、イベントデータの更新が行われる。
図62にDIS内部に保持される各種データベース(以下、DBと呼称する)を示し、それぞれのDBについて説明する。図62中の丸角長方形は個々のDBを表わしている。
7201はSupervisorDBであり、画像処理装置1001全体についてのステータスやユーザ情報を保持しているDBであり、ユーザIDやパスワード等、バックアップが必要な情報はHD装置、あるいはバックアップメモリなどの不揮発性の記憶装置に保持される。
7202はScan Componet DB、7203はPrint Component DBであり、これらComponentDBは存在しているComponent毎に対応して保持される。例えば、プリンタのみからなる機器の場合はPrint Component DBのみが存在し、また例えば、FAX機能を備えた機器の場合はFAX Component DBが保持される。つまり、画像処理装置1001のように多くの機能を備えたものでなくても、それぞれの機能に応じたものを装置に設定することで、本実施形態の動作のうち、必要な処理について動作させることができる。各ComponentDBには初期化時に、それぞれ対応するDocument ManagerがComponentの機能やステータスを設定する。
7204はScan Job Service DB、7205はPrintJob Service DBであり、これらのJob Service DBもComponentDB同様、初期化時にそれぞれ対応するDocument Managerが機器で使用できる機能や、それらのサポート状況を設定する。
次にJobDB DocumentDBについて説明する。7206はScan Job DB、7207はPrint Job DBの各JobDB、7208はScan Document DB、7209はPrint Document DBである。
JobDB、DocumentDBはJobとそれに付随するDocumentが生成される度にJob Managerにより動的に確保、初期化が行われ、必要な項目の設定が行われる。各Document ManagerはJobの処理開始前にJobDB、およびDocumentDBから処理に必要な項目を読み出し、Jobを開始する。その後、Jobが終了するとこれらのJob、及びそれに付随していたDocumentのDBは解放される。Jobは1つ以上のDocumentを持つので、あるJobに対して複数のDocumentDBが確保される場合がある。
7210は各Document Managerから通知されるイベント情報を保持するデータベース、7211は画像処理装置1001のScan回数、Print回数を記録するためのカウンタテーブルである。
Document Managerから通知されるイベントには、ScanDocument ManagerからのComponentの状態遷移、Scan処理動作完了や各種のエラー、またPrint Document ManagerからのComponentの状態遷移、Print処理動作完了、紙詰まり、給紙カセットオープンなどがあり、それぞれのイベントを識別するためのイベントIDが予め定められている。
Document Managerからイベントが発行された場合、DISはイベントデータベース7211に発行されたイベントIDと必要なら該イベントに付随する詳細データを登録する。また、Document Managerからイベントの解除が通知された場合、解除指定されたイベントデータをイベントデータベース7211から削除する。
Job Managerよりイベントのポーリングが行われた場合、DISはイベントデータベース7210を参照し、現在発生しているイベントIDと必要ならイベントに付随する詳細データをJob Managerへ返信し、現在イベントが発生していなければその旨を返信する。
また、Scan処理動作完了、Print処理動作完了のイベントが通知された場合はScan、Printを行ったユーザのカウンタ値を更新する。このソフトウエアによるカウンタは不慮の電源遮断などでその値が失われないように、バックアップされたメモリ装置やHD装置の不揮発性記憶装置にその値が更新されるたびに書き戻す。
(5)スキャン動作
以下にスキャン動作の詳細について説明する。ここでのスキャン動作は画像処理装置1001のスキャナ2070による原稿画像の走査読取に関するものであるが、同様な機能を有するスキャナによる動作としてもよい。
図63はスキャン動作に関するブロックの概念図である。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と接続されている。図64はスキャン動作に関するソフトウェア構造を示したものである。JobManager8201はアプリケーションレベルの要求を分類、保存する機能を持つ。DIS8202はアプリケーションレベルからのスキャン動作に必要なパラメータを保存する。アプリケーションからの要求はメモリ8102に保存される。スキャン動作管理部8203はJobManager8201とDIS8202からスキャンを行うのに必要な情報を取得する。スキャン動作管理部8203はJobManager8201から図65のジョブ番号、ドキュメント番号のテーブルデータ8301を受け取り、ジョブ番号、ドキュメント番号のテーブルデータ8301を元に、DIS8202よりスキャンパラメータ8302を受け取る。これによりアプリケーションから要求されているスキャン条件を元に原稿のスキャンを行い、原稿の画像を読み取る。
スキャン動作管理部8203はDIS8202から取得したスキャンパラメータ8302をドキュメント番号順にスキャンシーケンス制御部8204に渡す。スキャンパラメータ8302を受け取ったスキャンシーケンス制御部8204はスキャン画像属性8308の内容に従ってSCSI制御部8207をコントロールする。これにより図63のPCI8105に接続されたSCSI Controller8103を動作させることにより、SCSIケーブル8106を介してScanner8107にSCSI制御コマンドを送ることにより原稿画像のスキャン動作が開始される。このスキャンによって得た画像データはSCSICable8106を介して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に対してスキャン終了通知を発行する。
(6)プリント動作
以下にプリント動作について詳細に説明する。ここでのプリント動作は画像処理装置1001のプリンタ2095による画像のプリントアウトに関するものであるが、同様な機能を有するプリンタによる動作としてもよい。
図66はプリント動作に関するブロックの概念図である。PCIバス9005にCPU9001とメモリ9002、画像データの圧縮・伸張ボード9004、及びプリンタ9007と、このシステムを接続するためのI/Fを提供するEngineI/Fボード9003が接続されている。EngineI/Fボード9003とプリンタ(または複合機能を有する複写機のプリンタ機能ユニット)9007はエンジンインターフェースケーブル9006で接続されている。
EngineI/Fボードは内部にDPRAMを持ち、このDPRAMを介してプリンタのパラメータ設定及びプリンタの状態読み出しと、プリントのための制御コマンドのやりとりを行う。またこのボードはVideoコントローラを持ち、プリンタからエンジンインターフェースケーブル経由で与えられるVCLK(Video Clock)とHSYNCに合わせて、PCI上に展開されているイメージデータをエンジンインターフェースケーブルを介してプリンタに送信する。この送信のタイミングを図で表すと図67の様になる。VCLKは常に出続け、HSYNCがプリンタの1ラインの開始に同期して与えられる。Videoコントローラは設定された画像幅(WIDTH)分のデータを、設定されたPCI上のメモリ(SOURCE)から読み出して、Video信号としてエンジンインターフェースケーブルに出力する。これを指定ライン分(LINES)繰り返した後、IMAGE_END割り込みを発生する。
先に説明したとおり、CPU上のアプリケーションプログラムからControl APIにプリントジョブの指示が渡されると、Control APIはこれをコントローラレベルのJob Managerにジョブとして渡す。さらにこのJob Managerはジョブの設定をDISに格納し、PrintManagerにジョブの開始を指示する。Print Managerはジョブを受け付けるとDISからジョブ実行に必要な情報を読み出し、EngineI/Fボード及び、DPRAMを介してプリンタに設定する。
EngineI/Fボードの設定項目を図68に、プリンタのDPRAMを介した設定項目および制御コマンド、状態コマンドを図69に示す。
簡単のためにこのジョブを非圧縮、レター(11″×8.5″)サイズ2値画像の、2ページ1部プリント、プリンタが600dpiの性能を持つものと仮定して、具体的に動作を説明する。
まず、このジョブを受けるとPrint Managerはこの画像の幅(この場合8.5”の側:短辺とする)の画像バイト数を算出する。
WIDTH=8.5×600÷8≒630(Bytes)
次にライン数を演算する。
LINES=11×600=6600(Lines)
これらの算出した値と、与えられた1ページ目の画像データが格納されているSOURCEアドレスとを図68に示したWIDTH,LINES,SOURCEに設定する。この時点でEngineI/Fボードは画像出力の用意が完了しているが、プリンタからのHSYNC信号が来ていないため(VCLKは来ている)画像データを出力していない。
次にPrint Managerは図69に示したDPRAMの所定のアドレス(BookNo)に出力部数である1を書き込む。その後、1ページ目に対する出力用紙の給紙要求(FEED_REQ)を出し、プリンタからのIMAGE_REQを待つ。プリンタからIMAGE_REQが来たら、IMAGE_STARTを出す。これを受けてプリンタはHSYNCを出し始め、HSYNC待ちであったEngineI/Fボードは画像を出力する。プリンタは出力用紙の後端を検出すると、IMAGE_ENDを出力し、出力用紙が排出されるとSHEET_OUTを出力する。Print Managerは1ページ目のIMAGE_ENDを受けて、2ページ目のWIDTH,LINES,SOURCEをEngineI/Fボードに設定し、FEED_REQを出して、IMAGE_REQを待つ。2ページ目のIMAGE_REQが来てからの動作は、1ページ目と同様である。
次に、画像処理装置1001のスキャナ2070で原稿の画像を読み取る際のファイルの取り扱いに関する処理について説明する。
図70はコントローラ内のアプリケーション(FAX用、プリント用、E−mail用など)からの要求により、原稿の画像を読み取る際に一意に決定されるファイル名の構造を示したものである。
Disk Identifier10001は原稿をスキャンした結果得られた画像データを保存する領域を識別するためのものである。この部分の情報により、図63にIDE Hard Disk8110かMemory8102のいずれに画像データを格納するか(されているか)識別することが可能である。なお、画像データの蓄積方法、即ち格納先及びアドレスの割り当て方法等は各アプリケーション毎に予めスキャナ側で設定しておくものとする。
Program Identifier10002は原稿のスキャン要求を出してきたアプリケーションを判別するためのエリアである。図64のスキャンシーケンス制御部8204はこの部分を判断することで、原稿がスキャンされた結果得られた画像データを図63のIDE Hard Disk8110に格納するか、Memory8102に格納するかを決定し、前述のDisk Identifer10001に入れる情報を選択する。この選択結果がアプリケーションのパフォーマンスを左右する。
Job Iden+ifer10003は一つのプログラムが発行するジョブの識別子である。この部分は図64のJob Manager8201とDIS8202が情報を格納し、スキャン動作管理部8203にスキャン要求を出すときに使用する。
Document Identifer10004もJob Identifer10003と同様のものである。Document Count10005はスキャン要求があったときに、原稿が複数枚存在した場合、スキャンシーケンス制御部8204が順次インクリメントしながら自動的に生成する番号が格納される。
File Identifer10006はアプリケーションが指定してくるファイルタイプを示したものである。このファイルタイプにしたがってスキャンシーケンス制御部8204はファイルシステム8206に指示を出し、アプリケーションが所望するファイルタイプに原稿をスキャンして得られた画像データをファイル化する。
これらの識別子により、アプリケーションプログラムの処理内容、処理速度などに応じた適切な処理を行うことができる。
次に画像処理装置1001内部での処理のためのスキャンシーケンス制御部8204のファイル生成動作を説明する。図71はスキャンシーケンス制御部8204がスキャン要求をスキャン動作管理部8203から受け取ったときにScanner8107上の原稿に関してスキャンを行い、原稿データをファイル化するまでの動作を示したフローチャート図である。このフローチャートはHDD2004に格納された制御プログラムに基づきCPU2001の指示により制御される動作の流れを示すものである。
スキャンシーケンス制御部8204はスキャン処理要求を待ち続ける(S11001)。ここでスキャン動作管理部8203からスキャン処理要求が来た時点で図72に示すようにスキャン処理内容の解析を行う(S11002)。
即ち、スキャン処理要求の解析によって、どのアプリケーションプログラムからのスキャン要求かを判定し(S12001)、この判定したアプリケーションプログラムの種別に応じてDisk Identifer10001を決定する(S12002)。このDisk Identifer1001の決定は、原稿をスキャンして得た画像データがIDE Hard Disk8110かMemory8102のどちらかに保存させるかを決定するものである。これは、IDE Hard Disk8110とMemory8102の特性の違いによるものである。即ち、IDE Hard Disk8110は記憶容量が多く高速性を求めない添付ファイルの伴うE−mailの送信や、大量のFAX送信(ただし、メモリ送信)を行う際に選択され、Memory8102は記憶容量は少ないが高速性を求めるコピー処理等の際に選択される。
また、アプリケーションプログラムの種別およびそれぞれのアプリケーションプログラムにおける処理の内容に応じて画像データを記憶させる際のメモリ割り当て方法が決定される。即ち、最も高速性の要求される処理には、一連の画像データが記憶媒体中の連続したアドレスに格納されるよう設定するとともに、そのための記憶領域を確保する。一方、それほど高速性が要求されない処理の場合は、処理対象の画像データを所定のブロックに区切り、記憶媒体中の空き領域を探して分割して格納するよう設定する。後者の場合は他の処理のためのエリアを確保しやすいといったメリットがある。
またスキャン要求のジョブ番号8305、ドキュメント番号8306、画像ファイルタイプ8307にしたがって、Job Identifer10003、Document Identifer1004、File Identifer10006を決定する。また、Document Count10005は初期値である“00”が適用される(S11003)。
次にスキャンシーケンス制御部8204はスキャン動作管理部8203からのスキャン要求の中のスキャン画像属性8308にしたがってSCSI制御部8207を動作させることによってスキャナ2070による原稿画像のスキャン動作を行う(S11004)。
スキャン動作終了の通知がSCSI制御部8207から来た時点で(S11005)、スキャンシーケンス制御部8204は次にスキャンすべき原稿が存在するかどうかを判断する(S11006)。この時点でスキャンすべき原稿が残っている場合にはスキャン原稿フラグをONにする(S11007)。またスキャンすべき原稿が残っていない場合にはスキャン原稿フラグをOFFにする(S11008)。
次にスキャンシーケンス制御部8204はスキャン動作管理部8203からのスキャン要求のなかのスキャン画像圧縮形式8309にしたがって圧縮機能を選択する(S11009)。ここでスキャンされた原稿の画像データに対して圧縮が要求されている場合には圧縮・伸長制御部8205に対して圧縮を要求する(S11010)。圧縮・伸長制御部8205から圧縮が終了した通知をスキャンシーケンス制御部8204が受け取ると(S11011)、画像ファイルタイプ8307にしたがってファイルシステム8206にスキャンされた原稿の画像データのファイル化を要求する(S11012)。この時、前述のDisk Identifer10001の内容にしたがってファイル化した画像データを格納する領域を指定する。
ファイル生成が終了した時点でスキャン原稿フラグをチェックする(S11013)。この時スキャン原稿フラグがONになっていた場合にはスキャナ2070にスキャンすべき原稿が残っていると判断して新規ファイル名の生成を行う(S11014)。この時スキャンシーケンス制御部8204はDocumentCount10005をインクリメントすることで新規のファイル名を生成する。スキャナ2070上のスキャンすべき原稿が存在しない場合にはスキャンシーケンス制御部8204はスキャン動作管理部8203に対してスキャン要求が終了したことを、ファイル名とともに通知する。
そして、Job Manager8201にファイル名や画像データの記憶媒体中の格納位置を示すアドレス情報等を通知する(S11015)。
以上の説明では、スキャナ2070を使用するアプリケーションについて説明したが、他のユニットを使用するアプリケーションも同様に処理できることは言うまでもない。
次に、このようにして格納された画像データを各アプリケーションプログラムに基づき出力する際の処理について図73を用いて簡単に説明する。
なお、図73のフローチャートもHDD2004に格納されたプログラムに基づきCPU2001が実行する。
まず、Job Manager8201から出力ジョブの要求があると、起動すべきアプリケーションプログラムの種別を判定する(S13001)。
そして、判定したアプリケーションプログラム(プリント、FAX、E−mail等)を起動する(S13002)。そして、ファイル名に基づき処理対象の画像データが格納されている記憶媒体を選択し(S13003)、Job Manager8201が管理しているアドレス情報に従って画像データを読み出し(S13004)、起動したアプリケーションプログラムに基づく出力先に出力し各アプリケーションプログラムに処理させる(S13005)。
以上のように、複数のアプリケーションが容易に複数ページの画像データを処理内容、処理速度に応じて記憶媒体に格納、処理できるようにアプリケーションに応じた領域に、一意のファイル識別子をもつ画像ファイル(画像データの単位)を生成するので、アプリケーションプログラムに複雑な複数ページの処理を意識させずに最適な処理(速度)を提供することができる。
また、各アプリケーションが使用する画像データの保存領域をハードディスクが半導体メモリかを予めアプリケーションプログラムからスキャン要求を受け取るスキャナ側で設定しておき、アプリケーションプログラムから原稿のスキャン要求が来た場合に、原稿の枚数をカウントしながらまた自動的に予め定められた領域にスキャン画像(画像データ)を独自のファイル識別子をつけながら一枚ずつ保存し、所定の原稿のスキャンが終了した時点でアプリケーションにファイル名を渡すので、複数のアプリケーションからの処理要求があった場合にも、適切な記憶媒体に記憶し、適切に処理させることができる。このファイル名は、処理要求を出したアプリケーションに固有なものとなっており、また、ファイル名の構成要素としては、画像が保存されている領域(ハードディスクまたは半導体メモリ)、複数枚原稿のときはその画像の順番等が含まれており、その処理が容易になる。
また、以上の構成により、各アプリケーションは複数枚の原稿の処理を行うための複雑な手順を持たなくても、各アプリケーションの処理速度に応じて最適な領域に画像データを蓄積することができるため、装置全体として無駄なプログラム領域を使用せず、良好なスループットを実現することができる。
また、原稿を読み取るための処理プログラムを各アプリケーション毎に共通のものを用いることができる。
なお、本実施形態ではスキャンシーケンス制御部8204がスキャン要求の内容からスキャン要求を出したアプリケーションを特定してDisk Identifer10001、Program Identifer10002を決定したが、アプリケーションからDisk Identifer10001に相当する情報をダイレクトにスキャンシーケンス制御部8204に指定することも可能である。
本発明は複数の機器(たとえばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても一つの機器(たとえば複写機、ファクシミリ装置)からなる装置に適用してもよい。
また前述した実施形態の機能を実現すべく各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前述の実施形態機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)を格納されたプログラムに従って各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
またこの場合、ソフトウエアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
かかるプログラムコードを格納する記憶媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,、磁気テープ、不揮発生のメモリカード、ROM等を用いることが出来る。
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と協働して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
以上説明した様に、本実施例によれば、処理対象となるデータを処理する際に用いるアプリケーションに応じた記憶媒体を選択し、さらに、このアプリケーションに応じた識別子を処理対象データに付加して処理させるので、実行するアプリケーションに応じた適切な処理を容易に実行させることができる。