以下に添付図面を参照して、この発明に係る画像処理装置の好適な実施の形態を詳細に説明する。なお、以下に示す実施の形態1では、コピー機能、FAX機能、プリンタ機能、スキャナ機能を有する従来のデジタル複合機に本発明を適用した場合を示し、実施の形態2では、各機能に含まれる共通の処理を統合したデジタル複合機に本発明を適用した場合を示すこととする。
(実施の形態1)
図1は、デジタル複合機1の構成を概略的に示すブロック図である。図1に示すように、このデジタル複合機1は、画像を読み取るスキャナ部2と、画像を印刷するプロッタ部3と、FAXの送受信を制御するFAXコントローラ4と、デジタル複合機1の各部を制御するシステム制御部5と、画像データおよび該画像データの書誌情報を蓄積する画像データストレージとして機能する大容量記憶装置6と、LAN等のネットワーク9に接続するためのネットワークインタフェース(ネットワークI/F)7と、操作パネル部8とを有する。
スキャナ部2は、原稿の画像を読み取り、読み取った原稿画像に対応する画像データをプロッタ部3および大容量記憶装置6に出力する。
プロッタ部3は、スキャナ部2から出力された画像データおよびFAXコントローラ4やネットワークI/F7を介して受信した画像データに応じた画像を記録紙に印刷する。このプロッタ部3は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、種々の印刷方式を適用することができる。その具体的な構成については周知であるため、詳細な説明は省略する。
FAXコントローラ4は、公衆回線を介して受信した圧縮画像データを伸長し、伸長された画像データをシステム制御部5に転送するとともに、システム制御部5から転送された画像データを圧縮し、圧縮された圧縮画像データを公衆回線を介して送信する。
大容量記憶装置6は、例えばハードディスクドライブ(HDD:Hard Disk Drive)などで構成され、システム制御部5から転送された画像データや画像データの書誌情報を記憶するとともに、システム制御部5を介して転送されたID等のキーワードに基づいて記憶されている画像データや画像データの書誌情報を検索し、検索された画像データや画像データの書誌情報を読み出してシステム制御部5に転送する。
ネットワークI/F7は、ネットワーク9に接続された外部機器であるパーソナルコンピュータ(PC)等と通信を行って、大容量記憶装置6に格納されている画像データの閲覧要求やプリント要求を受け付ける。また、ネットワークI/F7は、FTP(File Transfer Protocol)及びHTTP(Hypertext Transport Protocol)のプロトコルに対応しており、システム制御部5の制御によってFTPクライアント機能及びHTTPサーバ機能を発揮する。
操作パネル部8は、ユーザからの指示を受け付けるための操作部であって、例えばタッチパネル式の液晶パネルなどで構成される。この操作パネル8を用いて、デジタル複合機1の状態の表示、各種情報の入力、画像データやプリンタの選択、印刷条件の設定等が行われる。
次に、図1に示したシステム制御部5のハードウエア構成について説明する。図2は、図1に示したシステム制御部5のハードウエア構成を示す図である。同図に示すように、このシステム制御部5は、各部を集中的に制御するCPU(Central Processing Unit)11を備える。このCPU11には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)12と、各種データを書換え可能に記憶してCPU11の作業エリアとして機能するRAM(Random Access Memory)13とがバス14を介して接続されている。また、このバス14には、制御プログラムが記憶されたHDD15と、CD(Compact Disk)−ROM17を読み取るCD−ROMドライブ16と、スキャナ部2やプロッタ部3等との通信を司るインタフェース(I/F)18と、不揮発性メモリであるフラッシュメモリ19と、画像メモリ20と、データ処理部21とが接続されている。
フラッシュメモリ19は、デジタル複合機1のデータベース機能を提供するために必要なデータの管理ファイル(インデックスファイル)や各種設定情報を格納する不揮発性メモリであり、画像メモリ20はスキャナ部2等からI/F18を介して転送される画像データを一時的に蓄積する記憶部である。
なお、フラッシュメモリ19に格納される設定情報としては、大容量記憶装置6に記憶された画像データや画像データの書誌情報の転送に係る設定情報がある。具体的には、画像データと書誌情報とのいずれも転送しない設定である『転送しない』、書誌情報のみを転送する設定である『書誌のみ転送』、画像データと書誌情報とのいずれも転送する設定である『書誌、画像の両方を転送』が、設定情報としてフラッシュメモリ19に格納されている。
また、データ処理部21は、画像メモリ20に一時的に蓄積されている画像データに対して回転処理、変倍処理、解像度変換等の画像処理を行う部分であり、解像度変換を伴う縮小画像を作成する部分である。データ処理部21は、操作パネル部8で設定された情報を基に画像処理を行い、処理された画像データをI/F18を介して、プロッタ部3、FAXコントローラ4およびネットワークI/F7に転送する。
図2に示すCD−ROM17には、所定の制御プログラムが記憶されており、CPU11は、このCD−ROM17に記憶されている制御プログラムをCD−ROMドライブ16で読み取り、HDD15にインストールする。これにより、システム制御部5は、後述するような各種の処理を行うことが可能な状態となる。
なお、このCD−ROM17に代えて、DVDなどの各種の光ディスク、各種光磁気ディスク、フロッピー(登録商標)ディスクなどの各種磁気ディスク等、各種方式のメディアを用いることができる。また、ネットワークI/F7を介してインターネットなどのネットワーク9からプログラムをダウンロードし、HDD15にインストールするようにしてもよい。なお、プログラムは、所定のOS(OperatingSystem)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、ワープロソフトなど所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
次に、デジタル複合機1のシステム制御部5に設けられたCPU11が制御プログラムに基づいて実行する各種処理の内容について説明する。図3は、デジタル複合機1の主要部を示す機能ブロック図であり、図4は各アプリケーションにより画像が蓄積された際の処理の流れを示すフローチャートである。
図3に示すように、システム制御部5は、制御プログラムに基づき、蓄積画像制御部31、画像処理制御部32、設定読み出し部33、XML生成器34、FTPプロトコル制御部35、ネットワークI/F制御部36、HTTPプロトコル制御部37、XML構文解析器38、コマンド解析部39、エンジン制御部40、FAX制御部41等の各機能を発揮する。
図4に示すように、コピー、プリンタ等の各アプリケーションa〜dから蓄積画像制御部31に対して画像データ蓄積が要求されると、蓄積画像制御部31は、大容量記憶装置6に書誌情報とともに画像データを蓄積すると同時に、画像処理制御部32に対して画像データが蓄積されたことを通知する(ステップS1)。ここに、書誌情報記憶手段の機能が実行される。
画像処理制御部32は、設定読み出し部33を介して画像データを蓄積したアプリケーションに対する現在の設定情報をフラッシュメモリ19から読み出す(ステップS2)。
そして、フラッシュメモリ19に格納されている設定情報が『転送しない』であった場合は(ステップS3のY)、そのまま処理を終了し、フラッシュメモリ19に格納されている設定情報が『転送しない』でない場合は(ステップS3のN)、大容量記憶装置6から画像データの書誌情報を読み出し(ステップS4)、読み出した画像データの書誌情報を表すXMLデータをXML生成器34によって生成する(ステップS5)。
ここで、図5は、生成されたXMLデータの一例を示す説明図であり、図6は、XMLのタグの意味を示す説明図である。図5に示すXMLデータは、コピーアプリケーションにより蓄積された画像データの書誌情報を表現している。画像データが蓄積されたのは99年12月12日、画像データのページ数は3ページ、蓄積時に10部のコピーが作成されたことなどがこの書誌情報より読み取れる。また、“thumbnailURL”を参照することで、画像データのサムネイル画像を取得することができ、“pageURI”を参照することでページデータの画像データを取得することができる。
XML生成器34によって生成されたXMLデータ(画像データの書誌情報)は、FTPプロトコル制御部35によってFTPサーバとして機能するパーソナルコンピュータPCに転送される(ステップS6)。なお、この場合には、FTPのPUTコマンドが用いられる。フラッシュメモリ19に格納されている設定情報が『書誌のみ転送』であった場合は(ステップS7のY)、以上で処理を終了する。
一方、フラッシュメモリ19に格納されている設定情報が『書誌、画像の両方を転送』であった場合は(ステップS7のN)、画像データを蓄積画像制御部31によって大容量記憶装置6から読み出し(ステップS8)、読み出した画像データをFTPプロトコル制御部35によってFTPサーバに転送する(ステップS9)。したがって、ステップS2〜S9において、転送内容選択手段の機能が実行される。
ここに、デジタル複合機1のコピー機能、FAX機能、プリンタ機能、スキャナ機能等を発揮する各アプリケーションやネットワーク環境に応じ、大容量記憶装置6に記憶されている画像データと書誌情報とをネットワーク9に接続された外部機器であるパーソナルコンピュータPCに対して選択的に転送することができるようになるので、各アプリケーションやネットワーク環境に応じたシステムの構築ができ、使い勝手を向上させることができる。
例えばアプリケーションが再印刷時における画像品質を重視する場合には、画像データは転送せずに書誌情報のみを転送するようにし、アプリケーションがパーソナルコンピュータPCでの画像閲覧機能を発揮する場合には、画像データと書誌情報とのいずれも転送するような設定にすることができる。
次に、フラッシュメモリ19に格納される設定情報が『書誌のみ転送』であった場合には、必要に応じて画像データを転送する必要があるため、そのような場合における画像データ転送処理について説明する。図7は画像データ転送処理の流れを示すフローチャートである。
ネットワーク9を介してデジタル複合機1に対するHTTPリクエストが発生するとネットワークI/F制御部36がこれを受け取り、受け取ったHTTPリクエストをHTTPプロトコル制御部37において解析する(ステップS11)。
次いで、ボディパートに埋め込まれたXMLデータの構文解析がXML解析機能を発揮するXML構文解析器38によって行われ、XMLデータを表す構文木データが生成される(ステップS12)。その後、コマンド解析部39によって構文木データが解析されてコマンドが抽出される(ステップS13)。
抽出されたコマンドが『画像取得』であった場合には(ステップS14のY)、指定された画像データを蓄積画像制御部31によって大容量記憶装置6から読み出し(ステップS15)、読み出した画像データをHTTPプロトコル制御部37によってHTTPレスポンスとしてネットワーク9上に送信する(ステップS16)。ここで、図8は画像取得コマンドのXMLデータの一例を示す説明図である。図8に示すボディパートに埋め込まれたXMLデータは、「ID10」の画像データのページ1を取得する旨を表現している。
一方、抽出されたコマンドが『画像印刷』であった場合には(ステップS14のNかつステップS17のY)、プロッタ部3をエンジン制御部40で制御することにより指定された画像データの印刷を行う(ステップS18)。ここで、図9は画像印刷コマンドのXMLデータの一例を示す説明図である。図9に示すボディパートに埋め込まれたXMLデータは、「ID10」及び「ID20」の2つの画像データを2部印刷し、上部にステイプルを施す旨を表現している。なお、特に図示しないが、指定した画像データのFAX送信、蓄積された画像データの消去などの操作を実現することも可能である。
ここに、書誌情報は大容量記憶装置6に画像データが蓄積されると同時に転送され、画像データは外部機器であるパーソナルコンピュータPCから転送要求があった場合に転送されることにより、ネットワーク性能の低い環境下においては、外部機器であるパーソナルコンピュータPCから転送要求があった場合にのみ画像データを転送するようにすることができるので、ネットワークの負荷を下げることができる。
また、ネットワーク性能の低い環境下においては、夜間の利用者が少ない時間帯に画像データを転送するようにしたり、ネットワークトラフィックを監視するネットワーク監視機能によってネットワークトラフィックが少ない状態であると判断された場合に画像データを転送することにより、ネットワークの負荷を下げることができる。
なお、本実施の形態では、FTPを用いてデータ転送する場合について説明したが、本発明はこれに限定されるものではなく、電子メールなどを用いてデータ転送することもできる。
(実施の形態2)
ところで、上記実施の形態1では、プリンタ、コピーおよびファクリミリ装置として利用できる複合機に本発明を適用した場合を示したが、最近では、プリンタ、コピーおよびファクリミリ装置などに対応する各ソフトウエア(アプリケーション)の共通部分を括りだしてプラットホーム化した画像形成装置が考えられている。具体的には、特願2000−204235および特願2000−204257等にかかる画像形成装置が記載されている。そこで、本実施の形態2では、各アプリケーションの共通部分を括りだしたプラットホームを有する複合機に本発明を適用した場合について説明する。
まず、本実施の形態2に係る複合機の構成について説明する。図10は、本実施の形態2に係る複合機の構成を示す機能ブロック図である。同図に示すように、この複合機100は、プロッタ101、ハードディスク装置(HDD)102、ネットワークインターフェース103などを有するとともに、ソフトウエア群110は、プラットホーム120およびアプリケーション140からなる。
プラットホーム120は、汎用OS121と、共通システムサービス130と、アプリサービス129とで形成される。汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション140の各ソフトウエアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
共通システムサービス130は、アプリケーション140に対して基本的な共通サービスを提供するものであり、SCS(System Control Service)122を有するSRM(System Resource Manager)123と、ECS(Engine ControlService)124と、MCS(Memory Control Service)125と、OCS(Operation panel Control Service)126と、FCS(FAX Control Service)127と、NCS(Network Control Service)128とからなる。
SRM123は、SCS122とともにシステムの制御およびリソースの管理をおこなうものであり、プロッタ101やスキャナなどのエンジン、メモリ、HDD102、ホストI/O(セントロI/F、ネットワークインターフェース103、IEEE1394I/F、RS232CI/Fなど)のハードウエア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
具体的には、このSRM123は、要求されたハードウエア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウエア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウエア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。
SCS122は、(1)アプリ管理、(2)操作部制御、(3)システム画面表示(ジョブリスト画面、カウンタ表示画面など)、(4)LED表示、(5)リソース管理、(6)割り込みアプリ制御をおこなう。具体的には、(1)アプリ管理では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。登録されたアプリに対しては、システムの設定やアプリからの要求設定に応じてエンジン状態を通知する。また、登録済みのアプリに対しては、電力モード移行の問い合わせ、割り込みモードなど、システムの状態遷移のための可否問い合わせをおこなう。
また、(2)操作部制御では、アプリの操作部使用権の排他制御をおこなう。そして、操作部の使用権を持つアプリへ操作部ドライバ(OCS)からのキー情報を排他的に通知する。このキー情報は、アプリ切替中などのシステムの状態遷移に応じて一時的に通知を停止するマスク制御をおこなう。
また、(3)システム画面表示では、操作部使用権を持つアプリからの要求内容に応じて、エンジン状態に対応する警告画面の表示をおこなう。これらのなかには、利用者制限画面などアプリの状態に応じて警告表示をオン/オフするものもある。エンジン状態以外では、ジョブの予約・実行状況を表示するためのジョブリスト画面、トータルカウンタ類を表示するためのカウンタ画面、CSSの通報中を示す画面の表示制御をおこなう。これらのシステム画面表示に関しては、アプリへ操作部使用権の解放を要求せず、アプリ画面を覆うシステム画面として描画をおこなう。
また、(4)LED表示では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。アプリ固有のLEDについては、アプリが直接表示用ドライバを使用して制御する。
また、(5)リソース管理では、アプリ(ECS)がジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこない、(6)割り込みアプリ制御では、特定のアプリを優先動作せさるための制御・サービスをおこなう。
ECS124は、プロッタ101、HDD102、ネットワークインターフェース103などを制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
具体的には、アプリケーション140から受け取ったジョブモードの指定にしたがい、印刷要求をSRM123に順次発行していくことで、一連のコピー/スキャン/印刷動作を実現する。このECS124が取り扱う対象のジョブは、画像入力デバイスにスキャナ(SCANNER)が指定されているか、または、画像出力デバイスにプロッタ(PLOTTER)が指定されているものとする。
たとえば、コピー動作の場合には「SCANNER → PLOTTER」と指定され、ファイル蓄積の場合には「SCANNER → MEMORY」と指定され、ファクシミリ送信の場合には「SCANNER → FAX_IN」と指定される。また、蓄積ファイル印刷またはプリンタアプリ111からの印刷の場合には「MEMORY → PLOTTER」と指定され、ファクシミリ受信の場合には「FAX_OUT → PLOTTER」と指定される。
なお、ジョブの定義はアプリケーションによって異なるが、ここでは利用者が取り扱う1セットの画像群に対する処理動作を1ジョブと定義する。たとえば、コピーのADF(Automatic Document Feeder)モードの場合は、原稿台に置かれた1セットの原稿を読み取る動作が1ジョブとなり、圧板モードは最終原稿が確定するまでの読み取り動作が1ジョブとなる。また、コピーアプリ112の場合には、一束の原稿をコピーする動作が1ジョブとなり、ファックスアプリ113の場合には、1文書の送信動作または1文書の受信動作が1ジョブとなり、プリンタアプリの場合には、1文書の印刷動作が1ジョブとなる。
MCS125は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。
このMCS125は、HDDに画像データを格納する場合には、各画像データに関する書誌情報をそれぞれ画像データに関連付けてHDDに格納する。また、HDDに格納した画像データおよび書誌情報を消去する旨をXML言語で記述したXMLデータをボディパートに埋め込んだHTTPリクエストからなる消去要求を受け付けた場合には、当該画像データおよび書誌情報をHDDから消去する。
ここで、ハードディスク装置に蓄積される画像データファイルとして必要な情報を管理するために必要な機能としては、(1)ファイルアクセス(生成/削除/オープン/クローズ)機能(排他処理を含む)、(2)ファイル名称/ID管理(ファイル/ユーザ)/パスワード管理/蓄積時刻管理/ページ数/データフォーマット(圧縮方式など)/アクセス制限/作成アプリ/印刷条件管理などの各種ファイル属性管理(物理的なページ単位の画像データのファイルとしての管理)、(3)ファイル単位およびページ単位での結合/挿入/切断機能、(4)ファイルソート機能(蓄積時刻順/ユーザID順など)、(5)全ファイル情報の通知(表示/検索用)、(6)リカバリ機能(破損ファイルのファイル/ページ破棄)、(7)ファイルの削除機能などがある。
また、RAMなどのメモリへ画像データを保持しアクセスするための機能としては、(1)アプリケーション140からのファイルおよびページ/バンド属性情報を取得する機能、(2)アプリケーション140からの画像データ領域の確保、解放、リード(Read)、ライト(Write)機能などがある。
OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
このOCS126は、(1)GUI構築のためのライブラリの提供機能、(2)操作部ハードウエア資源管理機能、(3)VRAM描画/LCD表示機能(ハードウエア表示、表示アプリ切替、表示言語切替、ウインドウ暗色表示、メッセージ/アイコンブリンク表示、メッセージの連結表示)、(4)ハードキー入力検出機能、(5)タッチパネルキー入力検出機能、(6)LED出力機能、(7)ブザー出力機能などを有する。
FCS127は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPIを提供するものである。
具体的には、このFCS127は、(1)アプリ層から送信依頼されたドキュメントをPSTN/ISDN網を使ってファクシミリ受信機に送信をおこなう送信機能、(2)PSTN/ISDN網から受信したファクシミリ受信画面、各種レポート類を各アプリ層に転送、印刷をおこなう受信機能、(3)ファックスボードに記憶されている電話帳、グループ情報などのファクシミリ管理項目の引用や登録をおこなう電話帳引用・登録機能、(4)ファックスボードに搭載されているBKMに記憶されている送受信結果履歴情報などを必要としているアプリに通知するファックスログ通知機能、(5)ファックスボードの状態変化があったときにFCSに登録してあるアプリに変化のあったイベントを通知するイベント通知機能などを有する。
NCS128は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有する。
アプリサービス129は、プラットホーム120を形成する共通サービスの一つであるが、上記共通システムサービス130を形成するECS124、MCS125、OCS126、FCS127、NCS128、SRM123およびSCS122とは異なり、アプリケーション140側に立ったサービスを提供するものである。
言い換えると、このアプリサービス129は、アプリケーション140と共通システムサービス130との間に介在し、両者の間の橋渡しを担う役割を果たしている。
具体的には、このアプリサービス129は、コピーアプリ112、ファックスアプリ113、スキャナアプリ114などが、本来おこなうべきジョブの生成やデータ通信の機能を一括して代行するアプリジョブ生成モジュール129aを有する。このため、コピーアプリ112、ファックスアプリ113、スキャナアプリ114などは、主として画面やキー操作を対象とすれば足りるので、アプリの開発効率が向上する。
また、アプリサービス129は、コマンドディスパッチャーモジュール129b、XML構文解析モジュール129c、HTTP解析モジュール129dおよびデータ転送モジュール129eを有する。これらのモジュールは、いずれも共通システムサービス130とアプリケーション140の間に介在し、両者の間の橋渡しを担う役割を有するモジュールである。
HTTP解析モジュール129dは、ネットワークインターフェース103を介して受信したHTTPデータの内容を解析するモジュールであり、XML構文解析モジュール129cは、HTTP解析モジュール129dにより解析されたデータについてのXML構文の構文解析をおこなうモジュールである。
コマンドディスパッチャーモジュール129bは、XML構文解析モジュール129cによる解析結果に基づいて該当するアプリケーションを選択するモジュールである。
データ転送モジュール129eは、MCS125およびNCS128と連携して、HDD102またはメモリに記憶したデータをネットワークインターフェース103を介して指定されたネットワークアドレスのコンピュータに転送処理するモジュールであり、FTPなどにしたがってデータ転送する。
具体的には、このデータ転送モジュール129eは、HDD102に格納された画像データおよび/または書誌情報からなる転送内容を外部機器(コンピュータ)に対して転送する。この際、書誌情報のみを転送する転送内容、画像データと書誌情報の両者を転送する転送内容または画像データと書誌情報のいずれも転送しない転送内容のいずれかを画像データを生成したアプリケーションに基づいて選択する。
画像データと書誌情報の両者を転送する転送内容が選択された場合には、画像データと書誌情報とを異なるタイミングで転送することができる。たとえば、HDD102に画像データが蓄積された際に外部機器に対して書誌情報を転送し、画像データは、所定の時刻に外部機器に対して転送することができる。
また、ネットワークのトラフィックを監視し、書誌情報は、HDD102に画像データが蓄積された際に外部機器に対して転送し、画像データは、監視されたトラフィック量が所定のトラフィック量よりも少ない場合に外部機器に対して転送することができる。
さらに、HDD102に画像データが蓄積された際に外部機器に対して書誌情報を転送し、画像データは、外部機器からの要求に応答して該外部機器に対して転送することもできる。この場合には、外部機器からはボディパートにXMLデータを埋め込んだHTTPリクエストからなる転送要求を受け付けることになる。
アプリケーション140は、プリンタ用のアプリケーションであるプリンタアプリ111と、コピー用のアプリケーションであるコピーアプリ112と、ファクシミリ用のアプリケーションであるファックスアプリ113と、スキャナ用のアプリケーションであるスキャナアプリ114と、再印刷用のアプリケーションである再印刷アプリ115と、画像データの転送用のアプリケーションである画像データ転送アプリ116とを有する。なお、これ以外に工程検査用アプリケーションである工程検査アプリなどを設けることもできる。
この再印刷アプリ115は、ネットワークインターフェース部103を介して再印刷用のHTTPリクエストを受信し、コマンドディスパッチャーモジュールに選択された時点で機能するアプリケーションであり、具体的には、HDD102等に蓄積した指定された画像データをプロッタ101に再印刷するためのジョブを生成するようアプリジョブ生成モジュール129aに指示する。
画像データ転送アプリ116は、ネットワークインターフェース部103を介して画像データ転送用のHTTPリクエストを受信し、コマンドディスパッチャーモジュールに選択された時点で機能するアプリケーションであり、具体的には、HDD102等に蓄積した指定された画像データを要求元のコンピュータにデータ転送するようデータ転送モジュール処理をおこなうプロッタ101に再印刷するためのジョブを生成するようデータ転送モジュール129eに指示する。
各アプリケーション111〜116は、プラットホーム120上の各プロセスを利用して動作実行し得るため、画面表示制御プログラムがその主体となる。特に、アプリサービス129がプラットホーム120上に設けられているので、ジョブの生成やデータ通信の機能を設ける必要がない。
次に、図10に示した画像データ転送アプリ116を用いた画像データの転送動作についてさらに具体的に説明する。図11は、図10に示した画像データ転送アプリ116を用いた画像データの転送動作を説明するための説明図である。ただし、ここでは説明の便宜上、共通システムサービス130については、SRM123、ECS124、MCS125およびNCS128のみを図示している。
図11に示すように、複合機100がネットワークインターフェース103からHTTPデータを受け取ると、このHTTPデータがHTTP解析モジュール129dによって解析され、特にXML言語の記述部分はXML構文解析モジュール129cによって解析される。
その後、この解析結果に基づいてコマンドディスパッチャーモジュール129bが画像データ転送アプリ116を選択して、ネットワークを介してデータ転送を受けた旨を通知する。
この通知を受けた画像データ転送アプリ116は、データ転送モジュール129eに対して指定された画像データのデータ転送を指示し、該データ転送モジュール129eは、MCS125およびNCS128と協調動作して、HDD102に蓄積した該当する画像データをネットワークインターフェース103を介して転送する。
このように、画像データの転送要求であるHTTPリクエストを受け付けた場合には、アプリサービス129内のHTTP解析モジュール129d、XML構文解析モジュール129c、コマンドディスパッチャーモジュール129bおよびデータ転送モジュール129eを用いてHDD102に記憶した画像データを要求元のコンピュータに転送することができる。
次に、図10に示した再印刷アプリ115を用いた画像データの再印刷動作についてさらに具体的に説明する。図12は、図10に示した再印刷アプリ115を用いた画像データの再印刷動作を説明するための説明図である。ただし、ここでも説明の便宜上、共通システムサービス130については、SRM123、ECS124、MCS125およびNCS128のみを図示している。
図12に示すように、複合機100がネットワークインターフェース103からHTTPデータを受け取ると、このHTTPデータがHTTP解析モジュール129dによって解析され、特にXML言語の記述部分はXML構文解析モジュール129cによって解析される。
その後、この解析結果に基づいてコマンドディスパッチャーモジュール129bが再印刷アプリ115を選択して、ネットワークを介して再印刷指示を受けた旨を通知する。
この通知を受けた再印刷アプリ115は、アプリジョブ生成モジュール129aに対して指定された画像データの再印刷ジョブを生成するよう指示し、該アプリジョブ生成モジュール129aは、ECS124、MCS125およびNCS128と協調動作して、HDD102に蓄積した該当する画像データをプロッタ101により再印刷する。
このように、画像データの再印刷要求であるHTTPリクエストを受け付けた場合には、アプリサービス129内のHTTP解析モジュール129d、XML構文解析モジュール129c、コマンドディスパッチャーモジュール129bおよびアプリジョブ生成モジュール129aを用いてHDD102に記憶した画像データをプロッタ101で再印刷することができる。
上述してきたように、本実施の形態2によれば、共通システムサービス130とアプリケーション140との間に介在するアプリサービス129内に、アプリジョブ生成モジュール129a、コマンドディスパッチャーモジュール129b、XML構文解析モジュール129c、HTTP解析モジュール129dおよびデータ転送モジュール129eを設けるよう構成したので、XML言語で記述したHTTPデータからなる画像データの再印刷指示や画像データ転送要求をネットワークを介して受け取った場合であっても、これらの要求に対応することができる。
(実施の形態3)
ところで、上記実施の形態2では、共通システムサービス130とアプリケーション140との間に介在するアプリサービス129を設けた場合を示したが、本発明はこれに限定されるものではなく、かかるアプリサービス129を設けない場合に適用することもできる。そこで、本実施の形態3では、上記アプリサービス129の処理をアプリケーション140におこなわせる場合について説明する。
まず、本実施の形態3に係る複合機の構成について説明する。図13は、本実施の形態3に係る複合機の構成を示す機能ブロック図である。同図に示すように、この複合機200は、プロッタ201、ハードディスク装置(HDD)202、ネットワークインターフェース203などを有するとともに、ソフトウエア群210は、プラットホーム220およびアプリケーション240からなる。
プラットホーム220は、汎用OS221と、SCS(System Control Service)222を有するSRM(System Resource Manager)223と、ECS(Engine Control Service)224と、MCS(Memory Control Service)225と、OCS(Operation panel Control Service)226と、FCS(FAX Control Service)227と、NCS(Network Control Service)228とからなる。なお、これらの各部は図10に示すものとそれぞれ同様のものであるので、ここではその詳細な説明を省略する。
アプリケーション230は、プリンタ用のアプリケーションであるプリンタアプリ211と、コピー用のアプリケーションであるコピーアプリ212と、ファクシミリ用のアプリケーションであるファックスアプリ213と、スキャナ用のアプリケーションであるスキャナアプリ214と、再印刷および画像データの転送用のアプリケーションであるネットファイルアプリ215とを有する。なお、これ以外に工程検査用アプリケーションである工程検査アプリなどを設けることもできる。
ここで、このネットファイルアプリ115は、ネットワークインターフェース部103を介して再印刷用のHTTPリクエストを受信し、コマンドディスパッチャーモジュールにより処理内容を選択するアプリケーションであり、具体的には、HDD102等に蓄積した指定された画像データをプロッタ101に再印刷するためのジョブを生成したり、HDD102等に蓄積した指定された画像データを要求元のコンピュータにデータ転送する処理をおこなう。
次に、図13に示したネットファイルアプリ215を用いた画像データの転送動作についてさらに具体的に説明する。図14は、図13に示したネットファイルアプリ215を用いた画像データの転送動作を説明するための説明図である。
図14に示すように、このネットファイルアプリ215は、コマンドディスパッチャーモジュール215b、XML構文解析モジュール215cおよびHTTP解析モジュール215dおよびデータ転送モジュール215eを有する。
HTTP解析モジュール215dは、ネットワークインターフェース103を介して受信したHTTPデータの内容を解析するモジュールであり、XML構文解析モジュール215cは、HTTP解析モジュール215dにより解析されたデータについてのXML構文の構文解析をおこなうモジュールである。
コマンドディスパッチャーモジュール215bは、XML構文解析モジュール215cによる解析結果に基づいて該当するアプリケーションを選択するモジュールである。
データ転送モジュール215eは、MCS225およびNCS228と連携して、HDD202またはメモリに記憶したデータをネットワークインターフェース203を介して指定されたネットワークアドレスのコンピュータに転送処理するモジュールである。具体的には、FTPなどにしたがってデータ転送することになる。
そして、複合機200がネットワークインターフェース203からHTTPデータを受け取ると、このHTTPデータがHTTP解析モジュール215dによって解析され、特にXML言語の記述部分はXML構文解析モジュール215cによって解析される。
その後、この解析結果に基づいてコマンドディスパッチャーモジュール215bがデータ転送モジュール215eを選択する。このデータ転送モジュール215eは、MCS225およびNCS228と協調動作して、HDD202に蓄積した該当する画像データをネットワークインターフェース203を介して転送する。
このように、ネットファイルアプリ215が画像データの転送要求であるHTTPリクエストを受け付けた場合には、HTTP解析モジュール215d、XML構文解析モジュール215c、コマンドディスパッチャーモジュール215bおよびデータ転送モジュール215eを用いてHDD202に記憶した画像データを要求元のコンピュータに転送することができる。
次に、図13に示したネットファイルアプリ215を用いた画像データの再印刷動作についてさらに具体的に説明する。図15は、図13に示したネットファイルアプリ215を用いた画像データの再印刷動作を説明するための説明図である。
図15に示すように、このネットファイルアプリ215には、上記コマンドディスパッチャーモジュール215b、XML構文解析モジュール215cおよびHTTP解析モジュール215dおよびデータ転送モジュール215e以外に、再印刷ジョブ生成モジュール215aを有する。
この再印刷ジョブ生成モジュール215aは、複合機200が再印刷指示を示すHTTPデータを受け付け、コマンドディスパッチャーモジュール215bにより選択された際に動作するモジュールであり、具体的には要求された印刷データを再印刷するための再印刷ジョブを生成する。
具体的には、複合機200がネットワークインターフェース203からHTTPデータを受け取ると、このHTTPデータがHTTP解析モジュール215dによって解析され、特にXML言語の記述部分はXML構文解析モジュール215cによって解析される。
その後、この解析結果に基づいてコマンドディスパッチャーモジュール215bが再印刷ジョブ生成モジュール215aを選択すると、この再印刷ジョブ生成モジュール215aは、ECS224、MCS225およびNCS228と協調動作して、HDD202に蓄積した該当する画像データをプロッタ201により再印刷する。
このように、画像データの再印刷要求であるHTTPリクエストを受け付けた場合には、HTTP解析モジュール215d、XML構文解析モジュール215c、コマンドディスパッチャーモジュール215bおよびアプリジョブ生成モジュール215aを用いてHDD202に記憶した画像データをプロッタ201で再印刷することができる。
上述してきたように、本実施の形態3によれば、再印刷およびデータ転送をおこなうネットファイルアプリ215をアプリケーション230の一つとして設け、このネットファイルアプリ215内に、再印刷ジョブ生成モジュール215a、コマンドディスパッチャーモジュール215b、XML構文解析モジュール215c、HTTP解析モジュール215dおよびデータ転送モジュール215eを設けるよう構成したので、XML言語で記述したHTTPデータからなる画像データの再印刷指示や画像データ転送要求をネットワークを介して受け取った場合であっても、これらの要求に対応することができる。
なお、本実施の形態3では、上記実施の形態2と異なりネットファイルアプリ215をアプリケーション230の一つとするため、プラットホーム220の更新を要さないという利点がある。ただし、たとえばHTTP解析モジュール215dなどが複数のアプリが独立して持たねばならないという欠点が生ずる。
なお、上記実施の形態2および3では、外部機器からHTTPリクエストによるデータ転送要求および再印刷要求をおこなう場合を示したが、本発明はこれに限定されるものではなく、画像データを印刷する旨をXML言語で記述したXMLデータをボディパートに埋め込んだHTTPリクエストからなる印刷要求、画像データをFAX送信する旨をXML言語で記述したXMLデータをボディパートに埋め込んだHTTPリクエストからなるFAX送信要求、画像データおよび書誌情報を消去する旨をXML言語で記述したXMLデータをボディパートに埋め込んだHTTPリクエストからなる消去要求をおこなう場合に適用することもできる。
(実施の形態4)
ところで、上記実施の形態2および3では、HTTP解析モジュール、XML構文解析モジュールおよびコマンドディスパッチャーモジュールをプラットホーム側またはアプリケーション側の一方に設けた場合を示したが、本発明はこれに限定されるものではなく、HTTP解析モジュールのみをプラットホーム上に設け、他のモジュールをアプリケーション側に設けることもできる。
そこで、本実施の形態4では、本発明を複合機に実装した場合を考慮しつつ、この点について説明する。なお、ここでは画像文書操作アプリケーションを複数のアプリケーションの一つとして設ける場合を示すこととする。
図16および図17は、本発明に係る画像形成装置を複合機として実装する場合を説明するための説明図である。同図に示すように、この複合機300は、コントローラボード310上にプラットホームと各アプリケーションを設け、両者の間をアプリケーションI/Fで連結するとともに、このコントローラボード310がエンジンI/Fを介してエンジン制御ボードと接続される構成となる。
そして、このプラットホーム320は、汎用OS340上に共通システムサービス330が設けられ、この共通システムサービス330により、すでに説明した各アプリケーションに共通するサービスを提供する。
ここで、図16に示すものは、上記実施の形態2と同様にHTTP解析モジュール380、WWWライブラリおよびXML解析モジュールなどを共通システムサービス330内に設けた場合を示している。
これに対して、図17に示すものは、HTTP解析モジュール380のみを共通システムサービス330内に設け、XML構文解析モジュール360などをアプリケーション側に設けた場合を示している。
このように、各アプリケーションから外部機器であるHTTPサーバにアクセスできるようにするためには、HTTP解析モジュール380を共通システムサービス330内に設けることが望ましいが、各HTTPサーバがXLM言語に対応しているとは限らないので、XML解析モジュール360についてはアプリケーション側に設けることができる。
また、図示省略したが、図16に示すようにXML解析モジュール360をプラットホーム330側に設ける場合であっても、上述したコマンドディスパッチャーモジュールについては、プラットホームまたはアプリケーション側のいずれに設けてもかまわない。
上述してきたように、本実施の形態4では、HTTP解析モジュール380をプラットホーム330側に設け、XML解析モジュール350をアプリケーション側に設けることとしたので、プラットホームを頻繁に利用されるモジュールのみで構成することができる。