JPH10248014A - 画像処理方法 - Google Patents

画像処理方法

Info

Publication number
JPH10248014A
JPH10248014A JP33137997A JP33137997A JPH10248014A JP H10248014 A JPH10248014 A JP H10248014A JP 33137997 A JP33137997 A JP 33137997A JP 33137997 A JP33137997 A JP 33137997A JP H10248014 A JPH10248014 A JP H10248014A
Authority
JP
Japan
Prior art keywords
image
document
server
printer
image server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP33137997A
Other languages
English (en)
Inventor
Robert B Taylor Iii
ロバート・ビー・テイラー・サード
Kirt Alan Winter
カート・アラン・ウィンター
Robert Chou
ロバート・チョウ
Sachin Naik
サチン・ネイク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10248014A publication Critical patent/JPH10248014A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Processing Or Creating Images (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 【課題】 画像処理の間にシステムを通過する画像デー
タ量を減少させる。 【解決手段】ユーザ・アプリケーションは、本発明に従
って備えられる画像サーバに印刷すべき画像を含むドキ
ュメントを登録し、ドキュメントを識別する識別子を画
像サーバから受け取る。その後、印刷されるドキュメン
トの所望の様相を記述する印刷パラメータとともに、識
別子をプリンタ・ドライバに渡す。プリンタ・ドライバ
はドキュメントを参照する識別子を使用して、画像サー
バに画像処理要求を送り、その要求に応じて、画像サー
バが印刷パラメータに従ってドキュメントの画像を処理
してプリンタ画像を生成する。次に、プリンタ・ドライ
バは、プリンタにダウンロードするために必要とされる
画像データからのみ構成される処理済みプリンタ画像を
画像サーバから取り出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはドキュ
メント処理に関するもので、特に印刷のためドキュメン
トを準備する方法およびシステムに関するものである。
【0002】
【従来の技術】画像処理は、画像を捕捉するために使用
されるハードウェアおよびソフトウェアの簡便さおよび
普及によってごく一般的活動となった。インターネット
の一般化およびアクセス可能性、および一層重要な点で
あるがワールド・ワイド・ウェッブ(WWW)の登場が画
像の使用を顕著に増加させた。しかしながら、捕捉され
た画像およびその他のグラフィック・エレメントの処理
は、テキスト・データの処理と比較して一般的に複雑で
ある。例えば、カラー画像は、ビデオ・ディスプレイと
プリンタの間のカラー合致や一定の特徴を抽出するため
のエッジ強調などを必要とする。そのような操作はCP
U集約的となる傾向があり、画像ファイル特にカラー画
像に関連するデータは典型的には大量であるので、その
ような操作はまた入出力集約的となりがちである。画像
の使用の増加によって影響を受ける分野は、例えば、そ
のような画像を含むドキュメントの準備および印刷の分
野である。
【0003】高度化された文書処理およびその他のデス
クトップ・パブリッシング・プログラムの普及によっ
て、ドキュメントは一般的にはもはや単にテキスト・デ
ータから構成されることはなく、むしろ種々の画像を含
む。コンピュータ上での印刷のためそのようなドキュメ
ントを準備するためには、拡大縮小、切り取り、鮮鋭
化、種々の変換などを含むいくつかの画像処理操作を必
要とする。それらの操作は、アプリケーション、また
は、プリンタに通常含まれるプリンタ・ドライバ・ソフ
トウェアによって実行される。画像をドキュメントに組
み込む結果として、コンピュータ・システムは、グラフ
ィック画像エレメントを表す大量のデータの処理のため
高い度合いの負荷を経験する。ドキュメントの準備およ
び印刷に対するアプローチはいくつかある。一部のアプ
リケーションは、印刷されるべきドキュメント画像の装
置独立的ビットマップを準備する。ビットマップは次に
その対応するプリンタ・ドライバ・ソフトを経由してプ
リンタに送られる。ほとんどの場合、アプリケーション
はプリンタの必要条件に関する知識を持たない。例え
ば、ユーザはある種類の紙を使用する媒体品質画像を印
刷することを望むかもしれない。これは、ドキュメント
画像が一定の解像度およびビット深度をもって作成され
ることを必要とする。アプリケーションは、ユーザによ
って選択される印刷パラメータに応じて出力を提示する
ために必要な解像度やビット深度を判断することができ
ない。そのような知識はプリンタ・ドライバに含まれて
いる。従って、どのような種類のプリンタにも適応しな
ければならないアプリケーションは、保守的アプローチ
を取り、画像の高解像度ビットマップのコピーをプリン
タ・ドライバへ送る。そこで、プリンタ・ドライバは、
受け取った高解像度画像コピーに対して(例えば間引き
のような)追加処理を実行して、当該プリンタにとって
適切な解像度の出力を生成する。
【0004】この単純なアプローチは、非常に非効率な
印刷方法である。アプリケーションは、プリンタおよび
選択された印刷パラメータに関係なく、常にドキュメン
トの高解像度コピーを生成する。これは、不必要な大量
のデータを変換し、ディスクの数回の入出力を伴う中間
ファイルの作成を伴う過度のディスク活動を必要とす
る。そのような活動は、印刷ジョブが完了するまでCP
Uへのアクセスが止められるので、ユーザに悪い影響を
与える。
【0005】別のアプローチにおいては、ドキュメント
処理アプリケーションは、どのような画像処理能力がプ
リンタ・ドライバに存在するか判断するためプリンタ・
ドライバに照会する。次に、アプリケーションはアプリ
ケーションとプリンタ・ドライバの間で画像処理作業を
どのように分担すべきか決定する。アプリケーションは
ドキュメントの適切な画像を作成しプリンタ・ドライバ
に画像のコピーを送る。プリンタ・ドライバは、受け取
った画像のコピーに対して必要な追加処理を実行してド
キュメントの最終的なプリンタ画像をプリンタへ出力す
る。出力解像度生成のようなプリンタ特有処理がプリン
タ・ドライバによって実行されるので、プリンタ・ドラ
イバ画像処理能力を知っていることは効率を改善する。
アプリケーションは、もはや、すべてのプリンタに適応
するため高解像度ビットマップを生成する必要がない。
むしろ、アプリケーションは、切り取り、赤目補正、鮮
鋭化などプリンタ・ドライバによって典型的にサポート
されていない操作のような装置独立的操作のみを実行す
る。これによって、アプリケーションからドライバへ渡
される画像ファイルは小さくなる。しかしながら、ユー
ザの観点からみれば、アプリケーションが画像を処理し
プリンタ・ドライバに画像のコピーを渡し、その時点で
プリンタ・ドライバが受け取った画像のコピーに対する
プリンタ特有の追加処理を実行してプリンタに生成した
プリンター画像を出力するまで、CPUはなお占有され
る。
【0006】待機を軽減するため、ほとんどのコンピュ
ータは、スプーリングとして知られる技法を使用して印
刷ジョブから可能な限り迅速にCPUをユーザに返す。
プリンタ画像、すなわちプリンタに実際に送られるビッ
トマップ画像は、ディスクにコピーされ背景プロセスと
してプリンタに送られる。これによって、プリンタ・ド
ライバが、実際の出力が作成されるのを待たずにコンピ
ュータの制御をユーザに返すことを可能にする。しかし
ながら、プリンタへの最終的プリンタ画像の伝送は、印
刷ジョブの全体のわずかな部分を占めるにすぎず、ほと
んどの努力と時間は、アプリケーションおよびプリンタ
・ドライバが最初にドキュメントのプリンタ画像を生成
するために費やされる。
【0007】スプーリング技術を一歩進めたオペレーテ
ィング・システムがある。マイクロソフト・ウィンドウ
ズ95オペレーティング・システムの下で、改良メタフ
ァイル形式(すなわちenhanced metafile formatを略し
てEMFと呼ばれる)スプーリングとして知られる方法
が実施された。EMFスプーリングを使用すれば、オペ
レーティング・システム(以下単にOSと呼ぶ)は、プリ
ンタ画像が現行のようにスプールされる場合と同じ方法
で、アプリケーションがプリンタ・ドライバに対して行
う呼び出しすべてをスプール・ファイルにスプールす
る。次に、OSはスプールされたファイルを再生して、
プリンタ・ドライバにスプールされた情報を送り出し、
それによって印刷ジョブは完全に背景ジョブとして実行
される。プリンタ・ドライバがその画像処理操作を実行
するのをユーザはもはや待つ必要がないので、EMFス
プーリングの下ではコンピュータの制御は一層迅速にユ
ーザに返される。
【0008】しかし、このようなEMFスプーリングを
使用しても、印刷の間システム性能に影響を与える要因
がなお存在する。もっとも注意すべき要因は、大量のデ
ータがシステムを通過するという事実である。8"x10"の
写真の24ビット・カラー・デジタル画像を例として考
察すれば、そのような画像を300dpiで表現するには
約20メガバイトのデータが必要とされ、600dpiで
表現するには約80メガバイトが必要となる。EMFス
プーリングの場合、OSは、アプリケーションからプリ
ンタ・ドライバに対して行われる呼び出しと共に、画像
を表現する20または80メガバイトのデータのコピー
をもスプールする。スプールされるファイルはディスク
に書き込まれる。再生の間、(20メガバイトの画像デ
ータを含む)スプールされたファイルがディスクから読
み戻され、プリンタ・ドライバに渡される。プリンタ・
ドライバがプリンタ画像を準備する際、一時的ファイル
が作成されディスクに書き込まれ、ディスクから読み戻
され、再びディスクへ書き込まれる等の動作が行われ
る。このようなディスク活動のすべては、OSの応答時
間および性能全体に影響を与える。ユーザは、非常に遅
いかまたは反応しないシステムに出会うこととなる。
【0009】
【発明が解決しようとする課題】以上の記述は、印刷ジ
ョブの処理の間に経験される隘路に焦点をあてたが、同
様の隘路は、画像処理に一般的に存在する。画像処理の
間にOSを通過するデータの量を最小にする方法および
システムが必要とされる。特に、印刷ジョブを一層効果
的に処理する方法およびシステムが必要とされる。更
に、印刷ジョブのような画像処理の間にOSがかかわる
ディスク活動を最小にすることもまた必要とされる。
【0010】
【課題を解決するための手段】本発明に従って、所望の
様相の画像を生成するために行われる画像処理は、画像
サーバに画像を登録することから始まる。画像サーバ
は、画像サーバ内で画像を識別するハンドルを返す。次
に、画像の所望の様相に従った画像処理要求が画像サー
バに送られる。次に、処理された画像が画像サーバから
取り出される。
【0011】本発明の1面において、ドキュメントを印
刷する方法およびシステムが提供される。この方法およ
びシステムは、ドキュメントを画像サーバに登録し、そ
の後ドキュメントを識別する識別子を該画像サーバから
受け取ることを含む。印刷されるべきドキュメントは、
ドキュメントの位置を特定するファイル記述子を画像サ
ーバに渡すことによって、画像サーバに登録される。フ
ァイル記述子は、典型的にはディスクに記憶されるドキ
ュメントのファイル名であるが、ドキュメントが記憶さ
れる共有メモリにおける位置を指し示すポインタでもよ
い。その後、印刷されるドキュメントの所望の様相を記
述する印刷パラメータとともに、上記識別子がプリンタ
・ドライバに渡される。ドキュメントを参照する識別子
を使用して、プリンタ・ドライバは、画像サーバに画像
処理要求を送り、その要求に応じて、画像サーバが印刷
パラメータに従ってドキュメントの画像を処理すること
によってプリンタ画像を形成する。最後に、プリンタ・
ドライバは、プリンタにダウンロードするために必要と
される画像データからのみ構成される処理済みプリンタ
画像を画像サーバから取り出す。
【0012】印刷の間システムを通過するデータ量は最
小限に保たれる。例えば、ある1つのプロセスのアドレ
ス空間から別のプロセスのアドレス空間にドキュメント
を表現する大量のデータをコピーする代わりに、識別子
が使用される。識別子はドキュメントを識別するのに役
立ち、それがドキュメントそのものではなくドキュメン
トの識別子であるので、通過するデータ量は顕著に減少
する。
【0013】本発明の別の特徴は、最終的プリンタ画像
を形成するために必要とされる画像部分だけが画像サー
バによってアクセスされる点である。このようにして、
ドキュメントに含まれる画像の取り扱いの量は最小限に
とどめられる。その結果、プリンタ画像の形成の間にデ
ィスクとの間で行われるデータ保存および読み出しのた
めのディスク活動が削減される。加えて、CPUに対す
る負荷も減少する。これは、ユーザがプリント・コマン
ドを出すターンアラウンド・タイムを迅速化しシステム
性能を向上させるという全般的効果を持つ。
【0014】本発明を実施するシステムにおいては、印
刷ジョブを始動するユーザ・アプリケーションは、画像
サーバおよびプリンタ・ドライバの両方とは分離独立し
て稼働する。同様に、OSがマルチタスクをサポートし
ている限り、画像サーバおよびプリンタ・ドライバは、
別々のプロセスとして、あるいは並列プロセスとして、
あるいは独立実行プロセスとして稼働することができ
る。画像サーバがドキュメントを登録するようにアプリ
ケーション(すなわち文書処理アプリケーション)から要
求を受け取ると、画像サーバは、他のプロセスがドキュ
メントにアクセスするのを防止するためドキュメントを
ロックする。これによって、画像サーバが所望のプリン
タ画像を生成している間のドキュメントの保全が保証さ
れる。しかしながら、その後ロック解除要求を受け取り
次第、画像サーバはドキュメントの一時的コピーを作成
して、オリジナルのロックを解くことができる。ドキュ
メントは、画像サーバによって先ず準備される識別子と
いう手段によって参照されているので、画像サーバの外
側のプロセスはコピーによって影響を受けない。
【0015】本発明の別の局面において、複数のアプリ
ケーションがロードされ、それぞれのアプリケーション
が印刷されるべきドキュメントを選択し、印刷ジョブを
始動することができる。同様に、複数のプリンタ・ドラ
イバをロードして、それらを独立したプログラム単位と
して実行させることも可能である。このようにして、多
数の種類のプリンタをサポートすることができる。その
ようなプリンタ・ドライバの各々は、その対応するプリ
ンタと通信する能力を持つようにプログラムされるか、
さもなければ、そのような構成に配置される。
【0016】本発明の更に別の局面において、画像サー
バおよびプリンタ・ドライバは、複数のネットワーク上
に存在するように構成できる。アプリケーションは画像
サーバまたはプリンタ・ドライバと同じコンピュータに
配置されることも、あるいは別のコンピュータに配置さ
れることもできる。これによって、1つのファイル・サ
ーバおよび複数のプリンタに関連して構成される複数の
ワークステーションを有するサイトを構成する場合、最
大限の柔軟性が与えられ、同時に本発明によって可能と
される性能上の利点が実現する。
【0017】本発明は、発明の課題を解決する手段とし
て、デジタル画像を取得するステップ、上記デジタル画
像の所望の様相を標示する変換パラメータを指定するス
テップ、上記デジタル画像を画像サーバに登録するステ
ップ、上記登録ステップに対する応答として上記画像サ
ーバから画像識別子ハンドルを受け取るステップ、上記
デジタル画像を識別する上記画像識別子と共に、上記変
換パラメータに従って上記デジタル画像の画像データの
上記所望の様相を生成するように画像処理要求を上記画
像サーバに送るステップ、および、生成された上記画像
データを上記画像サーバから取り出すステップからなる
画像処理方法を含む。
【0018】
【発明の実施の形態】本発明を実施するために考案され
た最良の形態が、図1のシステム・ブロック図に示され
ている。コンピュータ・システム40において、1つま
たは複数のユーザ・アプリケーション100、200
が、ユーザ・インターフェースを介してドキュメントを
生成し処理する。そのようなアプリケーションには、文
書処理プログラム、作図プログラム、表計算プログラ
ム、ドキュメント構成プログラム、写真画像プログラム
などが含まれる。本明細書で使用する用語「ユーザ」
は、アプリケーションと対話する人間か、または例えば
到来ファックスを自動的に受け取るファックス機の機能
を果たすソフトウェア、画像走査ソフトウェア、自動デ
ータ検索ソフトウェアなどのアプリケーションと対話す
る自動エージェントのいずれかとして定義される。アプ
リケーション100は、必要の都度データを記憶し取り
戻すためデータ記憶装置30へアクセスする。更に、デ
ータ記憶装置30には、アプリケーションのランダム・
アクセス・メモリ(RAM)のアドレス空間内の区域が含
まれ、それら共有メモリ内の異なる区域が参照される場
合もある。画像処理サーバ10は、画像内包ドキュメン
トを操作する画像処理能力を提供する。アプリケーショ
ン100、200は、画像サーバ・インターフェースを
経由して画像サーバ10と通信する(詳細は後述)。アプ
リケーションと同様に、画像サーバ10はデータ記憶装
置30へのアクセスを行う。
【0019】図1において、いくつかのアプリケーショ
ン100が、印刷装置22、24に接続するプリンタ・
ドライバ300と通信している。プリンタ・ドライバ3
00の各々は、特定のタイプのプリンタ装置に関して特
別にプログラムされる。例えば、プリンタ装置22がプ
ロッタであり、プリンタ装置24がレーザ・プリンタで
あるかもしれない。あるいはまた、プリンタ装置22、
24の両方がインクジェット式プリンタであるが製造業
者は異なり、プリンタ各々と通信できるドライバを必要
とするかもしれない。
【0020】本発明の1つの局面において、複数のプリ
ンタ・ドライバ300が、独立して実行するプログラム
単位としてロードされる。すなわちそれらプリンタ・ド
ライバの各々は独立プロセスである。プロセスの間の通
信は、RPC OLEおよびCOMのような周知のプロセス間通信
(すなわちinterprocess communicationでその頭文字を
とってIPCと呼ばれる)技術を介して提供される。ほ
とんどのオペレーティング・システム(OS)は少くとも
何らかの形式のマルチタスキングをサポートし、プロセ
ス間のIPCを提供する。代表的OSは、UNIX O
Sの多数の変形、マッキントッシュOS、ウィンドウズ
3.X、ウィンドウズ95およびマイクロソフトNTを
含む。当然のことながら、このリストは単に典型的例を
示すものであり、それらに制限する意図はない。本発明
は、IPCをサポートするその他のマルチタスキング・
システム上で効果的に実施することができる。
【0021】本発明に従って画像およびドキュメントを
印刷する場合の典型的実行ステップが図2の流れ図に示
されている。図2で示されるシーケンスは、図1で示さ
れるアプリケーション100およびプリンタ・ドライバ
300に対応する。最初に、ステップ60において、デ
ータ記憶装置30またはアプリケーション・ユーザによ
って与えられる入力からアプリケーション100がファ
イルに読み取ることによって、ドキュメントが取得され
る。ドキュメントは、ディスク上のファイル名またはド
キュメントが記憶されるメモリのアドレス・ポインタに
よって、識別される。ドキュメントの取得に加えて、ア
プリケーション100は、印刷されるドキュメントの所
望の様相を記述する印刷パラメータをユーザから取得す
る。
【0022】次に、ステップ62において、アプリケー
ション100は、ドキュメントのファイル名またはアド
レス・ポインタを画像サーバに送ることによって、ドキ
ュメントを画像サーバ10に登録する。上述のように、
アプリケーション100、200および画像サーバ10
は独立して実行するプロセスとすることもできる。従っ
て、各プロセスは、一般的に他のプロセスによって直接
アクセスされないそれ自身の論理アドレス空間を持つ場
合がある。このように、アプリケーションがアドレス・
ポインタを介してドキュメントを登録する場合、ドキュ
メントは少なくとも2つのプロセスによってアクセスさ
れることができる共有メモリ区域に置かれなければなら
ない。同様に、データは、動的連結ライブラリ(すなわ
ちDLL)を使用する場合のようにデータが1つのアド
レス空間に存在する時、アドレス・ポインタが使用され
る。
【0023】ドキュメント識別子を受け取り次第、画像
サーバ10は、アプリケーション100によって提供さ
れた識別子とは別に、ドキュメントを識別するハンドル
を作成する(ステップ64)。用語「ハンドル」は典型的
には特定のデータ構造を暗示するが、本明細書における
「ハンドル」という用語は、そのようなデータ構造に限
定するように意図されてはいない。むしろ、本明細書で
与えられる記述と整合する「ハンドル」のいかなる実施
も考慮されている。プロセスはステップ66へと進み、
画像サーバは、他のアプリケーションによるアクセスを
防止するためドキュメントをロックする。ドキュメント
・ハンドルおよびドキュメント・ロック機構によって、
ドキュメントが画像サーバによって処理されている間の
ドキュメントの保全および整合性が保証される。例え
ば、第2のアプリケーションがドキュメントを修正しよ
うとすると、その第2のアプリケーションは、先ず、画
像サーバにアンロック要求を送らなければならない。画
像サーバはその要求に応答して、ドキュメントから局所
的コピーを作成しオリジナルのロックを解く。その後画
像サーバはその局所的コピーを参照し、第2のアプリケ
ーションがアクセスできるようにオリジナルのドキュメ
ントを解放する。
【0024】続いて、アプリケーション100は、画像
サーバによって作成されたハンドルを受け取り(ステッ
プ68)、ハンドルおよび指定された印刷パラメータを
プリンタ・ドライバ300へ送る(ステップ90)。次
に、プリンタ・ドライバ300は、印刷パラメータに従
ってハンドルによって指定された画像を処理するように
画像サーバ10へ1つまたは複数の画像処理要求を送る
(ステップ70)。次に、プリンタ・ドライバは、処理さ
れた画像データを画像サーバから取り出し(ステップ7
2)、対応するプリンタ22、24へ取り出した画像デ
ータを送る(ステップ92)。最後に、ドキュメントのロ
ックが解かれる(ステップ74)。
【0025】画像サーバが上述のようにドキュメントの
局所的コピーを作成するとすれば、画像処理要求は局所
的コピーに向けられる。プリンタ・ドライバがドキュメ
ントを参照するためドキュメント・ハンドルを使用して
いるので、コピーするという事実はプリンタ・ドライバ
にとって完全に透過的である。印刷ジョブの完了次第、
画像サーバは局所的コピーを削除する。
【0026】一般的に、画像サーバ10は、本発明にお
いて画像処理操作の大部分を提供する。しかしながら、
画像サーバの処理能力をいかなるタイプのプリンタにも
従属しないような一般的処理に制限することが望ましい
場合もある。プリンタ特有の画像要件は、プリンタに送
られる最終的プリンタ画像を作成するためステップ72
において画像データを取り出し次第、プリンタ・ドライ
バによって実行することができる。
【0027】図2は、本発明をサポートしないシステム
における互換性問題に対処する付加的ステップ80乃至
84を含む。画像サーバ10へのドキュメント登録に先
立ち、アプリケーション100は、先ず、プリンタ・ド
ライバが画像サーバに対するインターフェースを有して
いるか否かを判断するためプリンタ・ドライバに照会を
送る。回答が否定的であれば、アプリケーションは従来
技術の印刷方法に従って処理を進める。これは、典型的
には、アプリケーションが印刷されるべきドキュメント
の装置独立ビットマップ(すなわちDIB)画像を生成し
(ステップ82)、引き続き行われる印刷のためそのDI
B画像をプリンタ・ドライバへ送る(ステップ84)こと
を意味する。しかしながら、プリンタ・ドライバが画像
サーバ・インターフェースをサポートしていれば、アプ
リケーションは、上述のようにステップ62乃至92を
通して処理を進める。
【0028】別の実施形態においては、本発明の方法
は、図2において60から72までの記号によって示さ
れるステップだけを含む。このシーケンスは、図1のア
プリケーション200に対応する。この代替実施形態
は、本発明の一般化であり、上述の印刷処理はその特別
ケースである。一般化された方法においては、アプリケ
ーション200自体が画像サーバと通信して、ドキュメ
ントに関する所望の画像処理演算処理を実行させる(ス
テップ70)。加えて、結果として生ずる処理された画
像データは必ずしも印刷されるというわけではなく、単
にデータ記憶装置30に記憶するだけの場合もあり、ま
たビデオ端末上に表示されることもある。
【0029】本発明を構成するコンポーネントを以下説
明する。多数のソフトウェア・モジュールが、本システ
ムの主要コンポーネントを構成する。従って、本発明を
実施するため、CおよびC++を含む多くの既存のプログ
ラミング言語を使用することができる。ソフトウェア・
モジュールの関数は、各モジュールに対するアプリケー
ション・プログラマ・インターフェース(すなわちAP
I)として定義され、特定の実施詳細は、APIを実施
するために必要とされる演算を実行するコードを単に作
成することにすぎない。しかしながら、場合によって
は、実際のOSという観点から演算を説明することが必
要かもしれない。そのような場合に必要とされる文脈を
準備するためにはウィンドウズ95オペレーティング・
システム環境が使用される。
【0030】図3に示されるように、アプリケーション
100は、典型的には、アプリケーション特有コード1
01、プリンタ・ドライバ300と通信するプリンタ・
ユーティリティ302、記憶装置30への読み書きを行
うI/Oユーティリティ32、および画像サーバ10と
通信する画像サーバ・ユーティリティ12を含む。アプ
リケーション特有コード101は、当然、アプリケーシ
ョンに従って変わる。上述の通り、アプリケーションに
は、文書処理、図面プログラム、表計算、デスクトップ
・パブリッシング・プログラムなどの種々のタイプが含
まれる。
【0031】プリンタ・ドライバ300は、印刷装置と
通信するドライバ特有コード301を含み、更に画像サ
ーバと通信する画像サーバ・ユーティリティを含む。印
刷装置に対する通信インターフェースを備えることに加
えて、ドライバ特有コード301は、プリンタに特有の
画像処理演算を実行する場合もある。従って、画像サー
バ10は、装置に依存しない画像処理演算だけを行えば
よい。
【0032】画像サーバ10は、I/Oユーティリティ
32に加えて、解像度変更、画像拡大縮小、切り取り、
赤目補正、回転、特徴抽出、輪郭強化などの画像処理操
作を実施する画像サーバ固有コード11を含む。そのよ
うな操作は、コンピュータ画像処理およびコンピュータ
・グラフィックス技術分野において周知のものである。
画像サーバは、JPEG、MPEG、GIF、TIFF
等々を含む多くのタイプの画像形式をサポートすること
ができるように設計される。どのようなタイプの形式が
画像サーバによってサポートされるかは、本発明にとっ
て重要ではなく、むしろ、形式の選択は、画像サーバに
要求される能力、コードの複雑さ、画像形式の複雑さ、
処理能力、記憶容量、操作環境、システム・コストなど
という要因の重さに依存する。
【0033】I/Oユーティリティ32は、ファイルの
オープン/クローズおよびファイルの読み書きを含む標
準的動作を実行する。そのような動作はソフトウェア業
界において十分理解されているものであるので、これ以
上の説明は必要ではない。
【0034】プリンタ・ユーティリティ302は、アプ
リケーション100がプリンタ・ドライバ300と通信
して印刷ジョブを始動することを可能にする。プリンタ
・ユーティリティには、プリンタ・ドライバ300が画
像サーバ・インターフェースをサポートしているか否か
をアプリケーション100が判断する(図2のステップ
80参照)ことを可能にする機能が含まれる。ウィンド
ウズ95の下では、これは、例えばIS_SUPPORTコード
(画像サーバ・サポート)に関するExtEscape()システム
呼び出しを行うことによって達成できる。画像サーバ1
0をサポートするプリンタ・ドライバ300は、IS_SUP
PORTコードを認識し、肯定的応答を行う。従って、ExtE
scape(QUERYESCSUPPORT, IS_SUPPORT)に対するシステム
呼び出しの戻り値は正である。そうでない場合は、画像
サーバがサポートされていないことを示す値であるゼロ
が戻される。
【0035】画像サーバがサポートされていなければ、
アプリケーションは、従来技術における現行の方法で処
理を続ける。すなわち、アプリケーションはDIB画像
を生成してプリンタ・ドライバ300にその画像を送
る。これはウィンドウズ95の下で、StretchDIBits()
システム呼び出しを行ってDIB画像へのポインタを渡
すことによって実行される。一方、プリンタ・ドライバ
が画像サーバをサポートしていれば、アプリケーション
は、画像に対するハンドルを取得し(図2のステップ6
8参照)、StretchDIBits()システム呼び出しを行ってD
IB画像の代わりにそのハンドルを渡す。
【0036】画像サーバ・ユーティリティ12は画像サ
ーバに対するインターフェースを定義する。このよう
に、画像処理操作は、ユーティリティに対して適切な呼
び出しを行うことによって達成される。画像サーバ・ユ
ーティリティに関するアプリケーション・プログラマ・
インターフェース(API)は後述される。これらのAP
lは、画像サーバの機能性を定義し、使用されるOSお
よびプログラミング言語に依存する画像サーバを実施す
る原始コードのサンプルを提供する必要性を取り除く。
当業者がAPIによって定義される関数を実施するコー
ドを生成することができる点は明白である。
【0037】上述のように、画像サーバ10は種々の画
像形式をサポートすることができる。画像サーバが画像
サーバ・ユーティリティ12を通してアクセスされるの
で、新しい形式が定義される都度、画像サーバは、追加
画像形式をサポートするように容易に拡張することがで
きる。画像サーバ・ユーティリティ12の存在は、画像
サーバを使用するアプリケーション/ドライバに対して
このような拡張を完全に透過的にするので、画像サーバ
が新しい画像形式をサポートするように更新される時、
後方互換性が維持される。
【0038】図3には、画像サーバ・ユーティリティに
対するAPI定義が示されている。図3は、ユーティリ
ティが、アプリケーション100とプリンタ・ドライバ
300の間に分けられていることを示している。しか
し、これは必ずしも必要であるというわけではない。特
定の用途に従って、リストされたユーティリティのすべ
てが1つのアプリケーション内に配置されることも、多
数のアプリケーションの間に分けられることもある。以
下にAPIをアルファベット順に記述する。
【0039】CloseImage 機能:画像ファイルの処理が完了したことを画像サーバ
に通知する。画像サーバは、画像ファイルのロックを解
き、他のプロセスによるそのファイルへのアクセスを可
能にする。 パラメータ: ・ihImageHandle−画像ファイルを識別する。 戻り値: ・TRUE(真)−関数が成功した。 ・ISE_NOTREGISTERED−ihImageHandleが現在登録されて
いる画像ファイルに対応しない。
【0040】ConfigureImage 機能:(形式オプションの)画像処理演算が画像に対して
実行されるべきことを画像サーバに通知する。 パラメータ: ・ihImageHandle−処理されるべき画像ファイルを識別
する。 ・ipImageProcOptions−所望の画像処理オプションを含
むデータ構造。 戻り値: ・TRUE−関数の成功。 ・ISE_FORMAT_NOTSUPPORTED−指定された形式は画像サ
ーバによってサポートされていない。 ・ISE_NOTREGISTERED−ihImageHandleが現在登録されて
いる画像ファイルに対応しない。
【0041】OpenImage 機能:画像処理演算が(ConfigureImage()によって)指定
された画像に関して実行されるべきことを画像サーバへ
通知する。 パラメータ: ・ihImageHandle−処理されるべき画像ファイルを識別
する。 戻り値: ・TRUE−関数の成功。画像サーバは、ihImageHandleに
対する画像処理要求を受ける準備ができている。 ・ISE_NOTREGISTERED−ihImageHandleが現在登録されて
いる画像ファイルに対応しない。
【0042】QueryFormatSupport 機能:指定された画像形式を画像サーバがサポートして
いるか否かを画像サーバに照会する。指定された画像形
式に関して画像サーバによってサポートされる追加処理
能力を示す情報が提供される。 パラメータ: ・dwImageFormat−当該画像形式。例えばTIFF、J
PEG、MPEG、GIF。 ・lpFormatData−画像サーバによって提供される追加処
理能力(例えば合成)を示すデータ構造へのポインタ。 戻り値: ・ISE_FORMAT_SUPPORTED−指定された形式が画像サーバ
によってサポートされている。lpFormatDataがヌルのポ
インタでなければ、追加形式機能が画像サーバによって
指定される。 ・ISE_FORMAT_NOTSUPPORTED−指定された形式は画像サ
ーバによってサポートされていない。
【0043】QueryImage 機能:指定された画像ファイルに関する情報を提供す
る。 パラメータ:ihImageHandle−情報が必要とされる画像
ファイルを識別する。 lpImageInfo−画像情報データ構造へのポインタ。画像
サーバによって記入される。 戻り値: ・TRUE−関数の成功。 ・ISE_NOTREGISTERED−ihImageHandleが現在登録されて
いる画像ファイルに対応しない。
【0044】RegisterImage 機能:指定された画像ファイルをロックしコピーして、
ロック/コピーした画像ファイルに対するプライベート
・ハンドルを戻す。ハンドルはファイルに対する以後の
アクセスにおいて使用される。 パラメータ: ・lpszImageFileName−画像ファイルのパス/ファイル
名を指す。別の方法としては、バッファへのポインタに
よって画像ファイルが渡される。この場合lpszImageFil
eNameはヌルのポインタである。 ・lpJobData−印刷装置の名前のような適切なジョブ・
データを含む構造をポイントする。 ・dwImageFormat−指定された画像ファイルの画像形式
を指定する。 ・lpImageHandle−(画像サーバによって生成される)画
像ハンドルがコピーされるバッファをポイントする。 ・lpImageData−画像ファイルを含むバッファをポイン
トする。別の方法としては、パス/ファイル名によって
画像ファイルは参照される。この場合lpImageDataはヌ
ルのポインタである。 ・lpImageDataHeader−lpImageDataによってポイントさ
れるデータの形式を定義するデータ構造をポイントす
る。lpImageDataがヌル・ポインタであればこれはヌル
・ポインタである。 ・dwOptions−画像ファイルが画像サーバに登録される
方法を指定する。有効な値は以下を含む。IS_TEMPFIL
E:lpszImageFileNameによって指定されるファイルは、
CloseImageへの呼び出しが行われる時画像サーバによっ
て削除されるべき一時的ファイルである。IS_COPYNOW:
lpszImageFileNameによって指定されるファイルは一時
的ファイルではなく、画像サーバは、ファイルをロック
するのではなく画像ファイルからコピーを作成しなけれ
ばならない。 戻り値: ・TRUE−関数の成功。lpImageHandleは、画像に関する
(画像サーバによって作成された)有効なハンドルをポイ
ントする。 ・ISE_OUTOFSPACE−要求された画像ファイル・コピーを
作成できない。lpImageHandleの内容は不確定。 ・ISE_FORMNOTSUPP−dwImageFormatで指定された形式は
この画像サーバ・バージョンではサポートされていな
い。
【0045】RetrieveImageBand 機能:ConfigureImage()に対する先行呼び出しの結果と
して画像サーバによって生成された処理画像の画像デー
タを要求する。 パラメータ: ・ihImageHandle−画像ファイルを識別する。 ・XSrc−画像サーバによって生成された画像データの所
望の部分のX座標(ピクセル単位)。 ・YSrc−画像サーバによって生成された画像データの所
望の部分のY座標(ピクセル単位)。 ・cxSrc−画像サーバによって生成された画像データの
所望の部分の幅(ピクセル単位)。 ・cySrc−画像サーバによって生成された画像データの
所望の部分の高さ(ピクセル単位)。 ・lpBandBuffer−画像サーバが生成された画像データの
要求部分を書き込むべきバッファを指すポインタ。 ・lpBandHeader−lpBandBufferに記憶されるべき画像デ
ータの形式を指定するデータ構造を指すポインタ。 戻り値: ・TRUE−関数は成功。 ・ISE_PROCERROR−画像サーバが処理エラーに遭遇。 ・ISE_NOTCONFIGURED−処理演算は実行されなかった。 ・ISE_NOTREGISTERED−ihImageHandleが現在登録されて
いる画像ファイルに対応しない。
【0046】UnlockImage 機能:lpszImageFileNameに関するファイルのロック
を、現在画像サーバによってロックされていれば、解除
する。この場合、画像サーバは画像ファイルから一時的
コピーを作成する。 パラメータ: ・lpszImageFileName−ロックを解除すべき画像ファイ
ルのファイル名。 戻り値: ・TRUE−関数の成功。lpszImageFileNameはロック解除
された。 ・ISE_OUTOFSPACE−lpszImageFileNameのロックを解除
するため画像ファイルのコピーを作成することができな
かった。画像ファイルは画像サーバによってロックされ
たままである。 ・ISE_NOTUNLOCK−lpszImageFileNameのロックを解除す
ることができなかった。これは、ファイルのロックが画
像サーバによって解除されなかったことを典型的に示
す。
【0047】以下の疑似コード(表1)は、上記の呼び出
しが典型的ドキュメント処理アプリケーションにおいて
どのように出現するかを示す。
【0048】
【表1】 : : /* JPEGがサポートされているか? */ dwImageFormat <-- JPEG画像形式 QueryFormatSupport( dwImageFormat, IpFormatData )
if( 戻り値 = = ISE_FORMAT_NOTSUPPORTED ) exit /* 画像ファイル登録 */ lpszImageFileName <-- ドキュメント・ファイル名 lpJobData <-- ユーザ指定プリンタ、プリンタ・オプシ
ョン dwImageFormat <-- JPEG画像形式 lpImageData <-- ヌル lpImageDataHeader <-- ヌル dwOptions <-- IS_COPYNOW /* ファイルをロックしない
*/ RegisterImage( IpszImageFileName,IpJobdata,dwImage
Format,lpImageHandle,lpImageData,lpImageDataHeade
r,dwOptions ) if( 戻り値 ! = 真 ) exit /* 印刷パラメータとともにプリンタ・ドライバにハン
ドル(lpImageHandle)を送る */ : :
【0049】以下の擬似コード(表2)は、画像サーバ・
ユーティリティがプリンタ・ドライバ・ソフトにどのよ
うに出現するかを示す。
【0050】
【表2】 : : /* 画像処理の開始を画像サーバに伝える */ ihlmageHandle <-- ユーザ・アプリケーションから受け
取った画像ハンドルOpenImage( ihlmageHandle ) if ( 戻り値 = = ISE_NOTREGISTERED )ユーザ・アプリ
ケーションにハンドル無効を通知する exit /* 画像処理を実行する */ すべての印刷パラメータ毎に以下を実行 iplmageProcOptions <-- 印刷パラメータ Configurelmage( inImageHandle,iplmageProcOptions ) if( 戻り値 = = ISE_FORMAT_NOTSUPPORTED )ユーザ・ア
プリケーションに印刷パラメータ無効を通知する exit 続行 /* 処理された画像の画像データを取得してプリンタに
送る */ XSrc <-- 処理画像の初期セグメントのX座標 YSrc <-- 処理画像の初期セグメントのY座標 cxSrc <-- 画像部分の幅 cySrc <-- 画像部分の高さ lpBandHeader <-- GIF形式の処理済み画像を取り出す 処理画像データのすべてのセグメントに関して以下を実
行 RetrieveImageBand( ihlmageHandle,Xsrc,Ysrc,cxSrc,c
ySrc,IpBandBuffer,IpBandHeader ) lpBandBufferによってポイントされるセグメントをプリ
ンタへ送る 処理画像の次のセグメントへ増分 Xsrc <-- 次のセグメントのX座標 Ysrc <-- 次のセグメントのY座標 続行 : : CloseImage( ihlmageHandle ) : :
【0051】本発明の1つの実施形態が図4に示されて
いる。図1に示されている本発明のコンポーネントが1
つのコンピュータに配置されているのに対して、図4で
は図1と同じコーンポーネントがネットワーク化された
複数のコンピュータに分散されている。コンピュータ4
2乃至48は1つのネットワーク50によって相互接続
されている。ネットワーク50は、LAN(ローカル・
エリア・ネットワーク)におけるイーサネット・バック
ボーンであっても、あるいはWAN(ワイド・エリア・
ネットワーク)における電話ネットワークであってもよ
い。より一般的には、コンピュータ42乃至48は、L
ANおよびWANのいくつかの組合せによって相互接続
されることができる。本発明は、どのようなネットワー
ク構成ででも実施することができ、特定の1つのアーキ
テクチャに限定されない。
【0052】各コンピュータは、ネットワーク・インタ
ーフェース52を経由してネットワーク上で通信する。
インターフェース52は、特定のコンピュータがネット
ワーク上の別のコンピュータにアクセスすることを可能
にするために必要とされるハードウェアおよびサーバ・
ソフトウェアを含む。上述のように、アプリケーション
100、画像サーバ10およびプリンタ・ドライバ30
0は別々のプロセスであり、それらプロセスの間の通信
は適切なIPCコールによって実行されるという点に注
意する必要がある。ネットワーク構成においては、これ
らプロセスがネットワークにわたって動作することがで
きるようにするため、IPC呼び出しは、同等の遠隔手
続き呼び出し(すなわちRPC)に置き換えられなければ
ならない。RPCの実施は一般には特定のOS能力に依
存するが、それはプログラミング分野の通常の技術を有
する者の知識範囲に入るものである。
【0053】図4は、ディスク・サーバの機能を果たす
コンピュータ44を示す。このディスク・サーバに本発
明の画像サーバ10が含まれる。また、プリンタ22、
24をドライブするプリンタ・ドライバ300'がディ
スク・サーバ44にロードされる。別の1つのコンピュ
ータ48は、主にプリンタ26、28のためのプリンタ
・サーバの役目を果たす。コンピュータ42上のユーザ
・アプリケーション100は、ディスク・サーバ44上
で動いているサーバ・ソフトウェアを経由してディスク
30上のファイルにアクセスすることができる。コンピ
ュータ46上で動いているユーザ・アプリケーション2
00は同様の形態で動作する。
【0054】本発明の諸コンポーネントが分散されてい
るとはいえ、本発明の動作は図1の形態と同じままであ
る。例えば、RegisterImage()呼び出しは、コンピュー
タ42上のアプリケーション100から始動され、ネッ
トワークをわたってコンピュータ44に送られ画像サー
バ10で処理される。画像サーバ10はハンドルを作成
し、アプリケーション100にハンドルを戻す。次に、
アプリケーション100は、コンピュータ44上のプリ
ンタ・ドライバ300'による印刷ジョブを始動させる
ためネットワークを通して通信する。この時点から、同
じコンピュータ44内で動作するプリンタ・ドライバ3
00'および画像サーバ10は、上述した形態と同様に
相互に対話しながら最終的プリンタ画像を生成する。代
替的形態としては、アプリケーション100は、コンピ
ュータ48上のプリンタ・ドライバ300"を用いる印
刷ジョブを始動することもできる。コンピュータ44上
のプリンタ・ドライバ300'と同様に、コンピュータ
48上のプリンタ・ドライバ300"は、画像サーバ1
0と画像処理要求について交渉する。しかしながら、コ
ンピュータ44上のプリンタ・ドライバ300'と相違
して、プリンタ・ドライバ300"はネットワークを通
して画像サーバ呼び出しについて交渉しなければならな
い。
【0055】本発明には、例として次のような実施様態
が含まれる。 (1)デジタル画像を取得するステップ(a)と、上記デ
ジタル画像の所望の様相を標示する変換パラメータを指
定するステップ(b)と、上記デジタル画像を画像サーバ
に登録するステップ(c)と、上記登録ステップ(c)に対す
る応答として上記画像サーバから画像識別子ハンドルを
受け取るステップ(d)と、上記デジタル画像を識別する
上記画像識別子と共に上記変換パラメータに従って上記
デジタル画像の画像データの所望の様相を生成するよう
に画像処理要求を上記画像サーバに送るステップ(e)
と、生成された上記画像データを上記画像サーバから取
り出すステップ(f)と、を含む画像処理方法。 (2)上記方法が、ユーザ・アプリケーションおよび上
記画像サーバを並列かつ独立に実行するプログラムとし
て1つのコンピュータにロードするステップを更に含
み、上記アプリケーションが上記(1)に記載のステッ
プ(a)乃至(f)を実行する、上記(1)に記載の画像処理
方法。 (3)上記方法が、第1および第2のユーザ・アプリケ
ーションを1つのコンピュータにロードするステップを
更に含み、上記第1のユーザ・アプリケーションが第1
のデジタル画像に関して上記ステップ(a)乃至(e)を実行
し、上記第2のユーザ・アプリケーションが第2のデジ
タル画像に関して上記ステップ(a)乃至(e)を実行する、
上記(1)または(2)に記載の画像処理方法。 (4)上記方法が第1のコンピュータにユーザ・アプリ
ケーションをロードし第2のコンピュータに上記画像サ
ーバをロードするステップを更に含み、上記ユーザ・ア
プリケーションが、上記ステップ(a)ないし(f)を実行す
る、上記(1)、(2)または(3)に記載の画像処理
方法。
【0056】(5)上記方法が、ユーザ・アプリケーシ
ョン、上記画像サーバおよびプリンタ・ドライバをそれ
ぞれ並列かつ独立に実行するプログラム単位としてロー
ドするステップを更に含み、上記プリンタ・ドライバが
第1のタイプのプリンタと通信し、上記ユーザ・アプリ
ケーションが上記ステップ(a)乃至(d)を実行し、上記方
法が更に上記ユーザ・アプリケーションから上記プリン
タ・ドライバへ上記画像ハンドルおよび変換パラメータ
を送るステップを含み、その後上記プリンタが上記ステ
ップ(d)を実行し、上記方法が上記プリンタ・ドライバ
から上記第1のタイプのプリンタへ上記画像データを送
るステップを更に含む、上記(1)(2)、(3)また
は(4)に記載の画像処理方法。 (6)上記方法が、並列かつ独立に実行するプログラム
とし上記コンピュータに第2のプリンタ・ドライバをロ
ードするステップを更に含み、上記第2のプリンタ・ド
ライバが第2のタイプのプリンタと通信するように構成
される、上記(5)に記載の画像処理方法。 (7)第1のコンピュータにユーザ・アプリケーション
をロードし、上記画像サーバおよび上記プリンタ・ドラ
イバを第2のコンピュータ上にロードするステップを更
に含む、上記(5)に記載の画像処理方法。
【0057】(8)ドキュメント処理アプリケーション
からドキュメントを印刷するシステムであって、ドキュ
メントの記憶位置を指定するドキュメント位置指定子を
有する複数のドキュメントを含む第1の記憶装置と、そ
れぞれ独立した実行プログラム単位である画像処理サー
バおよびプリンタ・ドライバと、を備え、上記画像処理
サーバが、上記ドキュメント位置指定子を受領次第上記
ドキュメント識別子によって指定されるドキュメントを
識別するドキュメント識別子を生成する電気回路を持
ち、該システムは更に、上記ドキュメント位置指定子の
うちの1つを上記画像処理サーバに通知するコード、上
記画像処理サーバから対応するドキュメント識別子を取
得するコード、および印刷パラメータおよび上記対応す
るドキュメント識別子を含むジョブ・パラメータを上記
プリンタ・ドライバに通知するコードを含む印刷ジョブ
始動コードを備え、上記プリンタ・ドライバが、上記印
刷パラメータに従って上記画像処理サーバに画像処理要
求を送るコードを含め、対応するドキュメント識別子に
よって識別されるドキュメントの画像データを操作する
コード、上記画像処理サーバから上記操作された画像デ
ータを取得するコード、および上記操作された画像デー
タを第1のタイプのプリンタに送るコードを有する、ド
キュメント印刷システム。 (9)上記ドキュメント処理アプリケーション、画像処
理サーバおよびプリンタ・ドライバが、単一のコンピュ
ータに配置される、上記(8)に記載のドキュメント印
刷システム。
【0058】
【発明の効果】本発明に従ったドキュメント識別子の使
用によって、印刷の間システムを通過するデータ量は最
小限に保たれる。また、本発明によって、最終的プリン
タ画像を形成するために必要とされる画像部分だけが画
像サーバによってアクセスされるので、ドキュメントに
含まれる画像の取り扱い量は最小限にとどめられる。こ
の結果、プリンタ画像の形成の間にディスクとの間で行
われるデータ保存および読み出しのためのディスク活動
が削減され、CPUに対する負荷も減少し、従って、全
般的システム性能が向上するという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施形態のシステムを示すブロック図
である。
【図2】ドキュメント処理の際の本発明に従う典型的事
象シーケンスを示すブロック図である。
【図3】本発明のシステムのソフトウェア・コンポーネ
ントの間のインターフェースを示すブロック図である。
【図4】ネットワーク構成に配置された本発明のシステ
ムを示すブロック図である。
【符号の説明】
10 画像サーバ 11 画像ドライバ特有コード 12 画像サーバ・ユーティリティ 22、24、26、28 プリンタ 30 データ記憶装置 32 I/Oユーティリティ 40、42、44、46、48 コンピュータ・シス
テム 50 ネットワーク 52 ネットワーク・インターフェース 100、200 アプリケーション 101 アプリケーション特有コード 300、300'、300" プリンタ・ドライバ 301 ドライバ特有コード 302 プリンタ・ユーティリティ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・チョウ アメリカ合衆国92128カリフォルニア州サ ン・ディエゴ、ゲーブル・リッヂ・ロード 14844 (72)発明者 サチン・ネイク アメリカ合衆国92122カリフォルニア州サ ン・ディエゴ、カミント・ディア 7949、 ナンバー 4

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】デジタル画像を取得するステップと、 上記デジタル画像の所望の様相を標示する変換パラメー
    タを指定するステップと、 上記デジタル画像を画像サーバに登録するステップと、 上記登録ステップに対する応答として上記画像サーバか
    ら画像識別子ハンドルを受け取るステップと、 上記デジタル画像を識別する上記画像識別子と共に、上
    記変換パラメータに従って上記デジタル画像の画像デー
    タの上記所望の様相を生成するように画像処理要求を上
    記画像サーバに送るステップと、 生成された上記画像データを上記画像サーバから取り出
    すステップと、を含む画像処理方法。
JP33137997A 1996-12-09 1997-12-02 画像処理方法 Pending JPH10248014A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/767,126 US5867633A (en) 1996-12-09 1996-12-09 Method and apparatus for processing and printing documents
US767,126 1996-12-09

Publications (1)

Publication Number Publication Date
JPH10248014A true JPH10248014A (ja) 1998-09-14

Family

ID=25078554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33137997A Pending JPH10248014A (ja) 1996-12-09 1997-12-02 画像処理方法

Country Status (4)

Country Link
US (1) US5867633A (ja)
EP (1) EP0847002B1 (ja)
JP (1) JPH10248014A (ja)
DE (1) DE69712592T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013750A1 (en) * 2002-08-05 2004-02-12 Canon Kabushiki Kaisha Image supply apparatus, control method therefor, and printing system
JP2010140281A (ja) * 2008-12-11 2010-06-24 Canon Inc アプリケーションプログラムとプリンタドライバとの間のデータ通信方法およびプログラム
US8102558B2 (en) 2002-08-05 2012-01-24 Canon Kabushiki Kaisha Image supply apparatus, control method therefor, and printing system

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
JP3890132B2 (ja) * 1997-01-31 2007-03-07 キヤノン株式会社 ネットワークサーバ及び画像処理方法
US6018774A (en) 1997-07-03 2000-01-25 Yobaby Productions, Llc Method and system for creating messages including image information
US6184998B1 (en) * 1997-09-15 2001-02-06 Canon Kabushiki Kaisha Adding printing to the windows registry
EP0907274B1 (en) * 1997-09-25 2005-11-16 Alcatel System with printing faculties for exchanging data between a terminal and access means
US6097499A (en) * 1997-11-14 2000-08-01 Lexmark International, Inc. Methods and apparatus for isochronous printing with minimal buffering
US6003069A (en) * 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US6421748B1 (en) * 1998-03-04 2002-07-16 Nadio.Com, Inc. System and method for a universal output driver
JP3800380B2 (ja) * 1998-07-21 2006-07-26 セイコーエプソン株式会社 プリントシステム及びプリンタ
JP3788050B2 (ja) 1998-07-22 2006-06-21 セイコーエプソン株式会社 プリントシステム、プリンタ及びプリントサーバ
US6775023B1 (en) 1999-07-30 2004-08-10 Canon Kabushiki Kaisha Center server, information processing apparatus and method, and print system
EP0977113A3 (en) 1998-07-31 2005-06-08 Canon Kabushiki Kaisha Center server, information processing apparatus and method, and print system
US6563598B1 (en) 1999-09-07 2003-05-13 Hewlett-Packard Development Company, L.P. Method and apparatus for digital document control
US7124094B1 (en) 1999-10-27 2006-10-17 Konica Corporation Print system, service system, data server, master server, print client system and printer
US7020843B2 (en) * 1999-11-30 2006-03-28 Uhc Llc Method and system for implementing a browser object container
US6606103B1 (en) 1999-11-30 2003-08-12 Uhc Llc Infinite resolution scheme for graphical user interface object
US6781710B1 (en) 2000-03-27 2004-08-24 Hewlett-Packard Development Company, L.P. Print job capture subsystem with pass-through support
US6381343B1 (en) * 2000-04-07 2002-04-30 Lotsadots, Inc. Remote print press proofing system
CA2315270A1 (en) 2000-08-04 2002-02-04 Charon Systems Inc. Printer driver system for remote printing
CN1339739A (zh) * 2000-08-17 2002-03-13 惠普公司 带有自动调整拷贝插入件的文件传递系统
US6992782B1 (en) 2000-09-13 2006-01-31 Canon Kabushiki Kaisha Scalable vector graphics print driver
US20020059415A1 (en) 2000-11-01 2002-05-16 Chang William Ho Manager for device-to-device pervasive digital output
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US11467856B2 (en) * 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US7953818B2 (en) 2000-11-20 2011-05-31 Flexiworld Technologies, Inc. Output device and system for rendering digital content
US7023566B2 (en) * 2000-12-12 2006-04-04 Xerox Corporation Page description language on demand printing
US7636757B2 (en) * 2000-12-15 2009-12-22 Canon Kabushiki Kaisha Printing over the internet
US6967735B2 (en) * 2001-04-06 2005-11-22 Agfa Corporation Enhanced networked pre-press imaging
US20020099884A1 (en) 2001-01-19 2002-07-25 Chang William Ho Output controller systems and method for universal data output
JP4269532B2 (ja) * 2001-03-30 2009-05-27 ブラザー工業株式会社 データ解析プロバイダシステム、データ解析プロバイダ、データ解析方法及びデータ解析プログラム
US7324220B1 (en) 2001-07-09 2008-01-29 Lexmark International, Inc. Print performance under the windows® operating system
US7113299B2 (en) * 2001-07-12 2006-09-26 Canon Development Americas, Inc. Printing with credit card as identification
US7227658B2 (en) * 2001-08-01 2007-06-05 Canon Kabushiki Kaisha Content management in a broadband printing system
US7259881B2 (en) * 2001-10-03 2007-08-21 Kabushiki Kaisha Toshiba Method of monitoring multiple controller families
US7315824B2 (en) * 2001-12-04 2008-01-01 Canon Development Americas, Inc. Internet printing by hotel guests
US7253915B2 (en) * 2002-03-07 2007-08-07 Canon Kabushiki Kaisha Creating a locally managed instance of a network printer
US20030184783A1 (en) * 2002-03-28 2003-10-02 Toshiba Tec Kabushiki Kaisha Modular layer for abstracting peripheral hardware characteristics
US20030200291A1 (en) * 2002-04-23 2003-10-23 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7689673B2 (en) * 2002-04-23 2010-03-30 Canon Kabushiki Kaisha Remote creation of printer instances on a workstation
US7213060B2 (en) * 2002-04-23 2007-05-01 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7218410B2 (en) * 2002-06-05 2007-05-15 Sharp Laboratories Of American Inc. Driverless, selectable multi-option tiff printing
US7908401B2 (en) 2002-12-12 2011-03-15 Flexiworld Technology, Inc. Method and device for wireless communication between computing devices
CN101208657B (zh) * 2003-04-11 2017-11-14 富意科技 一种便携式集成电路存储设备及其运行方法
JP4458929B2 (ja) * 2003-07-16 2010-04-28 キヤノン株式会社 プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム
US8238665B2 (en) * 2008-12-11 2012-08-07 Hewlett-Packard Development Company, L.P. Processing of printed documents
US9081412B2 (en) 2010-07-31 2015-07-14 Hewlett-Packard Development Company, L.P. System and method for using paper as an interface to computer applications
US9135512B2 (en) 2011-04-30 2015-09-15 Hewlett-Packard Development Company, L.P. Fiducial marks on scanned image of document
US9098217B2 (en) 2013-03-22 2015-08-04 Hewlett-Packard Development Company, L.P. Causing an action to occur in response to scanned data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220674A (en) * 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
EP0385009A1 (en) * 1989-03-03 1990-09-05 Hewlett-Packard Limited Apparatus and method for use in image processing
US5303336A (en) * 1990-05-14 1994-04-12 Hitachi, Ltd. Printing system including print server
US5617518A (en) * 1990-11-13 1997-04-01 Hitachi, Ltd. Output control method and system of servers
JP2773519B2 (ja) * 1992-02-28 1998-07-09 富士ゼロックス株式会社 画像処理システム
US5586241A (en) * 1993-06-10 1996-12-17 Hewlett-Packard Company Method and system for creating, specifying, and generating parametric fonts
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
US5559933A (en) * 1994-04-22 1996-09-24 Unisys Corporation Distributed enterprise print controller
US5699495A (en) * 1994-07-27 1997-12-16 Microsoft Corporation Point-and-print in a distributed environment
JP3534331B2 (ja) * 1994-08-09 2004-06-07 ゼロックス コーポレイション ネットワークインタフェースを使用して多種のローカル及びリモートソースから多セグメント印刷ジョブを構築する方法
US5619649A (en) * 1995-06-12 1997-04-08 Xerox Corporation Network printing system for programming a print job by selecting a job ticket identifier associated with remotely stored predefined document processing control instructions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013750A1 (en) * 2002-08-05 2004-02-12 Canon Kabushiki Kaisha Image supply apparatus, control method therefor, and printing system
CN1318950C (zh) * 2002-08-05 2007-05-30 佳能株式会社 图像提供设备及其控制方法,打印系统
US8102558B2 (en) 2002-08-05 2012-01-24 Canon Kabushiki Kaisha Image supply apparatus, control method therefor, and printing system
JP2010140281A (ja) * 2008-12-11 2010-06-24 Canon Inc アプリケーションプログラムとプリンタドライバとの間のデータ通信方法およびプログラム
US9298522B2 (en) 2008-12-11 2016-03-29 Canon Kabushiki Kaisha Method of data communication between application program and printer driver, and program therefor

Also Published As

Publication number Publication date
EP0847002A1 (en) 1998-06-10
DE69712592T2 (de) 2002-08-29
EP0847002B1 (en) 2002-05-15
DE69712592D1 (de) 2002-06-20
US5867633A (en) 1999-02-02

Similar Documents

Publication Publication Date Title
JPH10248014A (ja) 画像処理方法
US6456388B1 (en) Printer enclosing network computer and computer network system employing the same
US5566278A (en) Object oriented printing system
US5602974A (en) Device independent spooling in a print architecture
US6965958B1 (en) Searching for printers over a network using intermediate print data
US7266761B2 (en) Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document
US6662270B1 (en) System and method for caching of reusable objects
US6313920B1 (en) System and method for remote printing using incremental font subsetting
US5857064A (en) System for imaging complex graphical images
US5617518A (en) Output control method and system of servers
JPH0934670A (ja) 画像形成装置
JP2519001B2 (ja) タスク制御サブシステム及びタスクの処理の調整方法
US6317115B1 (en) System, apparatus and method in which a high resolution image editor is connected to a host computer for processing low resolution image data
JP2000207150A (ja) 印刷システム
EP1008926A2 (en) Event-based printing
US6693635B1 (en) System and method performing image processing of image data of low resolution and arranging image data of high resolution
US20030227644A1 (en) Methods and systems for driver independent customized printing
US7710602B2 (en) Systems and methods for context-based adaptive image processing using segmentation
US6734987B1 (en) Printer driver for generating a reduced printer description file
US7073131B2 (en) Group composition store
JP3740179B2 (ja) 画像表示制御装置とその方法および画像表示制御システム
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US20140071473A1 (en) Generic Secondary Resource Referencing Mechanism
JP3528976B2 (ja) 情報出力装置
JP2002202874A (ja) 情報処理装置および印刷制御装置およびデータ処理方法および記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070619