(57)【要約】【課題】印刷データに係るエンコード処理やデコード処理の処理時間の短縮を図ることができるようにする。【解決手段】描画領域を複数の矩形領域に分割したバンド単位で印刷データに係るラスタライズを行い、バンド単位に分割処理されたラスタライズデータの各々を同じ量子化テーブルとハフマンテーブルを用いて圧縮して、そのデータを印刷装置で行われるデコード処理に応じた形式に加工して印刷装置に転送するようにして、ラスタライズ処理が終了したバンドから圧縮処理を行うことができるようにするとともに、バンド単位に分割して圧縮された複数のデータをデコーダに１つのデータであると認識させることができるようにする。【選択図】図３
2009165078.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムで稼動され、印刷装置と通信可能な情報処理装置であって、
描画命令で記述された印刷データを入力する入力手段と、
描画領域を複数の矩形領域に分割したバンド単位で前記印刷データに係るラスタライズを行うラスタライズ手段と、
バンド単位に分割処理されたラスタライズデータに対し、同じ量子化テーブルとハフマンテーブルを用いて圧縮する圧縮手段と、
前記圧縮手段により圧縮されるデータを印刷装置で行われるデコード処理に応じた形式に加工する処理手段と、
前記処理手段により加工されたデータを印刷装置に転送する転送手段とを有することを特徴とする情報処理装置。
【請求項２】
オペレーティングシステムで稼動され、印刷装置と通信可能な情報処理装置であって、
描画命令で記述された印刷データを入力する入力手段と、
描画領域を複数の矩形領域に分割し、前記印刷データに係るラスタライズを行うラスタライズ手段と、
ラスタライズされたラスタライズデータを複数の矩形領域に分割し、同じ量子化テーブルとハフマンテーブルを用いて圧縮する圧縮手段と、
前記圧縮手段により圧縮されるデータを印刷装置で行われるデコード処理に応じた形式に加工する処理手段と、
前記処理手段により加工されたデータを印刷装置に転送する転送手段とを有することを特徴とする情報処理装置。
【請求項３】
前記圧縮手段は、ラスタライズデータがすべて白である場合に、エンコード処理をスキップして、空白であることを示す情報を返却するスキップ処理手段を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記スキップ処理手段は、前記圧縮手段の出力として前記空白であることを示す情報を受け取った場合、それを示すコマンドを生成することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記処理手段は、前記印刷装置のメモリ量に応じてデータを分割することを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
オペレーティングシステムで稼動され、印刷装置と通信可能な情報処理方法であって、
描画命令で記述された印刷データを入力する入力工程と、
描画領域を複数の矩形領域に分割したバンド単位で前記印刷データに係るラスタライズを行うラスタライズ工程と、
バンド単位に分割処理されたラスタライズデータに対し、同じ量子化テーブルとハフマンテーブルを用いて圧縮する圧縮工程と、
前記圧縮工程により圧縮されるデータを印刷装置で行われるデコード処理に応じた形式に加工する処理工程と、
前記処理工程により加工されたデータを印刷装置に転送する転送工程とを有することを特徴とする情報処理方法。
【請求項７】
オペレーティングシステムで稼動され、印刷装置と通信可能な情報処理方法をコンピュータに実行させるためのプログラムであって、
描画命令で記述された印刷データを入力する入力工程と、
描画領域を複数の矩形領域に分割したバンド単位で前記印刷データに係るラスタライズを行うラスタライズ工程と、
バンド単位に分割処理されたラスタライズデータに対し、同じ量子化テーブルとハフマンテーブルを用いて圧縮する圧縮工程と、
前記圧縮工程により圧縮されるデータを印刷装置で行われるデコード処理に応じた形式に加工する処理工程と、
前記処理工程により加工されたデータを印刷装置に転送する転送工程とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データの変換処理におけるエンコード処理を行う情報処理方法等に関する。
【背景技術】
【０００２】
従来、コンピュータの出力装置として、ヘッドに備えられた複数のノズルから吐出される数色のインクによりドットを形成して画像を記録するインクジェットプリンタが提案されている。インクジェットプリンタは、コンピュータ等で処理された画像を多色多階調で印刷するのに用いられている。
【０００３】
近年では、階調表現を豊かにするために、画像データ（イメージデータ）をそのまま印刷装置に送信し、印刷装置がメディアを判定し、自動的にそのメディアに適した色処理を行うという印刷処理方法が用いられてきている。
【０００４】
しかし、イメージデータをそのまま印刷装置に転送すると転送時間がかかるという問題がある。近年のプリンタは、非常に高速となり、ドライバの処理時間や転送時間の削減が必要となっている。そのことにより現在では、主にイメージデータを圧縮するためにエンコード（例えばＪｐｅｇ圧縮）してプリンタにデータ転送し、印刷装置本体でデータを伸張するためにデコードを行う方法が一般的に用いられている。
【０００５】
例えば、ラスタライズ処理を行ったラスタライズデータに対しエンコードをして、データサイズを小さくした圧縮データを印刷装置に送信することによって、転送時間の削減を図る方法である。
【０００６】
この方法は一般的に、１ページを１つのＪｐｅｇ画像として圧縮したＪｐｅｇデータをプリンタに送信しようとする場合、１ページすべてをラスタライズ処理してから圧縮処理を行う必要があるため、圧縮処理を開始するまでに非常に時間がかかる。また、エンコード処理においても、１ページ分のＪｐｅｇデータをエンコードするのにも多くの処理時間を必要とする。圧縮したイメージからプリンタに送信することも考えられるが、圧縮を行うエンコーダの仕様によっては、イメージ全体の圧縮処理が終わるまでは圧縮イメージを得ることができない。
【０００７】
そこで、効率良くイメージデータを圧縮する方法の１つとして、１つの画像を少分割して圧縮する方法が開示されている（特許文献１参照）。
【０００８】
【特許文献１】特開２００６−１２１１７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されている方法では、データを分割してエンコード処理を行うが、上述した問題にも挙げた１ページのラスタライズ処理が終わるまでエンコード処理を開始することができず、処理時間がかかる問題がある。また、１つの画像を少分割してエンコード処理することによって、デコード処理の際に少分割されたデータに対するデコード処理の度にデコーダの初期化をしなければならないという問題が発生する。
【００１０】
本発明は、このような課題を解決するためになされたもので、例えば、描画領域を複数の矩形領域に分割したバンド単位でラスタライズし、ラスタライズ処理が終了したバンドからＪｐｅｇ圧縮を行う。そして、圧縮されたデータを印刷装置で行われるデコード処理に応じた形式に加工する。これにより、バンド単位に分割してエンコードした各Ｊｐｅｇをデコーダに１つのＪｐｅｇデータであると認識させることができる。このようにして、上述したような問題を解決し、印刷データに係るエンコード処理やデコード処理の処理時間の短縮を図ることができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、オペレーティングシステムで稼動され、印刷装置と通信可能な情報処理装置であって、描画命令で記述された印刷データを入力する入力手段と、描画領域を複数の矩形領域に分割したバンド単位で前記印刷データに係るラスタライズを行うラスタライズ手段と、バンド単位に分割処理されたラスタライズデータに対し、同じ量子化テーブルとハフマンテーブルを用いて圧縮する圧縮手段と、前記圧縮手段により圧縮されるデータを印刷装置で行われるデコード処理に応じた形式に加工する処理手段と、前記処理手段により加工されたデータを印刷装置に転送する転送手段とを有することを特徴とする情報処理装置等、を提供する。
【発明の効果】
【００１２】
本発明によれば、描画領域を複数の矩形領域に分割したバンド単位でラスタライズしたラスタライズデータに対し圧縮を行う。これにより、全イメージをラスタライズ処理することを待たずして、ラスタライズ処理が終了したバンドから圧縮処理を行うことができる。また、圧縮されたデータを印刷装置で行われるデコード処理に応じた形式に加工することで、バンド単位に分割して圧縮された複数のデータをデコーダに１つのデータであると認識させることができる。これにより、転送時間の短縮、またデコード処理を行う度に発生するデコーダの初期化を最初のみ行えば良く、処理時間の短縮を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【００１４】
＜システム構成の説明＞
（コンピュータのハードウェア構成例）
図１は、本発明の一実施形態を示す情報処理装置の構成例を説明するブロック図である。なお、情報処理装置は、ネットワークインターフェースや双方向インタフェースを介して、印刷装置と通信可能なように構成されている。
【００１５】
また、印刷装置は、用紙サイズや用紙種別を検知するセンサを備え、情報処理装置からの印刷資源情報の取得要求に応じて、検出された用紙の種別やサイズ等を情報処理装置に通知する機能を備えている。ここで、用紙の種別とは、フォトプリント、普通紙等のように、印刷目的に合わせて、プリンタドライバがサポートする用紙として給紙可能な用紙の種別を意味する。なお、印刷装置のインク数によっては、サポートする用紙の種別は、２種類以上の場合もある。
【００１６】
図１において、１００は装置全体の制御を行うＣＰＵであり、オペレーティングシステム（ＯＳ）で稼動されてシステムバス１０８を介して各デバイスを制御する。ＣＰＵ１００は、ハードディスク（ＨＤ）１０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行する。また、ＣＰＵ１００は、ＲＡＭ１０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１７】
１０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。１０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。なお、ＲＡＭ１０２には、プリンタドライバが生成する印刷データから印刷領域を算出する場合に、その変数を記憶する領域も確保される。
本実施形態では、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等により、本発明の入力手段、ラスタライズ手段、圧縮手段、処理手段、転送手段等の機能が実現される。
【００１８】
１０３は記憶媒体読み込み手段としてのフレキシブルドライブであり、記憶媒体としてのフレキシブルディスク（ＦＤ）１０４に記憶されたプログラム等を本コンピュータにロードすることができる。１０４は記憶媒体であるフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能なようにプログラム等が格納された記憶媒体である。なお、記憶媒体はフレキシブルディスクに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１９】
１０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００２０】
１０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。１０７は表示手段であるディスプレイであり、キーボード１０６から入力したコマンドや、印刷装置の状態等を表示したりするものである。
【００２１】
１０８はシステムバスであり、コンピュータ内のデータの流れを司るものである。１０９は入出力手段であるインタフェースであり、該インタフェース１０９を介してコンピュータは外部装置とのデータのやり取りを行う。
【００２２】
＜印刷システムの構成例＞
図２は、図１に示した情報処理装置を適用した本実施形態における印刷システムの概略構成を示す図である。なお、情報処理装置は、例えば一般的に普及しているパーソナルコンピュータで構成され、例えば、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）をＯＳとして使用して、これに基づいて稼動される。さらに、印刷処理機能を有する任意のアプリケーション２０１をインストールし、更に、このコンピュータに印刷装置２０８を接続した形態が考えられる。なお、ＯＳは、上述したＯＳに限定されることはない。
【００２３】
アプリケーション２０１は、グラフィックデバイス・インタフェース（Graphics Device Interface：以下、「ＧＤＩ」）２０２を介して、印刷装置（プリンタ）２０８に対する印刷設定情報を設定することができる。ここで、印刷設定情報とは、印刷装置２０８においてアプリケーション２０１が生成したページを印刷するために必要な情報であり、印刷する用紙の種類、用紙サイズ、給紙先の給紙口に係る情報等がある。
【００２４】
ユーザインタフェースドライバ２０３は、各印刷設定情報において設定可能な選択肢の一覧を、ＧＤＩ２０２を介してアプリケーション２０１に通知する他、各種印刷設定を設定可能なインタフェースを持つ。
【００２５】
アプリケーション２０１が印刷要求した描画データ（印刷データ）は、ＯＳの描画モジュールであるＧＤＩ２０２経由でプリンタグラフィックドライバ（ＰＧＤ）２０６に渡される。アプリケーション２０１が印刷要求した描画命令で記述された印刷データは、文書データや画像データ等の印刷データである。これにより、ＰＧＤ２０６により印刷ジョブが生成され、生成された印刷ジョブは印刷装置２０８へ印刷要求として出力される。
【００２６】
ＧＤＩ２０２は、通常、そのデータをＥＭＦ（Enhanced Meta File）データとして、一旦、スプールファイル２０４にスプール（ＯＳのスプール処理）する。そのスプール処理が終了すると、プリントプロセッサ２０５に印刷要求が発行される。これにより、プリントプロセッサ２０５は、スプールファイル２０４から印刷出力情報と描画データをページ単位で読み込み、１ページずつＧＤＩ２０２を介してＰＧＤ２０６に出力して印刷するように要求する。
【００２７】
なお、プリントプロセッサ２０５は、ＯＳのモジュールとして用意されている。しかし、印刷装置２０８のメーカ等がカスタマイズしたプリントプロセッサ２０５をＰＧＤ２０６とともに供給し、それらをハードディスクにインストールすることも許容されている。
【００２８】
こうしてプリントプロセッサ２０５から印刷が要求されたＰＧＤ２０６は、以下のようなレンダリング処理を行う。つまり、ＧＤＩ２０２が有する描画機能であるＧＤＩレンダリングエンジンを用いて、描画データを印刷装置２０８の印刷解像度に合わせてラスタイメージデータにレンダリングする。このラスタイメージデータは、色を多段階の値として保持する多値データであり、これを元に色処理を行うことで印刷装置２０８の保持するインク毎の色成分に分解したハーフトーンデータが生成される。
【００２９】
これらのラスタイメージデータ及びハーフトーンデータを、ページ全体分一度に処理しようとすると、一般的に非常に大きなメモリ容量が必要になる。よって、ＰＧＤ２０６は、ＧＤＩ２０２に対して、描画領域を複数の矩形領域に分割したバンド単位での分割処理を要求することができる。その場合、そのバンドのサイズを指定することが可能である。また、あるバンドに対して処理が終わった後に、ＰＧＤ２０６がバンドサイズの変更をＧＤＩ２０２に対して要求することも可能である。
【００３０】
また、ＰＧＤ２０６は、バンド単位で処理を行うバンドモードではなくページ単位で処理を行うアンバンディングモードをＧＤＩ２０２に対して要求し、すべての描画データを独自で保存することもできる。その後、描画領域を複数の矩形領域に分割し、バンド単位で出力を行うような形態も許容されている。
【００３１】
その後、ＰＧＤ２０６は、印刷設定情報をプリンタコマンドに変換し、該変換したプリンタコマンドの印刷すべき印刷データへの付加などを行った後、印刷装置２０８に送信する。
【００３２】
実際には、ＰＧＤ２０６から出力されたデータは、ランゲージモニタ２０７に送信依頼という形で出力される。ランゲージモニタ２０７は印刷ジョブを特定サイズのパケットに区切り、印刷装置２０８へ逐一出力する。なお、印刷装置２０８が多値データを受け取ることができるような多値印刷装置である場合には、ラスタイメージデータを直接印刷装置２０８に送信したり、何らかの圧縮を施した上で印刷装置２０８に送信したりすることなども許容される。
【００３３】
＜処理の詳細＞
図３は、本実施形態における処理手順の一例を示すフローチャートである。図３に示す処理は、ＲＯＭ１０１やＨＤ１０５に予めＣＰＵ１００の制御手順（プログラム）を記憶させておき、この制御手順をＣＰＵ１００が実行することにより実現される。
【００３４】
まず、初期化処理を行う（Ｓ３０１）。初期化処理では、主な処理として、メモリ初期化を行う。ここで、Ｊｐｅｇ方式でエンコードするためにＪｐｅｇ方式の処理単位である８又は１６の倍数のサイズをＧＤＩに返却しておき、８又は１６の倍数のサイズで分割したデータを受け取る。
【００３５】
すると、８又は１６の倍数で指定したバンドサイズに属する描画命令をシステムがプリンタドライバに送る。プリンタドライバは、その描画命令を解釈して、独自又はシステムのラスタライザを用いてラスタライズデータにレンダリングする（Ｓ３０２：入力工程、ラスタライズ工程）。次に、生成されたラスタライズデータに対してＪｐｅｇ圧縮するエンコード処理を行う（Ｓ３０３）。エンコード処理の詳細については後述する。
【００３６】
仮に、８又は１６の倍数のバンドサイズでデータを受け取らない場合には、ラスタライズ処理後に、８又は１６の倍数に分割するようにしても良い。また、８又は１６の倍数のバンドサイズでデータを受け取った場合でも、ラスタライズ処理後に、さらに８又は１６の倍数に分割してエンコードするようにしても良い。
【００３７】
このステップＳ３０２及びＳ３０３の処理を残りのバンドがなくなるまで繰り返し行う（Ｓ３０４）。最後に、ステップＳ３０１で確保したメモリの解放等の終了処理（Ｓ３０５）を行い、処理を終了する。
【００３８】
次に、図３に示したステップＳ３０３でのエンコード処理について、詳しく説明する。図４は、エンコード処理の処理手順の一例を示すフローチャートである。
【００３９】
処理を開始すると、バンド単位で分割処理され、ステップＳ３０２でレンダリングされたラスタライズデータに対し、Ｊｐｅｇ方式に従ってエンコードを行う（Ｓ４０１：圧縮工程）。このとき、分割されたバンドでは同じ量子化テーブル、ハフマンテーブルを用いて圧縮（エンコード）する。
【００４０】
次に、ヘッダが印刷装置２０８に送信済みかどうかを調べる（Ｓ４０２）。調べる方法としては、制御フラグをＲＡＭ１０２上に立てておく方法が考えられる。もし、ヘッダが印刷装置２０８に送信されていなければ、すなわち、ＲＡＭ１０２に制御フラグが立っていなければヘッダを印刷装置２０８に送信して、ＲＡＭ１０２に制御フラグを立てる（Ｓ４０３：処理工程）。
【００４１】
ヘッダを印刷装置２０８に送信する方法としては、編集したヘッダを最初のＪｐｅｇデータに付加したまま送信する方法や、ヘッダのみを抜き出して送信する方法が挙げられる。しかし、この２つの方法はあくまで一例であり、本発明ではこの方法に限定されるわけではない。
【００４２】
ここで、ヘッダは、通常、Ｊｐｅｇのデコードを行うために必要なものなので、圧縮されたイメージデータと共に送る必要がある。しかし、バンド単位に分割し、圧縮されたＪｐｅｇデータを毎回送信する度に、ヘッダ付きで送信を行うとデータサイズが大きいので転送する時間がかかり効率的ではない。また、分割されたバンド毎に圧縮されたＪｐｅｇデータにヘッダをつけたまま印刷装置２０８に送信すると、送られてきたＪｐｅｇデータのデコードを開始しようとする度にデコーダの初期化を行う必要があり、処理時間がかかり効率的ではない。
【００４３】
本実施形態では、この問題を解決するためにバンド分割され圧縮された複数のＪｐｅｇデータを伸張するためにデコードする際、デコーダにあたかも元の１つのＪｐｅｇデータをデコードしているかのように認識させることができるようにヘッダを加工する。これにより、ヘッダの送信を最初の一度のみにすることができ、２つめのバンドからヘッダ部分を除いたイメージデータ部分のみを送信すれば良くなり、転送時間を短縮することができる。また、デコード処理においても、デコーダの初期化を行う必要がなくなるので、処理時間の短縮が図れる。
【００４４】
以下、本実施形態において具体的にどのようにヘッダを編集するかを説明する。
図５は、Ｊｐｅｇデータの構造の一例を示した図である。Ｊｐｅｇデータにおいては、各マーカは２バイトである。
【００４５】
“ＦＦ  Ｄ８”はＪｐｅｇデータの開始を表しており、“ＦＦ  Ｄ９”はＪｐｅｇデータの終了を表している。また、“ＦＦ  ＤＡ”はスキャン開始を表しており、ＳＯＳマーカと呼ばれる。ＳＯＳマーカの後ろにはパラメータセグメントが続き、そこまでがヘッダとなる。ヘッダの後ろには圧縮されたイメージデータが続く。
【００４６】
図５に示す例では、“ＦＦ  Ｄ８”から“Ｆ４  ＥＡ”までがヘッダ、“２８  Ａ２”から“８０  ３Ｆ”までが圧縮されたイメージデータ、“ＦＦ  Ｄ９”がフッタとなる。
したがって、本実施形態では、２つ目以降のバンドのＪｐｅｇデータについては、“ＦＦ  Ｄ８”及び“Ｆ４  ＥＡ”を検出してヘッダを削除して印刷装置２０８に送信する。また、ヘッダ同様にフッタ（“ＦＦ  Ｄ９”）を検出して、最終バンド以外のＪｐｅｇデータのフッタを削除して印刷装置２０８に送信する。
【００４７】
ここで、ヘッダの部分を詳しく見てみると、ヘッダの“ＦＦ  Ｃ０”は、ハフマン式コードのベースラインＤＣＴフレームを表しており、そのフレームセグメントの６バイト目、及び７バイト目はデータの高さが設定されている。そこで、本実施形態では、この設定値を結合後のＪｐｅｇデータの高さに設定し直してから印刷装置２０８に送信する。
【００４８】
このようにヘッダに設定されているデータの高さの値を編集するとともに、ステップＳ４０１において同じ量子化テーブルとハフマンテーブルを用いてエンコードすることにより、複数のバンドのデータを１つのヘッダを用いてデコードすることができる。
【００４９】
ここまで述べたことをまとめると、デコーダは最初に送られてきた編集済みヘッダを元にデコード処理を行うため、デコーダは分割された複数のＪｐｅｇデータを１つのＪｐｅｇデータとして認識してデコードを行う。よって、ヘッダの送信は最初の１度のみで済み、２つめのバンド以降のＪｐｅｇデータからはヘッダを取り除いたデータのみを送れば良いことになる。また、フッタの送信は最後のみで済む。
これにより、印刷装置２０８に送信するデータサイズを大幅に削減することができ、転送時間を短縮することができる。また、デコーダの初期化も２つめのバンド以降は行う必要がなくなるので、処理時間が短縮できる。
【００５０】
しかし、このままでは複数のバンドに分割されたＪｐｅｇデータを結合して、元の１枚の画像にうまくデコードすることができない。それは、Ｊｐｅｇ方式では圧縮する過程においてＤＣ成分は前に処理したＤＣ成分との差分を取っておいたものをハフマン符号化するが、この差分は次回の処理に引き継がれどんどん累積していくことになるためである。
【００５１】
よって、リスタートマーカを付加せずにデコードを行うと、図６Ａに示すようにＪｐｅｇ１からＪｐｅｇ２の繋ぎ目をデコードする際に、元の正しいイメージデータに復元ができなくなる。そこで、本実施形態では、正しくバンド間の相関性をリセットするために、エンコードしたＪｐｅｇデータにリスタートマーカを付加する（Ｓ４０４：処理工程）。リスタートマーカとは、指定された間隔ごとに挿入されるマーカコードのことである。
【００５２】
このリスタートマーカを付加して印刷装置２０８にデータを送信すると、図６Ｂに示すように相関性がリセットされてデコードされるので、正しいイメージデータに復元することができる。リスタートマーカを付加する際、リスタートの間隔をヘッダに書き込んでおく必要性があるが、ステップＳ４０３にてヘッダを編集する際に、リスタートマーカの間隔はバンドで分割されたデータの幅に設定しておけば良い。
【００５３】
そして、印刷装置２０８にヘッダ、フッタ等加工したＪｐｅｇデータ（例えば、ヘッダ・フッタの削除したデータや加工したヘッダ付データ）を送信する（Ｓ４０５：転送工程）。
以上がエンコード処理の詳細である。
【００５４】
本実施形態では、バンド単位に分割して圧縮（エンコード）した各Ｊｐｅｇデータをデコータに１つのＪｐｅｇデータであると認識させるために、上述したようにヘッダを編集する。これにより、デコードする際にデコーダの初期化が最初のみで良く、毎回初期化する必要がないので処理時間が短縮できる。また、ドライバ側のエンコード処理と印刷装置２０８側でのデコード処理も当然並列に処理できることは言うまでもない。これにより、効率よく処理することができる。
【００５５】
図３に示したステップＳ３０２でラスタライズした際、バンドに分割されたイメージデータがすべて白、すなわち白紙と判断された場合、エンコード処理を行わずに、バンドの高さ分紙をスキップするコマンド命令を印刷装置２０８に送信するようにしても良い。このようにして本発明におけるスキップ処理手段を実現し、バンドに分割されたイメージデータがすべて白である場合、エンコード処理をスキップして、空白であることを示す情報、又は空白であることを示すコマンドを生成して通知するようにしても良い。これにより、エンコード処理以下の処理を行う必要がなくなり、更なる処理時間の短縮を図ることができる。
【００５６】
また、印刷装置２０８に自装置のメモリ量をプリンタドライバに返却する手段を設けるようにしても良い。この場合には、プリンタドライバは、データを圧縮するためにエンコード処理する際に印刷装置２０８のメモリ量を取得する。そして、取得した印刷装置２０８のメモリ量と分割されてラスタライズされたラスタライズデータ、もしくはラスタライズされたあとに分割されたラスタライズデータのサイズを比較する。
【００５７】
その結果、印刷装置２０８のメモリサイズよりも大きかった場合、印刷装置２０８のメモリ量より小さくなるようさらに分割する。このとき、当然８又は１６の倍数になるように分割する。そして、分割したラスタライズデータに対してデータがなくなるまで順にエンコード処理を行う。このようにして、印刷装置２０８のメモリ量に応じてデータを分割することにより、印刷装置２０８のメモリが不足するという事態を解消することができる。
【００５８】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係る情報処理装置の構成例を示す図である。
【図２】本実施形態における印刷システムの概略構成を示す図である。
【図３】本実施形態における処理手順の一例を示すフローチャートである。
【図４】本実施形態におけるエンコード処理の処理手順の一例を示すフローチャートである。
【図５】Ｊｐｅｇデータの構成の一例を示す図である。
【図６Ａ】デコード処理時のイメージデータの状態を示す概念図である。
【図６Ｂ】デコード処理時のイメージデータの状態を示す概念図である。
【符号の説明】
【００６０】
１００  ＣＰＵ
１０１  ＲＯＭ
１０２  ＲＡＭ
１０３  ＦＤドライブ
１０４  ＦＤ
１０５  ＨＤ
１０６  キーボード
１０７  ディスプレイ
１０８  システムバス
１０９  インタフェース
【図１】
2009165078.tif 000003
【図２】
2009165078.tif 000004
【図３】
2009165078.tif 000005
【図４】
2009165078.tif 000006
【図５】
2009165078.tif 000007
【図６Ａ】
2009165078.tif 000008
【図６Ｂ】
2009165078.tif 000009