(57)【要約】【課題】      複数の描画オブジェクトが混在する画像の印刷時において、良好な圧縮率を得ること。【解決手段】  作成した画像データを、選択した圧縮パラメータに基づいて圧縮し、圧縮した画像データを画像形成装置に処理させるための情報処理方法は、画像データに含まれる複数のオブジェクトを抽出し、オブジェクト毎の描画領域の面積を算出し（Ｓ５０４）、描画領域の面積を比較して、最大の面積を有するオブジェクトを決定し、そのオブジェクトの階調処理に最適化された圧縮パラメータを選択する（Ｓ５０４）。そして、選択した圧縮パラメータに従って、作成した画像データを圧縮する（Ｓ５０７）。【選択図】  図５
2006128944.tif 000002
【特許請求の範囲】
【請求項１】
作成した画像データを、選択した圧縮パラメータに基づいて圧縮し、当該圧縮した画像データを画像形成装置に処理させる情報処理装置であって、
前記画像データに含まれる複数のオブジェクトを抽出し、当該オブジェクト毎の描画領域の面積を算出する算出手段と、
前記描画領域の面積を比較して、最大の面積を有するオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択する選択手段と、
前記選択した圧縮パラメータに従って、前記作成した画像データを圧縮する符号化手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記画像データに含まれる各オブジェクトに優先度を設定する設定手段を更に備え、
前記算出手段は、前記算出された各オブジェクトの描画領域の面積に、前記各オブジェクトに設定された優先度の積を算出し、
前記選択手段は、前記算出した最大の積を与えるオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
異なるオブジェクトに対して、同一の階調処理を施す場合、前記算出手段は、当該異なるオブジェクトの各描画領域の面積を加算し、
前記選択手段は、前記加算された面積と、他の階調処理を施すオブジェクトの面積と、を比較して、最大の面積を有するオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
情報処理装置から送出される符号化されたデータを復号して、画像データを形成する画像形成装置であって、
前記情報処理装置から送出される、前記符号化されたデータを復号するための圧縮パラメータを受信する受信手段と、
前記受信した圧縮パラメータに基づいて、前記符号化されたデータを復号し、画像データを記録媒体上に形成する画像形成手段と
を備えるこことを特徴とする画像形成装置。
【請求項５】
作成した画像データを、選択した圧縮パラメータに基づいて圧縮し、当該圧縮した画像データを画像形成装置に処理させるための情報処理方法であって、
前記画像データに含まれる複数のオブジェクトを抽出し、当該オブジェクト毎の描画領域の面積を算出する算出工程と、
前記描画領域の面積を比較して、最大の面積を有するオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択する選択工程と、
前記選択した圧縮パラメータに従って、前記作成した画像データを圧縮する符号化工程と
を備えることを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納することを特徴とするコンピュータ可読の記憶媒体。
【請求項８】
画像データに含まれる複数のオブジェクトを抽出し、当該オブジェクト毎の描画領域の面積を算出する算出手段と、
前記描画領域の面積を比較して、最大の面積を有するオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択する選択手段と、
前記選択した圧縮パラメータに従って、前記作成した画像データを圧縮する符号化手段と、
前記符号化手段により圧縮された画像データを印刷する印刷手段と
を有することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータ上で画像データを作成し、作成した画像データを圧縮してプリンタに転送して印刷を行うための情報処理技術等、画像形成装置、プログラム、記憶媒体、印刷システムに関するものである。
【背景技術】
【０００２】
近年、ホストコンピュータ上で画像の形成を行い、その画像を受信して印刷を行うプリンタ（ホストベースのプリンタ）が注目されている。この種のプリンタは、ホストコンピュータ上で画像形成に関する処理を行うのでプリンタ側のコントローラを簡略化することが可能であり、ページ記述言語（PDL）をプリンタドライバに実装するタイプのプリンタ（ＰＤＬプリンタ）よりも安価に製造することが出来る。
【０００３】
また、一般的にホストコンピュータはプリンタのコントローラよりも高速に処理をすることが可能であるから、複雑なデータを描画する場合にも画像データを高速に処理することが可能になる。
【０００４】
他方、ホストコンピュータ側で画像データを展開してからプリンタに転送するのでＰＤＬプリンタと比べて、プリンタ側に転送する転送データ量は大きくなり、ホストコンピュータとプリンタとの間でデータを送受信するためのインタフェース（I/F）が低速な場合には転送に長時間を要することとなり、転送時間が問題となる。
【０００５】
また、ネットワークを介して接続する場合には、大量の印刷データが通信帯域を占有してしまい他者の通信にも影響を及ぼすといった問題がある。
【０００６】
この問題を解決するために、ホストコンピュータとプリンタの間でデータを圧縮して転送することが考えられるが、安価かつ高速な処理を特徴とするホストベースのプリンタでは高価なハードウェアを必要とする方式や、処理に時間がかかる方式は好ましくない。
【０００７】
そこで比較的簡単な構成で良好な圧縮率を実現するための符号化方式が、特許文献１で提案されている。これはディザマトリクスにより処理された画像データの周期性に着目して、符号化を行うもので、参照画素の位置をディザマトリクスの特性に合わせて適切に選択することにより良好な圧縮率を得ることができるというものである。
【０００８】
一方、プリンタが印刷するデータには、テキスト（文字）、グラフィック（図形）、イメージ（自然画）等の描画オブジェクトが存在するが、それぞれの性格の違いから異なる階調処理を行うことが望ましい。そのため、複数のディザマトリクスを準備して描画オブジェクト別に使い分ける技術（オブジェクトハンドリングの技術）が広く使われている。
【特許文献１】特開2003-250053号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら前述の符号化方式はディザマトリクスにより処理された画像データの周期性を利用したものであるから、参照画素の位置はディザマトリクスの特性に合わせて決定しなくてはならない。
【００１０】
また、オブジェクトハンドリングを行う場合には、一ページの画像中に複数のディザマトリクスが使用されるため、全てのオブジェクトに対して最適な参照画素位置を指定することが出来ず、圧縮率が低下するという問題がある。
【課題を解決するための手段】
【００１１】
上記問題を解決するために、本発明は、圧縮後のデータ量に影響が大きい、最大の面積を有する描画オブジェクトに着目し、圧縮率の改善を図ることにより、複数の描画オブジェクトが混在する画像の印刷時において、良好な圧縮率を得ることを可能にする情報処理技術等を提供することを目的とする。
上記目的を達成するべく、本発明にかかる情報処理装置は、主として以下の構成を備えることを特徴とする。
【００１２】
すなわち、作成した画像データを、選択した圧縮パラメータに基づいて圧縮し、当該圧縮した画像データを画像形成装置に処理させる情報処理装置は、
前記画像データに含まれる複数のオブジェクトを抽出し、当該オブジェクト毎の描画領域の面積を算出する算出手段と、
前記描画領域の面積を比較して、最大の面積を有するオブジェクトを決定し、当該オブジェクトの階調処理に最適化された前記圧縮パラメータを選択する選択手段と、
前記選択した圧縮パラメータに従って、前記作成した画像データを圧縮する符号化手段とを備えることを特徴とする。
【００１３】
あるいは、情報処理装置から送出される符号化されたデータを復号して、画像データを形成する画像形成装置は、
前記情報処理装置から送出される、前記符号化されたデータを復号するための圧縮パラメータを受信する受信手段と、
前記受信した圧縮パラメータに基づいて、前記符号化されたデータを復号し、画像データを記録媒体上に形成する画像形成手段とを備えるこことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の描画オブジェクトが混在する画像の印刷時において、良好な圧縮率を得ることが可能になる。
【発明を実施するための最良の形態】
【００１５】
［第１実施形態〕
図１は本発明の実施形態にかかる情報処理装置の概略的な構成を示すブロック図である。図中、１はコンピュータ（情報処理装置）であり、ＣＰＵ、メモリ、ハードディスク、フレキシブルディスクドライブ、キーボード、マウス、モニタ、パラレルポート等のハードウェア（不図示）を備えるものとする。２はオペレーティングシステムであり、コンピュータ１が備えるハードウェア、およびアプリケーション３、プリンタドライバ４、ポートドライバ５などのソフトウェアを管理する。アプリケーション３は、例えば、ワードプロセッサのようなアプリケーションソフトウェアであり、操作者の指示に従って文書の作成・印刷などを行うソフトウエアである。４はプリンタドライバであり、アプリケーション３が発行した印刷指令をオペレーティングシステム２経由で受け取り、印刷指令をプリンタ６が解釈可能なプリンタコマンドに変換する。５はポートドライバであり、プリンタドライバ４が変換したプリンタコマンドをオペレーティングシステム２を経由して受け取り、パラレルポートを経由してプリンタ６に送信する。６はプリンタであり、ポートドライバ５から受信したプリンタコマンドに従って印刷処理を行う。
【００１６】
図２はプリンタ６の構成を示すブロック図である。図中、１１はパラレルポートであり、コンピュータ１からプリンタコマンドを受信する。１２はＦＩＦＯ（ファーストインファーストアウト）メモリであり、パラレルポート１１が受信した符号化データを記憶し、記憶したデータを先入れ先出しの順に復号回路１３に出力する。復号回路１３は、ＦＩＦＯメモリ１２に記憶された符号列データを復号し、プリンタエンジン１４に出力する。プリンタエンジン１４はレーザビームプリンタエンジンであり、制御回路１５の指示により、復号回路１３が出力した画像データに従って印刷を行う。１５は制御回路であり、例えば、１チップＣＰＵで構成され、パラレルポート１１、ＦＩＦＯメモリ１２、復号回路１３、およびプリンタエンジン１４の制御を行う。以下、基本的な印刷動作について説明する。
【００１７】
操作者がコンピュータ１側でアプリケーション３を操作して印刷データを生成し、この印刷データを印刷する指示を入力すると、アプリケーション３からオペレーティングシステム２を経由してプリンタドライバ４に印刷指令が渡される。プリンタドライバ４はアプリケーション３から発行された印刷指令を画像データに変換する。
【００１８】
この際、描画オブジェクト毎に所定のディザマトリクスを使用して階調処理を行う。そして、プリンタドライバ４は、後述する符号化手順に基づき、作成した画像データから符号化データを生成し、復号のための参照画素位置を指定する圧縮パラメータ、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定する印刷制御コマンドとともに出力する。
【００１９】
ポートドライバ５は、プリンタドライバ４が作成した、印刷制御コマンドおよび符号化データからなる一連のプリンタコマンドを、プリンタ６に送信する。
【００２０】
プリンタ６内の制御回路１５はパラレルポート１１を経由して、コンピュータ１から送信されたプリンタコマンドを受信する。プリンタ６が受信したプリンタコマンドが印刷制御コマンドであれば、印刷制御のために制御回路１５の内部に受信した印刷制御コマンドを保持する。ここで受信した印刷制御コマンドが圧縮パラメータを含むものであったら、その中の参照画素位置情報を復号回路１３に設定する。また、受信したプリンタコマンドが符号化データであった場合は、ＦＩＦＯメモリ１２に格納する。
【００２１】
その後、ページ終了を示すコマンドの受信などにより、１ページを構成するプリンタコマンドの受信が完了したことを制御回路１５が検出したときに、プリンタエンジン１４に印刷の開始を指示する。印刷の開始が指示されると、プリンタエンジン１４は給紙カセットから用紙を給紙し、用紙が所定の位置に到達したときに、復号回路１３に画像データの出力を要求する。復号回路１３は、あらかじめＦＩＦＯメモリ１２から符号化データを読み出し、設定された参照画素位置情報に従って復号した画像データを内部のバッファに保持しておき、プリンタエンジン１４から画像データの出力を要求されたときに、内部のバッファに保持していた画像データを出力する。
【００２２】
復号回路１３は、画像データを保持していたバッファに空きができたときに、ＦＩＦＯメモリ１２から引き続く符号化データを読み出し、復号して内部のバッファに保持する。このようにして符号化データは順次復号されて画像データとして出力され、１ページの画像データの出力が全て終了すると、印刷が完了する。
【００２３】
次に、本実施形態で使用する符号化方式について説明する。
【００２４】
図３は、図１に示したプリンタドライバ４が生成する印刷制御コマンド及び符号化データの一例を示す図である。本実施形態で説明する符号化データは、ビット単位で可変長であり、例えば、２ビットから１８ビットまでのビット列で表現することができる。各符号は、ハフマン符号と同様に、先頭から順に調べることにより符号を識別することができるように構成されている。
【００２５】
なお、本実施形態では、符号化の際に２箇所の左参照位置、および２箇所の上参照位置を参照するものとし、階調処理に使用するディザマトリクスの特性に合わせて参照位置を決めることができるものとする。
【００２６】
例えば、図３に示すように、符号のビット列が「１」で開始する場合は「ＣＯＰＹ  ＵＰ１コマンド」である。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された高順位の上参照位置から、後続する符号が示す長さのバイト列を複写することを指示する。
【００２７】
また、符号のビット列が「０１１」で開始する場合は、「ＣＯＰＹ  ＵＰ２コマンド」である。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された低順位の上参照位置から、後続する符号が示す長さのバイト列を複写し、かつ高順位の上参照位置と低順位の上参照位置とを入れ替えることを指示する。
【００２８】
また、符号のビット列が「００１」で開始する場合は「ＲＡＷコマンド」である。このコマンドは生データを示す８ビットデータが後続し、後続する８ビットのデータの値を持つ１バイトのデータを指定する。
【００２９】
また、符号のビット列が「０１０」で開始する場合は「ＣＯＰＹ  ＬＥＦＴ１コマンド」である。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された高順位の左参照位置位置から、後続する符号が示す長さのバイト列を複写することを指示する。
【００３０】
また、符号のビット列が「０００１」で開始する場合は「ＣＯＰＹ  ＬＥＦＴ２コマンド」である。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された高順位の左参照位置位置から、後続する符号が示す長さのバイト列を複写し、かつ高順位の左参照位置と低順位の左参照位置とを入れ替えることを指示する。
【００３１】
また、符号のビット列が「００００」の場合は「ＥＯＢコマンド」であり、符号ブロックの終了を指示する。
【００３２】
図４は、図３中の「ＣＯＰＹ  ＵＰ１コマンド」、「ＣＯＰＹ  ＵＰ２コマンド」、「ＣＯＰＹ  ＬＥＦＴ１コマンド」あるいは「ＣＯＰＹ  ＬＥＦＴ２コマンド」に後続する、符号化ビット列の長さを示す符号化テーブルの一例を示す図である。
【００３３】
図４に示すように、符号のビット列が「１」である場合は１バイトの長さを指示する。また、符号のビット列が「０１」で開始する場合は１ビットのデータが後続し、後続する１ビットのデータに２を加えた長さ、すなわち２バイトまたは３バイトの長さを指示する。また、符号のビット列が「００１」で開始する場合は２ビットのデータが後続し、後続する２ビットのデータに４を加えた長さ、すなわち４バイトから７バイトまでの長さを指示する。
【００３４】
符号のビット列が「０００１」で開始する場合は３ビットのデータが後続し、後続する３ビットのデータに８を加えた長さ、すなわち８バイトから１５バイトまでの長さを指示する。また、符号のビット列が「００００１」で開始する場合は４ビットのデータが後続し、後続する４ビットのデータに１６を加えた長さ、すなわち１６バイトから３１バイトまでの長さを指示する。
【００３５】
符号のビット列が「０００００１」で開始する場合は５ビットのデータが後続し、後続する５ビットのデータに３２を加えた長さ、すなわち３２バイトから６３バイトまでの長さを指示する。また、符号のビット列が「００００００１」で開始する場合は６ビットのデータが後続し、後続する６ビットのデータに６４を加えた長さ、すなわち６４バイトから１２７バイトまでの長さを指示する。
【００３６】
符号のビット列が「０００００００」で開始する場合は７ビットのデータが後続し、後続する７ビットのデータに１２８を加えた長さ、すなわち１２８バイトから２５５バイトまでの長さを指示する。
【００３７】
なお、これらの符号は、あらかじめ多数の画像データで各コマンドの出現頻度を求めておき、ハフマン符号と同様に、出現頻度の高いコマンドに短い符号を、出現頻度の低いコマンドに比較的長い符号を割り当てることにより圧縮率を高くすることができる。
【００３８】
次に、本発明の実施形態にかかる情報処理の流れを図５のフローチャートに従って説明する。
【００３９】
プリンタドライバ４は、アプリケーション３からオペレーティングシステム２を経由して起動され、ステップS501で画像データの生成を行い、画像データに含まれるオブジェクトを抽出する。オブジェクトの抽出はテキスト/グラフィック/イメージの各オブジェクト単位で行われ、各オブジェクト専用のディザマトリックスで階調処理が施され、ビットマップデータに変換される。
【００４０】
次にステップS502で、各オブジェクトの面積をＣＰＵが計算し、オブジェクト毎に面積が集計される。面積は矩形の描画領域の左上の座標と右下の座標から算出される（図６（ａ），（ｂ）を参照）。
【００４１】
次にステップS503で１ページ分の描画が終了したかどうかを判断する。まだデータが残っている場合（S503-NO）には、処理をステップS501に戻して描画を続行する。
【００４２】
ステップS503で1ページの描画が終了していたら（S503-YES)、ステップS504に進み、各オブジェクトの面積（S1、S2、...）から、優先するオブジェクトを決定し、そのオブジェクトに対応する圧縮パラメータを選択する。
【００４３】
ＣＰＵは、オブジェクトの面積を、図６に示すように、各オブジェクトの描画領域の左上の座標と右下の座標から、矩形領域の面積として算出することができる。ここで求められたオブジェクトの面積から、オブジェクトの面積の大小関係を比較して、最大の面積を有するオブジェクトから、そのオブジェクトに対応する圧縮パラメータを決定する。
【００４４】
ここで圧縮パラメータとは参照画素位置情報を指し、オブジェクト毎に最適なものが予め準備されている。ＣＰＵは、そのページに最適な圧縮パラメータを、複数のオブジェクトに対応する圧縮パラメータから選択する。選択の基準としては、算出した各オブジェクトの面積の比較により、各オブジェクト毎に集計した描画面積が最大のオブジェクトに関する圧縮パラメータを選択することができる。
【００４５】
図７は、参照画素位置情報を例示的に説明する図であり、ある画素（注目画素）７０１を符号化する際、その近傍にある複数の画素（参照画素）７０２、７０３、７０４、７０５の配置を示している。図中で７０２は前述の高順位の上参照位置であり、７０３は低順位の上参照位置、７０４は高順位の左参照位置、７０５は低順位の左参照位置である。
【００４６】
図７（ａ）の場合、ディザが１６ｘ１６なので図中の７０２，７０３，７０４，７０５はディザ周期の同位置にあたり、注目画素との高い類似性が期待される。しかし、ディザのサイズが変われば最適な位置は変化する。図７（ｂ）の場合、ディザが８ｘ８なので参照位置は注目位置により近い位置となる。
【００４７】
また、ディザのサイズが大きい場合、単純にディザ周期の同位置を参照画素に選択すると注目画素から距離的に離れてしまい、画像データ自体の相関性が低下してしまうので、より近い場所に参照画素を選択する方が良い結果を示す場合もある。図７（ｃ）は、図７（ａ）と同じ、１６ｘ１６のディザであるが、より近い位置に参照画素を置いた例である。
【００４８】
この様に、圧縮パラメータとして使用される参照画素位置は、各オブジェクトが階調処理に使用するディザの構成により、その最適値が大きく変化するので、最も影響度の大きい描画面積が最大のオブジェクトの階調処理に最適化された圧縮パラメータを選択する事で、圧縮率を大きく高める事が出来る。
【００４９】
また、優先するオブジェクトは、後に説明する第２実施形態で説明するように、単純に各オブジェクトの面積の比較に拠らず、オブジェクト毎に優先度が予め決定されており、各オブジェクトの描画面積と優先度の積が最大となるオブジェクトに対する圧縮パラメータを選択するようにしてもよい。
【００５０】
オブジェクトが決定すると、ＣＰＵは、これに対応する参照画素位置情報を決める圧縮パラメータを、図８に示す各オブジェクト（テキスト、グラフィック、イメージ）と圧縮パラメータ（参照画素位置情報１、２、３）の対応を示すデータテーブルから選択することができる。
【００５１】
このデータテーブルは、コンピュータ（情報処理装置）１の不図示のメモリまたはハードディスクにＣＰＵが参照可能なデータとして格納されているものとする。また、データテーブルの設定は、キーボード、マウスなどの入力手段を用いて、ユーザは任意にその対応関係を設定、修正することができるものとする。
【００５２】
そして、ステップS505では、プリンタドライバ４が作成した、用紙サイズ、給紙カセット、解像度、ビットマップデータのラインの長さとライン数などの印刷条件を指定する印刷制御コマンドをポートドライバ５が送出する。
【００５３】
ステップS506では復号のための参照画素位置を指定する圧縮パラメータを指定する印刷制御コマンドをポートドライバ５が送出する。この圧縮パラメータはS504で選択されたもので、このコマンドを受信したプリンタ６の制御回路１５は、復号回路１３に参照画素位置情報を設定し、この情報に従って以降受信する画像データの復号を行う。
【００５４】
続いてステップS507で、画像データをステップS504で選択された圧縮パラメータに従ってプリンタドライバ４は、１ページ分の符号化データを生成して送出する。１ページの符号化データの送出を終了すると、ステップS508で全ページの処理が終了したかをチェックし、まだ残っているページがあれば（S508-NO）、ステップS501に戻って処理を続行し、そうでなければ、そのまま処理を終了する（S508-YES）。
【００５５】
本実施形態によれば、1ページ中の描画オブジェクト毎の面積の和を算出し、面積を基準として最大の面積を有する描画オブジェクトを圧縮後のデータ量に影響が大きくなるオブジェクトとして選択し、このオブジェクトを処理するための中間調処理の特性に合わせた参照画素位置を使用して該当ページの圧縮を行うことで、複数の描画オブジェクトが混在する画像の印刷時にも良好な圧縮率を得ることが可能になる。
【００５６】
[第２実施形態]
テキスト・オブジェクトは一般に占有する面積は大きいが、その多くの部分は空白であり、印刷する部分も多くは黒率100%であるから中間調処理の影響を余り受けない。従って、圧縮率への影響は小さいにも関わらず、純粋に面積比のみで選択を行うと占有面積の広さからテキスト・オブジェクトが選択されてしまい、最適な圧縮率が得られないことが考えられる。
【００５７】
そこで、本発明に係る第２実施形態では、予めオブジェクト毎に優先度（例えば、第1優先度＞第2優先度＞第3優先度、となるような重み付けのパラメータとして優先度）を設定し、各描画オブジェクトの占有する面積に、優先度を乗じ、その積が最大となる描画オブジェクトを処理するための中間調処理の特性に合わせた参照画素位置を使用して圧縮を行うものである。優先度の設定は、それぞれの描画オブジェクトの特性から圧縮率に対する影響度を考慮して予め設定することができ、このデータは、コンピュータ（情報処理装置）１の不図示のメモリまたはハードディスクにＣＰＵが参照可能なデータとして格納されているものとする。また、優先度の設定は、キーボード、マウスなどの入力手段を用いて、ユーザは任意に優先度の値を設定、修正することができるものとする。
【００５８】
例えば、優先度を各オブジェクト毎に、テキスト：グラフィック：イメージ＝0.1：1.0：1.0と設定した場合、各オブジェクトの占有面積比がテキスト：グラフィック：イメージ＝70：10：20となる場合でも、オブジェクトの面積と優先度の積は、テキスト：グラフィック：イメージ＝7：10：20となり、ＣＰＵは、積の結果の最も大きいイメージ・オブジェクトを選択する。
【００５９】
上述の第１、２実施形態では、テキスト/グラフィック/イメージの３つのオブジェクトの面積を独立に計算して、面積を比較しているが、例えば、テキストとグラフィックで同一のディザマトリクスを使用している場合には、テキストとグラフィックの描画領域の面積を加算して面積を求め、残りのオブジェクトとなるイメージの面積と比較するようにしてもよい。
【００６０】
また、上述の第１、２実施形態では、最初に1ページ分の画像を展開しながら各オブジェクトの面積を計算し、その後に1ページ分の画像データを一括して圧縮しているが、メモリの使用量を節約するために、最初は実際の描画は行わずに領域の計算のみを行い、圧縮パラメータを決定後に描画を行いながら逐次符号化を行い、符号化済みのデータは即座にプリンタへ転送するように構成してもよい。
【００６１】
本実施形態によれば、各オブジェクトの優先度を設定し、各オブジェクトの面積と優先度の積を基準として最大の積を与える描画オブジェクトを圧縮後のデータ量に影響が大きくなるオブジェクトとして選択し、このオブジェクトを処理するための中間調処理の特性に合わせた参照画素位置を使用して該当ページの圧縮を行うことで、複数の描画オブジェクトが混在する画像の印刷時にも良好な圧縮率を得ることが可能になる。
【００６２】
［他の実施の形態］
本発明の目的は前述したように、本実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【００６４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【００６５】
以上説明したように実施形態によれば、複数の描画オブジェクトが混在する画像の印刷時にも良好な圧縮率を得ることが可能になる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態にかかる情報処理装置の概略的な構成を示すブロック図である。
【図２】プリンタ６の構成を示すブロック図である。
【図３】図１に示したプリンタドライバ４が生成する印刷制御コマンド及び符号化データの一例を示す図である。
【図４】符号化ビット列の長さを示す符号化テーブルの一例を示す図である。
【図５】本発明方法のプリンタドライバの処理手順を示すフローチャートである。
【図６】オブジェクトの面積を求めるための描画領域の左上の座標と右下の座標を例示的に示す図である。
【図７】圧縮パラメータとしての参照画素位置情報を例示的に説明する図である。
【図８】各オブジェクト（テキスト、グラフィック、イメージ）と圧縮パラメータ（参照画素位置情報１、２、３）の対応を例示的に示す図である。
【符号の説明】
【００６７】
１：コンピュータ（情報処理装置）
２：オペレーティングシステム
３：アプリケーション
４：プリンタドライバ
５：ポートドライバ
６：プリンタ
１１：パラレルポート
１２：ＦＩＦＯメモリ
１３：復号回路
１４：プリンタエンジン
１５：制御回路
【図１】
2006128944.tif 000003
【図２】
2006128944.tif 000004
【図３】
2006128944.tif 000005
【図４】
2006128944.tif 000006
【図５】
2006128944.tif 000007
【図６】
2006128944.tif 000008
【図７】
2006128944.tif 000009
【図８】
2006128944.tif 000010