JP4072439B2 - 画像処理装置、データ通信方法、及びプログラム - Google Patents
画像処理装置、データ通信方法、及びプログラム Download PDFInfo
- Publication number
- JP4072439B2 JP4072439B2 JP2003002968A JP2003002968A JP4072439B2 JP 4072439 B2 JP4072439 B2 JP 4072439B2 JP 2003002968 A JP2003002968 A JP 2003002968A JP 2003002968 A JP2003002968 A JP 2003002968A JP 4072439 B2 JP4072439 B2 JP 4072439B2
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- image
- processing apparatus
- communication
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimiles In General (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、デジタル複写機の制御部等、画像処理装置と通信可能な画像処理装置、データ通信方法、及びプログラムに関するものである。
【0002】
【従来の技術】
従来より、PDLにより記述されたプリントジョブの各ページを画像展開し、ラスター画像データを生成するPDLコントローラが使われてきている。このPDLコントローラは、複写機などの画像処理装置に、コマンドのやり取りを行うためのコマンドI/Fと、Video画像データのやり取りを行うためのVideoI/Fで接続されており、PDLプリント画像処理システムとして使用されている。
【0003】
PDLコントローラでは、ネットワークなどを介して接続されたホストコンピュータより、受け取ったPDLジョブを解析・ラスター画像形成する。そして、画像処理装置の制御部に対して、コマンドI/Fを介して、解析結果を基に構築したコマンドシーケンスを送り、然る後に或いは並行して、画像データをVideoI/Fを介して送る。画像処理装置制御部では、受け取ったコマンドシーケンスと画像データに基づき、画像形成装置部を起動して用紙媒体上に画像形成し、機外へと出力する。なお、このような機能を有するPDLコントローラは、例えば、特開2001-027939号公報等に開示されている。
【0004】
一方で、PDLコントローラはスキャンコントローラも兼ねている場合もあって、接続される画像処理装置はプリンタ等の画像形成装置のみ備えたものではなく、複写機等の画像形成装置と画像読取装置を合わせて持った画像処理装置に接続される。
【0005】
この従来のスキャン可能な画像処理システムにおいては、コントローラと画像処理装置間の画像データ転送には、画像転送路であるVideoI/Fを用いている。このVideoI/Fは、双方向の通信ハードウェアを用いており、プリント時にはコントローラから画像処理装置へ、スキャン時には画像処理装置からコントローラへと、データ転送の方向を切り替えることが可能である。
【0006】
【発明が解決しようとする課題】
しかしながら、このようなPDLプリント画像処理システムでは、以下に述べるような問題が生じる。すなわち、通常、ホストコンピュータからのプリントは、原稿を作成したアプリケーションソフトウェアからプリンタドライバを起動し、ネットワーク等のI/Fを通じてプリンタコントローラ装置へと印刷指令が出される。これに対し、スキャンにおいては、ホストコンピュータ上でスキャン用アプリケーションを起動してコントローラ装置にスキャン指令を出し、画像が送られてくるのを待つか、あるいはコントローラ装置そのものが備える操作部よりスキャン指令を出し、コントローラ装置のハードディスク装置などの記憶部に一旦画像データを保存する。そして、然る後に操作部からホストコンピュータに画像データを送りつけたり、あるいはホストコンピュータより保存されている画像をダウンロードしたりする作業フローが一般的である。
【0007】
上記の従来の画像処理システムにおいては、同一ハードウェアの双方向VideoI/Fを用いているがため、プリント作業とスキャン作業では使用する画像処理装置の部位が異なるにも拘らず、どちらか一方の作業中の場合には、もう一方の作業を行おうとするユーザは、作業中の作業が終了するまで待たされることになった。このとき、スキャン中にプリントする場合は、プリントジョブは通常ユーザからみると投げっぱなしでよいので、ジョブスタートが遅くなるくらいで、あまり問題はないが、プリント動作中にスキャンを行おうとするユーザはプリント作業が一旦終了するまで、なにもできないことになっていた。
【0008】
また、上述のとおり、画像転送に用いるVideoI/Fとして、双方向のハードウェアを用いる必要があり、システムとしてのコストアップにも繋がっていた。
【0009】
さらには、コントローラ装置とホストコンピュータの間のI/Fには、イーサネット(登録商標)などのネットワークI/Fが用いられることも多く、I/Fの帯域幅の問題から、特にカラー多値画像の場合には、ビットマップラスター画像をそのまま送ることは容量的に不可能で、せっかくコントローラ装置に高画質のラスター画像を読み込んでも、結局コントローラ装置内で画質劣化を伴う高圧縮率の不可逆圧縮を行って、しかる後にホストコンピュータに画像データ転送を行う必要があり、せっかくの高画質の双方向VideoI/Fが無駄になっていた。
【0010】
本発明は上述した問題点を解決するためのものであり、双方向に制御データの通信を行う第1通信手段と、単方向に画像データの通信を行う第2通信手段とを使用して、他の画像処理装置との間でのデータ通信を行う際に、画像データの通信のために第1通信手段を使用するように制御することことにより、画像通信に係る構成のコストアップを招くことなく、所望とする画像入出力動作の状態に応じた最適な画像データ通信ができる画像処理装置、データ通信方法、及びプログラムを提供することを目的とする。
【0011】
また、本発明は、双方向に制御データの通信を行う第1通信手段と、単方向に画像データの通信を行う第2通信手段とを使用して、他の画像処理装置との間でのデータ通信を行う際に、圧縮された画像データを必要とする場合、他の画像処理装置からの圧縮された画像データの受信のために第1通信手段を使用するように制御することにより、圧縮された画像データを必要とする場合において効率的な画像データ通信ができる画像処理装置、データ通信方法、及びプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、他の画像処理装置と通信可能な画像処理装置であって、前記他の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記他の画像処理装置との間で前記画像処理装置から前記他の画像処理装置へ単方向に画像データの通信を行う第2通信手段と、前記他の画像処理装置から前記画像処理装置への画像データの通信において、前記他の画像処理装置からの画像データの受信のために前記第1通信手段を使用するように前記第1通信手段を制御する制御手段と、を有することを特徴とする。
【0013】
また、本発明は、他の画像処理装置と通信可能な画像処理装置であって、前記他の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記他の画像処理装置との間で前記他の画像処理装置から前記画像処理装置へ単方向に画像データの通信を行う第2通信手段と、前記画像処理装置から前記他の画像処理装置への画像データの通信において、前記他の画像処理装置への画像データの送信のために前記第1通信手段を使用するように前記第1通信手段を制御する制御手段と、を有することを特徴とする。
【0014】
また、本発明は、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法であって、前記第2の画像処理装置から前記第1の画像処理装置への画像データの通信において、画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする。
【0015】
また、本発明は、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法であって、圧縮された画像データを前記第1の画像処理装置が必要とする場合、前記第2の画像処理装置から前記第1の画像処理装置への圧縮された画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする。
【0016】
また、本発明は、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法を実行するためのコンピュータにより実行可能なプログラムであって、前記第2の画像処理装置から前記第1の画像処理装置への画像データの通信において、画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする。
【0017】
また、本発明は、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法を実行するためのコンピュータにより実行可能なプログラムであって、圧縮された画像データを前記第1の画像処理装置が必要とする場合、前記第2の画像処理装置から前記第1の画像処理装置への圧縮された画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【0019】
(第1の実施形態)
図1は本実施形態で用いられる、画像処理システムの一例を示すブロック図である。
【0020】
[画像処理システム構成の説明]
画像処理装置制御部(10)は、CPU(101)によって制御を行っており、HDD装置(104)や不図示のメモリ等を備える。またネットワークI/F部(102)とVideoI/F部(103)を備え、これらを介してネットワークPDLコントローラ(11)と接続されている。さらに、不図示のI/Fを介して、画像読取装置部(スキャナ)(12)、画像形成装置部(プリンタ)(13)と接続している。また、不図示のキーおよび液晶表示装置を備えたユーザI/F部を備えている。
【0021】
画像形成装置(13)と画像読取装置(12)へのI/Fは専用ハードウェアを用いており、制御信号線とVideoデータ信号線等により構成されている。Videoデータ信号線は、画像データを送信または受信するための信号線であって、制御信号線はVideoデータの送受信のタイミング制御や、各種制御命令を画像読取装置または画像形成装置に対し送信するための信号線である。
【0022】
画像読取装置(12)は、CCD等の画素毎の階調を読み取ることのできる光学センサを備え、原稿台にセットされた原稿の画像を画素毎に読み取り、ラスタービットマップイメージの電子データを生成し、画像処理装置制御部(10)へと送ることができる。構成によっては、画像読取装置(12)にDF(自動原稿送り装置)を備え、複数枚からなる原稿を連続して画像読み取りすることもできる。
【0023】
画像形成装置(13)は、電子写真方式やインクジェット方式といったプリントエンジンを備え、用紙媒体上に、画像処理装置制御部(10)から送られてくる画像データを形成し、機外へと出力することができる。構成によっては、複数の給紙段を備え、異なった複数のサイズ・種類の媒体を選択して給紙し、画像形成することも可能である。また、構成によっては、ある特定のFinishing装置を備え、出力される複数部の原稿をソートしたり、Booklet型にサドル製本するといったことも可能である。
【0024】
画像処理装置制御部(10)では、受け取った画像を圧縮したり、HDD(104)内に保存したり、あるいは所望の方向に回転させたり、所望のサイズに拡大または縮小する、あるいは画素間を保管してラインやエッジを滑らかにするスムージングといった画像データ処理を行うことができる。プリンタ(13)で印刷した調整用画像をスキャナ(12)で読み取って濃度調整するキャリブレーション等の色味調整も行うことができる。
【0025】
画像処理装置制御部(10)は、上述のとおり不図示のメモリも備えており、このメモリはこれら画像データを一時的に保持するだけでなく、画像その他処理の作業領域としても使用する。
【0026】
これらの処理は、主としてCPU(101)で動作する不図示のROMまたはHDD(104)に格納されたプログラムによって、ソフト的に行われるが、高速化のため一部の画像処理をハード化し、ハード的な画像処理部を設けて行うようにもしている。この画像処理ハード回路は、やはりCPU(101)によって、レジスタ等に値を書き込むことによって制御される。
【0027】
また、PDLコントローラ(11)からのラスター画像データを受け取るためのVideoI/F部(103)と、コマンドやステータスのやり取りを行うためのネットワークI/F部(102)を備えている。本実施形態では、イーサ・ネットワークハードウェア上にTCP/IPプロトコル用いて実装しており、多チャンネルのポートを備えたコマンドI/Fとなっているが、多重化さえ可能であれば、IEEE1394やUSB2.0等の他のI/Fハードウェア/プロトコルを用いても、もちろん構わない。
【0028】
ネットワークPDLコントローラ(11)は、CPU(111)で動作するプログラムによって制御されている。外部I/FとしてはネットワークI/F部(112−1)を備えており、外部I/Fを介してホストコンピュータ(14)等に接続される。
【0029】
プリント時においては、ホストコンピュータ(14)上で動作するアプリケーションソフト等により生成された印刷原稿が、同コンピュータ上に搭載されたドライバソフトにより、ページ記述言語(PDL)で記述された印刷ジョブに変換され、これネットワークI/F部(112−1)を介して受け取る。
【0030】
PDLコントローラ(11)は、ホストコンピュータ(14)から受け取ったPDLジョブにより、プリントジョブシーケンスを組み立て、ラスター画像を展開し、画像処理装置制御部(10)に指令を出し画像データを送って、プリントジョブを開始する。
【0031】
また、ホストコンピュータ(14)上などで起動される、スキャンアプリケーションによる指令を受けて、画像処理装置制御部(10)に原稿読み取り指令を送り、送られてきた画像データをホストコンピュータ等に送出するスキャンジョブを実行することも可能となっている。
【0032】
さらには、不図示の操作部を備え、操作部から、PDLコントローラ(11)に内蔵される不図示のHDD装置内に画像データを保存するスキャンジョブを起動したり、テストプリントや以前に転送されてきたプリントジョブの再プリントなどのプリントジョブを起動したりすることも可能である。
【0033】
ネットワークI/F部(112)は画像処理装置制御部(10)と主にコマンドやステータスのやり取りを行うためのコマンドI/Fであって、前述のとおりイーサネット(登録商標)とTCP/IPプロトコルで実現される多チャンネル(ポート)構成となっている。各ポートは、プリントジョブ制御コマンド用ポート(プリントポート)、スキャンジョブ制御コマンド用ポート(スキャンポート)およびプリントスキャンによらず使用される管理コマンド用ポート等がある。この他、VideoI/Fにおける転送タイミングを制御するためのVideo制御ポートもある。
【0034】
VideoI/F部(113)はプリントするラスター画像を画像処理コントローラに送信するためのI/Fである。本実施形態では、CMYK各色8ビット×4色からなるデータ信号、画素クロック信号、ページ同期信号等の制御信号等を並列に送ることのできる多ビットハードウェア信号線群から構成されている。またこれらの多ビット並列信号を、送信側機器で一端直列に並べて、コントローラ−制御部間を十分高速な1ビットシリアル回線で繋ぎ、シリアル信号を受け取った受信側機器で再び多ビット並列信号に直して処理するチャネルリンクと呼ばれる構成を用いることも可能である。
【0035】
メモリ(114)はプログラムの動作上の作業領域や、展開した画像を一時的に格納するためのフレームバッファとしても用いられる。
【0036】
その他、PDLコントローラ(11)には、不図示のHDD装置を備えており、OSや各種制御プログラム、ジョブデータや展開した画像を格納するのに用いられる。もちろん、OSや制御プログラムをROMに格納したり、データや画像をフラッシュメモリなどのRAMメモリ装置に保存する構成にしても構わない。
【0037】
尚、上述の操作部は画像処理装置制御部(10)に内蔵される操作部を、PDLコントローラ(11)も使ったり、あるいはその逆にPDLコントローラ(11)に内蔵される操作部を、画像処理装置制御部も使ったりする兼用構成とすることも可能であり、この場合はコマンドI/Fには操作部制御用コマンドのチャンネル(ポート)が追加される。
【0038】
[コピー時の動作の説明]
図1の画像処理装置制御部(10)と画像読取装置(12)および画像形成装置(13)から成るシステムは、いわゆる複写機として構成されており、コピー動作を行うことが可能である。不図示の操作部のキーによって、ユーザからコピー動作のスタート命令が出されると、画像処理装置制御部(10)はまず、予め設定されたFinishingやカラーモード等のコピーモードに従い、コピージョブのシーケンスを生成する。
【0039】
そして、まず、画像読取装置(12)に対し画像読取指令を出し、画像読取装置(12)の不図示の原稿台にセットされた原稿から、画像データを読み取り、読み取った画像データを、一旦HDD(104)またはメモリ内のフレームバッファに格納する。
【0040】
次に画像形成装置(13)に対し、印刷開始指令を出し、画像形成装置から送られてくる画先同期信号に従い、コピージョブシーケンスに基づく画像順で、HDD(104)またはフレームバッファに格納されている画像データを送出する。
【0041】
このとき、不図示のユーザI/Fで、Finishing動作が指定されているならば、CPU(101)は印刷開始指令時に合わせてFinishing動作モードを指定する。画像形成装置(13)は、モード指定に従って動作を開始し、送られてくる画像を順に用紙媒体上に形成し、Finisherへと出力する。Finisherでは指定されたFinishingモードに従い、特定枚数ごとにステープルやビン送り等の動作を行い、Finishing動作を実行する。
【0042】
画像読取装置(12)に不図示のDFが備えられている場合は、DFにセットされた複数枚の原稿を1枚ずつ連続して画像読取りすることができる。このときの1枚ずつの読取間隔は、画像処理コントローラ(10)の構成に合わせて、CPU(101)で動作するプログラムで指定することができる。例えば、画像処理コントローラが十分な容量のHDD(104)またはメモリを持つ場合は、一旦全ての原稿を読み取って保存し、然る後に画像形成装置にFinishing等の形態に合わせて所望の順に1枚ずつの画像データを送るようにしても良いし、十分な容量がない場合や最初の1枚が出力されるまでの時間(FCOT)を短くしたい場合は、画像読み取り開始と並行して、画像形成装置を起動しておき、1枚画像を読み取る毎に、画像形成装置の画先タイミングに合わせて画像を出力するようにしてもよい。
【0043】
また、読み取った画像のサイズと、画像形成する用紙のサイズや方向のミスマッチを解消すべく、拡大/縮小や回転といった処理の行った後に、画像形成装置(13)に画像出力するようにシーケンスを組むことも可能である。
【0044】
[プリンタと画像処理装置制御部間のI/Fの説明]
本実施形態における画像形成装置(13)は、入力画像として、CMYKカラー多値の画像信号を受けることができる。また画素毎のTAG信号を受けることもできる。TAGビットとは、特定の画素が構成するオブジェクトの種類を特定するものであって、ある画素が文字の一部なのか画像の一部なのかそれともグラフィック図形の一部なのかといった情報などを表すものである。
【0045】
カラー多値画像の場合は、1画素につきCMYK各色8ビットの計32ビット信号を必要とする。その際の画素クロックは、画像形成装置(13)の画像形成速度に合わせて、600dpiの画像を形成することのできるものとなっている。すなわち、本実施形態の画像形成装置では、カラー600dpiの画像形成を基本としている。しかし特定画素に写真画像領域であることを示すTAG信号がついている場合は、画像形成装置(13)内部で隣接する2画素を一組の単位として300dpiで解像度を落とし、階調性を上げて画像形成することも可能である。つまり、TAG信号を、写真画像の領域を表す信号として、文字領域と区別し、それぞれの領域ごとに特性に合わせて、高解像度または高階調性を選択し、良好な画像形成をすることができるようになっている。
【0046】
ハード信号線としては、8ビット×4本(CMYK)とTAG用の1ビット×1本の計5本の信号線を持つ。もちろんそれ以外にタイミング信号線や、プリントに起動をかけたり、JAM等の状態を得る制御信号線もある。
【0047】
タイミング信号とは、ページ毎の画像の先端を示すページシンク信号や、ライン毎の区切りを示すラインシンク信号、および画素の区切りを示す画素クロック信号などである。ページシンク信号は、プリンタ内における用紙の搬送にあわせて、用紙が画像形成装置分に差し掛かったときに、ページの先頭のデータが画像形成装置分に届くタイミングで、プリンタから画像処理装置へ送られる信号である。また、ラインシンク信号は、例えばプリンタが電子写真式プリンタである場合には、レーザポリゴンの回転速度に比例するライン毎の切れ目を示すタイミングとなる。画素クロックは、ラインシンクの1ライン分において600dpiの密度で画素データを送ることのできる同期信号となる。
【0048】
これらの信号線はパラレル信号線としてもよいが、高速なシリアル線を使い両端のドライバにて仮想的に5本+αの信号線を実現することも可能である。
【0049】
[スキャナと画像処理装置制御部間のI/Fの説明]
スキャナ(12)は、原稿画像を8ビット多値のRGBデータとして読み取る。すなわち画像処理装置制御部(10)とのI/Fは、8ビット×RGB3色の24ビット信号およびスキャン動作させるための制御信号およびタイミング信号線より構成される。
【0050】
タイミング信号とは、プリンタとのI/Fの場合と同様に、ページ毎の先端を示すページシンク信号や、1ライン毎の区切りを示すラインシンク信号および画素クロックがあって、これらはスキャナのメカ的な読取速度と光学センサの読取解像度によって定まってくる。
【0051】
[PDLコントローラと画像処理コントローラ間のI/Fの説明]
PDLコントローラ(11)と画像処理装置制御部(10)間の第1のI/Fは、Etherネットを用いたネットワークI/F2(112)である。これはコマンドI/Fであって、主として両コントローラ間での印刷指令やモード指定等といったコマンドや、画像形成装置(13)や画像読取装置(12)がReadyになっているか、あるいはエラー等が起こっているか、といった情報であるステータスのやり取りを行う。プロトコルはTCP/IPを用いて多重化を実現しており、プリントポート、スキャンポート、管理ポート、イベントポートおよびビデオポートを備え、それぞれ並列に独立してコマンド通信を行えるようになっている。
【0052】
第2のI/Fは、画像データの転送を行う、VideoI/F部(113)である。このI/FはCMYK各8ビットの信号と、画像の領域の性質を表す1または2ビットのTAGビット信号線、および信号の画素単位を表す画素クロック、ラインごとの区切りを表すLineイネーブル信号等の信号線が(論理的に)パラレルに送られるように構成されている。物理的に必要本数の信号線を配置してもよいが、それだとケーブルが太くなってしまうので、数本の高速シリアル線を用い、両端のドライバで仮想的に必要本数の信号線を実現している。
【0053】
ネットワークI/F部2(112)は汎用のEtherネットI/Fであり、一度に送れる情報量は比較的少なく、比較的低速のI/Fである。しかしながらTCP/IPを用いており、アドレスやポートを複数設定して、複数種類の情報を一度にやり取りする多チャンネル化が可能である。また、双方向I/Fであり、PDLコントローラ側からも画像処理装置制御部側からもどちらからも所望のコマンドや情報を送ることが可能となっている。
【0054】
これに対し、ビデオI/F部はシステムのパフォーマンスを考慮して専用に設計されており、プリンタの画像形成速度に合わせて十分に高速なデータ転送が可能となっているが、送れる情報は一度に1つの画像データのみの1チャンネルI/Fであり、データ転送方向はPDLコントローラから画像処理装置制御部(10)への1方向I/Fである。
【0055】
[PDLコントローラプロセス構成]
図2はPDLコントローラにおける制御ソフトのプロセス構成とデータ/コマンドフローの一例を、模式的に示した図である。なお、この制御ソフトは、CPU(111)により実行され、模式図に表される各ブロックは、メモリ(114)上に構成されている。
【0056】
206はOSの機能を用いて実現されているTCP/IP通信部を表している。周知のとおりTCP/IPは多重化されており、物理的に一つの回線で接続されている、あるIPアドレスを備える機器に対して、論理的に多数のポートを持って、並列に通信することができる。例えば画像処理装置のIPアドレスが192.168.1.2であるとし、管理ポートは9000に、イベントポートは9001に割り振ると、ポート9000と9001は全く独立に通信動作することが可能である。またそれぞれのポートで用いられるトランスポート層プロトコルは、TCPまたはUDPである。TCPでは接続のセッションを確立してから、データ転送動作を行うので、基本的に送信パケットを相手側が受信したことが保障され、UDPはセッションを確立せずに転送する可能であるので、相手側の受信は保障されないがその分高速である。本実施形態では、イベントポート(Event port)にはUDPを用いており、その他のポートにはTCPを用いて、その上のアプリケーション層プロトコルを実装している。
【0057】
201は管理プロセスである。このプロセスは、画像処理装置制御部(10)の管理ポートと通信し、すべてのプロセスに先んじて起動される。主に、プリント、ビデオ、スキャンといった他のプロセスを順次起動する他、画像処理装置制御部(10)側の静的状態、動的状態等の情報を入手する。例えば後述するポートでジョブシーケンスを送信すると、画像処理装置制御部ソフトはジョブオブジェクトを生成するが、そのジョブの動作(印刷または画像読取)が完了すると、そのジョブオブジェクトは消滅する。この、ジョブオブジェクトの生成・消滅といった情報も、このポートを通じて入手することができる。
【0058】
管理プロセス(201)は、起動するとまず、図3に示す初期化動作を行う。画像処理装置側の管理ポートはTCPの9000番に固定されており、イベントプロセスはOSの機能を用いて、画像処理装置のIPアドレスの9000番ポートに接続に行き、セッションを確立する(S301)。このとき画像処理装置側がサーバとなっており、クライアントであるPDLコントローラ側のポート番号(Admin port)は、任意の番号を用いることができる。セッションの確立時にこのポート番号は、相手側に通知されるので、その後問題なく双方向通信することができる。また、セッションが確立したら、画像処理装置に初期化コマンドを送信し、必要な初期化処理を促す。
【0059】
そして次に、イベントを送ってほしいUDPのポート番号(Event port)を空いているものの内から定め、管理ポート9000を通じて、画像処理装置に知らせる(S302)。画像処理装置はここで知らされたポート番号に、発生したイベントを通知するようになる。
【0060】
Admin portや後述するPrint,Video,Scan portのコマンドは、管理プロセス側から投げられ、それに対して画像処理装置側が返答するという、Command−Replyの組の形式を取ったアプリケーション層プロトコルとなっている。例えば、上述のイベントポート番号の通知は、SetEventコマンドにポート番号と送信してほしいイベントを示すパラメータからなるCommandパケットとなっており、それを受信した画像処理装置は、イベント送信先をセットするとともに、OKのReplyパケット返す。
【0061】
これに対し、Event portは、画像処理装置側からPDLコントローラへの一方通行プロトコルを採っており、画像処理装置は、PDLコントローラが送ったイベントを受信したかどうか確認せず、イベントが発生するたびに次々と送信する。イベントを受け取った管理プロセスは、割り込み処理をして必要な内部処理を行う。
【0062】
次に、画像処理装置側のプリントポート番号を問い合わせる(S303)。すなわち、プリントポート番号の問い合わせは、管理ポートを通じて行われるので、固定値とする必要はなく、画像処理装置は内部状態に合わせて、空いている任意ポート番号を定めることができる。
【0063】
PDLコントローラはReplyでプリントポート番号(Print port)を得ると、プリントプロセス(202)を起動する(S304)。このとき、Printプロセスには、Replyで得たポート番号が通知され、Printプロセスは自身の初期化処理において、画像処理装置のPrintPortに接続することができる。
【0064】
画像処理装置が何らかの都合により、プリント不可能な機器あるいは状態となっていたときは、このReplyにおいてエラーを返すことも可能である。このとき管理プロセスはプリントプロセスを起動しないようにして、無駄にCPUリソースを消費しないようにする構成ももちろん可能である。
【0065】
起動したプリントプロセスと管理プロセスの間では、OSのプロセス間通信の仕組みを用いて、データのやり取りを行うことができる。211から215は、このプロセス間通信を現し、管理プロセスとプリントプロセスの通信には212で現すチャネルを用いている。すなわち、上述のPrintPortの番号をプリントプロセスに通知するのは、この仕組みを用いている。OSによって、プロセス間通信の仕組みには、メッセージキューやパイプあるいはソケットと呼ばれるものがあるが、もちろんどれを用いて実装してもかまわない。本実施形態では、双方向通信チャネルとしているが、片方向通信の仕組みを2チャンネル用いて実装してももちろん構わない。
【0066】
管理プロセスは次に、ステップ305からS308において、プリントプロセスと同様に、ビデオプロセス(203)とスキャンプロセス(204)を起動する。ここまで行った後に、管理プロセスは一端Admin portへの接続セッションを切断し、通常処理状態となる(S309)。通常処理状態とは、各プロセスその他の要求および自身の必要に応じて、Admin portに再度セッションを張り、必要なCommand−Replyのやり取りを行う処理である。すなわち、以後は一組のCommand−Replyの組毎に、Admin portのセッションは接続・切断される。
【0067】
また、起動された個々のプロセスが、ジョブ処理での必要性に応じて、直接Admin portに接続して、情報を入手するということも可能である。Admin portはCommand−Reply毎にセッションが張られるので、このルールさえ守ればサーバ側のOpenするポートは1つでも構わないが、TCPの機能を用いて、サーバ側で多重接続を可能とすることももちろん可能である。このときサーバ側の用意するAdminポートは9000番のみであるが、クライアントはプロセスごとにAdmin用のポートを割り振る必要がある。
【0068】
ビデオプロセス203は起動されると、ビデオI/F制御プロセス(205)を起動する。ビデオI/F制御プロセスは、ドライバ(207)を通じてVideoI/Fハードウェアの制御を行うプロセスで、直接ハードウェアを扱うためタイミング的にシビアであり、別プロセスとしてしる。ビデオI/F制御プロセスは、ビデオプロセスから可能なタイミングを教えてもらい、ページメモリから画像データを転送する。データはCMYKカラー多値の場合膨大な容量となるため、転送処理事態はハードウェア回路により行われ、VideoI/Fに信号同期して転送される。これを制御するためのI/FとしてVideoI/Fドライバ(207)が用意されている。
【0069】
[プリント動作の流れの説明]
図4は、プリントプロセスのプリント時の処理を示した処理フローである。外部I/F(112−1)を介して、ホストコンピュータよりプリントジョブを受け取ると、プリントプロセスは処理を開始し、まず、送られてきたPDLジョブを受信する(S401)。プリントジョブは、PSやPCL,LIPSといった、いわゆるページ記述言語(PDL)で書かれPDLジョブ形式ものであり、ホストコンピュータ等の上で動作しているアプリケーションプログラムから、プリントドライバを介して生成されたものである。すなわちPDLジョブは、各ページの要求する用紙のサイズやメディア、両面/片面指定、カラーモード、Finishingと言った、シーケンスを構築するのに必要な情報(モード指定)と、各ページのPDL形式の画像データを合わせて持っている。
【0070】
そして、受け取ったPDLジョブから、モード指定を抽出する(S402)。これを解析してFinishingや両面等の処理を含めてどの給紙段から何枚ずつ給紙しどの排紙段に出すか、あるいは途中何枚目で給紙段を切り替えるか、といった一連のジョブ・コマンド・シーケンスを組み立てる(S403)。
【0071】
コマンドシーケンスは、StartJob→JobParameterSet(複数回)→StartBinder→BinderParameterSet(複数回)→StartDocument→DocumentParameterSet(複数回)→StartPage→PageParameterSet(複数回)→EndPage→EndDocument→EndBinder→EndJobという流れで送られるコマンドの列である。プリントポートより、各々のコマンドを画像処理装置に送ると、それに対応するReplyが画像処理装置側から送られてくる。
【0072】
ここで、StartJobからEndJobまでが一つのジョブのシーケンスとなる。JobParameterSetは、そのジョブ全体にかかわるパラメータ、例えばユーザ名やパスワード等をセットするコマンドである。
【0073】
一つのジョブ中には複数のバインダー単位を含めることができる。バインダー単位とは、主にFinishingを行う単位を示したもので、StartBinderからEndBinderまでが一つのバインダーを示す。BinderParameterSetはそのバインダにおけるFinishing指定などのパラメータをセットするコマンドである。
【0074】
同様に一つのバインダ中には、複数のドキュメント単位を含めることができる。StartDocumentからEndDocumentまでが一つのドキュメントとなる。ドキュメント単位とは、主にカラーか白黒かといったからモードや、複数ページに渡る画像処理の指定を行う単位である。DocumentParameterSetコマンドでそのドキュメントにおけるこれらのパラメータを指定する。
【0075】
一つのドキュメントは複数のページから構成される。StartPageからEndPageまでが1ページを示し、PageParameterSetによってそのページ固有の処理パラメータを指定する。例えば、ページによって印刷する媒体のサイズが異なる場合には、ここでそのページ固有のサイズが指定される。
【0076】
通常は、1ジョブ中に1バインダ、1ドキュメント、複数ページの構成となっている。図を簡略化するため、ステップS404におけるジョブパラメータ送信は、この通常のジョブ構成における、JobParameterSet,BinderParameterSet,DocumentParameterSetのパラメータを送信することとしている。すなわちジョブシーケンスにおけるStartJobコマンドからDocumentParameterSetまでがジョブ全体に関るパラメータとなる。
【0077】
ステップS404において、ジョブ全体にかかわるパラメータを画像処理装置に送信すると、次にステップS405においてページデータの解析および画像展開を行う。これはページ単位のPDLデータを切り出して、メモリ上のフレームバッファ領域に、ビットマップイメージであるラスターイメージデータとして展開することである。これとともに、そのページのみに指定されるべきパラメータも抽出される。
【0078】
展開した1ページの画像データは、ステップS406において、圧縮して一旦メモリまたはHDDに格納する。
【0079】
そして、次に、ステップS407において、ジョブパラメータと同様にプリントポートを介して、画像処理装置に、そのページのページパラメータ、すなわちStartPageおよびPageParameterSetを送る。
【0080】
このとき、ステップS408において、ビデオプロセスに対し、上述したプロセス間通信の仕組みを用い、そのページの画像送信依頼を出す。ステップS430はプロセス間通信を示しており、いわゆるFIFO動作を行うキューとなっている。プリントプロセスからは、転送要求に付随するパラメータとしてページのIDが送られている。
【0081】
転送依頼を出した後は、ステップS409において、そのページがジョブ中の最終ページであったかどうかを確認する。最終ページでない場合は、ステップS405の処理に戻り、続くページの一連の処理を行う。
【0082】
最終ページであった場合は、ステップS410において、ジョブエンドすなわち、EndDocument,EndBinder,EndJobコマンドを送信し、1ジョブ分の処理終了となる。
【0083】
尚、先に述べたとおり、ジョブ中には複数のバインダ、バインダ中には複数のドキュメントを含むことも可能である。このような場合に対応するため、実際には、ステップS404およびステップS410の処理はジョブ、バインダ、ドキュメントのパラメータ送信およびエンド送信に分割されている。バインダおよびドキュメントのエンド送信の直後には、それぞれ最終バインダあるいはドキュメントであったかどうかの判断が入っており、最終でなかった場合には、それぞれのスタートまでループする構造としている。このようにして、複数バインダおよびドキュメントの処理も可能となっているのである。
【0084】
画像処理装置は、すでに受け取ったページパラメータに基づき、ページ単位でのVideoI/Fからの画像受信の準備を行っている。
【0085】
ビデオポートにおけるページ画像データ送信のコマンドシーケンスは、RequestVideo→VideoStart→VideoI/Fによる画像転送→VideoEndというシーケンスになっている。これは、ハードウェアVideoI/Fの送信開始と終了のタイミングを同期するためのシーケンスである。
【0086】
ビデオプロセスは、ステップS521に示すとおり、スタートすると常にステップS430のキューから、画像転送依頼が届いているかを確認している。転送依頼が来たら、ステップS421において、画像処理装置に対して、受信準備が完了しているかの問い合わせを行う。このとき用いられるのがRequestVideoコマンドであり、ステップS430のキューから得た、転送すべきページのIDを画像処理装置に通知し、転送準備ができているかどうかを確認する。
【0087】
画像処理装置側の受け入れ準備が完了していたら、ステップS423において、ビデオプロセスはビデオI/F制御プロセス(205)に対し、ページIDの示すメモリ領域の画像を転送可能とするように指令する。ビデオI/F制御プロセス(205)は、ハードウェアのページシンク等の同期信号を待ち、同期して画像送信できるようにビデオI/Fのレジスタをセットする。ビデオI/F制御プロセスの準備完了を待って、ビデオプロセスが、画像処理装置にVideoStartコマンドを出し、それのReplyがAckで返った後、すぐに画像処理装置からVideoI/Fに同期信号が出され、画像データの転送処理が開始される。
【0088】
ビデオプロセスはVideoStartコマンドのReplyを受け取ったら、一定のタイミングをもってVideoEndコマンドを送っている。このコマンドがステップS424における転送成功確認のコマンドであって、画像処理装置は転送完了を待って、その結果がOKならば成功を、圧縮保存等の処理が間に合わず正しく転送完了できなかった場合(後述)はNGを、Replyとして返す。このNGは再送要求を兼ねており、同一ページ画像の再転送を要求している意である。
【0089】
従って、転送が失敗した場合は、ステップS423に戻り、同じページIDのページデータを再度転送処理する。成功した場合は、ステップS421の処理に戻って、続くページの転送依頼があれば、再び同じシーケンスを繰り返すようになっている。
【0090】
このように、プリントプロセスとビデオプロセスを別プロセスとすることにより、ある程度のページのRIPおよびパラメータ送信を先行した後には、プリントジョブシーケンス送信と、VideoI/Fにおける画像データ転送処理とを並列に処理することが可能となっている。もちろん、1ジョブのシーケンスを送り終わった後に、そのジョブの画像転送が全ページ完了していなくとも、次のジョブシーケンスを送り始めることが可能となる。
【0091】
[画像処理装置制御部のプリント動作]
画像処理装置制御部(10)は画像データを圧縮しつつ、内蔵するメモリ上のフレームバッファに格納していく。予め設定された圧縮率が十分でなく、フレームバッファがオーバーフローしたり、転送速度に画像処理制御部の処理が追いつかなかった場合は、そのページの転送は失敗となり、圧縮率を再設定するなど転送失敗しにくい条件に内部状態を変更して再送要求を出す。
【0092】
PDLコントローラ(11)から画像処理装置制御部(10)に送られてきた画像データは、フレームバッファに格納後、一旦HDDまたはメモリの特定領域に保存される。このとき、予めプリントポートにて送られてきているジョブシーケンスのFinishingその他の各種モードの設定値により、全ページ分の画像データを受信するまで待つようにしたり、あるいは、1ページ分以上の画像データを受信した時点でプリンタに起動を掛けるようにできる。
【0093】
例えば、ジョブは通常1ページ目から最終ページまで順に並んだ形で画像送信されるが、FaceUp出力である場合には、最終ページから印刷すると、出力が1ページから順に並んだ状態でユーザが受け取れる。このような場合には、一端全ページ分のデータを格納した後にプリンタを起動するのがよい。しかしFinishingする場合には、FaceDown出力であるプリンタでは、Finishing指定された場合は、1ページ目から印刷する必要がある。この場合には、全ページ受信まで待たなくともプリンタ起動することができ、印刷開始時期を早めることもできる。
【0094】
画像形成装置(13)の起動においては、PDLコントローラ(11)から送られてきたジョブシーケンスに基づき、給紙段や両面印刷、Finishing等のモードを指定し、画像形成装置(13)の動作が要求するページ順にて、画像データに関連するページ情報を不図示のメモリ上の内部キューに配置する。このとき少なくとも最初に送信される画像データは、メモリ上のフレームバッファに展開しておき、残りのHDDに格納されている画像データは、フレームバッファが空き次第、順次HDDからメモリに転送されるようにする。
【0095】
そして、画像形成装置(13)からの画先信号に同期して、キューに入っているページ情報の順に、画像データを画像形成装置(13)に送出する。画像形成装置(13)は送られてくる1ページごとの画像を、指定された給紙段の媒体上に形成し、指定されたFinishigを行って機外に排出する。
【0096】
[TAGビット信号]
PDLコントローラ(11)が、ホストコンピュータ(14)からのジョブを、画像に展開をする際に、PDL言語の記述に基づくと、画像の特定領域が文字/グラフィックであるか、それとも写真のようなもともとビットマップの画像であるかを判別することができる。PDLコントローラ(11)は、ラスターイメージへの展開時に、これらの情報を合わせて領域情報として保存しておく。これを、画像処理装置制御部(10)に対するTAG信号の生成に用いることができる。
【0097】
言ってみれば、これは「画素単位パラメータ」であって、画像処理装置制御部(10)はこのTAG信号を画像データと共にVideoI/Fよりハード的に受け取り、これを用いて、画素単位で最適の画像処理を行って、出力を行うことができる。
【0098】
[PDLコントローラの圧縮機能]
PDLコントローラ(11)は、展開したラスター画像の圧縮および展開機能を備えている。ラスター展開した画像データを、一旦圧縮してHDDに保存し、VideoI/Fにおける画像データ転送時に、再びフレームバッファ上に展開する。これによって、前のページの転送が終わっていなくとも、画像展開を、HDDの容量など処理の可能な範囲で先行して行っておくことが可能である。
【0099】
[その他のプリント動作の特徴]
本実施形態のPDLコントローラでは、PDL言語としてPostScript(PS)を処理することができるようにしている。しかし、その他PCL,PDF,LIPS等の複数のPDLデータを処理するように構築することももちろん可能である。
【0100】
また、ユーザはドライバ(PPD)にて所望する画像の画質の高低を指定できる。この指定によって、PDLコントローラは、この指定をもって、HDDに一時格納する画像の圧縮率の高低を調整し、画質劣化の度合いを調整することができる。
【0101】
[スキャン動作の流れの説明]
次に、図5を用いて、スキャンプロセス(204)におけるスキャン動作について説明する。
【0102】
スキャンプロセス(204)は、ホストコンピュータ(14)よりスキャン動作の要求を受け取ると(S501)、同時に指定されてくるモード指定情報を抽出する(S502)。モード指定情報とは、読み取る画像をRGBカラー多値として読み込みたいのか、白黒として読み込みたいのか、あるいは原稿に応じて自動でカラー・白黒を切り替えて読み取りたいのか、というカラーモード指定や、読み取る画像がプラテンガラス上にセットされた1枚の画像なのか、あるいは自動原稿送り装置(DF)にセットされた複数枚からなるドキュメントなのか、という読取モード指定の指定、あるいは画像を読み取る範囲の座標情報間などである。
【0103】
そして、ステップS503において、抽出した情報を元に、ジョブシーケンスを構築する。スキャンジョブのコマンドシーケンスは、StartScanJob→ScanParameterSet→EndScanJobの3つのコマンドから構成される。ただし、ScanParameterSetに関しては必要なパラメータの数に応じて複数回連続で送ることができる。
【0104】
ステップS504において、このジョブシーケンスを画像処理装置制御部(10)にスキャンポートを介して送信する。このジョブシーケンスは、あくまで画像処理装置制御部(10)に読取動作の開始を指示するだけのものである。読み取った画像データをPDLコントローラ側に吸い上げるには、また別のコマンド群を用いている。
【0105】
ジョブシーケンスを受け取った画像処理装置制御部(10)側においては、セットされてきたパラメータに基づくモードで、画像読取装置(12)を起動する。そしてハードウェアのSync信号に合わせて画像読取装置(12)から送られてくる画像データを受け取り、内蔵するメモリまたはHDD装置(104)に、ページ毎に順次格納してゆく。
【0106】
ステップS505においては、スキャンプロセスは画像処理装置制御部(10)に対し、1ページ分の画像読み込みが完了したかどうかを問い合わせている。このコマンドは、RetrieveRequestであり、画像処理装置制御部(10)はそのReplyでOK/Not yetを返す。OKの場合は、少なくとも1ページ分の画像データが読み取られ、圧縮されて画像処理装置制御部(10)内のメモリ領域またはHDD装置(104)に格納されている状態で、PDLコントローラに対し画像データ転送できる状態となったことを示す。このときのReplyにはページIDが不可されている。このページIDは、読み取ったページの順となっている。尚、Not yetのリプライのときは、まだ読み取り動作中であって格納が完了していない。このときスキャンプロセスは一定時間を置いて、ステップS505の処理を繰り返すことになる。
【0107】
ステップS506でスキャンプロセス(204)は、RetrievePageコマンドをRequesutで受け取ったページIDと共に送り、そのReplyに付随するデータとして、ページデータを受け取る。ここで画像がカラーRGB多値の場合は、JPEG圧縮されたデータが送られてくる。白黒2値の場合はJBIG圧縮されたデータとなる。つまり、スキャンポートによって画像データを受信するわけである。
【0108】
いずれの場合も単なるパラメータの場合とは異なり、非常に大きなバイト列となるため、このReplyパケットはいくつかに分割されて送られる。スキャンポートは説明してきたとおりイーサネット(登録商標)上に多重チャンネルの一つとして構築されているので、転送スピードは大したものではない。従って、読み取りパラメータをあまり高画質に設定すると、すなわちそれは低圧縮画像となって容量がさらに巨大になり、パフォーマンスが出ないことになる。尚、画像読取装置(12)と画像処理装置制御部(10)との間の画像転送は、VideoI/Fと同様の画像転送専用ハードウェア信号線を用いているので、画像読取装置(12)の読取速度に合わせた転送が可能である。よってこれらのことを加味し、十分なパフォーマンスが出てそれなりの画質を得られる圧縮率を設定する必要がある。これはネットワークI/F自体のスピードにも依存する。
【0109】
受け取りが完了したページIDの画像に対しては、消去要求DeletePageを、ページIDをパラメータとして付随して送る。これを受け取った画像処理装置制御部(10)は内蔵メモリ領域またはHDDから、そのページ画像を消去する。
【0110】
画像データの読み込みが終わったページデータは、順次ホストコンピュータにデータ送信してゆく(S507)。もちろん図5のように、ページごとに順次ホストに送るのではなく、最終ページまで読み取ってから、ジョブ全体のページをまとめて(あるいは順番を並べかえて)送信するようにしてもよい。また、ビデオとプリントの関係のように、専用にホストコンピュータへの画像送信用プロセスを持つ構成とし、画像処理装置制御部(10)からの読取処理とホストへの送信処理を並列に行うようにすることももちろん可能である。
【0111】
そして、ステップS507において、画像処理装置制御部(10)から受け取った画像が、最終ページであったがどうかを確認する。これはLastPageCheckコマンドによって行われ、ReplyでYes/Noが返される。最終ページでないばあいには、ステップS505まで戻り繰り返す。最終ページであったなら、そのスキャンジョブは完了となる。
【0112】
尚、ここではホストコンピュータ(14)からジョブが来てホストコンピュータに画像データを送る場合について説明したが、PDLコントローラ(11)自身の操作部からジョブを送り、PDLコントローラ(11)内に格納して完了としたり、あるいはPDLコントローラ(11)内に格納してある画像を、例えばEmail添付の形で、任意のアドレスで送ったりするようにすることも、もちろん可能である。PDLコントローラへの読取格納までの指示のみをホストコンピュータが出すようにしたり、すでにPDLコントローラ内に格納されている画像データをホストコンピュータ側から取り出したりすることももちろん可能である。さらには、PDLコントローラ内部に格納されている画像データを、プリントポートで送るプリントジョブにマージしてプリント処理するといったユーティリティへの応用も考えられる。いずれにせよ、図5の本質的な部分は、スキャンプロセス(204)と画像処理装置制御部(10)との間の制御である。
【0113】
[プリントとスキャンの並列動作]
以上述べてきたように、本実施形態のPDLコントローラによれば、ホストコンピュータからのプリント指令の実行と、他のホストコンピュータからのスキャン指令の実行を、パフォーマンスに影響させずに並列に処理することが可能となる。
【0114】
外部ホストに対するプリント用のポートは、図1における外部ネットワークI/F部1(112−1)を介して、トランスポート層のTCP/IPプロトコル上に実装されている。例えば、LPRプロトコル用としては、515番ポートを、Port9100用としては9100〜9103ポートまでをプリント用として開いている。PDLコントローラ(11)はサーバとして動作しており、プリント用ポートは多重化されているため、同一ポート番号であっても複数のクライアントPCと接続可能である。
【0115】
スキャン用ポートについてももちろん、専用に1ポート割り当てても良いが、プリント用ポートと兼用することも可能である。すなわち、スキャンユーティリティ(あるいはドライバ)に、サーバに接続した時点で、自身がスキャン用として接続したい旨を通知するプロトコルとし、サーバ側では外部ポートに対し接続の振り分けプロセスを起動しておき、スキャン用ユーティリティと判別した際には、Scanプロセスに接続させるようにすればよい。
【0116】
プリントに関しては、同時に複数のクライアントから印刷要求が来ても、ジョブだけ受け取っておけばクライアント側は開放される。受け取ったジョブは内部でキューイングしておき、実際のプリント動作は順に実行すればよい。
【0117】
スキャンに関しては、通常スキャナを動かし、読み取った画像をクライアントに返すという作業が必要になるため、1台のクライアントがスキャンプロセスに接続している状態では他のクライアントは接続しない方が良い。従って振り分けプロセスにおいては、1台のクライアントが接続されている状態では、他のクライアントにはビジーを返すようにしている。
【0118】
このように、クライアント側の接続に関しては、プリントと(一つの)スキャンの並列動作については全く支障がない。問題は画像データの転送部であって、ここが共通のVideoI/F部を使用していると、PDLコントローラ(11)内でビデオプロセスが画像転送中である場合には、スキャンジョブは待たされ、さらにはスキャンプロセスに接続しているクライアントPC自体も処理を待たされることになる。また、VideoI/Fというハードウェアリソースを、プリントとスキャンという別のプロセスが使用することになるので、排他制御等が必要となって、処理も若干複雑になる。
【0119】
しかし、上記で示してきたとおり、本実施形態では、VideoI/Fはプリント用画像データ専用の転送経路としているため、PDLコントローラと画像処理装置間でのプリントとスキャンの画像転送は、互いに影響することなく、完全に並列に行うことができる。
【0120】
コマンド通信路であるネットワークI/Fは、スキャン以外のプロセスは、通常、コマンドとそれに付随するパラメータ以外は送受信しないため、帯域幅のほとんどをスキャンデータ転送に使用することが可能であるため、双方向VideoI/F通信路を用いるときよりは、若干転送パフォーマンスは劣るが、コマンド通信路でプリントもスキャンもどちらのデータも転送する場合よりは有利となる。
【0121】
また、スキャンデータ転送にコマンド通信路を用いることにより、画像処理側で予めJPEG/JBIG等の圧縮を行っておく必要があるため、画質的にはVideoI/Fを用いた場合よりも落ちることになるはずである。しかし、実際には、PDLコントローラからホストコンピュータへの画像転送もネットワークを介してであるため、PDLコントローラがラスター・データを取り込めたとしても、どのみちホストに転送する場合には圧縮が必要であるため、スキャン画質に対する影響はない。
【0122】
もちろん、ホストおよび画像処理装置の両方に、ギガビット・イーサのような広帯域ネットワークI/Fを用いることができる場合には、ラスター・データをPDLコントローラに取り込みホストへ送信するようにする系も、もちろん実装可能である。その場合であっても、プリントとの並列同時動作において、本発明がパフォーマンス的に有効であることは明らかである。
【0123】
以上説明してきたように、本実施形態によれば、双方向に制御データの通信を行うネットワークI/F部と、単方向に画像データの通信を行うVideoI/F部とを使用して、PDLコントローラと画像処理装置制御部との間でのデータ通信を行う画像処理システムにおいて、PDLコントローラ及び画像処理装置制御部がスキャン動作する場合に、画像データの通信のために、ネットワークI/F部を使用するように制御した。
【0124】
特に、スキャン動作とプリント動作の並列動作を行う場合において、スキャン入力のためにネットワークI/F部を使用し、プリント出力のためにVideoI/F部を使用することにより、装置のコストアップを招くことなく、既存の通信路の性能を最大限に生かした、並列動作に適した画像データ通信ができる。
【0125】
また、PDLコントローラはホストへの送信のために圧縮された画像データを必要とするので、画像処理装置制御部で入力画像データを圧縮させ、圧縮した画像データをネットワークI/F部を使用して受信するように制御した。これにより、及び各インタフェース部の帯域と転送データ量との最適化が図れ、効率的な画像データ通信ができる。
【0126】
(第2の実施形態)
タイミング処理等、ソフト構成上問題がないならば、ビデオI/F制御プロセスは、ビデオプロセス内で同等の処理を行い、あえて別プロセスとしない構成をとることも可能である。また、プリントシーケンスをシーケンシャルに処理するならば、ビデオプロセス自身も独立プロセスとせず、プリントプロセス内で処理するようにする構成ももちろん可能である。この場合、画像処理装置制御部側のポート構成も、PrintとVideoを兼ねて一つのポート番号のみを用いるようにできる。この場合のプロセス構成図を図4に示す。
【0127】
尚、第1の実施形態で述べたPDLコントローラからのホストコンピュータに対するポートと同様に、PrintとScanのポートを共通化することももちろん可能であるが、この場合は、画像処理装置制御部側に振り分けタスク等の仕組みを実装する必要があり、またこのネットワークI/F(112−2)は、PDLコントローラ−画像処理装置間専用であるため、特にポートが不足する等の問題もないので、各々専用ポートとしている。さらに、接続するクライアントとなる、PDLコントローラ側のプロセスも、基本的に1プロセスであるため、特にポートを多重化してはいない。
【0128】
このようなプロセス構成とした場合、プリント処理のシーケンスは、図7に示すものとなる。
【0129】
プリント&ビデオプロセス(以下プリントプロセス)は、まず、ステップS701において、外部I/F(112−1)を介して、ホストコンピュータ(14)よりPDLジョブ形式のプリントジョブを受け取る。
【0130】
そして、ステップS702において、受け取ったPDLジョブから、モード指定を抽出し、解析してFinishingや両面等の処理を含めてどの給紙段から何枚ずつ給紙しどの排紙段に出すか、あるいは途中何枚目で給紙段を切り替えるか、といった一連のジョブシーケンスを組み立てる。
【0131】
それと共に、ステップS704において、PDLジョブ内の全ページの画像データ部分を取り出し、メモリ上のフレームバッファ領域に、ビットマップイメージであるラスターイメージデータに展開する。展開した画像データは、ステップS705にて、圧縮して一旦メモリまたはHDDに格納する。本実施形態においては、画像データの転送は、全ページ連続してまとめて行うので、ジョブの全ページについて展開・圧縮・保存しておく。
【0132】
そして、次にステップS706において、画像処理装置との内部ネットワークI/F(112−1)上のプリントポートを介して、画像処理装置制御部(10)に、構築したジョブシーケンスを実現するコマンドシーケンスを通知する。これは、第1の実施形態で述べた、StartJobからEndJobまでの一連のコマンドシーケンスである。もちろん、ジョブ内に複数バインダ、ドキュメント内に複数ドキュメントを含んでいても構わない。
【0133】
画像処理装置制御部(10)では、受け取ったジョブシーケンスに基づき、VideoI/F部での画像受信の準備を行う。1ページでも準備が完了している状態となっていれば、ステップS707にて、PDLコントローラから送られてくるRequestVideoコマンドに対して、転送して欲しい最初のページIDをReplyに付けて返すのは、第1の実施形態のVideoポートでの動作と同様である。
【0134】
ステップS708、709の画像データ転送および再送処理についても、第1の実施形態のビデオプロセスおよびビデオI/F制御プロセスと同様である。プリントプロセスは、ハードウェアのページシンク等の同期信号を待ち、同期して画像送信できるようにビデオI/Fをセットしてから、画像処理装置制御部(10)にVideoStartコマンドを出す。そのReplyがAckで返れば、すぐに画像処理装置制御部(10)からVideoI/Fに同期信号が出され、画像データが転送処理が開始される。転送完了後はVideoEndコマンドを送り、そのReplyによって、同一ページを再送するか、次のページの画像を送るかを判断する。
【0135】
ステップS710においては、今送った画像が最終ページであったかどうかを判断する。これは送ったジョブのコマンドシーケンスに基づくので、第1の実施形態とは異なり、特に画像処理装置に問い合わせに行く必要はない。
【0136】
プリントジョブシーケンスの全ページ分の画像転送を確認したら、プリントプロセスにおけるジョブの処理は完了となる。
【0137】
(他の実施形態)
以上の2つの実施形態は、画像読取装置と画像形成装置を備えるデジタル複写機と、それに接続されるコントローラ装置から構成されるシステムについて説明してきたが、本発明はこれに限定されるものではなく、複数の画像処理デバイスを備え同数以上のデータ転送可能な入出力通信経路を備える画像処理装置とそれに接続されるコントローラ装置から構成されるシステムであれば、適用可能であることは自明である。
【0138】
また、画像データの転送方向については、1つあるいは一部の通信経路が一方向であることが本質的であって、その方向がコントローラ装置から画像処理装置であってもその逆であってもどちらでも構わない。さらには、残りの通信経路で送られる画像データの転送方向が反対方向である必要もなく、接続されるデバイスに応じて、どちらの転送方向も同じであってももちろん差し支えない。
【0139】
また、上記実施形態では、スキャン動作のためにネットワークI/F部をプリント動作のためにVideoI/F部を固定的に割り当てているが、スキャンジョブとプリントジョブが並列に実行されるときだけ、以上のような割り当てとし、一方で、直列に実行される限りは両方の動作に関してVideoI/F部を共有して使用するようにしてもよい。
【0140】
また、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体(ホスト14が備える記憶媒体、メモリ114等)に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
【0141】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0142】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きもまれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPUなどが処理を行って実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0143】
また、このような記憶媒体を含む装置をネットワーク上に配置させておき、記憶媒体に記憶されたプログラムをネットワークを介して所定の装置へダウンロードし、ダウンロードしたプログラムを実行することによっても、本発明の上記実施形態の機能が実現されることは言うまでもない。
【0144】
【発明の効果】
以上説明してきたように、本発明によれば、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、第1の画像処理装置から第2の画像処理装置へ単方向に画像データの通信を行う第2通信手段とを使用して、第1の画像処理装置と第2の画像処理装置との間でのデータ通信を行う際に、第2の画像処理装置から第1の画像処理装置への画像データの通信において、画像データの通信のために第1通信手段を使用するように第1通信手段を制御することことにより、画像データの通信に係る構成のコストアップを招くことなく、第1の画像処理装置と第2の画像処理装置との間の画像データの通信に応じた最適な画像データ通信ができるという効果がある。
【0145】
また、本発明によれば、第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、第1の画像処理装置から第2の画像処理装置へ単方向に画像データの通信を行う第2通信手段とを使用して、第1の画像処理装置と第2の画像処理装置との間でのデータ通信を行う際に、圧縮された画像データを第1の画像処理装置が必要とする場合、第2の画像処理装置から第1の画像処理装置への圧縮画像データの通信のために第1通信手段を使用するように第1通信手段を制御することにより、圧縮された画像データを必要とする場合において効率的な画像データ通信ができるという効果がある。
【図面の簡単な説明】
【図1】本発明に係る画像処理システムのシステム構成を示すブロック図である。
【図2】第1の実施形態における、PDLコントローラの制御プログラムのプロセス構造とデータフローの一例を示すブロック図である。
【図3】第1の実施形態における、管理プロセスの起動時の処理を示したフローチャートである。
【図4】第1の実施形態における、プリント時のプリントプロセスおよびビデオプロセスの、処理の一例を示すフローチャートである。
【図5】第1の実施形態における、スキャン時時のスキャンプロセスの、処理の一例を示すフローチャートである。
【図6】第2の実施形態における、PDLコントローラの制御プログラムのプロセス構造とデータフローの一例を示すブロック図である。
【図7】第2の実施形態における、プリント時のプリントプロセスおよびビデオプロセスの、処理の例を示すフローチャートである。
【符号の説明】
10 画像処理装置制御部
11 PDLコントローラ
12 画像読取装置
13 画像形成装置
14 ホストコンピュータ
101 CPU
102 ネットワークI/F部
103 VideoI/F部
104 HDD装置
111 CPU
112 ネットワークI/F部2
112−1 ネットワークI/F部1
113 VideoI/F部
114 メモリ
Claims (11)
- 他の画像処理装置と通信可能な画像処理装置であって、
前記他の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、
前記他の画像処理装置との間で前記画像処理装置から前記他の画像処理装置へ単方向に画像データの通信を行う第2通信手段と、
前記他の画像処理装置から前記画像処理装置への画像データの通信において、前記他の画像処理装置からの画像データの受信のために前記第1通信手段を使用するように前記第1通信手段を制御する制御手段と、
を有することを特徴とする画像処理装置。 - 前記他の画像処理装置は、画像データを入力する画像入力装置及び画像データを出力する画像出力装置に接続されており、
前記制御手段は、前記画像入力装置によって入力される画像データを前記他の画像処理装置から前記画像処理装置へ入力する画像入力動作と、前記画像出力装置によって出力されるべき画像データを前記画像処理装置から前記他の画像出力装置へ出力する画像出力動作の並列動作を実行する場合において、前記画像入力装置によって入力される画像データの受信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする請求項1に記載の画像処理装置。 - 前記他の画像処理装置とは異なる外部装置から画像入力要求または画像出力要求を受信する受信手段を更に有し、
前記第1通信手段は、前記画像入力要求または前記画像出力要求に応じて、前記画像入力動作または前記画像出力動作に関する指示を前記他の画像処理装置へ送信することを特徴とする請求項2に記載の画像処理装置。 - 前記他の画像処理装置から前記画像処理装置への画像データの通信が画像データの圧縮を伴う場合、前記制御手段は、前記他の画像処理装置からの圧縮された画像データの受信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする請求項1〜3のいずれかに記載の画像処理装置。
- 前記第1通信手段は、イーサネット(登録商標)インタフェースで構成された通信経路であることを特徴とする請求項1〜4のいずれかに記載の画像処理装置。
- 他の画像処理装置と通信可能な画像処理装置であって、
前記他の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、
前記他の画像処理装置との間で前記他の画像処理装置から前記画像処理装置へ単方向に画像データの通信を行う第2通信手段と、
前記画像処理装置から前記他の画像処理装置への画像データの通信において、前記他の画像処理装置への画像データの送信のために前記第1通信手段を使用するように前記第1通信手段を制御する制御手段と、
を有することを特徴とする画像処理装置。 - 前記画像処理装置は、画像データを入力する画像入力装置及び画像データを出力する画像出力装置に接続されており、
前記制御手段は、前記画像入力装置によって入力される画像データを前記他の画像処理装置へ送信する画像入力動作と、前記画像出力装置によって出力されるべき画像データを前記他の画像処理装置から受信する画像出力動作の並列動作を実行する場合において、前記画像入力装置によって入力される画像データの前記他の画像処理装置への送信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とする請求項6に記載の画像処理装置。 - 第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法であって、
前記第2の画像処理装置から前記第1の画像処理装置への画像データの通信において、画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とするデータ通信方法。 - 第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法であって、
圧縮された画像データを前記第1の画像処理装置が必要とする場合、前記第2の画像処理装置から前記第1の画像処理装置への圧縮された画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とするデータ通信方法。 - 第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法を実行するためのコンピュータにより実行可能なプログラムであって、
前記第2の画像処理装置から前記第1の画像処理装置への画像データの通信において、画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とするプログラム。 - 第1の画像処理装置と第2の画像処理装置との間で双方向に制御データの通信を行う第1通信手段と、前記第1の画像処理装置から前記第2の画像処理装置への単方向に画像データの通信を行う第2通信手段とを使用して、前記第1の画像処理装置と前記第2の画像処理装置との間でのデータ通信を行うデータ通信方法を実行するためのコンピュータにより実行可能なプログラムであって、
圧縮された画像データを前記第1の画像処理装置が必要とする場合、前記第2の画像処理装置から前記第1の画像処理装置への圧縮された画像データの通信のために前記第1通信手段を使用するように前記第1通信手段を制御することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002968A JP4072439B2 (ja) | 2003-01-09 | 2003-01-09 | 画像処理装置、データ通信方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002968A JP4072439B2 (ja) | 2003-01-09 | 2003-01-09 | 画像処理装置、データ通信方法、及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004221629A JP2004221629A (ja) | 2004-08-05 |
JP2004221629A5 JP2004221629A5 (ja) | 2006-05-18 |
JP4072439B2 true JP4072439B2 (ja) | 2008-04-09 |
Family
ID=32894368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003002968A Expired - Fee Related JP4072439B2 (ja) | 2003-01-09 | 2003-01-09 | 画像処理装置、データ通信方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4072439B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8251471B2 (en) | 2003-08-18 | 2012-08-28 | Fujifilm Dimatix, Inc. | Individual jet voltage trimming circuitry |
US8085428B2 (en) | 2004-10-15 | 2011-12-27 | Fujifilm Dimatix, Inc. | Print systems and techniques |
US7907298B2 (en) | 2004-10-15 | 2011-03-15 | Fujifilm Dimatix, Inc. | Data pump for printing |
US8068245B2 (en) | 2004-10-15 | 2011-11-29 | Fujifilm Dimatix, Inc. | Printing device communication protocol |
US8199342B2 (en) | 2004-10-29 | 2012-06-12 | Fujifilm Dimatix, Inc. | Tailoring image data packets to properties of print heads |
JP6164823B2 (ja) * | 2012-11-30 | 2017-07-19 | キヤノン株式会社 | 印刷装置 |
-
2003
- 2003-01-09 JP JP2003002968A patent/JP4072439B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004221629A (ja) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7124212B2 (en) | Data processing apparatus connected to a network connectable a plurality of devices | |
US6587735B1 (en) | Data processing apparatus and processor selection method | |
US7809807B2 (en) | Image forming system, image forming method, and server | |
US8593656B2 (en) | Information processing system, information processor and signal transmitting device | |
JP3559656B2 (ja) | 画像形成装置及び画像処理方法 | |
US8040536B2 (en) | Image data communication in image processing system | |
JP3787434B2 (ja) | 画像形成装置及びその制御方法、並びに画像入力装置及びその制御方法 | |
US6671065B1 (en) | Method and apparatus to optimize transition of resources from a lower priority to a higher priority job | |
US7548333B2 (en) | Data transfer method and image formation system | |
US7724741B2 (en) | Image forming apparatus connected to network | |
JP2004086809A (ja) | 画像形成システム、バックエンドプロセッサ | |
JP4072439B2 (ja) | 画像処理装置、データ通信方法、及びプログラム | |
US6614542B1 (en) | Method and apparatus to improve system concurrency for a job using a set of commonly shared resources such that a specific resource is used only for a portion of the job | |
JP2004287519A (ja) | 画像形成システムおよびフロントエンドプロセッサ | |
JP2003050689A (ja) | 画像形成システム、画像形成方法、及びサーバ装置 | |
JP4063017B2 (ja) | 画像形成システム、バックエンドプロセッサ、フロントエンドプロセッサ | |
JP3912931B2 (ja) | 画像処理システム及びその協働処理方法 | |
JP4006379B2 (ja) | 画像形成システム | |
JP2000151873A (ja) | 情報処理システム及び情報処理方法 | |
JP4135439B2 (ja) | 画像処理システム、画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP4411189B2 (ja) | 印刷制御装置、画像形成システムおよびネットワーク通信方法 | |
JP4352669B2 (ja) | 画像処理システム、画像処理装置、画像処理方法、プログラム | |
JP2005086726A (ja) | 画像処理システム | |
JP3860785B2 (ja) | 画像処理装置 | |
JP3761547B2 (ja) | 画像データ出力装置、および画像データ出力方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080121 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4072439 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110125 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120125 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130125 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140125 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |