説明

情報処理装置、画像記録装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び画像処理システム

【課題】画像記録装置が印刷データの中から所定のコマンド部を高速に取得することができる、情報処理装置、画像記録装置、情報処理装置と画像記録装置を含む画像処理システムを提供する。
【解決手段】 画像記録装置は、パケットデータ中のコマンドに基づいて当該コマンドに後続する付属情報を処理対象とするか否かを設定する設定手段と、設定手段で付属情報を無視するとの設定があった場合、付属情報を読み飛ばし、無視しないとの設定があった場合には付属情報と当該付属情報に対応するコマンドに従って印刷処理を実行する制御手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、画像記録装置及び画像処理システムに関する。
【背景技術】
【0002】
従来、画像処理システムにおいて、画像記録装置が受け取った印刷データに含まれる画像記録を制御するコマンド部を解析し、独立性のある複数の画像処理単位を適宜制御する方法に関して、様々な構成が提案されている。
【0003】
例えば、画像記録装置内部において画像記録処理を印刷データのコマンド単位に分離して管理・実行することで、情報処理装置が画像記録装置に対して複数の印刷データを連続的に送信した場合に、待機時間の少ない画像記録処理の管理及び制御を行うことが可能である(特許文献1)。
【0004】
また、印刷データに複数の画像処理単位(ジョブのスケジューリング単位、ドキュメント単位、複数のドキュメントを束ねた単位等)が含まれる場合において、コマンド部に所定の単位の画像記録処理を記述することで、印刷データ単位ではなく所定の単位で画像記録処理を管理及び制御することができる(特許文献2)。
【特許文献1】特開平11−194905号公報
【特許文献2】特開2000−163176号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献の方法においては、画像記録装置が印刷データの中の所定のコマンド部を取得する場合、画像記録装置は印刷データの先頭から逐次解釈し、コマンド部を取得していた。
【0006】
しかしながら、近年、画像の高画質化に伴い、印刷データのサイズが膨大になっている。このため、画像記録装置が印刷データの中から所定のコマンド部を取得する場合、従来の方法では膨大なデータを逐次解釈するため、不要なデータを読み飛ばすのに無視できない時間がかかってしまう。この問題は、高速な画像処理を目的とする分散画像処理システムにおいて、同じ印刷データを複数の画像記録装置にブロードキャストし、各画像記録装置がそれぞれ異なる画像処理単位(例えば、別々のページを分担する等)で画像形成を行う場合等において、特に重要である。従来の方法では各画像記録装置において不要なデータを読み飛ばすのに時間がかかり、分散印刷の利点を十分生かせなかった。
【0007】
また、上記問題とは別に、印刷データの一部が壊れている場合に、画像記録装置内においてデータ実体を誤ってコマンド部として解釈・処理してしまい、場合によっては画像記録装置が正常動作に復帰できなくなるという問題があった。
【0008】
本発明は上記問題を鑑みてなされたものであり、画像記録装置が印刷データの中から所定のコマンド部を高速に取得することができる、情報処理装置、画像記録装置、情報処理装置と画像記録装置を含む画像処理システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、例えば本発明による情報処理装置は以下の構成を備える。即ち、
画像記録装置に印刷データを出力する情報処理装置であって、
コマンドと、当該コマンドに付随するパラメータと、データ列とで構成される印刷データを生成する印刷データ生成手段と、
パケットヘッダ、コマンド、並びに、当該コマンドに付随するパラメータの順に格納したパケットデータを生成する第1のパケット生成手段と、
データ列のデータ量がパケットデータの許容最大サイズを越える場合、パケットヘッダ、データ列ヘッダ、並びに、分割されたデータ列の順に格納したパケットデータを生成する第2のパケット生成手段と、
前記第1、第2のパケット生成手段で生成されたパケットデータを前記画像記録装置に送信する送信制御手段とを備える。
【発明の効果】
【0010】
以上説明したように、本発明によれば、画像記録装置が印刷データの中から所定のコマンド部を高速に取得することができる情報処理装置、画像記録装置、情報処理装置と画像記録装置を含む画像処理システムを提供することができる。また、上記効果に加えて、印刷データの一部が壊れている場合において、すばやく通常処理に復帰することができる、情報処理装置、画像記録装置、情報処理装置と画像記録装置を含む画像処理システムを提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0012】
<画像記録装置概要>
図1は、本発明の実施形態に係る画像処理システムの構成の概略を示す図である。
【0013】
図1において、情報処理装置(ホスト)101と画像記録装置(レーザー・ビーム・プリンタ:以下LBPと略記する)102が、インタフェース106を解して相互に接続されている。
【0014】
ホスト101は、例えば、コンピュータであり、画像情報の供給源、或いは画像記録装置の制御装置として機能する。本発明の実施形態では、ホスト101上において、ワードプロセッサ、描画ソフト等のアプリケーション・ソフトウェアによりLBPの出力対象となる情報が生成される。また、当該情報から、ホスト101のプリンタドライバにおいて、コマンドと、当該コマンドに付随する、パラメータ或いはデータ列の、付属情報で構成される印刷データが生成される。尚、ホスト101は送信する印刷データを一時的に保存する送信バッファを有する。送信バッファはFIFO(First−In−First−Out)形の記憶構造を有する。
【0015】
LBP102は、ホスト101から供給される印刷データ(例えば、ESCコード、ページ記述言語等)に基づいて、ページ毎にラスタデータを生成し、後記プリンタエンジン105に送出するプリンタコントローラ103と、前記プリンタコントローラ103から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着することにより画像を記録するプリンタエンジン105とを有する。
【0016】
また、LBP102は、ユーザインタフェースとして使用されるパネル部104を有する。パネル部104はプリンタコントローラ103と相互に通信を行う。ユーザは、パネル部104を操作することにより、プリンタコントローラ103に対して所望の動作を指示することができる。また、パネル部104には、プリンタ102の処理内容や、ユーザへの警告内容が表示される。
【0017】
尚、この実施の形態においては、画像記録装置102としてLBPを適用した例について述べるが、本発明において適用される画像記録装置は、LBPに限られるものではなく、インクジェットプリンタ等他のプリント方式のプリンタや、ファックス、コピー機等も含まれる。
【0018】
次に、画像記録装置であるLBP102の内部構造について、図2を用いて説明する。図2はタンデム式カラー・プリンタの断面図である。
【0019】
図2において、プリンタ筐体201がLBP102を覆っている。LBP102は、ユーザが各種指示を与えるためのスイッチや、プリンタコントローラ101からのメッセージ、プリンタの設定内容等を表示するためのLED表示器やLCD表示器等が配された操作パネル202を備え、これは図1に示すパネル部104の一態様である。また、LBP102は、プリンタコントローラ103及びプリンタエンジン105の電子回路部分を構成するボードを収容する、ボード収容部203を有する。
【0020】
LBP102は、用紙(記録媒体)226を保持する用紙カセット220を有する。用紙カセット220は仕切り板によって電気的に用紙サイズを検知する機構を有する。また、LBP102は、カセットクラッチ221を有する。カセットクラッチ221は用紙カセット220上に載置された用紙226の最上位の一枚を取り出して、取り出した用紙226を駆動手段から伝達される駆動力によって給紙ローラ222まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙226を給紙する。LBPは用紙検知センサ223を有する。用紙検地センサ223はそれぞれ用紙カセット220に保持されている用紙226の量を検知する。
【0021】
給紙ローラ222は、用紙226の先端部を後記レジストシャッタ224まで搬送するローラである。レジストシャッタ224は用紙226を押圧することにより給紙を停止することができる。
【0022】
LBP102は手差しトレイ230と、手差し給紙クラッチ231を有する。手差し給紙クラッチ231は、用紙226の先端を手差し給紙ローラ232まで搬送するために使用され、手差し給紙ローラ232は、用紙226の先端をレジストシャッタ224まで搬送するために使用される。画像記録に供する用紙226は、用紙カセット220及び手差しトレイ230のいずれかの給紙手段を選択して給紙される。
【0023】
プリンタエンジン105は、プリンタコントローラ103と所定の通信プロトコルにしたがって通信を行い、プリンタコントローラ部103からの指示にしたがって用紙カセット220手差しトレイ230の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ224まで用紙226を搬送する。尚、プリンタエンジン105は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【0024】
LBP102は画像記録部204a、204b、204c、204dを有する。画像記録部204a、204b、204c、204dは、感光ドラム205a、205b、205c、205dやトナー保持部等を有し、電子写真プロセスにより、用紙226上にトナー像を形成する。また、LBP102は画像記録部にレーザービームによる画像情報を供給するレーザースキャナ部206a、206b、206c、206dを有する。
【0025】
画像記録部204a、204b、204c、204dには、用紙226を搬送する用紙搬送ベルト250が複数の回転ローラ251、252、253、254によって用紙搬送方向(図の下から上方向)に扁平に張設され、その最上流部においては、バイアスを印加した吸着ローラ225によって、用紙226を用紙搬送ベルト250に静電吸着させる。またこのベルト搬送面に対向して4個の感光ドラム205a、205b、205c、205dが直線状に配設されており、画像形成手段を構成している。画像記録部204a、204b、204c、204dのそれぞれには、感光ドラム205a、205b、205c、205dの周辺近傍を順次取り囲んで、帯電器、現像器が配置されている。
【0026】
レーザースキャナ部206a、206b、206c、206dは、レーザーユニット207a、207b、207c、207dを有する。レーザーユニット207a、207b、207c、207dは、プリンタコントローラ103から送出される画像信号に応じて、内蔵の半導体レーザーを駆動し、レーザービームを発射する。レーザーユニット207a、207b、207c、207dから発せられたレーザービームは、ポリゴンミラー(回転多面鏡)208a、208b、208c、208dにより走査され、感光ドラム205a、205b、205c、205d上に潜像を形成する。
【0027】
LBP102は、定着器260を有する。定着器260は、画像記録部204a、204b、204c、204dにより用紙226に形成されたトナー画像を用紙226に熱定着させる。また、LBP102は、用紙Sを排紙搬送する搬送ローラ261と、用紙Sの排紙状態を検知する排紙センサ262を有する。更に、LBP102は、排紙ローラ兼両面印刷用搬送路切替えローラ263を有する。排紙ローラ兼両面印刷用搬送路切替えローラ263は、用紙226を排紙方向へ搬送し、用紙226の搬送指示が排紙の場合はそのまま排紙トレイ264に排紙し、搬送指示が両面搬送の場合は、用紙226の後端が排紙センサ262を通過した直後に回転方向を逆向きに変え、スイッチバックすることにより用紙226を両面印刷用搬送路270へ搬送する。また、LBP102は、排紙トレイ264上に積載された用紙226の積載量を検知する排紙積載量検知センサ265を有する。
【0028】
LBPは、両面印刷用搬送路270を有する。排紙ローラ兼両面印刷用搬送路切替えローラ263により両面印刷用に搬送された用紙226は、両面搬送ローラ271、272、273、274によって再びレジストシャッタ224まで搬送されて画像記録部204a、204b、204c、204dへの搬送指示を待つ。
【0029】
尚、LBP102には、更にオプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
【0030】
次に、LBP102内のプリンタコントローラ103の構成例について、図3を用いて説明する。図3は、プリンタコントローラ103の構成例を示すブロック図である。
【0031】
図3において、プリンタコントローラ103は、その内部に制御命令に従って演算、判断等を行ってデータ処理や各種構成要素の制御を行う中央演算処理装置(以下、CPUと呼ぶ)309と、CPUが実行する制御プログラムを格納するROM304や、RAM307等の記憶装置を備える。RAM307は、増設ポートに接続されるオプションRAMによりメモリ容量を拡張できるように構成されており、ROM304に保持された制御プログラムによって一時的に使用されるワークメモリ等に用いられる。
【0032】
また、プリントコントローラ103は、パネル部104とのデータ通信を行うパネルインタフェース部301、ネットワークを介してホスト101等のデータ処理装置と双方向に通信接続するためのネットワークインターフェース部(以下、ネットワークIF部と略記する)302、プリンタエンジン105と通信接続するためのエンジンインタフェース部306、そして、プリンタコントローラ103の各種構成要素を相互に接続するCPUバス320を有する。CPU309は、パネルインタフェース部301を介して、ユーザがパネル部104において設定・指示した内容を確認することができる、また、エンジンインタフェース部306を介して、プリンタエンジン105の状態を認識することができる。CPUバスはアドレス、データ、コントロールバスを含み、パネルインタフェース部301、ネットワークIF部302、後記画像処理部303、ROM304、後記画像メモリ305、エンジンインタフェース部306、RAM307、後記DMA制御部308、CPU309及び後記EEPROM310は、それぞれCPUバス320に接続されたすべてのデバイスにアクセス可能である。
【0033】
尚、ネットワークIF部302は受信したパケットを一時的に保存する受信バッファを有する。受信バッファの領域はRAM307等に確保される。受信バッファはFIFO(First−In−First−Out)形の記憶構造を有する。
【0034】
更に、プリントコントローラ103は、ホスト101より供給された印刷データに基づいて、プリンタエンジン105に供給するラスタデータを生成(ラスタライズ)する画像処理部303、生成したラスタデータを一時的に保持するための画像メモリ305、濃度補正テーブル等の制御情報を保持するための不揮発性メモリで構成されるEEPROM310、そして、DMA制御部308で構成される。DMA制御部308はCPU309からの指示により画像メモリ305内のラスタデータをエンジンインタフェース部306に転送する。
【0035】
<通信に関する概要>
次に、ホスト101とLBP102との通信形態例について、図4を用いて説明する。図4は、LANを用いたネットワーク通信の概念図である。
【0036】
図4はホスト101とLBP102がLANを介して接続されている様子を示しており、ホスト及びLBP内部でデータがどのように加工され、どのように通信されるかを表している。ホスト101及びLBP102の内部処理は、機能に基づくブロックに分けた場合、ほぼ同様である。そこで、アプリケーション層、トランスポート層、ネットワーク層、ネットワークアクセス層の各階層における、処理を説明する。ホスト101若しくはLBP102がデータを送信する場合には、アプリケーション層においてデータを生成し、トランスポート層においてデータをパケットに収まる大きさに分割し、パケットヘッダを付加することでパケットを生成し、ネットワーク層及びネットワークアクセス層においてLANにパケットを流す。ホスト101若しくはLBP102がネットワークからデータを取得する場合には、ネットワーク層及びネットワークアクセス層においてLANからパケットを取得し、トランスポート層においてパケットから分割されたデータを復元し、アプリケーション層においてデータを取得する。
【0037】
本実施形態におけるLBP102の画像処理部303はアプリケーション層のコンポーネントに相当し、LBP102のネットワークIF部302はトランスポート層、インターネット層、ネットワークインターフェース層の3つを併せた階層のコンポーネントに相当する。
【0038】
(実施形態1)
<データ列分割及びデータ列読み飛ばし処理>
本発明の実施形態として、ホストが同一の印刷データを複数のLBPにブロードキャストする状況において、あるLBPはデータ列を全て読み飛ばして印刷データのコマンド部の処理を行い、あるLBPはデータ列を印刷する、画像処理システムについて説明する。ここで、LBPがデータ列を全て読み飛ばして印刷データのコマンド部の処理を行う状況は、例えば、LBPがある印刷データを事前に実行している場合において、印刷データのキャンセルや中断の命令を受けたり、パラメータの設定変更や取得要求への応答を行う場合等である。
【0039】
本実施形態の機器構成について図5を用いて説明する。図5は本実施形態に関わるホストとLBP2台がLANを経由して接続されている状況を示している。
【0040】
ここで、LBPa501は印刷データ中のデータ列を全て読み飛ばすように設定され、LBPb502は印刷データ中のデータ列をすべて印刷するように設定されていると仮定する。
【0041】
また、LBPa501、LBPb502の設定は、手動により各LBPのパネル部104を操作すること、或いは、各LBPに対してネットワーク経由で設定パケットを送信しておくこと等により、事前に行っておくものとする。
【0042】
このような機器構成において、ホスト101は印刷データを生成し、LBPa501、LBPb502に対してブロードキャストを行う。
LBPa501、LBPb502はネットワークIF部302においてパケットを受信し、画像処理部303において画像形成処理を行う。
【0043】
次に、印刷データの構造と、印刷データから生成するパケットについて、図6を用いて説明する。図6は本実施形態で用いるホストの生成する印刷データとパケットの相関を示すものである。
【0044】
図6左側の印刷データが分割されパケットヘッダが付加されることで図6右側のパケット1、2、3、4、5、6が生成される。
【0045】
図6左側の印刷データはコマンド部、属性パラメータ部、データ列ヘッダ部、データ列部等から構成される。コマンド部はジョブ開始やジョブの属性設定、ジョブ終了、ジョブ制御、パラメータ取得要求、印刷枚数指定等の画像記録装置に対する管理、制御に関するコードが格納される。属性パラメータは、印刷開始ページ、印刷枚数、等のコマンド部の引数情報が格納される。データ列は画像や文書のイメージデータが格納される。データ列ヘッダはデータ列の開始を示すコマンドである。データ列ヘッダには、ビット長等のデータ列のメタデータに関する情報が格納される。尚、本明細書のデータ列ヘッダは、ここに述べたデータ列の開始を示すものの他に、後述するように、印刷データをパケットに分割した時にパケットの中身がデータ列であることを示すものが存在する。
【0046】
パケットは印刷データを先頭から順次分割しパケットヘッダを付加することにより生成されるが、この時以下の条件が満たされる。(1)コマンド部及び属性パラメータのいずれかと、データ列ヘッダ及びデータ列のいずれかは、互いに同じパケットには含まれない(2)コマンド部及び属性パラメータのいずれかが含まれるパケットの、印刷データの先頭はコマンド部が格納される(3)属性パラメータは、それが対応するコマンド部と同じパケットに格納される(4)データ列を含むパケットの、印刷データの先頭はデータ列ヘッダが格納される
図6右側のパケット1はパケットの格納限界のサイズまで印刷データを先頭からパケットに格納し、先頭にパケットヘッダを付加することで生成される。図6ではパケット1にコマンド1、属性パラメータ1、コマンド2、属性パラメータ2が格納されている。
【0047】
パケット2は、印刷データをコマンド3より順次格納することで生成されるが、コマンド部及び属性パラメータのいずれかと、データ列ヘッダ及びデータ列のいずれかが、互いに同じパケットには含まれないように、パケット2はコマンド3、属性パラメータ3から構成される。尚、パケット2とパケット6のサイズはパケットの格納限界よりも小さいが、このような場合も許容されているものとする。
【0048】
パケット3はデータ列が格納されているが、データ列のサイズが大きいため分割されている。パケット4と5は分割した際の残りのデータ列が格納されているが、パケットの中身がデータ列であることを示すデータ列ヘッダ(コマンドの一つ)が付加されている。
【0049】
次に、実施形態1のホスト101が実行するパケット生成処理の詳細について、図7を用いて説明する。図7は本発明の実施形態1のホスト側が実行するパケット生成処理のフローチャートである。
【0050】
ステップS101において印刷データを生成し、ステップS102において生成した印刷データを送信バッファに格納する。
【0051】
ステップS103においてパケットヘッダを生成し、ステップS104において送信バッファに印刷データが格納されているか否かを判定する。
【0052】
印刷データが格納されている場合(ステップS104でYES)、ステップS105へ進み、パケット生成処理を継続する。パケットに収まるものでない場合(ステップS104でNO)、パケット生成処理は完了したものと判断し、ステップS110へ進む。
【0053】
ステップS105において、一つのパケットに収まる大きさの印刷データを送信バッファから取り出す。ここで、取り出される印刷データは次の条件を満たす。(1)コマンド部及び属性パラメータのいずれかと、データ列ヘッダ及びデータ列のいずれかは、並存しない(2)コマンド部とそれに対応する属性パラメータはまとめて取り出され、取り出された印刷データの先頭はコマンド部となる(3)取り出された印刷データがデータ列のみである場合、その印刷データにデータ列ヘッダを付加しても一つのパケットに収めることができる
ステップS106において、取り出された印刷データはデータ列のみで構成されているか否かを判定する。データ列のみで構成されている場合(ステップS106においてYES)、ステップS107へ進む。データ列のみでは構成されていない場合(ステップS106においてNO)、ステップS108へ進む。
【0054】
ステップS107においては、パケットが分割されたデータ列のみで構成されていることを示すデータ列ヘッダをパケットに格納し、ステップS108へ進む。 ステップS108において、ステップS105において取り出した印刷データをパケットに格納し、ステップS109においてパケットをLBPa501、LBPb502へブロードキャストする。これらの処理を完了すると、ステップS103へ戻る。
【0055】
ステップS110においては、終了通知のパケットを生成しLBPa501、LBPb502へブロードキャストすることで本処理を終了する。
【0056】
このような処理を行うことにより、ホスト101の生成する印刷データが格納されたパケットは、ペイロードの先頭がデータ列ヘッダまたはコマンドとなる。
【0057】
次に、実施形態1のLBPa501が行うパケット読み飛ばし処理の詳細について、図8、図9を用いて説明する。
【0058】
図8は本発明の実施形態1で用いるLBPa501の、ネットワークIF部302が有する受信バッファの処理のフローチャートである。
【0059】
受信バッファはステップS201においてホストからパケットを受信するまで待機している。ステップS202においてパケットを受信すると、ステップS203において受信したパケットを受信バッファに格納する。ステップS204において受信バッファに格納したパケットが終了通知のコマンドを含むものか否かを判定する。終了通知を含む場合(ステップS204でYES)、パケット受信の待機状態を解除する。終了通知を含まない場合(ステップS204でNO)、ステップS201に戻り、再びパケットの受信を待機する。
【0060】
図9は本発明の実施形態1で用いるLBPa501の、ネットワークIF部302の処理のフローチャートである。
【0061】
ステップS301において受信バッファが空の場合は、受信バッファにデータが格納されるまで待機する。ステップS302において受信バッファの先頭のパケットから、パケットに格納されている印刷データの先頭のデータ(データ列ヘッダ、または、コマンド)を取得する。
【0062】
ステップS303において取得したデータが終了通知のコマンドであるか否かを判定する。データが終了通知のコマンドの場合(ステップS303でYES)、本処理を終了する。データが終了通知のコマンドでない場合(ステップS303でNO)、ステップS304へ進む。
【0063】
ステップS304において印刷データの先頭のデータがデータ列ヘッダであるか否かを判定する。印刷データの先頭のデータがデータ列ヘッダの場合(ステップS304でYES)、ステップS305へ進む。
【0064】
ステップS305において、受信バッファに格納されているパケットの1パケット分を読み飛ばしステップS301へ戻る。
【0065】
印刷データの先頭のデータがデータ列ヘッダでない場合(ステップS304でNO)、ステップS306へ進む。ステップS306において、受信バッファ内の先頭パケットを取得し、パケット内の印刷データを復元する。ステップS307において復元した印刷データを画像処理部へ送信しステップS301へ戻る。
【0066】
このような処理を行うことにより、ネットワークIF部302においてデータ列だけを高速に読み飛ばして処理することが可能となる。図6においてパケット3、4、5が読み飛ばされて処理されることになる。
【0067】
次に、実施形態1のLBPa501における画像処理部303の処理の詳細について、図10を用いて説明する。図10は本発明の実施形態1で用いるLBPa501の、画像処理部303の処理のフローチャートである。
【0068】
ステップS401においてネットワークIF部302から印刷データを受信し、ステップS402において意味解釈処理(インタープリット)を行い、中間データを生成する。ステップS403において中間データから描画オブジェクトを生成し、ステップS404において描画オブジェクトを素に画像形成処理を行い、本処理を終了する。
【0069】
尚、LBPb502は従来の方法を用いて印刷データを解析し、データ列の画像形成を行う。
【0070】
以上のような処理を行うことにより、ホスト101は同一の印刷データをブロードキャストしながら、複数のLBPにそれぞれ異なった処理を行わせることができる。また、LBPa501は印刷データのデータ列を高速に読み飛ばすことが可能なため、ホスト101から受け取ったコマンドを高速に実行することができる。一方、LBPb502はLBPa501の処理と同時並行で印刷処理を行うことができる。
【0071】
尚、本実施形態では設置されたLBPの台数は2台としているが、これに限定されるものではない。すなわち、所定の台数のLBPを設置した場合でも本発明を適用することができる。
【0072】
(実施形態2)
<分散印刷システムにおけるページ読み飛ばし処理>
本実施形態では、ホストが同一の印刷データを複数のLBPにブロードキャストする状況において、複数のLBPが印刷データに基づく処理を適当な画像処理単位に基づいて(ページ単位、スケジューリング単位、ドキュメント単位、複数のドキュメントを束ねた単位等)分担する構成について説明する。本実施形態では、2つのLBPがそれぞれ奇数ページ、偶数ページを印刷する構成について説明する。
【0073】
本実施形態の機器構成について図11を用いて説明する。図11は本実施形態に関わるホストとLBP2台がLANを経由して接続されている概念を示す図であり、LBPc1001は印刷データ中の奇数ページを印刷するように設定され、LBPd1002は印刷データ中の偶数ページを印刷するように設定されていると仮定する。
【0074】
ここで、LBPc1001、LBPd1002の設定は、各LBPのパネル部104を操作したり、或いは、各LBPに対してネットワーク経由で設定パケットを送信しておくこと等により、事前に行っておくものとする。また、LBPc1001、LBPd1002は処理中のデータ列のページが、そのLBPの担当のものであるか否かを示すページフラグを有している。ここで、ページフラグは処理中のデータ列のページが担当のものである場合は1、担当のものでない場合は0の値がセットされるものとする。
【0075】
このような機器構成において、ホスト101は印刷データを生成し、LBPc1001、LBPd1002に対してブロードキャストを行う。
【0076】
次に、印刷データの構造と、印刷データから生成するパケットについて、図12を用いて説明する。図12は本実施形態で用いるホストの生成する印刷データとパケットの相関を示すものである。図12左側の印刷データが分割されパケットヘッダが付加されることで図12右側のパケット1、2、3、4、5、6が生成される。
【0077】
図12左側の印刷データはコマンド部、属性パラメータ部、データ列ヘッダ部、データ列部等から構成される。コマンド部、属性パラメータ、データ列、データ列ヘッダの内容は実施形態1と同様である。また、パケット分割時の条件は実施形態1と同様である。
【0078】
パケット中のページスタートコマンドはコマンドの一つであり、データ列のページ開始を示している。また、ページスタートコマンドに付随する属性パラメータにはページ番号の値が格納されている。本実施形態ではページスタートコマンドをLBPが検索することで、ページの読み飛ばしを実現している。
【0079】
次に、実施形態2のホスト101が実行するパケット生成処理の詳細について、図7を用いて説明する。
【0080】
実施形態2においてもホスト側が実行するパケット生成処理は図7に示すフローチャートに従い、ステップS105を除いて各ステップにおける処理は実施形態1と同様である。
【0081】
実施形態2においても、ステップS105で、一つのパケットに収まる大きさの印刷データを送信バッファから取り出す点では同様だが、取り出された印刷データが満たしている条件が異なる。すなわち、実施形態2においては、実施形態1で述べた3つの条件に加えて、以下の条件も満たされている。

(4)取り出された印刷データにページスタートコマンドが含まれる場合、ページスタートコマンドは取り出された印刷データの先頭に位置する

この条件が満たされていることにより、LBPc1001、LBPd1002はパケットの先頭部を検索して、受信したデータが担当しているものであるのか否かの判定を高速に行うことができる。
【0082】
次に、実施形態2のLBPc1001とLBPd1002が行うページ読み飛ばし処理の詳細について、図13を用いて説明する。図13は本発明の実施形態2で用いるLBPc1001、LBPd1002の、ネットワークIF部302の処理のフローチャートである。
【0083】
受信バッファの動作は実施形態1と同様である(図8)。
【0084】
ステップS501において受信バッファが空の場合は、受信バッファにデータが格納されるまで待機する。ステップS502において受信バッファの先頭のパケットから、パケットに格納されている印刷データの先頭のデータ(データ列ヘッダ、または、コマンド)を取得する。
【0085】
ステップS503において取得したデータが終了通知のコマンドであるか否かを判定する。データが終了通知のコマンドの場合(ステップS503でYES)、本処理を終了する。データが終了通知のコマンドでない場合(ステップS503でNO)、ステップS504へ進む。
【0086】
ステップS504において印刷データの先頭のデータがページスタートコマンドであるか否かを判定する。ページスタートコマンドである場合(ステップS504でYES)、ページの開始を判定し、ステップS505へ進む。ページスタートコマンドではない場合(ステップS504でNO)、ステップS507へ進む。
【0087】
ステップS505においてはページスタートコマンドに付随する属性パラメータの値が、そのLBPの担当するものであるか否かを判定する。すなわち、LBPc1001は属性パラメータの値が奇数であるか否か、LBPd1002は属性パラメータの値が偶数であるか否かを判定する。
【0088】
属性パラメータの値が、そのLBPの担当するものである場合(ステップS505でYES)はステップS506へ進み、担当するものでない場合(ステップS505でNO)はステップS509へ進む。
【0089】
ステップS506において、ページフラグの値を1にセットし、ステップS507へ進む。ページフラグの値はデータ列を処理するときに参照される。ステップS509において、ページフラグの値を0にセットし、ステップS507へ進む。
【0090】
ステップS507においてページフラグの値を参照し、ページフラグの値が1の場合(ステップS507でYES)、ステップS510へ進む。ページフラグの値が0の場合(ステップS507でNO)、ステップS508へ進む。
【0091】
ステップS508において、受信バッファに格納されているパケットの1パケット分を読み飛ばし、ステップS501へ戻る。
【0092】
ステップS510において受信バッファ内の先頭パケットを取得し、パケット内の印刷データを復元する。ステップS511において復元した印刷データを画像処理部へ送信し、ステップS501へ戻る。
【0093】
以上の処理を行うことにより、ネットワークIF部302においてそのLBPにとって不要なデータ列を高速に読み飛ばして処理することが可能となる。
【0094】
実施形態2のLBPc1001、LBPd1002における画像処理部303の処理は実施形態1と同じである(図10)。
【0095】
以上の処理から、ホスト101は同一の印刷データをブロードキャストしながら、複数のLBPに画像形成処理を分担させることができる。また、各LBPは自分の担当でないページを高速に読み飛ばすことが可能なため、全体として印刷データに基づく処理を高速に実行することができる。
【0096】
尚、本実施形態では設置されたLBPの台数は2台としているが、これに限定されるものではない。すなわち、所定の台数のLBPを設置した場合でも本発明を適用することができる。
【0097】
また、本実施形態では印刷データに基づく処理の分担を、ページ番号の奇数、偶数によって分ける構成について述べたが、これに限定されるものではない。すなわち、ページ単位、スケジューリング単位、ドキュメント単位、複数のドキュメントを束ねた単位等、任意の分担単位に基づいて、印刷データに基づく処理を複数のLBPに分担する場合についても本発明を適用することができる。
【0098】
(実施形態3)
<エラー復帰処理>
実施形態1、2では、同一の印刷データを複数のLBPにブロードキャストしながら、複数のLBPにそれぞれ異なった処理を高速に行わせる構成について述べたが、実施形態3ではホストが生成した印刷データのデータ列中にエラーが含まれる場合において、画像記録装置がエラーから復帰する処理について説明する。
【0099】
データ列の値にエラーが含まれる場合の問題について、図14を用いて説明する。
図14は実施形態3で用いるホストの生成する印刷データとパケットの相関を示すものであり、図14左側の印刷データが分割されパケットヘッダが付加されることで図14右側のパケット1、2が生成される。
【0100】
実施形態3では、印刷データのデータ列にエラーが含まれていると仮定する。このため、図14右側のパケット1は、パケット内の印刷データにデータ不正を含むものとなっている。また、データ列ヘッダに格納されているデータ列のビット長の値にエラーがあると仮定する。
【0101】
このような場合、従来の方法では画像記録装置の画像処理部がデータ列の不正をコマンドと解釈し、画像記録装置が正常動作に復帰できなくなるという問題があった。
【0102】
本実施形態の機器構成について図15を用いて説明する。図15は本実施形態に関わるホスト101とLBP102がLANを経由して接続されている状況を示している。
【0103】
ここで、ホスト101の生成した印刷データのデータ列にはエラーが含まれている。また、LBPd102の画像処理部303はパケットの切り替わりを判別するために用いられるパケットフラグを有している。ここで、パケットフラグはパケットが切り替わった状態では1、そうでない場合は0の値がセットされるものとする。
【0104】
ホスト101は、実施形態1、2と同様に、図7のフローチャートに従って印刷データをパケットに分割し、LBP102へ送信する。LBP102はネットワークIF部302においてパケットを受信し、画像処理部303において画像形成処理を行う。
【0105】
LBP102のネットワークIF部302が行う処理の詳細について、図16を用いて説明する。図16はLBPのネットワークIF部302が行う処理のフローチャートである。
【0106】
ステップS601においてLBP受信バッファが空の場合は、受信バッファにデータが格納されるまで待機する。ステップS602において受信バッファの先頭のパケットから、パケットに格納されている印刷データの先頭のデータ(データ列ヘッダ、または、コマンド)を取得する。
【0107】
ステップS603において、パケットの内容が終了通知であるか否かを判定し、終了通知の場合(ステップS603でYES)、本処理を終了する。終了通知でない場合(ステップS603でNO)、ステップS604へ進む。
【0108】
ステップS604において、パケットが切り替わった旨を示すデータを画像処理部へ送信し、ステップS605へ進む。この時、画像処理部303のパケットフラグはネットワークIF部302からパケットが切り替わった旨を示すデータを受け取るたびに1にセットされる。
【0109】
ステップS605において受信バッファから1パケット分の印刷データを取得し、ステップS606において取得した印刷データを復元する。ステップS607において復元した印刷データを画像処理部へ送信し、ステップS601に戻る。
【0110】
次に、LBP102の画像処理部303が行う処理の詳細について、図17を用いて説明する。図17はLBPの画像処理部303が行う処理のフローチャートである。
【0111】
ステップS701においてネットワークIF部302から印刷データを受信し、次にステップS702においてパケットフラグの値が1か否かを判定する。パケットフラグの値が1の場合(ステップS702においてYES)、ステップS703へ進み、パケットフラグの値が1でない場合(ステップS702においてNO)、ステップS708へ進む。
【0112】
ステップS703においてパケットフラグの値を0にセットし、ステップS704へ進む。ステップS704において画像処理部が次に処理する印刷データをデータ列ヘッダまたはコマンドとして処理するように設定しステップS705へ進む。
【0113】
また、ステップS708において、画像処理部が次に処理する印刷データを必ずデータ列として処理するように設定しステップS705へ進む。
【0114】
ステップS705において、意味解釈処理を行い、ステップS706において描画オブジェクト生成処理を行う。ステップS707において画像形成処理を行い、本処理を終了する。
【0115】
以上のような処理を行うことで、印刷データのデータ列やデータ列ヘッダに不正がある場合においても、LBP102の画像処理部303において印刷データを構成するデータの切り替わりを知ることができ、画像処理部303が正常動作に復帰できなくなる問題を回避することができる。
【0116】
従来では、データ列に不正がある場合、画像処理部303がデータ列をコマンドと解釈したりコマンドをデータ列と解釈して、正常動作に復帰できず、LBP102の処理がフリーズしてしまう事等があった。しかし、本実施形態のような構成をとることで、画像処理部303がデータ列のエラーを一時的に間違って解釈することがあっても、パケットが切り替わるタイミングで印刷データのコマンドまたはデータ列ヘッダを正しく解釈することができる。このため、パケットが切り替わった時点においてすばやく通常処理に復帰することが可能となる。
【0117】
尚、実施形態1、2、3では、画像記録装置はLBPとしているが、これに限定されるものではない。例えば、インクジェットプリンタ等他のプリント方式のプリンタや、ファックス、コピー機等を画像記録装置とした場合にも、本発明を適用することができる。
【0118】
また、実施形態1、2、3は一例であり、用途や目的に応じて、実施形態1、2、3の構成を組み合わせた実施形態を実現してもよい。
【0119】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0120】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0121】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0122】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0123】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0124】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0125】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0126】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0127】
【図1】実施形態における、画像処理システムの機能構成を示す図である。
【図2】実施形態における、LBPの構成例を示す断面図である。
【図3】実施形態における、プリンタコントローラの構成例を示すブロック図である。
【図4】実施形態における、LANを用いたネットワーク通信の概念を示す図である。
【図5】実施形態1における、ホストと2台のLBPがLANを経由して接続されている概念を示す図である。
【図6】実施形態1における、ホストの生成する印刷データとパケットの相関を示す図である。
【図7】実施形態1、2、3における、ホスト側の処理のフローチャートである。
【図8】実施形態1、2、3における、LBPの受信バッファの処理のフローチャートである。
【図9】実施形態1における、LBPのネットワークIFの処理のフローチャートである。
【図10】実施形態1、2における、LBPの画像処理部の処理のフローチャートである。
【図11】実施形態2における、ホストと2台のLBPがLANを経由して接続されている概念を示す図である。
【図12】実施形態2における、ホストの生成する印刷データとパケットの相関を示す図である。
【図13】実施形態2における、LBPのネットワークIFの処理のフローチャートである。
【図14】実施形態3における、ホストの生成する印刷データとパケットの相関を示す図である。
【図15】実施形態3における、ホストとLBPがLANを経由して接続されている概念を示す図である。
【図16】実施形態3における、LBPのネットワークIFの処理のフローチャートである。
【図17】実施形態3における、LBPの画像処理部の処理のフローチャートである。

【特許請求の範囲】
【請求項1】
画像記録装置に印刷データを出力する情報処理装置であって、
コマンドと、当該コマンドに付随するパラメータと、データ列とで構成される印刷データを生成する印刷データ生成手段と、
パケットヘッダ、コマンド、並びに、当該コマンドに付随するパラメータの順に格納したパケットデータを生成する第1のパケット生成手段と、
データ列のデータ量がパケットデータの許容最大サイズを越える場合、パケットヘッダ、データ列ヘッダ、並びに、分割されたデータ列の順に格納したパケットデータを生成する第2のパケット生成手段と、
前記第1、第2のパケット生成手段で生成されたパケットデータを前記画像記録装置に送信する送信制御手段と
を備えることを特徴とする情報処理装置。
【請求項2】
画像記録装置に印刷データを出力する情報処理装置の制御方法であって、
コマンドと、当該コマンドに付随するパラメータと、データ列とで構成される印刷データを生成する印刷データ生成工程と、
パケットヘッダ、コマンド、並びに、当該コマンドに付随するパラメータの順に格納したパケットデータを生成する第1のパケット生成工程と、
データ列のデータ量がパケットデータの許容最大サイズを越える場合、パケットヘッダ、データ列ヘッダ、並びに、分割されたデータ列の順に格納したパケットデータを生成する第2のパケット生成工程と、
前記第1、第2のパケット生成工程で生成されたパケットデータを前記画像記録装置に送信する送信制御工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項3】
コンピュータが読み込み実行することで、画像記録装置に印刷データを出力する情報処理装置として機能するコンピュータプログラムであって、
コマンドと、当該コマンドに付随するパラメータと、データ列とで構成される印刷データを生成する印刷データ生成手段と、
パケットヘッダ、コマンド、並びに、当該コマンドに付随するパラメータの順に格納したパケットデータを生成する第1のパケット生成手段と、
データ列のデータ量がパケットデータの許容最大サイズを越える場合、パケットヘッダ、データ列ヘッダ、並びに、分割されたデータ列の順に格納したパケットデータを生成する第2のパケット生成手段と、
前記第1、第2のパケット生成手段で生成されたパケットデータを前記画像記録装置に送信する送信制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項4】
請求項3に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項5】
請求項1に記載の情報処理装置から印刷データを受信し、印刷する画像記録装置であって、
パケットデータ中のコマンド又はデータ列ヘッダに基づいて当該コマンド又はデータ列ヘッダに後続する付属情報を処理対象とするか否かを設定する設定手段と、
受信したパケットデータのパケットヘッダの直後に位置する情報をコマンド又はデータ列ヘッダとして解析する解析手段と、
前記設定手段で付属情報を無視するとの設定があった場合、付属情報を読み飛ばし、無視しないとの設定があった場合には付属情報と当該付属情報に対応するコマンド又はデータ列ヘッダに従って印刷処理を実行する制御手段と
を備えることを特徴とする画像記録装置。
【請求項6】
前記設定手段は、印刷処理を実行するページの情報を設定することを特徴とする請求項5に記載の画像記録装置。
【請求項7】
請求項1に記載の情報処理装置から印刷データを受信し、印刷する画像記録装置の制御方法であって、
パケットデータ中のコマンド又はデータ列ヘッダに基づいて当該コマンド又はデータ列ヘッダに後続する付属情報を無視するか否かを設定する設定工程と、
受信したパケットデータのパケットヘッダの直後に位置する情報をコマンド又はデータ列ヘッダとして解析する解析工程と、
前記設定工程で付属情報を無視するとの設定があった場合、付属情報を読み飛ばし、無視しないとの設定があった場合には付属情報と当該付属情報に対応するコマンド又はデータ列ヘッダに従って印刷処理を実行する制御工程と
を備えることを特徴とする画像記録装置の制御方法。
【請求項8】
前記設定工程は、印刷処理を実行するページの情報を設定することを特徴とする請求項7に記載の画像記録装置の制御方法。
【請求項9】
画像記録装置と当該画像記録装置に印刷データを出力する情報処理装置で構成される画像記録システムであって、
前記情報処理装置は、
コマンドと、当該コマンドに付随するパラメータと、データ列とで構成される印刷データを生成する印刷データ生成手段と、
パケットヘッダ、コマンド、並びに、当該コマンドに付随するパラメータの順に格納したパケットデータを生成する第1のパケット生成手段と、
データ列のデータ量がパケットデータの許容最大サイズを越える場合、パケットヘッダ、データ列ヘッダ、並びに、分割されたデータ列の順に格納したパケットデータを生成する第2のパケット生成手段と、
前記第1、第2のパケット生成手段で生成されたパケットデータを前記画像記録装置に送信する送信制御手段とを備え、
前記画像記録装置は、
パケットデータ中のコマンド又はデータ列ヘッダに基づいて当該コマンド又はデータ列ヘッダに後続する付属情報を処理対象とするか否かを設定する設定手段と、
受信したパケットデータのパケットヘッダの直後に位置する情報をコマンド又はデータ列ヘッダとして解析する解析手段と、
前記設定手段で付属情報を無視するとの設定があった場合、付属情報を読み飛ばし、無視しないとの設定があった場合には付属情報と当該付属情報に対応するコマンド又はデータ列ヘッダに従って印刷処理を実行する制御手段とを備える
ことを特徴とする画像記録システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−48351(P2006−48351A)
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2004−228017(P2004−228017)
【出願日】平成16年8月4日(2004.8.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】