(57)【特許請求の範囲】
【請求項１】
ホストコンピュータとネットワークを介して通信可能な印刷制御装置であって、
前記ホストコンピュータにおいて生成された、印刷データの属性のデータであると特定できる属性部が付されたパケットで、印刷データの属性のデータを含む第１パケットを受信する受信手段と、
前記受信手段により、出力すべき印刷データであると特定できる属性部を含む第２パケットを受信した場合に、前記第２パケットから取り出される印刷データの処理を前記第１パケットに含まれる属性のデータに基づき行う処理手段とを有することを特徴とする印刷制御装置。
【請求項２】
前記印刷データの属性には印刷データの種別が含まれており、前記処理手段は前記印刷データの種別に基づき前記第２パケットから取り出される印刷データの変換処理を行うことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
プリンタにおけるステータスを、ステータスであると特定できる属性部が付されたステータスパケットに変換するパケット生成手段と、
前記パケット生成手段により生成されたステータスパケットを前記ホストコンピュータに送信する送信手段とを有することを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項４】
プリンタにおけるステータスをステータスパケットに変換するパケット生成手段と、
前記パケット生成手段により生成されたステータスパケットを前記ホストコンピュータに送信する送信手段とを有し、前記ホストコンピュータでは前記ステータスパケットに従ったメッセージの出力が行なわれることを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項５】
前記第１パケットには出力すべき頁数の情報が含まれており、前記パケット生成手段は前記頁数の出力が正常に行われたことに応じてスタースをパケット化し、前記送信手段は前記パケット化されたステータスを前記ホストコンピュータに送信することを特徴とする請求項３又は４に記載の印刷制御装置。
【請求項６】
前記第１パケットに含まれる印刷データの属性として部数が指定され、前記部数の出力が正常になされた場合に、前記送信手段は、前記パケット生成手段により生成された前記部数の出力が正常になされたことを示すステータスのパケットを前記ホストコンピュータへ送信し、さらに、印刷エンジンに転送されるデータに対応する記憶手段に記憶された印刷データの消去を行なう消去手段を有することを特徴とする請求項３から５の何れかに記載の印刷制御装置。
【請求項７】
前記第１パケットには印刷制御装置に対する処理要求の内容を示す情報が含まれており、前記処理手段は前記第１パケットに含まれる処理要求の内容を示す情報に基づく処理を切替え行うことを特徴とし、前記処理要求にはスキャニング要求、或いは、プリント要求、或いは、画像処理要求が含まれることを特徴とする請求項１から６の何れかに記載の印刷制御装置。
【請求項８】
前記印刷データの属性のデータであると特定できる属性部は、印刷データの属性のデータであると特定できるタグであり、前記印刷データであると特定できる属性部は、印刷データであると特定できるタグであることを特徴とする請求項１から７の何れかに記載の印刷制御装置。
【請求項９】
前記印刷データの処理は、印刷データの出力処理であることを特徴とする請求項１から８の何れかに記載の印刷制御装置。
【請求項１０】
前記印刷データの属性には、前記第２パケットから取り出される印刷データの出力処理の属性が含まれることを特徴とする請求項１から９の何れかに記載の印刷制御装置。
【請求項１１】
前記印刷データの出力処理の属性には、同じ画像を複数印刷することを示す情報が含まれることを特徴とする請求項１０に記載の印刷制御装置。
【請求項１２】
前記印刷データの属性には、プリントにおける画像処理の設定が含まれ、前記処理手段は、前記画像処理の設定に基づき画像処理を行なうことを特徴とする請求項１から１１の何れかに記載の印刷制御装置。
【請求項１３】
ホストコンピュータとネットワークを介して通信可能な印刷制御装置における印刷制御方法であって、
前記ホストコンピュータにおいて生成された、印刷データの属性のデータであると特定できる属性部を含むパケットで、印刷データの属性のデータを含む第１パケットを受信する第１受信ステップと、
出力すべき印刷データであると特定できる属性部を含む第２パケットを受信する第２受信ステップと、
前記第２受信ステップにおいて受信した前記第２パケットから取り出される印刷データの処理を前記第１パケットに含まれる属性のデータに基づき行う処理ステップとを有することを特徴とする印刷制御方法。
【請求項１４】
前記印刷データの属性には印刷データの種別が含まれており、前記処理ステップは前記印刷データの種別に基づき前記第２パケットから取り出される印刷データの変換処理を行うことを特徴とする請求項１３に記載の印刷制御方法。
【請求項１５】
プリンタにおけるステータスを、ステータスであると特定できる属性部が付されたステータスパケットに変換するパケット生成ステップと、
前記パケット生成ステップにおいて生成されたステータスパケットを前記ホストコンピュータに送信する送信ステップとを有することを特徴とする請求項１３又は１４に記載の印刷制御方法。
【請求項１６】
プリンタにおけるステータスをステータスパケットに変換するパケット生成ステップと、
前記パケット生成ステップにおいて生成されたステータスパケットを前記ホストコンピュータに送信する送信ステップとを有し、前記ホストコンピュータでは前記ステータスパケットに従ったメッセージの出力が行なわれることを特徴とする請求項１３又は１４に記載の印刷制御方法。
【請求項１７】
前記第１パケットには出力すべき頁数の情報が含まれており、パケット生成ステップは前記頁数の情報の出力が正常に行われたことに応じてスタースをパケット化し、前記送信ステップは前記パケット化されたステータスを前記ホストコンピュータに送信することを特徴とする請求項１５又は１６に記載の印刷制御方法。
【請求項１８】
前記第１パケットに含まれる印刷データの属性として部数が指定され、前記部数の出力が正常になされた場合に、前記送信ステップは、前記パケット生成ステップにおいて生成された前記部数の出力が正常になされたことを示すステータスのパケットを前記ホストコンピュータへ送信し、さらに、印刷エンジンに転送されるデータに対応する記憶部に記憶された印刷データの消去を行なう消去ステップを有することを特徴とする請求項１６又は１７に記載の印刷制御方法。
【請求項１９】
前記第１パケットには印刷制御装置に対する処理要求の内容を示す情報が含まれており、前記処理ステップは前記第１パケットに含まれる処理要求の内容を示す情報に基づく処理を切替え行うことを特徴とし、前記処理要求にはスキャニング要求、或いは、プリント要求、或いは、画像処理要求が含まれることを特徴とする請求項１３から１８の何れかに記載の印刷制御方法。
【請求項２０】
前記印刷データの属性のデータであると特定できる属性部は、印刷データの属性のデータであると特定できるタグであり、前記印刷データであると特定できる属性部は、印刷データであると特定できるタグであることを特徴とする請求項１３から１９の何れかに記載の印刷制御方法。
【請求項２１】
前記印刷データの処理は、印刷データの出力処理であることを特徴とする請求項１３から２０の何れかに記載の印刷制御方法。
【請求項２２】
前記印刷データの属性には、前記第２パケットから取り出される印刷データの出力処理の属性が含まれることを特徴とする請求項１３から２１の何れかに記載の印刷制御方法。
【請求項２３】
前記印刷データの出力処理の属性には、同じ画像を複数印刷することを示す情報が含まれることを特徴とする請求項２２に記載の印刷制御方法。
【請求項２４】
前記印刷データの属性には、プリントにおける画像処理の設定が含まれ、前記処理ステップは、前記画像処理の設定に基づき画像処理を行なうことを特徴とする請求項１３から２３の何れかに記載の印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置及びその制御方法に関する。
【背景技術】
【０００２】
ネットワークを介してホストと接続されると共に、複数のプリンタと接続されて、ホストから指定されたプリンタに対して、ホストから送信された印刷データをプリンタに転送する印刷制御装置が特許文献１において知られている。
【０００３】
また、ＬＡＮなどの資源共有システムの出力機能を利用するプリントシステムが従来から知られており、例えば特許文献２には、ＬＡＮを介して端末からプリントサーバに出力コマンドをＴＣＰヘッダやＩＰヘッダにくるみ送信する技術が知られている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
最近では、ネットワーク化が進んでおり、インテリジェントビルなどの全体にＬＡＮをはりめぐらした大規模なネットワーク化が進んでいる。さらには、ＷＡＮ（ワイドエリアネットワーク）のような、公衆回線でＬＡＮを直結した全国規模のネットワーク、さらにＩＳＤＮなどの高度情報網が整備されつつあり、そのような中で、ホストコンピュータとネットワークを介して通信可能な印刷制御装置においてより効率的な画像処理に係る処理が望まれる。しかしながら、特許文献１や２に開示されるように、従来の印刷データ或いは印刷制御コマンドにおいては、データを受信した印刷制御装置は受信したデータが何であるかを特定するべく多大な解析処理をする必要があり、例えば、受信したデータが印刷データであるか印刷制御コマンドであるかを特定するにも多大な解析処理を行う必要があり、より印刷制御装置の処理を迅速に行えるような仕組みが望まれる。
【課題を解決するための手段】
【０００５】
かかる目的を達成するため、本発明では、ホストコンピュータとネットワークを介して通信可能な印刷制御装置であって、前記ホストコンピュータにおいて生成された、印刷データの属性のデータであると特定できる属性部が付されたパケットで、印刷データの属性のデータを含む第１パケットを受信する受信手段と、前記受信手段により、出力すべき印刷データであると特定できる属性部を含む第２パケットを受信した場合に、前記第２パケットから取り出される印刷データの処理を前記第１パケットに含まれる属性のデータに基づき行う処理手段とを有する仕組みを提供することを目的とする。
【発明の効果】
【０００７】
本発明によれば、ホストコンピュータとネットワークを介して通信可能な印刷制御装置において、前記ホストコンピュータにおいて生成された、印刷データの属性のデータであると特定できる属性部が付されたパケットで、印刷データの属性のデータを含む第１パケットを受信する受信手段と、前記受信手段により、出力すべき印刷データであると特定できる属性部を含む第２パケットを受信した場合に、前記第２パケットから取り出される印刷データの処理を前記第１パケットに含まれる属性のデータに基づき行う処理手段とを備えているので、受信したデータが何についてかを迅速に識別可能で、印刷制御装置の処理の迅速化を促す。
【０００８】
例えば、ネットワーク環境下において、複数のホストコンピュータから様々な形式或いは用途のデータが送信されてくる場合でも、送信されてきたデータが何であるかを特定するために、送信されてきたデータの全ての情報を解析する場合にくらべて、印刷制御装置の処理の迅速化を促すことが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を好ましい実施例を用いて説明する。
【００１０】
図１において、１０１はホストコンピュータ、１０２はスキャナプリンタサーバー、１０３ａ〜１０３ｂは各種スキャナ、１０４ａ〜１０４ｄは各種プリンタ、１０５はイーサネット（Ｒ）である。
【００１１】
１０６はクライアントロプロセス、１０７はサーバープロセス、また、１０８はＤＡＴＡ（画像データ信号）、１０９はＶＳＹＮＣ（垂直同期信号）、１１０はＨＳＹＮＣ（水平同期信号）、１１１はＣＬＯＣＫ（クロック信号）、１１２はＳ．ＣＯＭ（スキャナシリアルコマンド信号）、１１３はＰ．ＣＯＭ（プリンタシリアルコマンド信号）を表す。
【００１２】
また、ＤＡＴＡ（画像データ信号）１０８、ＶＳＹＮＣ（垂直同期信号）１０９、ＨＳＹＮＣ（水平同期信号）１１０、ＣＬＯＣＫ（クロック信号）１１１を一括してＶｉｄｅｏＩ／Ｆと呼ぶ。
【００１３】
１０３ｂ、１０４ｂのスキャナプリンタとの接続の場合はＳＣＳＩ、１０４ｃのプリンタの接続の場合はセントロニクスＩ／Ｆ、１０４ｄの接続の場合はＲＳ２３２Ｃのように、複数の種類の違うインターフェースに異なったスキャナプリンタとの接続の構成を示す。一般的にＳＣＳＩに接続される機器はスキャナとプリンタ両方の形態があり、セントロニクスＩ／Ｆ、ＲＳ２３２Ｃはプリンタが接続される場合が多い。このようなＩ／Ｆに接続されるスキャナやプリンタは、内蔵機能がまちまちである。
【００１４】
ＶｉｄｅｏＩ／Ｆの場合は、主に生画像データのやり取を行なうインターフェースであるため、接続されるスキャナやプリンタはページ記述言語の展開機能や圧縮伸長機能を持たないものが多い。
【００１５】
以下、スキャナは１０３、プリンタは１０４で総称し、インターフェースはＶｉｄｅｏＩ／Ｆを例に挙げて説明する。
【００１６】
ホストコンピュータ１０１には、各種スキャナ１０３ａ〜１０３ｂ、またはプリンタ１０４ａ〜１０４ｄを制御するためのクライアントプロセス１０６を実行させる。
【００１７】
スキャナプリンタサーバー１０２においては、該クライアントプロセス１０６の制御に基づいてスキャナ１０３（以下１０３ａ〜１０３ｂの総称とする）、プリンタ１０４（以下１０４ａ〜１０４ｄの総称とする）を制御するサーバープロセス１０７を実行させておく。
【００１８】
クライアントプロセス１０６は、イーサネット（Ｒ）１０５を介して、サーバープロセス１０７に対して通信を行ない、スキャナ１０３からの画像の読みとり、およびプリンタ１０４への画像のプリントを行なう。また、スキャナ１０３とプリンタ１０４間の単独でのコピーも可能である。
【００１９】
図２はスキャナプリンタサーバー１０２の構成図である。
【００２０】
２０１はＣＰＵ、２０２はイーサネット（Ｒ）コントローラ、２０３はＲＡＭ、２０４はＲＯＭ、２０５、２０６はデュアルポートラム、２０７はシリアルインターフェース、２０８はタイミング制御回路、２０９はメインバス、２１０はデータバス、２１１はディスクインターフェース、２１２はハードディスク、２１３は符号化、復号化回路、２１４はページ記述言語を展開するためのインタプリンタを示す。
【００２１】
スキャナプリンタサーバー１０２を起動すると、ＣＰＵ２０１は、ＲＯＭ２０４のプログラムを起動して、ＲＡＭ２０３を一時記憶場所として、サーバプロセス１０７を実行する。このとき、イーサネット（Ｒ）コントローラ２０２でイーサネット（Ｒ）１０５に接続し、ホストコンピュータ１０１のクライアントプロセス１０６と通信できる。
【００２２】
シリアルインターフェース２０７は、スキャナプリンタサーバー１０２と、スキャナ１０３、プリンタ１０４とのコマンドの通信をシリアルで行なう。
【００２３】
デュアルポートラム２０５、２０６は、メインバス２０９と、データバス２１０の両方からアクセスできる。これらのデュアルポートラム２０５、２０６は、タイミング制御回路２０８によってコントロールされ、スキャナ１０３、プリンタ１０４間のデータ転送をデュアルバッファ方式で転送する。この時の転送は同期式で行なわれ、ＶＳＹＮＣ（垂直同期信号）１０９、ＨＳＹＮＣ（水平同期信号）１１０、ＣＬＯＣＫ（クロック信号）１１１信号で同期がとられる。
【００２４】
シリアルインターフェース２０７は、スキャナ１０３とのコマンドをＳ．ＣＯＭ（スキャナシリアルコマンド信号）１１２でシリアル伝送で通信する。同様にプリンタ１０４とのコマンドをＰ．ＣＯＭ（プリンタシリアルコマンド信号）１１３でシリアル伝送で通信する。
【００２５】
このデータとしては、スキャナプリンタサーバー１０２からスキャナ１０３へは、プリスキャン命令、スキャン命令などを送る。また、スキャナ１０３側からは、コピー命令や、動作異常などのステータス情報などが送られる。同様に、スキャナプリンタサーバー１０２からプリンタ１０４へは、プリント命令などを送る。また、プリンタ１０４側からは、紙切れ、紙ジャム動作異常などのステータス情報などが送られる。
【００２６】
ディスクインターフェース２１１は、ハードディスク２１２とのインターフェースを行なう。
【００２７】
符号化、復号化回路２１３は、スキャナ１０３から読み込んだデータを符号化する。また、イーサネット（Ｒ）１０５より送られてきた符号化された画像データを復号化する。この符号化方法としては、ＡＤＣＴ法などがある。
【００２８】
ＡＤＣＴ符号化法は、ＣＣＩＴＴＳＧＶＩＩＩとＩＳＯ／ＴＣ９７／ＳＣ２／ＷＧ８の合同機関であるＪＰＥＧ（ｊｏｉｎｔＰｈｏｔｏｇｒａｐｉｃｓＥｘｐｅｒｔＧｒｏｕｐ）が１９９１年の正式勧告を目指して標準化作業を進めているカラー静止画用符号化方式である（日経エレクトロニクス１９９０．３．１９参照）。
【００２９】
インタープリタ２１４は、ＰＤＬ（ＰａｇｅＤｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を翻訳して、デュアルポートラム２０５、２０６にビットマップあるいはバイトマップで画像を展開して、プリンタ１０４にプリントする手段である。このＰＤＬには、ＰｏｓｔＳｃｒｉｐｔ、ＣａＰＳＬ（ＣＡｎｏｎｐｒｉｎｔｉｎｇＳｙｓｔｅｍＬａｎｇｕａｇｅ）などがある。
【００３０】
図３はスキャナ１０３の構成図である。
【００３１】
３０１はスキャナシリアルインターフェース、３０２はスキャナＣＰＵ、３０３はスキャナ駆動回路、３０４はスキャナタイミング制御回路、３０５は画像読みとり部、３０６はオペレーションパネルを表わす。
【００３２】
図３において画像をスキャンする場合についての動作を説明する。
【００３３】
スキャナシリアルインターフェース３０１は、スキャナプリンタサーバー１０２からスキャン命令を受けとり、スキャナＣＰＵ３０２に伝える。
【００３４】
次に、スキャナＣＰＵ３０２は、スキャン命令より画像サイズ、画像のスキャンスタート位置などをセットする。
【００３５】
スキャナＣＰＵ３０２は、スキャナ駆動回路３０３を制御し、画像読みとり部３０５より図７のように、画像を１ライン毎に読み出す。
【００３６】
このとき、図８のように、スキャナタイミング制御回路３０４はＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１と、これに同期した画像データをＤＡＴＡ（画像データ信号）１０８に出力する。
【００３７】
スキャナプリンタサーバー１０２は、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１に同期して画像データを読みとる。
【００３８】
図４はプリンタ１０４の構成図である。
【００３９】
４０１はプリンタシリアルインターフェース、４０２はプリンタＣＰＵ、４０３はプリンタ駆動回路、４０４はプリンタタイミング制御回路、４０５はプリント部を表す。
【００４０】
図４において画像をプリントする場合についての動作を説明する。
【００４１】
ホストコンピュータ１０１ではプリントしたいデータを用意している。データは生画像データ、圧縮画像データ、ページ記述言語などの形態である。そしてプリントしたいプリンターの指定を行ない、ネットワーク１０５を通じて、スキャナプリンタサーバー１０２に転送する。サーバー１０２のクライアントプロセス１０７は、もし転送されてきたデータがページ記述言語の形態であって、指定されたプリンタがページ記述言語のビットマップ展開の機能がない場合には、サーバー１０２内でデータを展開し、指定されたプリンタが接続されたインターフェースより、プリンタ１０４に対してプリント命令を送る。またもし接続されたプリンタがページ記述言語の展開機能がある場合には、サーバー１０２はページ記述言語の形態のデータでプリンタ１０４にデータを送る。
【００４２】
サーバー１０２は送られてきたデータと指定されたプリンタの内蔵機能の関係より自動的にサーバー内で行なう処理を施す。
【００４３】
プリンタ内蔵の機能を用いる場合は、サーバー１０２はデータ転送機能のみとなる。以下、サーバー１０２に接続されたプリンタは内蔵機能がない場合について述べる。
【００４４】
プリンタシリアルインターフェース４０１は、スキャナプリンタサーバー１０２からプリント命令を受けとり、プリンタＣＰＵ４０２に伝える。
【００４５】
次に、プリンタＣＰＵ４０２は、プリントデータと一緒に送られてくる情報、あるいはページ記述言語形式の場合は、その指定より画像サイズ、画像のプリントスタート位置などをセットする。
【００４６】
プリンタＣＰＵ４０２は、プリンタ駆動回路４０３を制御し、図７のように、画像を１ライン毎に読み出す。
【００４７】
このとき、スキャナプリンタサーバー１０２は図８のように、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１と、これに同期して画像データをプリンタ１０４に出力する。
【００４８】
プリンタタイミング制御回路４０４は、スキャナプリンタサーバー１０２からのＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１に同期して画像データを受けとり、プリント部４０５でプリントする。
【００４９】
図５は圧縮機能を持たない、生画像データを出力する画像読みとり部３０５の構成図である。
【００５０】
図５は画像読みとり部３０５の構成図である。
【００５１】
５０１はレベル変換部、５０２はスキャナガンマ変換部、５０３はスキャナ色変換部、５０４は解像度変換部、５０５はスキャンエンジンを表わす。
【００５２】
図５において、画像読みとり部３０５は、レベル変換部５０１、スキャナガンマ変換部５０２、スキャナ色変換部５０３、解像度変換部５０４、走査変換部５０５、スキャンエンジン５０５から構成され、これらは、バス（不図示）に接続されており、スキャナＣＰＵ３０２からパラメータの変換を行なうことができる。
【００５３】
スキャンエンジン５０５は、ＲＧＢのカラー画像を読みとり、シェーディング補正を行ない、画像データを出力する。
【００５４】
解像度変換部５０４は、画像の読みとり解像度の変換を行なう。この解像度は、４００ｄｐｉ（ｄｏｔｐｅｒｉｎｃｈ）、２００ｄｐｉ、１００ｄｐｉなどから選択できる。この解像度はスキャナＣＰＵ３０２が指定する。
【００５５】
スキャナ色変換部５０３は、画像の色変換を行なう。ここでは、もし得たい画像データが標準色空間データのＲＧＢデータの場合、それに合った補正を行ない出力する。また、ＲＧＢカラーデータをＹＣｒＣｂなどの色空間のデータへの変換もここで行なう。また、白黒データが得たい場合は、前記ＹＣｒＣｂの明度データであるＹを用いたり、あるいは、ＲＧＢカラーデータの中間波長データであるＧ（Ｇｒｅｅｎ）データを用いたりして、白黒変換を行なう。このスキャナ色変換の指定はスキャナＣＰＵ３０２が行なう。
【００５６】
レベル変換部５０１では、１画素の有効ビット数を変換する。例えば、ガンマ変換後の各色８ｂｉｔのＹＣｒＣｂを、下位のビットを切り捨てて、Ｙを６ｂｉｔ、Ｃｒ、Ｃｂをそれぞれ４ｂｉｔのようにダイナミックレンジを変換する。このレベル指定はホストコンピュータ１０１の指示により、スキャナＣＰＵ３０２が行なう。
【００５７】
図６はプリント部４０５の構成図である。
【００５８】
６０１はプリンタ色変換部、６０２はプリンタガンマ変換部、６０３はマスキング変換部、６０４は黒生成、下色除去部、６０５は二値化部、６０６はプリントエンジン、を表す。
【００５９】
プリンタ色変換部６０１は、画像のＲＧＢへの色変換を行なう。ここで、例えば、ＹＣｒＣＢなどの色空間で画像が送られてきた場合、ＲＧＢへの変換を行なう。
【００６０】
プリンタガンマ変換部６０２は、入力画像のガンマ変換を行なう。Ｒ’＝ｆ（Ｒ）Ｇ’＝ｆ（Ｇ）Ｂ’＝ｆ（Ｂ）  この変換はＬＵＴ（ルックアップテーブル）でおこなわれる。また、このＬＵＴの設定はプリンタＣＰＵ４０２がおこなう。
【００６１】
マスキング変換部６０３は、入力画像のマスキング変換を行なう。
【００６２】
ここで、マスキング変換は
【００６３】
【数１】
0003639835.tif 000002
【００６４】
の１次変換、あるいは
【００６５】
【数２】
0003639835.tif 000003
【００６６】
の２次変換で求められる。
【００６７】
この変換はＬＵＴ（ルックアップテーブル）、あるいはゲートアレイでおこなわれる。またこのＬＵＴ、あるいはゲートアレイのパラメータの設定はプリンタＣＰＵ４０２がおこなう。
【００６８】
黒生成、下色除去部６０４では、Ｃ＝２５５−Ｒ”Ｍ＝２５５−Ｇ”Ｙ＝２５５−Ｂ”Ｂｋ＝ａ（ｍｉｎ（Ｃ、Ｍ、Ｙ））Ｃ’＝Ｃ−ＢｋＭ’＝Ｍ−ＢｋＹ'＝Ｙ−Ｂｋで示すように、黒生成と下色除去が行なわれる。
【００６９】
この変換はＬＵＴ（ルックアップテープ）、あるいはゲートアレイでおこなわれる。また、このＬＵＴ、あるいはゲートアレイのパラメータの設定はプリンタＣＰＵ４０２がおこなう。
【００７０】
二値化部６０５では、プリントエンジン６０６が二値プリンタの場合、画像の二値化を行なう。二値化方法としては、単純二値化法、ディザ法、誤差拡散法の３種類を切り替えて用いる。尚、プリントエンジン６０６が多値プリンタの場合には、二値化部６０５は必要ない。この変換はゲートアレイでおこなわれる。二値化方法、二値化のしきい値などの設定はプリンタＣＰＵ４０２がおこなう。
【００７１】
図７は画像のスキャン、プリントの説明図であり、７０１はスキャン、あるいはプリントする画像を指す。
【００７２】
ＶＳＹＮＣは垂直同期信号、ＨＳＹＮＣは水平同期信号を表し、スキャン、あるいはプリントする画像７０１は、垂直同期信号、水平同期信号に同期して１ラインずつ出力される。
【００７３】
図８はタイミングの説明図であり、ＶＳＹＮＣは垂直同期信号、ＨＳＹＮＣは水平同期、ＣＬＯＣＫは基準クロックを表し、ＣＬＯＣＫに同期して１画素ごとに、画像データが出力される。
【００７４】
図８では、ＲＧＢのカラーデータであるが、スキャナ色変換部５０３が任意の三原色に変換できる。
【００７５】
図９は、プリスキャン、プリント時のデュアルポートラム動作説明図であり、図の如く、スキャン、プリント時に画像が１ラインずつ、スキャナ１０３にデュアルポートラムから読みだし、あるいはプリンタ１０４にデュアルポートラムから書き込みされる。
【００７６】
図９中の番号はこのときのデュアルポートラムのアクセス順序を表す。
【００７７】
図１０、図１１はプリスキャン時のデュアルポートラム動作説明である。
【００７８】
スキャナ１０３から画像を読み込む場合、スキャナプリンタサーバー１０２は、１ライン毎に図１０、図１１のようにデュアルポートラムに画像データを交互に書き込む。すなわち、図１０に示すごとく、第１のラインを、スキャナ１０３から読み込み、デュアルポートラム２０５に、書き込む。
【００７９】
次に、図１１のごとく、第２のラインを、スキャナ１０３から読み込み、デュアルポートラム２０６に、書き込む。もし、ホストコンピュータ１０１が、生画像データを得たい場合は、そのままデュアルポートラム２０５のデータを読みだし、イーサネット（Ｒ）１０５を介してサーバープロレス１０７に転送する。またもし、圧縮画像データの形で得たい場合は、図２のサーバー装置内の符号化回路２１３を利用して、デュアルポートラム２０５のデータを読みだし、画像圧縮して、イーサネット（Ｒ）１０５を介してサーバープロセス１０７に転送する。
【００８０】
次に、図１０に示すごとく、第３のラインを、スキャナ１０３から読み込み、デュアルポートラム２０５に、書き込む。その時同時に、デュアルポートラム２０６の第２のラインのデータを読みだし、同様に、生画像データの形、あるいは圧縮画像データの形で、イーサネット（Ｒ）１０５を介してサーバープロセス１０７に転送する。
【００８１】
以下同様に、デュアルバッファを利用して、１ラインづつ画像を読み込む。
【００８２】
ところで、スキャンエンジン５０５は、ＲＧＢ点順次で画像を読み出す。もし、ユーザが他の線順次、面順次などの形式で画像を読み出すように指示した場合には、走査変換を行なう必要がある。これは、デュアルポートラム２０５、２０６からの画像の読み出し時に行なわれる。
【００８３】
以下では、スキャン時の走査変換について述べる。
【００８４】
まず、スキャナ色変換部５０３では点順次のＲＧＢをＹＣｒＣｂなどの色空間へ変換され、点順次デュアルポートラム２０５、２０６に交互に書き込まれるものとする。この点順次のＹＣｒＣｂの画像を線順次に変換して転送するには、画像データを読み出す際に、３画素ずつずらして読み出す。すなわち、点順次のＹＣｒＣｂの画像から最初に第１色であるＹだけを読みだし、転送する。次に第２色であるＣｒだけを読みだし、転送する。最後に第３色であるＣｂだけを読みだし、転送する。これにより、点順次のＹＣｒＣｂから、線順次のＹＣｒＣｂ画像への走査変換が行なわれる。
【００８５】
次に、点順次のＹＣｒＣｂの画像から面順次のＹＣｒＣｂに変換して転送する場合について説明する。
【００８６】
線順次の場合と同様に、スキャナ色変換部５０３では点順次のＲＧＢをＹＣｒＣｂなどの色空間へ変換され、点順次でデュアルポートラム２０５、２０６に交互に書き込まれるものとする。
【００８７】
点順次から面順次への変換は、１回のスキャンではできないので、スキャンエンジン５０５で３回スキャンを行う。
【００８８】
そして、第１回目のスキャン時には、第１色のＹだけを読みだし転送する。２回目のスキャンの時にはＣｒだけを、第３回目のスキャンの時にはＣｂだけを読み出し転送する。これにより点順次のＹＣｒＣｂの画像から面順次のＹＣｒＣｂに変換することができる。
【００８９】
また、点順次のＹＣｒＣｂ画像の場合には、ＡＤＣＴ法による画像の符号化を行なうことができる。この場合も同様に、スキャナ１０３から読み出した画像をデュアルポートラムに交互に書き込み、読み出す際に符号化、復号化回路２１３で符号化を行ない、符号化された画像データをＲＡＭ２０３に書き込む。その符号化された画像データを、イーサネット（Ｒ）１０５を介してサーバープロセス１０７に転送する。
【００９０】
これにより、画像を圧縮して転送することができ、通信量を削減することができる。
【００９１】
図１２、図１３はプリント時のデュアルポートラム動作説明図である。
【００９２】
プリンタ１０４に画像をプリントする場合、スキャナプリンタサーバー１０２は、１ライン毎に図１２、図１３のようにデュアルポートラムから交互にデータをプリンタ１０４に出力する。
【００９３】
すなわち、図１２の如く、第１のラインを、イーサネット（Ｒ）１０５から読み込み、デュアルポートラム２０５に書き込む。
【００９４】
次に第２のラインを、図１３の如くイーサネット（Ｒ）１０５から読み込み、デュアルポートラム２０６に、書き込む。そのとき同時にデュアルポートラム２０５のデータを読みだし、プリンタ１０４に転送する。
【００９５】
次に、図１２の如く、第３のラインをイーサネット（Ｒ）１０５から読み込み、デュアルポートラム２０５に書き込む。そのとき同時に、デュアルポートラム２０６にデータを読みだし、プリンタ１０４に転送する。
【００９６】
以下同様に、デュアルバッファを利用して、１ラインずつ画像を転送する。
【００９７】
ところで、プリンタエンジン６０６は、ＲＧＢ点順次で画像をプリントする。このため、ユーザが他の線順次、面順次などの形式で画像をプリントするように指示した場合には、走査変換を行なう必要がある。これは、デュアルポートラム２０５、２０６からの画像の読み出し時に行なわれる。
【００９８】
以下では、プリント時の走査変換について述べる。
【００９９】
まず、サーバープロセス１０７から、点順次のＹＣｒＣｂの画像データが送られてくる場合は、走査変換はする必要はない。この点順次のＹＣｒＣｂの画像データは、プリンタ１０４に送られ、プリンタ色変換部６０１で点順次のＰＧＢに変換され、プリントされる。
【０１００】
次に、線順次のＹＣｒＣｂの画像データが送られてくる場合は、画像データを読み出す際に、画像ごとに読み出す。すなわち、第１画素の第１色であるＹを、次に第１画素の第２色であるＣｒを、次に第１画素の第３色であるＣｂを読み出す。次に、第２画素の第１色であるＹを、次に第２角その第２色であるＣｒを、次に第２画素の第３色であるＣｂを読み出す。以下同様に読み出すことにより、線順次のＹＣｒＣｂが像から点順次のＹＣｒＣｂ画像への変換を行なうことができる。
【０１０１】
この点順次のＹＣｒＣｂが画像データは、プリンタ１０４に送られ、プリンタ色変換部６０１で点順次のＲＧＢに変換され、プリントされる。
【０１０２】
次に、面順次のＹＣｒＣｂ画像が転送されてきた場合の走査変換について説明する。
【０１０３】
面順次のＹＣｒＣｂ画像から、点順次のＹＣｒＣｂへは、１回で変換できないので、いったん画像データをハードディスク２１２に格納する。
【０１０４】
そして、ハードティスク２１２に格納したフィルムをシークして、ＹＣｒＣｂの点順次に読みだし、デュアルポートラム２０５、２０６に書き込むことにより走査変換を行なう。この点順次のＹＣｒＣｂの画像データは、プリンタ１０４に送られ、プリンタ色変換部６０１で点順次のＰＧＢに変換され、プリントされる。
【０１０５】
また、ＡＤＣＴ法により符号化された点順次のＹＣｒＣｂ画像が送られてきた場合には、符号化、復号化回路２１３で、点順次のＹＣｒＣｂ画像に復号化する。この点順次のＹＣｒＣｂ画像を１ラインごとにデュアルポートラム２０５、２０６に交互に書き込み、プリンタ１０４に転送する。
【０１０６】
これにより、画像を圧縮して転送することができ、通信量を削減することができる。
【０１０７】
図１４はプリスキャン、スキャン動作時の説明図で、以下、図にしたがってプリスキャン、スキャン時のホストコンピュータ１０１とスキャナプリンタサーバー１０２とスキャナ１０３間のデータのやりとりについて説明する。
【０１０８】
画像をスキャナ１０３から読み込む場合には、画像の大きさ、画像の位置、解像度、フォーマット（点順次、線順次、面順次）エッジ強調、色空間（ＲＧＢ、ＹＣｒＣｂ）、色（どの色を送るか、例えばＧだけ）、レベル（色の階調数）、符号化方法（ＡＤＣＴ、符号化しないなど）、ビットレート（符号化時のビットレート）、プリスキャン時の間引き率、どのファイルに読み込むか、などを指定する必要がある。
【０１０９】
そこで、クライアントプロセス１０６は、これらのパラメータを指定するようユーザに指示する。ユーザは、これらの指定を行ない、プリスキャンを実行する。
【０１１０】
すると、クライアントプロセス１０６は、図１４のシーケンスにしたがって、サーバープロセス１０７と通信を行なう。
【０１１１】
図１４において、まずクライアントプロセス１０６は、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴ、ＸＳＴＥＰ、ＹＳＴＥＰなどからなるＰＲＥＳＣＡＮパケットをサーバープロセス１０７に送る。
【０１１２】
サーバープロセス１０７では、画像の符号化、プリスキャン時の間引きを行なうため、ＰＲＥＳＣＡＮパケットを受けると、符号化方法、符号化時のビットレート、間引き率をセットする。それ以外の情報は、プリスキャン命令としてシリアルインターフェース２０７からスキャナ１０３に送られる。
【０１１３】
スキャナ１０３は、プリスキャン命令の情報にしたがって、画像読みとり部３０５にパラメータをセットする。これらのパラメータが正しくセットされると、ＯＫをサーバープロセス１０７に送り返す。
【０１１４】
サーバープロセス１０７は、スキャナ１０３からＯＫを受けとると、ＯＫパケットをクライアントロプロセス１０６に送り返す。もし、正しくセットされない場合には、ステータス情報をサーバープロセス１０７に送り返す。
【０１１５】
スキャナ１０３は、プリスキャン命令を受けると、ＶｉｄｅｏＩ／Ｆから画像を１ラインずつ読みだす。
【０１１６】
プリスキャン時には、スキャナプリンタサーバー１０２のタイミング制御回路２０８は、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１、ＤＡＴＡ（画像データ信号）１０８をハイインピーダンスにし、スキャナ１０３が発生するＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１に同期して、ＤＡＴＡ（画像データ信号）１０８から、データを読み込み、デュアルポートラム２０５、２０６に書き込む。
【０１１７】
サーバープロセス１０７、ＶｉｄｅｏＩ／Ｆから１ラインずつ読み込んだ画像データを、デュアルポートラム２０５、２０６から読みだし、ハードディスク２１２に書き出す。
【０１１８】
このとき、ＰＲＥＳＣＡＮパケットで指定された、ＸＳＴＥＰ、ＹＳＴＥＰの間引き率にしたがって画像を間引き、このデータを適当な大きさに分割、あるいは結合して、ＤＡＴＡタグ、パケットのバイト数、画像データから成る複数のＤＡＴＡパケットを構成し、ホストコンピュータ１０１のクライアントプロセス１０６に送る。
【０１１９】
ホストコンピュータ１０１のクライアントプロセス１０６ではサーバープロセス１０７より受けとった画像パケットから間引かれた画像データをとりだし、ＣＲＴ上に表示する。
【０１２０】
スキャナ１０３は、すべての画像を正常に送ると、ＯＫをスキャナシリアルインターフェース３０１からサーバープロセス１０７に送る。サーバープロセス１０７は、スキャナ１０３よりＯＫを受けとるとＯＫパケットをクライアントプロセス１０６に送る。
【０１２１】
サーバープロセス１０７は、クライアントプロセス１０６にＯＫパケットを送ると、クライアントプロセス１０６から次のコマンドパケット待ちになる。
【０１２２】
クライアントプロセス１０６は間引かれた画像をすべて受けとり、ＣＲＴ上に表示し、画像のどの領域を実際にスキャンするか、ユーザに問い合わせる。ユーザは、マウスなどのポインティングデバイスでどの領域を実際にスキャンするか指定する。そして、スキャン開始をクライアントプロセス１０６に指示する。
【０１２３】
すると、クライアントプロセス１０６は、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴなどからなるＳＣＡＮパケットをサーバープロセス１０７に送る。
【０１２４】
サーバープロセス１０７では、ＳＣＡＮパケットを受けると、この情報が正しくセットされると、ＯＫをクライアントプロセス１０６に送り出す。
【０１２５】
サーバープロセス１０７は、すでにプリスキャン時にハードディスク２１２に読み込んである画像データから、ＳＣＡＮパケットで指定されたパラメータにしたがって読み出す。この画像データは、適当な大きさに分割、あるいは結合され、ＤＡＴＡタグ、パケットの倍と数、画像データからなる複数のＤＡＴＡパケットを構成し、ホストコンピュータ１０１のクライアントプロセス１０６に送られる。
【０１２６】
ホストコンピュータ１０１のクライアントプロセス１０６ではサーバープロセス１０７より受けとった画像データをとりだし、次々にディスクに書き込む。
【０１２７】
サーバープロセス１０７は、すべての画像を正常に送るとと、ＯＫパケットをクライアントプロセス１０６に送る。
【０１２８】
サーバープロセス１０７は、クライアントプロセス１０６にＯＫパケットを送ると、クライアントからの次のコマンドパケット待ちになる。
【０１２９】
クライアントプロセス１０６はサーバープロセス１０７からＯＫパケットを受けとると、次のユーザからの命令待ちになる。
【０１３０】
図１５はプリント動作時の説明図で、以下、図にしたがってプリント時のホストコンピュータ１０１のクライアントプロセス１０６とスキャナプリンタサーバー１０２とプリンタ１０４の間のデータのやりとりについて説明する。
【０１３１】
ユーザが、ホストコンピュータ１０１において、デスクトップパブリッシングソフト（以下、ＤＴＰソフト）などを利用して、文書や絵を作成し、その出力データ形式であるページ記述言語形式のデータを作り、プリントしたい時、または、生画像データ形式や圧縮画像形式の画像データをプリントしたい時は、プリントすべき画像データがページ記述言語形式か画像データ形式かの指定、画像データ形式の場合は、画像の大きさ、プリントすべき画像の位置、プリントすべき画像を保持するホストコンピュータ１０１上のファイル名などを指定する。
【０１３２】
サーバープロセス１０７では、データ形式を判別し、指定されたプリンタ内の機能を用いるか、スキャナプリンタサーバー１０２内の機能を用いるかの判定をする。
【０１３３】
また、プリント時のガンマ変換、マスキング変換などのパラメータは、通常デフォルトの値が設定されているが、これらも変更することができる。
【０１３４】
この場合、図１５において、まずクライアントプロセス１０６は、画像プリント時のガンマテールを設定するためにＧＡＭＭＡパケットをサーバープロセス１０７に送る。すでにガンマテーブルが設定されていれば送る必要はない。
【０１３５】
サーバープロセス１０７では、ＧＡＭＭＡパケットを受けとると、ＧＡＭＭＡパケットの第２バイトがプリンタを示す場合には、プリンタ１０４に、スキャナを示す場合にはスキャナ１０３、ガンマ設定命令をプリンタ１０４に送る。
【０１３６】
プリンタ１０４はガンマ設定命令のパラメータにしたがって、プリンタガンマ変換部６０２のＬＵＴをセットする。正常にセットできれば、ＯＫをサーバープロセス１０７に送り返る。
【０１３７】
サーバープロセス１０７は、スキャナＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送り返す。
【０１３８】
次に、クライアントプロセス１０６は、画像プリント時のマスキングテーブルを設定するためにＭＡＳＫＩＮＧパケットをサーバープロセス１０７に送る。すでにマスキングテーブルが認定されていれば送る必要はない。
【０１３９】
サーバープロセス１０７では、ＭＡＳＫＩＮＧパケットを受けとると、マスキング認定命令をプリンタ１０４に送る。
【０１４０】
プリンタ１０４は、マスキング認定命令のパラメータにしたがって、マスキング変換部６０３のパラメータをセットする。正常にセットできれば、ＯＫをサーバープロセス１０７に送り返す。
【０１４１】
サーバープロセス１０７は、プリンタ１０４からＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送り返す。
【０１４２】
以上のように、ガンマ変換、マスキング変換用のパラメータを設定すると、クライアントプロセスは、プリントしたいデータがページ記述言語形式か生画像形式か圧縮画像形式かを指定、プリンタの指定、及び、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴ、ＰＡＧＥなどからなるＰＲＩＮＴパケットをサーバープロセス１０７に送る。
【０１４３】
サーバープロセス１０７では、ＰＲＩＮＴパケットを受けると、指定されたプリンタとの接続を開始する。もし、プリンタ側にページ記述言語解釈機能がなく、ページ記述言語形式のデータを受けとった場合は、スキャナプリンタサーバー１０２内部で処理を行なう。圧縮データの場合も同様である。
【０１４４】
ここでは、先に述べたように、プリンタ側に機能がない場合のＶｉｄｅｏＩ／Ｆを用いたプリンタの場合で話しを進める。
【０１４５】
サーバープロセス１０７は、ＰＲＩＮＴパケットを受けると、シリアルインターフェース２０７からプリント命令をプリンタ１０４に送る。
【０１４６】
プリンタ１０４は、プリント命令の情報が正しくセットすると、ＯＫをサーバープロセス１０７に送り返す。
【０１４７】
サーバープロセス１０７は、プリンタからＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送り返す。
【０１４８】
クライアントプロセス１０６では、ＯＫパケットを受けとると、指定されたファイルから画像データ（ページ記述言語形式、生画像データ形式、圧縮画像データ形式などを含む）を読み出す。クライアントプロセス１０６は、読み込んだ画像データを適当な大きさに分割、あるいは結合してＤＡＴＡタグ、パケットのバイト数、画像データからなる複数のＤＡＴＡパケットを構成し、サーバープロセス１０７に送る。
【０１４９】
サーバープロセス１０７ではホストコンピュータ１０１のクライアントプロセス１０６より受けとった画像パケットから画像データを取り出す。画像データがページ記述言語の形式の場合、ページ記述言語インタープリタを起動し、ビットマップ展開を行なう。圧縮画像データ形式の場合、伸長回路を用いた伸長プロセスを起動し、ビットマップ展開を行なう。それぞれビットマップ展開されたデータや生画像データは、ＶＩＤｅｏＩ／Ｆからプリンタ１０４に順次送られて、プリントされる。
【０１５０】
プリント時には、スキャナプリンタサーバー１０２のタイミング制御回路２０８は、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１と、これに同期した画像データをＤＡＴＡ（画像データ信号）１０８に出力し、プリンタ１０４は、これに同期してＤＡＴＡ（画像データ信号）１０８信号から印刷すべきデータを読みとり、プリントする。
【０１５１】
プリンタ１０４は、すべての画像を正常にプリントすると、ＯＫをプリントシリアルインターフェース４０１からサーバープロセス１０７に送る。サーバープロセス１０７は、プリンタ１０４からＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送る。
【０１５２】
サーバープロセス１０７は、ＯＫパケットをクライアントプロセス１０６に送ると、クライアントからの次のコマンドパケット待ちになる。クライアントプロセス１０６は、サーバープロセス１０７からＯＫパケットを受けとった時点で次のユーザからの命令待ちになる。
【０１５３】
図１６はプリント時にエラーが発生した場合の説明図で、以下、図にしたがってプリント時のホストコンピュータ１０１とスキャナプリンタサーバー１０２とプリンタ１０４の間のデータのやりとりについて説明する。
【０１５４】
上記プリント時と同様に、クライアントプロセス１０６は、画像プリント時のガンマテーブル、マスキングテーブルを設定する。
【０１５５】
次に、クライアントプロセス１０６は、プリントしたいデータがページ記述言語形式か生画像形式か圧縮画像形式かを指定、プリンタの指定、及び、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴ、ＰＡＧＥなどからなるＰＲＩＮＴパケットをサーバープロセス１０７に送る。
【０１５６】
サーバープロセス１０７では、ＰＲＩＮＴパケットを受けると、指定されたプリンタとの接続を開始する。もし、プリンタ側にページ記述言語解釈機能がなく、ページ記述言語形式のデータを受けとった場合は、スキャナプリンタサーバー１０２内部で処理を行なう。圧縮データの場合も同様である。
【０１５７】
ここでも、先に述べたように、プリンタ側に機能がない場合のＶｉｄｅｏＩ／Ｆを用いたプリンタの場合で話しを進める。
【０１５８】
サーバープロセス１０７は、ＰＲＩＮＴパケットを受けると、シリアルインターフェース２０７からプリント命令をプリンタ１０４に送る。
【０１５９】
プリンタ１０４は、プリント命令のパラメータの値が不正な場合、あるいはセットできないなどの異常が発生したり、紙切れなどのエラーが発生した場合、そのエラーステータスを示すステータス情報をサーバープロセス１０７に送り返す。
【０１６０】
サーバープロセス１０７は、スキャナからステータス情報を受けとると、ステータス情報をステータスパケットに変換し、クライアントプロセス１０６に送り返す。
【０１６１】
クライアントプロセス１０６はＳＴＡＴＵＳパケットを受けとると、そのステータスにしたがって、ユーザに適切なメッセージを出力し、エラーが発生したことを知らせる。
【０１６２】
また、プリント中に、例えば紙ジャムなどのエラーが発生した場合、プリンタＣＰＵ４０２は、すぐさまプリント動作を中断し、エラーのステータス情報をプリンタシリアルインターフェース４０１より、サーバープロセス１０７に伝える。
【０１６３】
サーバープロセス１０７では、プリンタ１０４よりのステータス情報を受けとると、このステータス情報をＳＴＡＴＵＳパケットとして、クライアントプロセス１０６に送り、次のコマンド待ちになる。
【０１６４】
クライアントプロセス１０６はＳＴＡＴＵＳパケットを受けとると、そのステータスにしたがって、ユーザに適切なメッセージを出力し、エラーが発生したことを知らせる。
【０１６５】
図１７は同一の画像を複数枚プリントする時の動作時の説明図で、以下、図にしたがってプリント時のホストコンピュータ１０１とスキャナプリンタサーバー１０２とプリンタ１０４の間のデータのやりとりについて説明する。
【０１６６】
ユーザが、ホストコンピュータ１０１において、プリントすべき画像がページ記述言語形式の場合はその保持しているファイル名、生画像データ形式、圧縮画像データ形式などの場合は、その大きさ、プリントすべき画像の位置、プリントすべき画像を保持するホストコンピュータ１０１上のファイル名などを指定する。この時、プリント時のガンマ変換、マスキング変換などのパラメータは、すでに設定されているものとする。
【０１６７】
図１７において、まずクライアントプロセス１０６は、プリントしたいデータがページ記述言語形式が生画像形式か圧縮画像形式かを指定、プリンタの指定、及び、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴ、何枚プリントするかを示すＰＡＧＥなどからなるＰＲＩＮＴパケットをサーバープロセス１０７に送る。
【０１６８】
サーバープロセス１０７では、ＰＲＩＮＴパケットを受けると、指定されたプリンタとの接続を開始する。もし、プリンタ側にページ記述言語解釈機能がなく、ページ記述言語形式のデータを受けとった場合は、スキャナプリンタサーバー１０２内部でページ記述言語に対する展開処理を行なう。圧縮データの場合も同様である。
【０１６９】
ここでも、先に述べたように、プリンタ側に機能がない場合のＶｉｄｅｏＩ／Ｆを用いたプリンタの場合で話しを進める。
【０１７０】
サーバープロセス１０７は、ＰＲＩＮＴパケットを受けると、シリアルインターフェース２０７からプリント命令をプリンタ１０４に送る。
【０１７１】
プリンタ１０４は、プリント命令の情報が正しくセットされていれば、ＯＫをサーバープロセス１０７に送り返す。
【０１７２】
サーバープロセス１０７は、スキャナからＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送り返す。
【０１７３】
クライアントプロセス１０６では、ＯＫパケツトを受けとると、指定されたファイルから画像を読みだす。クライアントプロセス１０６は、読み込んだ画像データを適当な大きさに分割、あるいは結合して、ＤＡＴＡタグ、パケットのバイト数、画像データからなる複数のＤＡＴＡパケットを構成し、サーバープロセス１０７に送る。
【０１７４】
サーバープロセス１０７ではホストコンピュータ１０１のクライアントプロセス１０６より受けとった画像パケットから画像データを取り出す。画像データがページ記述言語の形式の場合、ページ記述言語インタープリンタを起動し、ビットマップ展開を行なう。圧縮画像データ形式の場合、伸長回路を用いた伸長プロセスを起動し、ビットマップ展開を行なう。それぞれビットマップ展開されたデータや生画像データは、ＶｉｄｅｏＩ／Ｆからプリンタ１０４に順次送られて、プリントする。同時に、画像データをハードディスク２１２に格納する。
【０１７５】
プリンタ１０４、１枚めの画像を正常にプリントすると、ＯＫをプリンタシリアルインターフェース４０１からサーバープロセス１０７に送る。
【０１７６】
サーバープロセス１０７は、プリンタ１０４からＯＫを受けとると、２枚目の画像からは、ハードディスク２１２からすでに書きこんだ画像を読みだし、ＶｉｄｅｏＩ／Ｆからプリンタ１０４に順次プリントする。
【０１７７】
サーバープロセス１０７は、ＰＲＩＮＴパケットで指定されたＰＡＧＥ枚数をプリントすると、ＯＫパケットをクライアントプロセス１０６に送り、正常なプリントが行なわれたことを知らせる。また、このとき記憶した画像を消去する。
【０１７８】
サーバープロセス１０７は、ＯＫパケットをクライアントプロセス１０６に送ると、クライアントからの次のコマンドパケット待ちになる。
【０１７９】
クライアントプロセス１０６は画像をすべて送り、サーバープロセス１０７からＯＫパケットを受けとった時点で、次のユーザからの命令待ちになる。
【０１８０】
次に本発明の別の実施例について説明する。図２１において、まずクライアントプロセス１０６は、画像のＸＳＩＺＥ、ＹＳＥＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴ、ＸＳＴＥＰ、ＹＳＴＥＰなどからなるＳＣＡＮパケットをサーバープロセス１０７に送る。サーバープロセス１０７では、ＳＣＡＮパケット中の指示によりサーバーの画像処理の各パラメータをセットし、画像の大きさに関わる指示は、シリアルインターフェース２０７からスキャナ１０３に送られる。
【０１８１】
スキャン１０３は、スキャン命令の情報に従って、画像読みとり部３０５にパラメータをセットする。これらのパラメータが正しくセットされると、ＯＫをサーバープロセス１０７に送り返す。
【０１８２】
サーバープロセス１０７は、スキャナからＯＫを受けとると、ＯＫパケットをクライアントプロセス１０６に送り返す。もし、正しくセットされない場合には、ステータス情報サーバープロセス１０７に送り返す。
【０１８３】
スキャナ１０３は、スキャン命令を受けとると、ＶｉｄｅｏＩ／Ｆから画像を１ラインずつ読みだす。
【０１８４】
スキャン時には、スキャナプリンタサーバー１０２のタイミング制御回路２０８は、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１、ＤＡＴＡ（画像データ信号）１０８をハイインピーダンスにし、スキャナ１０３が発生するＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１に同期して、ＤＡＴＡ（画像データ信号）１０８から、データを読み込み、デュアルポートラム２０５、２０６に書き込む。
【０１８５】
サーバープロセス１０７は、ＶｉｄｅｏＩ／Ｆから１ラインずつ読み込んだ画像データを、デュアルポートラム２０５、２０６から読み出し、ハードディスク２１２に書き出す。
【０１８６】
この時、もしコンピュータからの間引きデータの転送指示があれば、デュアルポートラム２０５、２０６への書き込みと同時にＳＣＡＮパケットで指定された、ＸＳＴＥＰ、ＹＳＴＥＰの間引き率にしたがって画像を間引き、このデータを適当な大きさに分割、あるいは結合して、ＤＡＴＡタグ、パケットのバイト数、画像データからなる複数のＤＡＴＡパケットを構成し、ホストコピュータ１０１のクライアントプロセス１０６に送る。
【０１８７】
ホストコンピュータ１０１のクライアントプロセス１０６ではサーバープロセス１０７より受けとった画像パケットから間引かれた画像データをとりだし、ＣＲＴ上に表示する。
【０１８８】
スキャナ１０３は、すべての画像を正常に送ると、ＯＫをスキャナシリアルインターフェース３０１からサーバープロセス１０７に送る。
【０１８９】
サーバープロセス１０７は、スキャナ１０３よりＯＫを受けとるとＯＫパケットをクライアントプロセス１０６に送る。
【０１９０】
サーバープロセス１０７は、クライアントプロセス１０６にＯＫパケットを送ると、クライアントプロセス１０６からの次のコマンドパケット待ちになる。クライアントプロセス１０６は間引かれた画像をすべて受けとり、ＣＲＴ上に表示し、画像のどの領域を実際にスキャンするか、ユーザに問い合わせる。ユーザは、マウスなどのポインティングデバイスでどの領域を実際に必要とするか指定する。
【０１９１】
そして、指定領域をクライアントプロセス１０６に指示する。すると、クライアントプロセス１０６は、画像のＸＳＩＺＥ、ＹＳＩＺＥ、ＸＳＴＡＲＴ、ＹＳＴＡＲＴなどからなるＣＵＴパケットをサーバープロセス１０７に送る。
【０１９２】
サーバープロセス１０７ではＣＰＵパケットを受けると、この情報が正しくセットされると、ＯＫをクライアントプロセス１０６に送り返す。
【０１９３】
次にクライアントプロセス１０６は他のアプリケーションプログラムで作成されたページ記述言語を、サーバープロセス１０７に送る。
【０１９４】
サーバープロセス１０７は、インタプリタ２１４によってページ記述言語を展開し、文字や図形のビットマップを作成する。そして、ページ記述言語で指示された場所に、スキャナから読みとられ、画像記憶手段に保持されている画像データを、ＣＵＴパケットの指示の領域から読みだし、前述ビットマップの中に合成する。そして、サーバープロセス１０７は、合成画像データをプリンタ側に転送してプリントを行なう。もし、ページ記述言語で画像処理の指示があったならば、画像記憶手段から画像データを読みだすと同時に処理を加える。
【０１９５】
サーバープロセス１０７は、すべての画像を正常にプリンタに送ると、ＯＫパケットをクライアントプロセス１０６に送る。もし、クライアントプロセス１０６から連続プリントの指示があると、サーバープロセスは、ビットマップ展開された画像データをプリンタに転送させる。
【０１９６】
サーバープロセス１０７は、クライアントプロセス１０６にＯＫパケットを送ると、クライアントからの次のコマンドパケット待ちになる。
【０１９７】
クライアントプロセス１０６はサーバープロセス１０７からＯＫパケットを受けとると、次のユーザからの命令待ちになる。
【０１９８】
図１８はパケットの構成を示す。
【０１９９】
（ａ）はＰＲＥＳＣＡＮパケット、（ｂ）はＳＣＡＮパケット、（ｃ）はＰＲＩＮＴパケットである。
【０２００】
各パケットの第１バイトは、そのパケットが何であるかを表すタグてある。例えば、ＰＲＥＳＣＡＮは１で、プリスキャンすることを示す。ＳＣＡＮは２で、スキャンすることを示す。
【０２０１】
ＳＣＡＮＮＥＲＮＡＭＥ、ＰＲＩＮＴＥＲＮＡＭＥは、画像を入出力するデバイス名の指定を行なう。
【０２０２】
ＤＡＴＡＴＹＰＥは、画像データがページ記述言語形式か圧縮画像形式か生画像データ形式かなどの指定を行なう。
【０２０３】
ＸＳＩＺＥは、２バイトからなる画像のＸ方向の大きさを示し、ＹＳＩＺＥは、２バイトからなる画像のＹ方向の大きさを示す。
【０２０４】
ＸＳＴＡＲＴは、２バイトからなる画像のＸ方向のスキャン、プリント開始位置を示し、ＹＳＴＡＲＴは、２バイトからなる画像のＹ方向のスキャン、プリント開始位置を示す。
【０２０５】
ＸＺＯＯＭは、１バイトからなる画像のＸ方向のスキャン、プリント解像度を示し、ＹＺＯＯＭは、１バイトからなる画像のＹ方向のスキャン、プリント解像度を示す。
【０２０６】
ＦＯＲＭＡＴは、画像の走査方法を示し、点順次は１、線順次は２、面順次は３のように指定する。
【０２０７】
ＥＤＧＥは、エッジ強調、スムージングの程度を示し、１６〜１はエッジ強調、−１〜−１６ならスムージングのように指定する。
【０２０８】
ＣＯＬＯＲＴＹＰＥは、画像の色空間を示し、ＲＧＢなら１、ＹＣｒＣｂなら２のように指定する。また、ＲＧＢの場合には、第１色をＲ、第２色をＧ、第３色をＢと呼び、ＹＣｒＣｂの場合には、第１色をＹ、第２色をＣｒ、第３色をＣｂと呼ぶことにする。
【０２０９】
ＣＯＬＯＲは、画像の色のうち、どの色を送るかを示す。例えば、第１色だけなら第２ビット、第２色だけなら第１ビット、第３色だけなら第０ビットを１にする。例えば、ＣＯＬＯＲ、ＴＹＰＥがＲＧＢで、ＲＧＢ全色送る場合には、７になり、また、Ｒ、Ｂの２色を送る場合には５（第１色＝４、第３色＝１）になる。
【０２１０】
同様に、ＣＯＬＯＲＴＹＰＥがＹＣｒＣｂで、Ｙだけ送る場合には４になる。
【０２１１】
ＬＥＶＥＬは、２バイトからなり、最初の４ｂｉｔは、第１色の階調数を示し、次の４ｂｉｔは第２色の階調数を示し、次の４ｂｉｔは、第３色の階調数を示す。最後の４ｂｉｔはｕｎｄｅｆｉｎｅｄである。これらの階調数は８ならば２５６階調、６ならば６４階調のように２つの指数で指定する。
【０２１２】
ＣＯＤＥは、符号化方法を示し、符号化しない場合は０、ＡＤＣＴによる符号化の場合は１のように指定する。
【０２１３】
ＢＩＴＲＡＴＥは、符号化の符号化率を示し、６は１／６、１２は１／１２の圧縮率で符号化することを示す。
【０２１４】
ＸＳＴＥＰ、ＹＳＴＥＰは、プリスキャン時にどの程度画像を間引いて送るかを指定する。例えば、縦横５画素おきに画像を送る場合には、ＸＳＴＥＰ＝５、ＹＳＴＥＰ＝５となる。また、間引かない場合には、ＸＳＴＥＰ＝０、ＹＳＴＥＰ＝０となる。
【０２１５】
ＵＣＲは黒生成時のαを示す。
【０２１６】
ＢＩ−ＬＥＶＥＬは二値化方法を示し、０はプリントエンジン６０６が多値プリンタの場合で、二値化を行なわないことを示す。１はディザ法のファットニングパターン、２はディザ法のベイヤパターン、３は単純二値化法、４は誤差拡散法を示す。
【０２１７】
ＴＨＲＥＳＨＯＬＤは単純二値化法の二値化しきい値（０〜２５５）を示す。
【０２１８】
ＰＡＧＥはプリント時のページ数を示す。
【０２１９】
図１８の（ｄ）はＯＫパケットを示す。ＯＫパケットは１バイトのＯＫタグだけである。
【０２２０】
図１８の（ｅ）はＧＡＭＭＡパケットで、第２バイトのＳ／Ｐは、スキャナ１０３、プリンタ１０４のいずれかのガンマテーブルに設定するかを示す。それ以降は、ガンマテーブルは２５６＊３色分の７６８バイトから構成される。
【０２２１】
図１８の（ｆ）はＭＡＳＫＩＮＧパケットで、マスキングタグ、および２バイトの固定小数点からなるマスキングパラメータで構成される。
【０２２２】
図１８の（ｇ）はＳＴＡＴＵＳパケットで、ステータスタグ、ステータスの数、およびステータスから構成される。
【０２２３】
図１８の（ｈ）はＤＡＴＡパケットで、データタグ、次に続く画像データ数、および画像データから構成される。
【０２２４】
図１８の（ｉ）はＥＳＣパケットで、第１バイトがＥＳＣで始まるシーケンスで、インタープリタ２１４で、ビットマップ、あるいはバイトマップの画像へ展開される。これは、通常のプリンタのＥＳＣシーケンスと同等なものである。
【０２２５】
スキャンプリンタサーバー１０２から、スキャナ１０３、プリンタ１０４との間のコマンドの構成を以下説明する。
【０２２６】
プリスキャン命令、スキャン命令、ステータス情報、ガンマ設定命令、マスキング設定命令などのコマンドの構成も図１８と同様の形式で通信が行なわれる。
【０２２７】
図１９はスキャナプリンタサーバーとスキャナプリンタ間の命令の構成を示す。（ａ）はプリスキャン命令、（ｂ）はスキャン命令、（ｃ）はプリント命令である。
【０２２８】
各パケットの第１バイトは、そのパケットが何であるかを表すタグである。例えば、ＰＲＥＳＣＡＮは１で、プリスキャンすることを示す。ＳＣＡＮは２で、スキャンすることを示す。
【０２２９】
ＸＳＩＺＥは、２バイトからなる画像のＸ方向の大きさを示し、ＹＳＩＺＥは、２バイトからなる画像のＹ方向の大きさを示す。
【０２３０】
ＸＳＴＡＲＴは、２バイトからなる画像のＸ方向のスキャン、プリント開始位置を示し、ＹＳＴＡＲＴは、２バイトからなる画像のＹ方向のスキャン、プリント開始位置を示す。
【０２３１】
ＸＺＯＯＭは、１バイトからなる画像のＸ方向のスキャン、プリント解像度を示し、ＹＺＯＯＭは１バイトからなる画像のＹ方向のスキャン、プリント解像度を示す。
【０２３２】
ＦＯＲＭＡＴは、画像の走査方法を示し、点順次は１、線順次は２、面順次は３のように指定する。
【０２３３】
ＥＤＧＥは、エッジ強調、スムージングの程度を示し、１６〜１はエッジ強調、−１〜−１６ならスムージングのように指定する。
【０２３４】
ＣＯＬＯＲＴＹＰＥは、画像の色空間を示し、ＲＧＢなら１、ＹＣｒＣｂなら２のように指定する。ＲＧＢの場合には、第１色をＲ、第２色をＧ、第３色をＢと呼ぶことにする。また、ＹＣｒＣｂの場合には、第１色をＹ、第２色をＣｒ、第３色をＣｂと呼ぶことにする。
【０２３５】
ＣＯＬＯＲは、画像の色のうち、どの色を送るかを示す。例えば、第１色だけなら第２ビット、第２色だけなら第１ビット、第３色だけなら第０ビットを１にする。例えば、ＣＯＬＯＲＴＹＰＥがＲＧＢで、ＲＧＢ全色送る場合には７になる。また、Ｒ、Ｂの２色を送る場合には５（第１色＝４、第３色＝１）になる。同様に、ＣＯＬＯＲＴＹＰＥがＹＣｒＣｂで、Ｙだけ送る場合には４になる。
【０２３６】
ＬＥＶＥＬは、２バイトからなり、最初の４ｂｉｔは、第１色の階調数を示し、次の４ｂｉｔは第２色の階調数を示し、次の４ｂｉｔは、第３色の階調数を示す。最後の４ｂｉｔは、ｕｎｄｅｆｉｎｅｄである。
【０２３７】
これらの階調数は８ならば２５６階調、６ならば６４階調のように２の指数で指定する。ＣＯＤＥは、符号化方法を示し、符号化しない場合は０、ＡＤＣＴによる符号化の場合は１のように指定する。
【０２３８】
ＵＣＲは黒生成時のαを示す。
【０２３９】
ＢＩ−ＬＥＶＥＬは二値化方法を示し、０はプリントエンジン６０６が多値プリンタの場合で、二値化を行なわないことを示す。１はディザ法のファットニングパターン、２はディザ法のベイヤパターン、３は単純二値化法、４は誤差拡散法を示す。
【０２４０】
ＴＨＲＥＳＨＯＬＤは単純二値化法の二値化しきい値（０〜２５５）を示す。
【０２４１】
ＰＡＧＥはプリント時のページ数を示す。
【０２４２】
図１９の（ｄ）はステータス情報の１種で、ＯＫを示す。ＯＫは１バイトのＯＫタグだけである。
【０２４３】
図１９の（ｅ）はガンマ設定命令で、第２バイトのＳ／Ｐは、スキャナ１０３、プリンタ１０４のいずれのガンマテーブルに設定するかを示す。それ以降は、ガンマテーブルは２５６＊３色分の７６８バイトから構成される。
【０２４４】
図１９の（ｆ）はマスキング設定命令で、マスキングタグ、および２バイトの固定小数点からなるマスキングパラメータで構成される。
【０２４５】
図１９の（ｇ）はステータス情報で、ステータスタグ、ステータスの数、およびステータスから構成される。
【０２４６】
図１９の（ｈ）はコピー命令で、１バイトのコピータグだけである。
【０２４７】
次に、スキャナ１０３およびプリンタ１０４を用いたコピー動作を説明する。
【０２４８】
コピーの場合には、ユーザがスキャナ１０３オペレーションパネル３０６のコピーボタンを押すと、スキャナ制御回路は、スキャナシリアルインターフェース３０１からスキャナプリンタサーバー１０２にコピー命令を送る。
【０２４９】
スキャナプリンタサーバー１０２は、コピー命令を受けとると、スキャン命令をスキャナ１０３に、プリント命令をプリンタ１０４に送る。この時、コピーに適したマスキングなどのパラメータをセットする。
【０２５０】
また、スキャナプリンタサーバー１０２は、コピー命令を受けとると、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＯＬＯＲ（クロック信号）１１１、ＤＡＴＡ（画像データ信号）１０８信号をハイインピーダンスする。
【０２５１】
スキャナ１０３は、スキャン命令を受けとると、スキャン１０３のスキャナ制御回路は、オペレーションパネル３０６のプリント開始位置、スキャナ１０３のスキャナ制御回路は、オペレーションパネルの３０６のプリント開始位置、プリント画像サイズなどの設定に基づいて画像を読みとり、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１と、これに同期した画像データを出力する。
【０２５２】
プリンタタイミング制御回路４０４では、スキャナ１０３からのＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１に同期して画像データを受けとり、プリントすることによりコピーが行なわれる。
【０２５３】
コピー時には、スキャナプリンタサーバー１０２のタイミング制御回路は２０８は、ＨＳＹＮＣ（水平同期信号）１１０、ＶＳＹＮＣ（垂直同期信号）１０９、ＣＬＯＣＫ（クロック信号）１１１、ＤＡＴＡ（画像データ信号）１０８の各信号線をハイインピーダンスにする。
【０２５４】
コピーが行なわれている場合には、リモートでの画像のスキャン、プリントができないため、サーバープロセス１０７は、クライアントプロセス１０６からの、スキャンパケット、プリントパケットを受けとったら、コピー中であることを示すＳＴＡＴＵＳパケットをクライアントプロセス１０６に送り、スキャン、あるいはプリントができないことをユーザに知らせる。
【０２５５】
また、リモートでの画像スキャン、プリントが行なわれている場合には、コピーを行なうことができない。そこで、スキャナＣＰＵ３０２は、スキャナ、プリンタが動作中には、オペレーショパネル３０６に、動作中であることを示す表示を行ない、コピーを受け付けないようにする。
【０２５６】
本発明実施例では、ネットワークにバス型のイーサネット（Ｒ）１０５を用いた場合について説明したが、ネットワークはどのようなネットワークでも簡単で適用できる。
【０２５７】
また、本発明実施例では、スキャナプリンタサーバー１０２とスキャナ１０３、プリンタ１０４間のコマンド、パラメータ、エラーなどのデータを通信するのにシリアル通信を用いる場合について説明したが、シリアル通信にとらわれることなく、任意の双方向通信インターフェースを用いることができる。
【０２５８】
また、本発明実施例では、スキャナプリンタサーバー１０２とスキャナ１０３、プリンタ１０４間のコマンド、パラメータ、エラーなどのデータを通信するシリアル通信を用い、画像データを通信するのにビデオインターフェースを用いているが、これらの通信インターフェースにとらわれることなく、ＳＣＳＩ、ＧＰＩＢなどの双方向の通信が可能なインターフェースを用いて、コマンド、パラメータ、エラーなど情報と画像データを同一の通信路で通信することも可能である。
【０２５９】
また、本発明実施例では、画像が点順次のＹＣｒＣｂ形式の場合にはＡＤＣＴ符号化法で符号化して画像を送っているが、ＡＤＣＴ符号化法にとらわれるものではなく、任意の符号化法を用いることができる。これにより、点順次のＹＣｒＣｂ形式以外の画像に対しても符号化を行ない、画像を圧縮して伝送することができる。
【０２６０】
また、本発明実施例では、１ライン分のデュアルポートラムを用いているが、これにとらわれるものでなく、複数ライン、あるいは１画面分のメモリを持たせ、より高速化をはかることができる。
【０２６１】
また、本発明実施例では、プリスキャン時には画像を間引いて送り、本スキャン時には画像を間引かずに送っているが、カラー画像をプリスキャンする場合は、（１）単色成分のみを送る。（２）間引いて送る。（３）符号化して送る。（４）画像の階調数を落して送る（５）画像の解像度を落して送るを組合せて送ることも可能である。
【０２６２】
また、本発明実施例では、プリスキャン時に画像を読みとり、その画像データをハードディスク２１２に格納すると同時に、間引いて転送していた。そして、本スキャン時にはそのハードディスク２１２の画像から読み出して転送していた。しかし、プリスキャン時には画像を、ハードディスクに格納せず、直接（１）単色成分のみを送る。（２）間引いて送る。（３）符号化して送る。（４）画像の階調数を落して送る（５）画像の解像度を落して送るを組合せて送る。
【０２６３】
そして、本スキャン時には、再び画像をスキャンして転送することも可能である。
【０２６４】
また本発明実施例では、画像を読み込み、面順次に走査変換して転送する場合には、スキャンエンジン５０５で３回スキャンを行なっていた。しかし、１度だけ画像を読みとり、その画像データをハードディスク２１２に格納し、そのハードディスク２１２の画像から３回読み出すことも可能である。これにより、機械的なスキャンが１回ですみ、高速化をはかることができる。
【０２６５】
また、ハードディスク２１２に格納すると同時に、第１色の走査変換を行ない、残りの２回はハードディクから読み出すことも可能である。
【０２６６】
また、本発明実施例では、二値プリントエンジンのために二値化部６０５で画像の二値化を行なっていた。しかし、二値プリントエンジンにとらわれるものではなく、Ｎ値プリントエンジンの場合にはＮ値化部を設けることにより、容易に対応できる。
【０２６７】
また、スキャナプリンタサーバーにスキャンした画像を記憶する記憶手段を設け、プリスキャン時にいったんこの記憶手段に画像を記憶させ、本スキャン時にはこの記憶させた画像空読み出すことにより、従来２度のスキャンが必要であったのを１度で済ませることができ、高速な画像読みとりを可能とすることができた。
【０２６８】
また、複数枚プリントする場合には、最初の１枚をプリントする際に該記憶手段に画像を格納し、２枚めからは該記憶手段から読みだしプリントすることにより、１度だけ画像を転送すれば良く、高速なプリントを可能とすることができた。
【０２６９】
また、プリスキャン時にカラー画像を（１）単色成分のみを送る。（２）間引いて送る。（３）符号化して送る。（４）画像の階調数を落して送る（５）画像の解像度を落して送るを組合せて送ることにより、画像を圧縮して送ることができ、通信量を削減できるという大きな利点も得られる。
【０２７０】
また、双方向の通信路を設けることにより、スキャナプリンタをネットワークから使用している際に、コピーを受け付けない、また、コピー時にはスキャナプリンタをネットワークから使用できないようにすることができるようになった。
【図面の簡単な説明】
【０２７１】
【図１】本発明を実施したシステム構成図である。
【図２】スキャナプリンタサーバーの構成図である。
【図３】スキャナの構成図である。
【図４】プリンタの構成図である。
【図５】画像読みとり部３０５の構成図である。
【図６】プリント部４０５の構成図である。
【図７】画像のスキャン、プリントの説明図である。
【図８】タイミングの詳細な説明図である。］
【図９】スキャン、プリント時のデュアルポートラム動作説明図である。
【図１０】スキャン時のデュアルポートラム動作説明図である。
【図１１】スキャン時のデュアルポートラム動作説明図である。
【図１２】プリント時のデュアルポートラム動作説明図である。
【図１３】プリント時のデュアルポートラム動作説明図である。
【図１４】プリスキャン、スキャン動作時の説明図である。
【図１５】プリント時の説明図である。
【図１６】プリント動作時にエラーが発生した場合の説明図である。
【図１７】同一の画像を複数枚プリントする時の動作時の説明図である。
【図１８】パケットの説明図である。
【図１９】スキャナプリンタサーバーとスキャナプリンタ間の命令の説明図である。
【図２０】スキャナ、プリンタとスキャナプリンタサーバー間の通信の説明図である。
【図２１】スキャン及びＰＤＬデータを展開する動作の説明図である。
【符号の説明】
【０２７２】
１０１  ホストコンピュータ
１０２  スキャナプリンタサーバー
１０３  スキャナ
１０４  プリンタ
１０５  イーサネット（Ｒ）
１０６  クライアントプロセス
１０７  サーバープロセス
【図１】
0003639835.tif 000004
【図２】
0003639835.tif 000005
【図３】
0003639835.tif 000006
【図４】
0003639835.tif 000007
【図５】
0003639835.tif 000008
【図６】
0003639835.tif 000009
【図７】
0003639835.tif 000010
【図８】
0003639835.tif 000011
【図９】
0003639835.tif 000012
【図１０】
0003639835.tif 000013
【図１１】
0003639835.tif 000014
【図１２】
0003639835.tif 000015
【図１３】
0003639835.tif 000016
【図１４】
0003639835.tif 000017
【図１５】
0003639835.tif 000018
【図１６】
0003639835.tif 000019
【図１７】
0003639835.tif 000020
【図１８】
0003639835.tif 000021
【図１９】
0003639835.tif 000022
【図２０】
0003639835.tif 000023
【図２１】
0003639835.tif 000024