(57)【要約】      （修正有）【課題】プリンタドライバによる印刷ジョブの生成処理における画像のインデックス化を効率化する。【解決手段】プリンタドライバであって、出力するべき画像を取得するグラフィック制御部１００と、画像を構成する各画素の色を並び順に従って判定し、判定結果に基づいて異なる色をカウントし、異なる色を表現するための情報をインデックス値と関連付けてインデックステーブル１０４に記憶させる色数判定処理部１０１と、判定された色に関連付けられたインデックス値を画素の並び順に従って画像バッファ１０５に記憶させる画像変換処理部１０２と、予め定められたインデックス値の数の上限値と異なる色のカウント数との比較結果に基づき、画像バッファ１０５に記憶されたインデックス値を用いてＰＤＬデータを生成するＰＤＬ生成処理部１０３とを含む。【選択図】図２
2012160124.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御プログラムであって、
前記印刷出力するべき画像を取得して記憶媒体に記憶させるステップと、
前記記憶された画像を構成する各画素の色を前記画素の並び順に従って判定するステップと、
前記各画素の色の判定結果に基づいて異なる色をカウントするステップと、
前記異なる色を表現するための情報をインデックス値と関連付けて記憶媒体に記憶させるステップと、
前記判定された色に関連付けられた前記インデックス値を前記画素の並び順に従って記憶媒体に記憶させるステップと、
予め定められた前記インデックス値の数の上限値と前記異なる色のカウント数との比較結果に基づき、前記画素の並び順に従って記憶されたインデックス値を用いて前記印刷制御情報を生成して出力するステップとを情報処理装置に実行させることを特徴とする印刷制御プログラム。
【請求項２】
前記印刷制御情報を生成して出力するステップにおいては、前記画像の副走査方向の所定の範囲毎に前記インデックス値の数の上限値と前記異なる色のカウント数との比較結果を判断することを特徴とする請求項１に記載の印刷制御プログラム。
【請求項３】
前記印刷制御情報を生成して出力するステップにおいては、前記異なる色のカウント数が前記インデックス値の数の上限値を超えた場合、前記色を判定中の画素が含まれる前記所定の範囲の画素について、前記記憶された元の画像を用いて前記印刷制御情報を生成して出力すると共に、前記異なる色のカウント数が前記インデックス値の数の上限値以下の状態で前記所定の範囲の終端まで前記画素の色の判定を完了した場合、前記画素の並び順に従って記憶されたインデックス値を用いて前記印刷制御情報を生成して出力することを特徴とする請求項２に記載の印刷制御プログラム。
【請求項４】
前記インデックス値の数の上限値に加えて、前記上限値よりも低い閾値が定められており、
前記印刷制御情報を生成して出力するステップにおいては、前記異なる色のカウント数が前記インデックス値の数の上限値以下の状態で前記所定の範囲の終端まで前記画素の色の判定を完了した場合、前記カウント数が前記閾値以下の状態であれば、ビット数が削減されたインデックス値を用いて前記印刷制御情報を生成して出力することを特長とする請求項３に記載の印刷制御プログラム。
【請求項５】
前記画像の副走査方向の所定の範囲が、一主走査ライン毎であることを特徴とする請求項２乃至４いずれかに記載の印刷制御プログラム。
【請求項６】
前記画像の副走査方向の所定の範囲が、前記印刷装置が前記印刷制御情報を処理する範囲毎であることを特徴とする請求項２乃至４いずれかに記載の印刷制御プログラム。
【請求項７】
前記印刷制御情報を生成して出力するステップにおいては、前記異なる色のカウント数が前記インデックス値の数の上限値を超える毎に、既に記憶されているインデックス値を用いて前記印刷制御情報を生成して出力することを特徴とする請求項１に記載の印刷制御プログラム。
【請求項８】
印刷装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御機能を実現する情報処理装置であって、
前記印刷出力するべき画像を取得する画像取得部と、
前記取得した画像を構成する各画素の色を前記画素の並び順に従って判定する画素色判定部と、
前記各画素の色の判定結果に基づいて異なる色をカウントする色カウント部と、
前記異なる色を表現するための情報をインデックス値と関連付けて記憶媒体に記憶させるインデックス処理部と、
前記判定された色に関連付けられた前記インデックス値を前記画素の並び順に従って記憶媒体に記憶させる画像変換処理部と、
予め定められた前記インデックス値の数の上限値と前記異なる色のカウント数との比較結果に基づき、前記画素の並び順に従って記憶されたインデックス値を用いて前記印刷制御情報を生成して出力する印刷制御情報処理部とを含むことを特徴とする情報処理装置。
【請求項９】
請求項１乃至７いずれか１項に記載の印刷制御プログラムと印刷装置とを含むことを特徴とする印刷システム。
【請求項１０】
請求項１乃至７いずれか１項に記載の印刷制御プログラムが記憶された記憶部を含むことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御プログラム、情報処理装置、印刷システム及び印刷装置に関し、特に、印刷制御プログラムによって生成される印刷データの容量の制御に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された書類の出力に用いられる印刷装置においては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置において生成された印刷ジョブに基づいて印刷出力を実行するプリンタが一般的に利用されている。そして、プリンタに入力する印刷ジョブを生成するための機能を実現するソフトウェア・プログラムとして、夫々のプリンタの機能に対応したプリンタドライバを情報処理装置にインストールすることが一般的である。
【０００４】
そして、プリンタドライバにおいては、減色処理、圧縮処理、インデックス化、間引き処理等、カラーイメージデータのサイズを小さくしてカラーイメージデータを含む印刷ジョブのプリンタへの転送効率を向上させるための処理を行うことにより、印刷のスループットを向上することが行われている。
【０００５】
上述した各処理のうち、減色処理、間引き処理については、元のイメージデータの色の再現性を損なうため、印刷出力される画像の画質の向上の観点においては採用するべきではない。インデックス化は、出力するべき画像において用いられている色数に依存し、サイズが小さくなるとは限らない。また、圧縮処理は、ある程度のデータ容量の削減が期待されるため、上記インデックス化と組み合わせて用いられている。
【０００６】
ここで、インデックス化の例について説明する。例えば、ＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）３色が夫々８ｂｉｔで表現され、１ｐｉｘｅｌが２４ｂｉｔ、即ち３ｂｙｔeで表現される画像において、７０１５ｐｉｘｅｌ×４９６０ｐｉｘｅｌのＡ４サイズの画像を出力対象の画像とする。
【０００７】
上記画像をそのままの状態で印刷ジョブに含めることとすると、３ｂｙｔｅ×７０１５ｐｉｘｅｌ×４９６０ｐｉｘｅｌで、約１０４ＭＢ（メガバイト）の容量となる。他方、容量が７５６ｂｙｔｅである２５６色（１ｂｙｔｅ）のインデックステーブルによってインデックス化する場合、１ｂｙｔｅ×７０１５ｐｉｘｅｌ×４９６０ｐｉｘｅｌ＋７５６ｂｙｔｅで、約３５ＭＢ（メガバイト）の容量となり、約３分の１のサイズに削減することができる。
【０００８】
尚、プリンタドライバによる印刷ジョブの生成処理の処理量を低減する技術として、グラデーション画像のように所定のピクセル数毎に濃淡が変化する画像のうち濃淡が変化する１ピクセル列を所定幅に拡大することで矩形領域全体に１ピクセル列を引き延ばす技術が提案されている（例えば、特許文献１）。特許文献１に開示された技術は、画像の圧縮に関するものであり、インデックス化を前提とする本件とはその趣旨が異なる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
インデックス化処理においては、イメージブロック単位で色数をカウントし、色数に適した形式に合わせて変換を行う。例えば、色数が２５６色以内に収まる場合は８ｂｉｔインデックスデータとして処理をするが、２５７色以上を使用している場合は、２５７色であっても、元の２４ｂｉｔ形式のまま送信される事となり、データ量の削減効果が得られない。
【００１０】
本発明は、上記実情を考慮してなされたものであり、プリンタドライバによる印刷ジョブの生成処理における画像のインデックス化処理を効率化することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様は、印刷装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御プログラムであって、前記印刷出力するべき画像を取得して記憶媒体に記憶させるステップと、前記記憶された画像を構成する各画素の色を前記画素の並び順に従って判定するステップと、前記各画素の色の判定結果に基づいて異なる色をカウントするステップと、前記異なる色を表現するための情報をインデックス値と関連付けて記憶媒体に記憶させるステップと、前記判定された色に関連付けられた前記インデックス値を前記画素の並び順に従って記憶媒体に記憶させるステップと、予め定められた前記インデックス値の数の上限値と前記異なる色のカウント数との比較結果に基づき、前記画素の並び順に従って記憶されたインデックス値を用いて前記印刷制御情報を生成して出力するステップとを情報処理装置に実行させることを特徴とする。
【００１２】
また、本発明の他の態様は、印刷装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御機能を実現する情報処理装置であって、前記印刷出力するべき画像を取得する画像取得部と、前記取得した画像を構成する各画素の色を前記画素の並び順に従って判定する画素色判定部と、前記各画素の色の判定結果に基づいて異なる色をカウントする色カウント部と、前記異なる色を表現するための情報をインデックス値と関連付けて記憶媒体に記憶させるインデックス処理部と、前記判定された色に関連付けられた前記インデックス値を前記画素の並び順に従って記憶媒体に記憶させる画像変換処理部と、予め定められた前記インデックス値の数の上限値と前記異なる色のカウント数との比較結果に基づき、前記画素の並び順に従って記憶されたインデックス値を用いて前記印刷制御情報を生成して出力する印刷制御情報処理部とを含むことを特徴とする。
【００１３】
また、本発明の更に他の態様は、印刷システムであって、上記印刷制御プログラムと印刷装置とを含むことを特徴とする。
【００１４】
また、本発明の更に他の態様は、印刷装置であって、上記印刷制御プログラムが記憶された記憶部を含むことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、プリンタドライバによる印刷ジョブの生成処理における画像のインデックス化処理を効率化することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る印刷システムの機能構成を示すブロック図である。
【図２】本発明の実施形態に係るプリンタドライバのグラフィック部の機能構成を示す図である。
【図３】２４ｂｉｔ画像データの例を示す図である。
【図４】インデックス化された画像データの例を示す図である。
【図５】本発明の実施形態に係るグラフィック部の動作を示すフローチャートである。
【図６】本発明の実施形態に係るグラフィック部によって生成される画像データの例を示す図である。
【図７】本発明の他の実施形態に係るグラフィック部の動作を示すフローチャートである。
【図８】本発明の実施形態に係るＰＣのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタドライバがインストールされた情報処理装置であるＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と、プリンタドライバによって生成される印刷ジョブに従って印刷出力を実行する印刷装置であるプリンタとを含む印刷システムを例として説明する。尚、印刷装置はプリンタでなくとも良く、ＰＣにインストールされたプリンタドライバによって生成される印刷ジョブに基づいて画像形成出力を実行する装置であれば良い。
【００１８】
図１は、本実施形態に係る印刷システムの機能構成を示すブロック図である。図１に示すように、本実施形態に係る印刷システムはＰＣ１及びプリンタ８を含み、ＰＣ１とプリンタ８とは、ネットワーク９を介して接続されている。ＰＣ１においては、インストールされたアプリケーション２がＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）上で動作することにより、文書作成や画像編集等の機能を提供し、ユーザの操作に応じて、印刷出力するべき画像の元となる情報を提供する。
【００１９】
アプリケーション２は、ユーザの操作に応じてプリンタドライバ１０のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部１０ａを起動し、ＵＩ部１０ａのＧＵＩ（Ｇｒａｐｈｉｃａｌ  ＵＩ）を介して設定される印刷出力の設定情報をＤＥＶＭＯＤＥ構造体と呼ばれる情報形式で取得する。
【００２０】
そして、アプリケーション２若しくはアプリケーション２によって起動されたＵＩ部１０ａに対してユーザの操作により印刷実行命令が入力されると、アプリケーション２は、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）３を起動し、ＵＩ部１０ａを介して設定されたＤＥＶＭＯＤＥ構造体及び出力するべき画像の情報を受け渡す。
【００２１】
ＧＤＩ３は、一般的に基本ソフトであるＯＳに組み込まれた描画エンジンである。ＧＤＩ３は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）を介してプリンタドライバ１０のグラフィック部１０ｂを起動し、処理を受け渡す。
【００２２】
プリンタドライバ１０のグラフィック部１０ｂは、ＧＤＩ３によってＯＳの内部命令として出力された画像データを、印刷出力を実行させる対象のプリンタ８が処理可能なデータ形式であるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式のデータに変換する。ＰＤＬ形式のデータは、プリンタ８に印刷を実行させるための印刷制御情報である。グラフィック部１０ｂは、ＰＤＬ形式に変換したデータを順次スプーラー４に受け渡す。
【００２３】
スプーラー４は、グラフィック部１０ｂによって生成されたＰＤＬ形式のデータを、スプールファイル５として記憶媒体に一次的に記憶させる。これにより、プリンタドライバ１０においてグラフィック部１０ｂがＰＤＬデータを生成した後、プリンタ８がＰＤＬデータを受け付けることが出来ない状態であったとしても、プリンタドライバ１０は生成したＰＤＬデータをスプーラー４に渡して次の処理にすぐに移ることができるため、処理を効率化することができる。
【００２４】
スプールファイル５として記憶媒体に記憶されたＰＤＬデータは、プリンタプロセッサ６によって再度スプーラー４に受け渡され、ポートモニタ７により、ネットワーク９を介してプリンタ８に送信される。
【００２５】
次に、本実施形態に係るプリンタドライバ１０のグラフィック部１０ｂの機能構成について、図２を参照して説明する。図２に示すように、グラフィック部１０ｂは、グラフィック処理部１００、色数判定処理部１０１、画像変換処理部１０２、ＰＤＬ生成処理部１０３、インデックステーブル１０４及び画像バッファ１０５を含む。
【００２６】
グラフィック制御部１００は、画像データの処理全体を制御する。色数判定処理部１０１は、画像データの色数をカウントして判定すると共に、カウントした色をインデックステーブルに追加する。画像変換処理部１０２は、２４ｂｉｔデータである画像データから４ｂｉｔまたは８ｂｉｔのインデックスデータへの変換処理を行い、画像バッファに変換後のデータを記憶させる。ＰＤＬ生成処理部１０３は、画像バッファに記憶された変換後のデータに基づき、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式のデータを生成する。
【００２７】
図３は、一般的な２４ｂｉｔ形式の画像データの内容を模式的に示す図である。図３に示すように、一般的な２４ｂｉｔ形式の画像データにおいては、“Ｒ：０”、“Ｇ：１２８”、“Ｂ：１２８”・・・のように、ＲＧＢ各色の諧調が２５６階調（８ｂｉｔ）によって表現された画素が縦横に配置されており、ＲＧＢ各色の２５６階調のデータによって１画素分の色が決定される。この場合、同一の色であっても、夫々別のデータによって表現されるため、必ず１画素につき２４ｂｉｔが必要になる。
【００２８】
これに対して、図４（ａ）は、２５６色でインデックス化された画像データの内容を模式的に示す図であり、図４（ｂ）はインデックステーブルの例を示す図である。図４（ａ）に示すように、インデックス化された画像データにおいては、“０”、“３”、“１００”・・・のように、インデックス値によって１画素の色が記述されている。
【００２９】
ここで、図４（ａ）に示すインデックス値のビットサイズは、インデックス化の色数によって異なる。インデックス化の色数は例えば１６色、２５６色があり、１６色であれば４ｂｉｔ、２５６色であれば８ｂｉｔである。そして、図４（ｂ）に示すように、ＲＧＢ夫々の色の組み合わせが、各インデックス値に対応して設定されている。これにより、インデックス化された画像データにおいては、８ｂｉｔによって１画素を表現することができる。
【００３０】
尚、インデックス化された画像データにおいては、図４（ａ）に示すようなインデックス値が縦横に配列された画像データに加えて、図４（ｂ）に示すようなインデックステーブルも必要となる。図４（ｂ）に示すように、インデックステーブルにおいては、ＲＧＢ夫々の諧調の値、即ち、画像を構成する画素の色を表現するための情報が、インデックス値と関連付けられている。２５６色のインデックステーブルの容量は例えば７５６ｂｙｔｅである。
【００３１】
次に、本実施形態に係るグラフィック部１０ｂの動作について、図５のフローチャートを参照して説明する。図５に示すように、グラフィック制御部１００は、グラフィック部１０ｂに入力された画像情報を取得すると（Ｓ５０１）、先頭画素から順番にカレントピクセルを設定する。即ち、グラフィック制御部１００が、画像取得部として機能する。そして、色数判定処理部１０１は、カレントピクセルの色を確認する（Ｓ５０２）。即ち、色数判定処理部１０１が、Ｓ５０２において、画素色判定部として機能する。
【００３２】
確認したカレントピクセルの色が未だインデックステーブルに登録されていない未登録色であれば（Ｓ５０３／ＹＥＳ）、色数判定処理部１０１は、色数カウンタをインクリメントする（Ｓ５０４）。即ち、色数判定処理部１０１が、色カウンタとして機能する。これによって色数カウンタのカウント値が２５６を超えた場合（Ｓ５０５／ＮＯ）、ＰＤＬ生成処理部１０３は、グラフィック制御部１００が取得した画像情報のうち、カレントピクセルが含まれる主走査ラインの画像について、２４ビットデータの画像のままＰＤＬデータを生成する。そして、グラフィック制御部１００は、ＰＤＬ生成処理部１０３が生成したＰＤＬデータをスプーラー４に出力する（Ｓ５０７）。尚、Ｓ５０７の処理を実行すると、色数判定処理部１０１はインデックステーブル１０４及び色数カウンタをクリアし、画像変換処理部１０２は画像バッファ１０５をクリアする。
【００３３】
Ｓ５０７の処理により、２５６色を超える色数の主走査ラインについては、２４ｂｉｔデータのままの画像に基づいてＰＤＬデータが生成される。他方、色数カウンタがインクリメントされても、カウント値が２５６以内である場合（Ｓ５０５／ＹＥＳ）、色数判定処理部１０１は、カレントピクセルの色を登録してインデックステーブルを更新する（Ｓ５０６）。即ち、色数判定処理部１０１が、インデックス処理部として機能する。また、画像変換処理部１０２は、カレントピクセルのインデックス値を画像バッファに追加する（Ｓ５０８）。尚、Ｓ５０３の確認の結果、登録済みの色であった場合（Ｓ５０３／ＮＯ）も、Ｓ５０８の処理を実行する。
【００３４】
Ｓ５０８の処理が完了すると、グラフィック制御部１００は、現在のカレントピクセルがラインの終端であるか否か確認し（Ｓ５０９）、ライン終端でなければ（Ｓ５０９／ＮＯ）、カレントピクセルを移動して（Ｓ５１４）、Ｓ５０２からの処理を繰り返す。他方、ライン終端であった場合（Ｓ５０９／ＹＥＳ）、色数判定処理部１０１は、色数のカウント値が１６以内であるか否か確認する（Ｓ５１０）。
【００３５】
Ｓ５１０の確認の結果、カウント値が１６以内であった場合（Ｓ５１０／ＹＥＳ）、ＰＤＬ生成処理部１０３が画像バッファ１０５に格納されているインデックス化された画像データ及びインデックステーブルに基づき、１６色（４ｂｉｔ）の画像データとしてＰＤＬデータを生成し、グラフィック制御部１００がスプーラー４に出力する（Ｓ５１１）。尚、インデックステーブル１０４及び画像バッファ１０５においては、８ｂｉｔが想定されているため、４ｂｉｔのデータとして処理するためには、８ｂｉｔのうちの上位４ｂｉｔを無視して処理すれば良い。
【００３６】
他方、カウント値が１６を超えていれば（Ｓ５１０／ＮＯ）、ＰＤＬ生成処理部１０３が画像バッファ１０５に格納されているインデックス化された画像データ及びインデックステーブルに基づき、２５６色（８ｂｉｔ）の画像データとしてＰＤＬデータを生成し、グラフィック制御部１００がスプーラー４に出力する（Ｓ５１２）。即ち、Ｓ５１１、Ｓ５１２においては、ＰＤＬ生成処理部１０３及びグラフィック制御部１００が、印刷制御情報処理部として機能する。尚、Ｓ５１１、Ｓ５１２の処理を実行すると、色数判定処理部１０１はインデックステーブル１０４及び色数カウンタをクリアし、画像変換処理部１０２は画像バッファ１０５をクリアする。
【００３７】
Ｓ５０７、Ｓ５１１、Ｓ５１２いずれかの処理が完了すると、グラフィック制御部１００は、画像の終端まで処理が完了したか否かを確認する（Ｓ５１３）。確認の結果、終端まで処理が完了していなければ（Ｓ５１３／ＮＯ）、グラフィック制御部１００は、カレントピクセルを移動して（Ｓ５１４）、Ｓ５０２からの処理を繰り返す。ここで、グラフィック制御部１００は、Ｓ５１４の処理において、現在のカレントピクセルから隣のピクセルに移動するが、Ｓ５０７を経ている場合、現在のカレントピクセルが含まれているラインの次のラインの先頭に移動する。そして、画像終端まで処理が完了していれば（Ｓ５１３／ＹＥＳ）、処理を終了する。
【００３８】
このように、本実施形態に係るグラフィック部１０ｂは、出力対象の画像の主走査ライン毎に、ＰＤＬデータを生成してスプーラー４に出力する。その際、主走査ライン毎に色数をカウントしており、２５６色以内であれば８ｂｉｔのインデックス化された画像データに基づいてＰＤＬデータを生成する。そして、１６色以内であれば、より情報量の少ない４ｂｉｔのインデックス化された画像データに基づいてＰＤＬデータを生成する。他方、カウント値が２５６色を超えた時点で、そのラインについては２４ｂｉｔデータのままＰＤＬデータを生成する。
【００３９】
このような処理により、図６に示すように、ある範囲についてはインデックス化された画像として、他の範囲については元の画像データとして、印刷出力するための画像がプリンタ８に送信される。プリンタ８においては、ＰＤＬ解析機能によってインデックス化された部分も元の画像データのままの部分も同様に画像データとして認識可能であり、印刷出力を実行することができる。
【００４０】
これに対して、ＰＣ１側においては、本来、画像全体について、２４ｂｉｔの画像データに基づいてＰＤＬデータを生成しなければならないところ、可能な部分だけでもインデックス化することにより、プリンタ８に送信する合計のデータ量を削減することができ、画像の転送効率を向上することができる。
【００４１】
以上、説明したように、本実施形態に係る印刷システムにおいては、インデックス化の可否を主走査ライン毎に判断することにより、プリンタドライバによる印刷ジョブの生成処理における画像のインデックス化を効率化することができる。
【００４２】
尚、上記実施形態においては、主走査ライン毎にインデックス化の可否を判断する態様を例として説明した。これは、主走査ライン毎に画像を送信することによって、プリンタ８側においては、画素の位置を考慮する必要がなく、ＰＣ１から送信された画像データを順番に積み重ねるだけで良いため有意義である。
【００４３】
しかしながら、分割数を多くすれば、それだけ多くのインデックステーブルが必要であり、その分だけ情報量が増えることとなる。従って、１ライン毎ではなく、２ライン、３ラインのように複数ライン毎にインデックス化の可否を判断しても良い。
【００４４】
また、プリンタ８における画像処理においては、所定の範囲毎に画像を副走査方向に分割した“バンド”と呼ばれる単位毎に処理が行われることがある。このバンド毎にインデックス化を判断しても良い。この場合、ＰＣ１側において１バンドに含まれる主走査ライン数（以降、バンド幅とする）を認識しておく必要があるが、例えば用紙サイズ毎の固定値としてグラフィック制御部１００にバンド幅を記憶させておくことにより実現可能である。
【００４５】
また、ライン毎にインデックス可否を判断するのではなく、２５６色という色数の上限を区切ってＰＤＬデータを生成することにより、必ずインデックス化を達成することも可能である。このような態様は、テキストを多く含む資料の画像等、同一の色が多く含まれる画像において特に有効である。そのような態様について、図７を参照して説明する。
【００４６】
図７は、色数の上限を区切ってＰＤＬデータを生成する場合のグラフィック部１０ｂの動作を示すフローチャートである。図７に示すように、Ｓ７０１〜Ｓ７０５までは、図５のＳ５０１〜Ｓ５０５までと同様に処理が実行される。そして、Ｓ７０５の確認の結果、色数が２５６色を超えた場合（Ｓ７０５／ＮＯ）、ＰＤＬ生成処理部１０３が画像バッファ１０５に格納されているインデックス化された画像データ及びインデックステーブルに基づき、２５６色（８ｂｉｔ）の画像データとしてＰＤＬデータを生成し、グラフィック制御部１００がスプーラー４に出力する（Ｓ７０６）。
【００４７】
尚、Ｓ７０６の処理により、図５の場合と同様に、色数判定処理部１０１はインデックステーブル１０４及び色数カウンタをクリアし、画像変換処理部１０２は画像バッファ１０５をクリアする。
【００４８】
Ｓ７０５の確認の結果、色数が２５６色以内であった場合（Ｓ７０５／ＹＥＳ）、または、上記Ｓ７０６の処理が完了したら、Ｓ５０６と同様に、色数判定処理部１０１が、インデックステーブルを更新し（Ｓ７０７）、Ｓ５０８と同様に、画像変換処理部１０２が、画像バッファ１０５にインデックス値を追加する（Ｓ７０８）。尚、Ｓ７０３の確認の結果、登録済みの色であった場合（Ｓ７０３／ＮＯ）も、Ｓ７０８の処理を実行する。
【００４９】
グラフィック部１０ｂは、Ｓ７０２からＳ７０８までのこのような処理を、画像の終端に到達するまで、カレントピクセルを移動しながら繰り返し（Ｓ７０９／ＮＯ、Ｓ７１１）画像の終端に到達すると（Ｓ７０９／ＹＥＳ）、ＰＤＬ生成処理部１０３が画像バッファ１０５に格納されているインデックス化された画像データ及びインデックステーブルに基づき、２５６色（８ｂｉｔ）の画像データとしてＰＤＬデータを生成し、グラフィック制御部１００がスプーラー４に出力して（Ｓ７１０）、処理を終了する。
【００５０】
このように、図７の態様によれば、２５６色のインデックス値によって表現可能な画像毎にＰＤＬデータを生成して出力するため、画像全体を必ずインデックス化することができる。
【００５１】
ここで、図７の例の場合、図５の例とは異なり、画像の主走査ラインを判断していないため、ラインの途中でＰＤＬデータが出力される場合があり得る。従って、プリンタ８側においては、受信したＰＤＬデータに含まれる画像を副走査方向に積み重ねるだけでは、画像を正確に描画することができない。このため、ＰＤＬ生成処理部１０３は、ＰＤＬデータを生成する際、画像の先頭の画素の主走査方向の位置を示す情報をＰＤＬデータに含める。これにより、プリンタ８側においては、ＰＣ１側から別々に送信される画像を、画素の主走査方向の位置を示す情報に基づいて好適に結合することができる。
【００５２】
尚、図５や、図７に示すような機能は、上述したように図２に示すグラフィック部１０ｂによって実現されるが、図２に示すようなグラフィック部１０ｂの機能構成は、ソフトウェアとハードウェアとの組み合わせによって実現される。以下、本実施形態に係るＰＣ１のハードウェア構成について図８を参照して説明する。
【００５３】
図８に示すように、本実施形態に係るＰＣ１は、一般的な情報処理端末と同様の構成を有する。即ち、本実施形態に係るＰＣ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３４及びＩ／Ｆ３５がバス３３を介して接続されている。また、Ｉ／Ｆ３５にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）３６及び操作部３７が接続されている。
【００５４】
ＣＰＵ３０は演算手段であり、ＰＣ１全体の動作を制御する。ＲＡＭ３１は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ３０が情報を処理する際の作業領域として用いられる。ＲＯＭ３２は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００５５】
ＨＤＤ３４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ３５は、バス３４と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ３６は、ユーザがＰＣ１の状態を確認するための視覚的ユーザインタフェースである。操作部３７は、キーボードやマウス等、ユーザがＰＣ１に情報を入力するためのユーザインタフェースである。
【００５６】
このようなハードウェア構成において、ＲＯＭ３２やＨＤＤ３４若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ３１に読み出され、それらのプログラムに従ってＣＰＵ３０が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、図１、図２に示すような、本実施形態に係るＰＣ１の機能を実現する機能ブロックが構成される。
【００５７】
図２に示すようなグラフィック部１０ｂの機能構成を実現するプリンタドライバ１０は、例えば光記憶媒体等に格納されたソフトウェア・プログラムが、ＰＣ１のＨＤＤ３４にインストールされることによって構成される。しかしながら、図２に示すようなプリンタドライバ１０をインストールするための方法は、記憶媒体に格納されたソフトウェア・プログラムをＰＣ１に読み出すことに限らず、例えば、ネットワークを介してＰＣ１にソフトウェア・プログラムをダウンロードすることによって実現することも可能である。
【００５８】
そのような場合において、プリンタドライバ１０をインストールするためのインストーラ・プログラムをプリンタ８に設けられた記憶媒体に記憶しておき、プリンタ８からＰＣ１にインストーラ・プログラムをダウンロードすることによっても、ＰＣ１にプリンタドライバ１０を構成することができる。即ち、本実施形態に係るプリンタドライバ１０の流通形態として、プリンタドライバ１０を記憶させた記憶媒体を含むプリンタ１０としての流通形態が考えられる。
【符号の説明】
【００５９】
１  ＰＣ
２  アプリケーション
３  ＧＤＩ
４  スプーラー
５  スプールファイル
６  プリンタプロセッサ
７  ポートモニタ
８  プリンタ
９  ネットワーク
１０  プリンタドライバ
１０ａ  ＵＩ部
１０ｂ  グラフィック部
３０  ＣＰＵ
３１  ＲＡＭ
３２  ＲＯＭ
３３  バス
３４  ＨＤＤ
３５  Ｉ／Ｆ
３６  ＬＣＤ
３７  操作部
１００  グラフィック制御部１００
１０１  色数判定処理部
１０２  画像変換処理部
１０３  ＰＤＬ生成処理部
１０４  インデックステーブル
１０５  画像バッファ
【先行技術文献】
【特許文献】
【００６０】
【特許文献１】特開２０１０−１５２５９７号公報
【図１】
2012160124.tif 000003
【図２】
2012160124.tif 000004
【図３】
2012160124.tif 000005
【図４】
2012160124.tif 000006
【図５】
2012160124.tif 000007
【図６】
2012160124.tif 000008
【図７】
2012160124.tif 000009
【図８】
2012160124.tif 000010