JP2001144939A - 画像処理装置およびその方法 - Google Patents
画像処理装置およびその方法Info
- Publication number
- JP2001144939A JP2001144939A JP32320599A JP32320599A JP2001144939A JP 2001144939 A JP2001144939 A JP 2001144939A JP 32320599 A JP32320599 A JP 32320599A JP 32320599 A JP32320599 A JP 32320599A JP 2001144939 A JP2001144939 A JP 2001144939A
- Authority
- JP
- Japan
- Prior art keywords
- image
- drawing command
- image processing
- processing
- information
- 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.)
- Withdrawn
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
(57)【要約】
【課題】 描画命令ごとに適切な色処理および量子化処
理を行うには、一頁を複数に分割したバンド単位に入力
される頁内のすべての描画命令を解析し、その解析内容
に基づき描画命令ごとに処理を最適化するので、処理時
間がかかり、多くのメモリを必要とする。 【解決手段】 一頁を複数に分割したバンド単位に入力
される描画命令を解析してイメージ描画命令に基づく描
画領域の数および位置を示す情報を検出する(S2)。そし
て、検出された情報に基づき、バンドのライン単位に、
イメージ描画命令に基づく描画領域の数、並びに、開始
点および終了点を示す情報を抽出する(S5)。そして、バ
ンドのライン単位に、入力描画命令に基づき描画された
画像に、抽出された情報に基づく画像処理を施す(S6)。
理を行うには、一頁を複数に分割したバンド単位に入力
される頁内のすべての描画命令を解析し、その解析内容
に基づき描画命令ごとに処理を最適化するので、処理時
間がかかり、多くのメモリを必要とする。 【解決手段】 一頁を複数に分割したバンド単位に入力
される描画命令を解析してイメージ描画命令に基づく描
画領域の数および位置を示す情報を検出する(S2)。そし
て、検出された情報に基づき、バンドのライン単位に、
イメージ描画命令に基づく描画領域の数、並びに、開始
点および終了点を示す情報を抽出する(S5)。そして、バ
ンドのライン単位に、入力描画命令に基づき描画された
画像に、抽出された情報に基づく画像処理を施す(S6)。
Description
【0001】
【発明の属する技術分野】本発明は画像処理装置および
その方法に関し、例えば、一頁を複数に分割したバンド
単位に入力される描画命令を処理する画像処理装置およ
びその方法に関するものである。
その方法に関し、例えば、一頁を複数に分割したバンド
単位に入力される描画命令を処理する画像処理装置およ
びその方法に関するものである。
【0002】
【従来の技術】一般に、ホストコンピュータへプリンタ
を接続するには、プリンタを制御する印刷制御装置を構
成するために、ホストコンピュータへプリンタドライバ
が搭載される。ホストコンピュータ上で稼働するアプリ
ケーションソフトウェアは、文字、図形などのグラフィ
クスや写真画像などのイメージ画像を含む画像データを
作成する。アプリケーションソフトウェアは、オペレー
ティングシステム(OS)を介して、印刷出力対象の画像デ
ータを描画命令としてプリンタドライバに供給する。プ
リンタドライバは、供給される画像データに基づく描画
命令を解析し、メモリ上に、RGB多階調の画像データを
作成し、それをプリンタインクの各色を表すCMYK多値情
報に変換する。さらに、プリンタドライバは、CMYK多値
情報をインクを吐出するか否かを表すCMYK二値データに
変換した後、プリンタが解析できる出力データを生成し
てプリンタへ転送する。
を接続するには、プリンタを制御する印刷制御装置を構
成するために、ホストコンピュータへプリンタドライバ
が搭載される。ホストコンピュータ上で稼働するアプリ
ケーションソフトウェアは、文字、図形などのグラフィ
クスや写真画像などのイメージ画像を含む画像データを
作成する。アプリケーションソフトウェアは、オペレー
ティングシステム(OS)を介して、印刷出力対象の画像デ
ータを描画命令としてプリンタドライバに供給する。プ
リンタドライバは、供給される画像データに基づく描画
命令を解析し、メモリ上に、RGB多階調の画像データを
作成し、それをプリンタインクの各色を表すCMYK多値情
報に変換する。さらに、プリンタドライバは、CMYK多値
情報をインクを吐出するか否かを表すCMYK二値データに
変換した後、プリンタが解析できる出力データを生成し
てプリンタへ転送する。
【0003】プリンタにより画像データに基づく画像を
良好に出力する場合、出力画像を構成する複数の描画命
令のそれぞれに対し、描画命令の種類に応じた色処理で
ある輝度/濃度変換処理、マスキング処理、ガンマ処理
および減色処理、並びに、量子化処理などが必要とされ
る。従って、プリンタドライバは、例えば写真画像部分
はイメージ描画命令、テキスト部分はテキスト描画命
令、図表などのグラフィクス部分はグラフィクス描画命
令というように、出力画像を構成する要素ごとに発行さ
れる描画命令の種類ごとに、適切な色処理や量子化処理
などを行う。
良好に出力する場合、出力画像を構成する複数の描画命
令のそれぞれに対し、描画命令の種類に応じた色処理で
ある輝度/濃度変換処理、マスキング処理、ガンマ処理
および減色処理、並びに、量子化処理などが必要とされ
る。従って、プリンタドライバは、例えば写真画像部分
はイメージ描画命令、テキスト部分はテキスト描画命
令、図表などのグラフィクス部分はグラフィクス描画命
令というように、出力画像を構成する要素ごとに発行さ
れる描画命令の種類ごとに、適切な色処理や量子化処理
などを行う。
【0004】印刷情報処理に用いられる一般的な色処理
としては、グラフィクス描画命令には「鮮やかさ優先の
色処理」、テキスト描画命令は「測色的一致」、写真部
描画命令は「色味優先の色処理」が行われる。このよう
に描画命令ごとに色処理を切り替えることで、すべての
描画命令に対し良好な画像出力を得ることができる。
としては、グラフィクス描画命令には「鮮やかさ優先の
色処理」、テキスト描画命令は「測色的一致」、写真部
描画命令は「色味優先の色処理」が行われる。このよう
に描画命令ごとに色処理を切り替えることで、すべての
描画命令に対し良好な画像出力を得ることができる。
【0005】また、印刷情報処理に用いられる一般的な
量子化としては、ディザマトリクス法、誤差拡散手法な
どがある。ディザマトリクス法は、高速かつ均一に量子
化することが可能で、テキストや図形などの画像の量子
化に適している。これに対して、誤差拡散手法は、ディ
ザマトリクス法よりも処理時間を要するが、微妙な階調
表現をすることができ、写真画像などに分類される画像
の量子化に適している。
量子化としては、ディザマトリクス法、誤差拡散手法な
どがある。ディザマトリクス法は、高速かつ均一に量子
化することが可能で、テキストや図形などの画像の量子
化に適している。これに対して、誤差拡散手法は、ディ
ザマトリクス法よりも処理時間を要するが、微妙な階調
表現をすることができ、写真画像などに分類される画像
の量子化に適している。
【0006】
【発明が解決しようとする課題】描画命令ごとに適切な
色処理および量子化処理を行うには、一旦、頁内のすべ
ての描画命令を解析した後、その解析内容に基づき描画
命令ごとに処理を最適化するので、解析処理に多くの時
間を必要とし、印刷開始までに時間がかかる。さらに、
一頁分の描画命令の解析結果をメモリへ保存する場合は
多くのメモリを必要とする。
色処理および量子化処理を行うには、一旦、頁内のすべ
ての描画命令を解析した後、その解析内容に基づき描画
命令ごとに処理を最適化するので、解析処理に多くの時
間を必要とし、印刷開始までに時間がかかる。さらに、
一頁分の描画命令の解析結果をメモリへ保存する場合は
多くのメモリを必要とする。
【0007】また、メモリの使用効率と処理速度を最適
化をしようとする比較的高級なアプリケーションソフト
ウェアは、ドキュメントに貼られた一つの画像を分割し
て、重なる部分も含む数千数万にもなる複数のイメージ
描画命令を出力することがある。このような出力画像に
対して、その描画命令ごとに色処理および量子化処理を
行えば、冗長な印刷情報処理を行うことになり、印刷時
間およびメモリ使用量がさらに増大する。
化をしようとする比較的高級なアプリケーションソフト
ウェアは、ドキュメントに貼られた一つの画像を分割し
て、重なる部分も含む数千数万にもなる複数のイメージ
描画命令を出力することがある。このような出力画像に
対して、その描画命令ごとに色処理および量子化処理を
行えば、冗長な印刷情報処理を行うことになり、印刷時
間およびメモリ使用量がさらに増大する。
【0008】本発明は、上述の問題を解決するためのも
のであり、一頁を複数に分割したバンド単位に入力され
る描画命令を効率的に処理して、適切な出力画像を得る
ことができる画像処理装置およびその方法を提供するこ
とを目的とする。
のであり、一頁を複数に分割したバンド単位に入力され
る描画命令を効率的に処理して、適切な出力画像を得る
ことができる画像処理装置およびその方法を提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
達成する一手段として、以下の構成を備える。
【0010】本発明にかかる画像処理装置は、一頁を複
数に分割したバンド単位に入力される描画命令を解析し
て特定の描画命令を判別する判別手段と、前記特定の描
画命令に基づく描画領域の数および位置を示す情報を検
出する検出手段と、検出される情報に基づき、前記バン
ドのライン単位に、前記特定の描画命令に基づく描画領
域の数、並びに、開始点および終了点を示す情報を抽出
する抽出手段と、前記バンドのライン単位に、前記入力
描画命令に基づき描画された画像に、抽出される情報に
基づく画像処理を施す画像処理手段とを有することを特
徴とする。
数に分割したバンド単位に入力される描画命令を解析し
て特定の描画命令を判別する判別手段と、前記特定の描
画命令に基づく描画領域の数および位置を示す情報を検
出する検出手段と、検出される情報に基づき、前記バン
ドのライン単位に、前記特定の描画命令に基づく描画領
域の数、並びに、開始点および終了点を示す情報を抽出
する抽出手段と、前記バンドのライン単位に、前記入力
描画命令に基づき描画された画像に、抽出される情報に
基づく画像処理を施す画像処理手段とを有することを特
徴とする。
【0011】本発明にかかる画像処理方法は、一頁を複
数に分割したバンド単位に入力される描画命令を解析し
て特定の描画命令を判別し、前記特定の描画命令に基づ
く描画領域の数および位置を示す情報を検出し、検出さ
れる情報に基づき、前記バンドのライン単位に、前記特
定の描画命令に基づく描画領域の数、並びに、開始点お
よび終了点を示す情報を抽出し、前記バンドのライン単
位に、前記入力描画命令に基づき描画された画像に、抽
出される情報に基づく画像処理を施すことを特徴とす
る。
数に分割したバンド単位に入力される描画命令を解析し
て特定の描画命令を判別し、前記特定の描画命令に基づ
く描画領域の数および位置を示す情報を検出し、検出さ
れる情報に基づき、前記バンドのライン単位に、前記特
定の描画命令に基づく描画領域の数、並びに、開始点お
よび終了点を示す情報を抽出し、前記バンドのライン単
位に、前記入力描画命令に基づき描画された画像に、抽
出される情報に基づく画像処理を施すことを特徴とす
る。
【0012】
【発明の実施の形態】以下、本発明にかかる一実施形態
の画像処理装置を図面を参照して詳細に説明する。
の画像処理装置を図面を参照して詳細に説明する。
【0013】[構成]図1は本実施形態におけるシステ
ムの概略構成例を示すブロック図である。
ムの概略構成例を示すブロック図である。
【0014】ホストコンピュータ100には、例えばイン
クジェットプリンタなどのプリンタ105、モニタ104およ
びキーボード106などが接続されている。ホストコンピ
ュータ100は、ワードプロセッサ、表計算、インターネ
ットブラウザなどのアプリケーションソフトウェア10
1、並びに、アプリケーションソフトウェア101からOS10
2に対して発行される出力画像を描画するための各種描
画命令群(イメージ描画命令、テキスト描画命令および
グラフィクス描画命令)を処理して印刷データを作成す
るプリンタドライバ103を有する。
クジェットプリンタなどのプリンタ105、モニタ104およ
びキーボード106などが接続されている。ホストコンピ
ュータ100は、ワードプロセッサ、表計算、インターネ
ットブラウザなどのアプリケーションソフトウェア10
1、並びに、アプリケーションソフトウェア101からOS10
2に対して発行される出力画像を描画するための各種描
画命令群(イメージ描画命令、テキスト描画命令および
グラフィクス描画命令)を処理して印刷データを作成す
るプリンタドライバ103を有する。
【0015】ホストコンピュータ100は、上記のソフト
ウェアを動作させるためのハードウェアとしてCPU108、
ハードディスク(HD)107、RAM109およびROM110などと、
それらハードウェアを相互接続するデータバス111とを
備える。なお、図1に示される実施形態として、例えば
一般に普及しているIBM ATコンパチブルのパーソナルコ
ンピュータに、OS102としてMicrosoft社のWindws(R)9
5、および、印刷機能を有する任意のアプリケーション
ソフトウェアをインストールして、モニタ104、プリン
タ105およびキーボード106を接続した形態が考えられ
る。
ウェアを動作させるためのハードウェアとしてCPU108、
ハードディスク(HD)107、RAM109およびROM110などと、
それらハードウェアを相互接続するデータバス111とを
備える。なお、図1に示される実施形態として、例えば
一般に普及しているIBM ATコンパチブルのパーソナルコ
ンピュータに、OS102としてMicrosoft社のWindws(R)9
5、および、印刷機能を有する任意のアプリケーション
ソフトウェアをインストールして、モニタ104、プリン
タ105およびキーボード106を接続した形態が考えられ
る。
【0016】図2はバンディング方式のプリンタドライ
バ103およびOS102の処理例を示す図である。
バ103およびOS102の処理例を示す図である。
【0017】アプリケーションソフトウェア101は、文
字などのテキストに分類されるテキストデータや、図形
などのグラフィクスに分類されるグラフィクスデータ
や、写真画像などに分類されるイメージ画像データなど
出力画像データとして作成する。作成された出力画像デ
ータを印刷出力する場合、アプリケーションソフトウェ
ア101は、OS102に対して印刷出力を要求し、テキストデ
ータ部分はテキスト描画命令、グラフィクスデータ部分
はグラフィクス描画命令、イメージ画像データ部分はイ
メージ描画命令で構成される出力画像を示す描画命令群
をOS102に発行する。
字などのテキストに分類されるテキストデータや、図形
などのグラフィクスに分類されるグラフィクスデータ
や、写真画像などに分類されるイメージ画像データなど
出力画像データとして作成する。作成された出力画像デ
ータを印刷出力する場合、アプリケーションソフトウェ
ア101は、OS102に対して印刷出力を要求し、テキストデ
ータ部分はテキスト描画命令、グラフィクスデータ部分
はグラフィクス描画命令、イメージ画像データ部分はイ
メージ描画命令で構成される出力画像を示す描画命令群
をOS102に発行する。
【0018】アプリケーションソフトウェア101から印
刷出力の要求を受けたOS102は、プリンタ105に対応する
プリンタドライバ103に印刷開始命令を発行する。プリ
ンタドライバ103は、OS102から印刷開始命令を受信する
と、バンディング処理用の作業領域(以下「バンドメモ
リ」と呼ぶ場合がある)をRAM109上に確保し、確保した
作業領域の座標データ(バンドサイズのデータ)をOS10
2に送る。OS102は、受信される座標データによって表さ
れるバンド内に存在する描画命令群をプリンタドライバ
103に発行する。
刷出力の要求を受けたOS102は、プリンタ105に対応する
プリンタドライバ103に印刷開始命令を発行する。プリ
ンタドライバ103は、OS102から印刷開始命令を受信する
と、バンディング処理用の作業領域(以下「バンドメモ
リ」と呼ぶ場合がある)をRAM109上に確保し、確保した
作業領域の座標データ(バンドサイズのデータ)をOS10
2に送る。OS102は、受信される座標データによって表さ
れるバンド内に存在する描画命令群をプリンタドライバ
103に発行する。
【0019】本実施形態に示すようなページ記述言語を
展開してイメージを描画する機能をもたないラスタプリ
ンタにおいては、ホストコンピュータ100上のプリンタ
ドライバ103によりイメージの描画処理が行われる。し
かし、ホストコンピュータ100は、一頁分すべての描画
命令を展開しイメージを描画するのに必要な充分なメモ
リを搭載されていないことが多い。そこで、一頁を横に
細長く縦に分割したバンドと呼ばれる単位ごとに、描画
命令を展開してイメージをメモリ上に描画するために、
バンディング処理用の作業領域が確保される。
展開してイメージを描画する機能をもたないラスタプリ
ンタにおいては、ホストコンピュータ100上のプリンタ
ドライバ103によりイメージの描画処理が行われる。し
かし、ホストコンピュータ100は、一頁分すべての描画
命令を展開しイメージを描画するのに必要な充分なメモ
リを搭載されていないことが多い。そこで、一頁を横に
細長く縦に分割したバンドと呼ばれる単位ごとに、描画
命令を展開してイメージをメモリ上に描画するために、
バンディング処理用の作業領域が確保される。
【0020】プリンタドライバ103は、OS102から供給さ
れる描画命令群を、順次、RGB24ビット形式でバンドメ
モリにラスタライズ(描画)し、供給されたすべての描
画命令をラスタライズした後にバンドメモリの内容をCM
YKデータに変換し、プリンタ105が印刷可能なデータ形
式に変換してプリンタ105へ送る。
れる描画命令群を、順次、RGB24ビット形式でバンドメ
モリにラスタライズ(描画)し、供給されたすべての描
画命令をラスタライズした後にバンドメモリの内容をCM
YKデータに変換し、プリンタ105が印刷可能なデータ形
式に変換してプリンタ105へ送る。
【0021】OS102は、アプリケーションソフトウェア1
01から供給される、頁内に存在するすべての描画命令群
の発行をバンドごとに繰り返すことで、プリンタドライ
バ103およびプリンタ105に一頁分の印刷を実行させる。
01から供給される、頁内に存在するすべての描画命令群
の発行をバンドごとに繰り返すことで、プリンタドライ
バ103およびプリンタ105に一頁分の印刷を実行させる。
【0022】[印刷処理]図3はプリンタドライバ103に
よる印刷処理の一例を示すフローチャートである。
よる印刷処理の一例を示すフローチャートである。
【0023】バンディング方式のプリンタドライバ103
の全体的な処理の流れは図2に示したように、バンドメ
モリを確保して(図3のステップS1に対応する)すべて
の印刷処理をバンドごとに行い、すべてのバンドの処理
が終った後にバンドメモリを解放する。プリンタドライ
バ103によるバンドごとの印刷処理は、大きく分けると
三つのステップに分かれる。
の全体的な処理の流れは図2に示したように、バンドメ
モリを確保して(図3のステップS1に対応する)すべて
の印刷処理をバンドごとに行い、すべてのバンドの処理
が終った後にバンドメモリを解放する。プリンタドライ
バ103によるバンドごとの印刷処理は、大きく分けると
三つのステップに分かれる。
【0024】第一のステップにおいてプリンタドライバ
103は、OS102からバンドメモリに描画すべき描画命令を
一つずつ受け取り、この描画命令の実行時に後述する描
画命令解析処理を行いながら後述するイメージ領域情報
テーブルを作成して(S2)、プリンタ105の解像度に応じ
て予め確保したRGB24ビットのバンドメモリに、順次、
画像をラスタライズしてRGB画像データを生成する(S
3)。
103は、OS102からバンドメモリに描画すべき描画命令を
一つずつ受け取り、この描画命令の実行時に後述する描
画命令解析処理を行いながら後述するイメージ領域情報
テーブルを作成して(S2)、プリンタ105の解像度に応じ
て予め確保したRGB24ビットのバンドメモリに、順次、
画像をラスタライズしてRGB画像データを生成する(S
3)。
【0025】第二のステップにおいてプリンタドライバ
103は、バンド内のスキャンラインを示すカウンタScanL
ineを零に初期化し(S4)、バンドメモリに生成されたRGB
画像データの1スキャンラインごとに、イメージ領域情
報テーブル(AreaInfoTBL)に基づき後述するイメージ領
域生成処理を実行して、イメージ位置情報情報テーブル
(ImageAreaTBL)を形成する(S5)。
103は、バンド内のスキャンラインを示すカウンタScanL
ineを零に初期化し(S4)、バンドメモリに生成されたRGB
画像データの1スキャンラインごとに、イメージ領域情
報テーブル(AreaInfoTBL)に基づき後述するイメージ領
域生成処理を実行して、イメージ位置情報情報テーブル
(ImageAreaTBL)を形成する(S5)。
【0026】第三のステップにおいてプリンタドライバ
103は、生成されたイメージ位置情報テーブル(ImageAre
aTBL)を基に、バンド内の1スキャンラインごとに、その
スキャンラインの先端から終端まで、写真画像領域およ
びその他の領域に、それぞれの領域の特性に応じた色処
理(輝度/濃度変換、マスキング、ガンマ補正、減
色)、並びに、量子化処理を施した後、バンド内の画像
データを印刷データに変換してプリンタ105に出力する
画像処理を実行する(S6)。
103は、生成されたイメージ位置情報テーブル(ImageAre
aTBL)を基に、バンド内の1スキャンラインごとに、その
スキャンラインの先端から終端まで、写真画像領域およ
びその他の領域に、それぞれの領域の特性に応じた色処
理(輝度/濃度変換、マスキング、ガンマ補正、減
色)、並びに、量子化処理を施した後、バンド内の画像
データを印刷データに変換してプリンタ105に出力する
画像処理を実行する(S6)。
【0027】次に、ステップS7でScanLineとバンドの高
さHyとを比較して、バンド内の全てのスキャンラインの
画像処理が終了したか否かを判定する。そして、ScanLi
ne<HyであればステップS5へ戻って次のスキャンライン
の処理を実行し、ScanLine=HyであればステップS8でイ
メージ領域情報テーブル(AreaInfoTBL)のメモリ領域を
解放する。
さHyとを比較して、バンド内の全てのスキャンラインの
画像処理が終了したか否かを判定する。そして、ScanLi
ne<HyであればステップS5へ戻って次のスキャンライン
の処理を実行し、ScanLine=HyであればステップS8でイ
メージ領域情報テーブル(AreaInfoTBL)のメモリ領域を
解放する。
【0028】次に、ステップS9ですべてのバンドの処理
が終了したか否かを判定し、終了していればステップS1
0でバンドメモリを解放して印刷処理を終了する。ま
た、処理が未了のバンドがあればステップS2へ戻る。
が終了したか否かを判定し、終了していればステップS1
0でバンドメモリを解放して印刷処理を終了する。ま
た、処理が未了のバンドがあればステップS2へ戻る。
【0029】以下では、上述した三つのステップについ
て詳しく説明する。
て詳しく説明する。
【0030】[描画命令解析処理]図4はステップS2の
描画命令解析処理の一例を示すフローチャートである。
描画命令解析処理は、OS102から渡される描画命令を解
析することにより、バンド内に存在しているイメージ領
域の数を示す情報(ImageCount)と、バンド内に存在して
いるイメージに外接する矩形領域を示す情報であるイメ
ージ領域情報テーブル(AreaInfoTBL)とをRAM109上に生
成するものである。以下、図4に従って描画命令解析処
理のフローを説明する。
描画命令解析処理の一例を示すフローチャートである。
描画命令解析処理は、OS102から渡される描画命令を解
析することにより、バンド内に存在しているイメージ領
域の数を示す情報(ImageCount)と、バンド内に存在して
いるイメージに外接する矩形領域を示す情報であるイメ
ージ領域情報テーブル(AreaInfoTBL)とをRAM109上に生
成するものである。以下、図4に従って描画命令解析処
理のフローを説明する。
【0031】ステップS101でImageCountを零に初期化
し、ステップS102でOS102から描画命令を取得し、ステ
ップS103で取得した描画命令がイメージ描画命令である
か否かを判定する。イメージ描画命令であればステップ
S104で、描画命令が示すオブジェクトが写真画像か否か
を判定する。なお、一般に写真画像などの画像データは
24ビットRGBや8ビットパレットであることが多く、それ
よりビット深さが浅い画像データは写真画像ではない場
合が多いので、イメージ描画命令の関数のヘッダを参照
して、例えば画像データのビット深さが24ビット以上ま
たは8ビットパレットである場合に写真画像と判定すれ
ばよい。
し、ステップS102でOS102から描画命令を取得し、ステ
ップS103で取得した描画命令がイメージ描画命令である
か否かを判定する。イメージ描画命令であればステップ
S104で、描画命令が示すオブジェクトが写真画像か否か
を判定する。なお、一般に写真画像などの画像データは
24ビットRGBや8ビットパレットであることが多く、それ
よりビット深さが浅い画像データは写真画像ではない場
合が多いので、イメージ描画命令の関数のヘッダを参照
して、例えば画像データのビット深さが24ビット以上ま
たは8ビットパレットである場合に写真画像と判定すれ
ばよい。
【0032】描画命令が示すオブジェクトが写真画像の
場合はステップS105で、RAM109に割り当てられた図7に
示すイメージ領域情報テーブル(AreaInfoTBL)にエント
リを一つ作成し、そのエントリにイメージ描画命令に含
まれる描画位置情報である矩形領域の左上座標(Left, T
op)と右下座標(Right, Bottom)を保存し、ステップS106
でImageCountをインクリメントする。
場合はステップS105で、RAM109に割り当てられた図7に
示すイメージ領域情報テーブル(AreaInfoTBL)にエント
リを一つ作成し、そのエントリにイメージ描画命令に含
まれる描画位置情報である矩形領域の左上座標(Left, T
op)と右下座標(Right, Bottom)を保存し、ステップS106
でImageCountをインクリメントする。
【0033】この描画命令解析処理は、バンド内で実行
されるすべての描画命令に対して実行される処理である
から、ステップS107の判断により、バンド内に未処理の
描画命令が存在する場合はステップS102へ戻る。
されるすべての描画命令に対して実行される処理である
から、ステップS107の判断により、バンド内に未処理の
描画命令が存在する場合はステップS102へ戻る。
【0034】すべての描画命令の解析を終えると、イメ
ージ領域情報テーブル(AreaInfoTBL)が作成された場合
は、そのレコードの並びを左端(Left)値、上端(Top)
値、右端(Right)値および下端(Bottom)値のソート優先
順位により昇順にソートして処理を終了する。
ージ領域情報テーブル(AreaInfoTBL)が作成された場合
は、そのレコードの並びを左端(Left)値、上端(Top)
値、右端(Right)値および下端(Bottom)値のソート優先
順位により昇順にソートして処理を終了する。
【0035】[イメージ領域生成処理]図5はステップS
5のイメージ領域生成処理の一例を示すブローチャート
である。イメージ領域生成処理は、バンド内の1スキャ
ンラインの副走査方向(Y方向)の位置情報を基に、そ
のスキャンライン上に存在するイメージ領域の数を示す
情報(ImageCountPerLine)と、そのスキャンライン上に
おける各イメージ領域の主走査方向(X方向)の始点お
よび終点を示すイメージ位置情報テーブル(ImageAreaTB
L)とをRAM109上に生成する。以下、図5に従ってイメー
ジ領域生成処理のフローを説明する。
5のイメージ領域生成処理の一例を示すブローチャート
である。イメージ領域生成処理は、バンド内の1スキャ
ンラインの副走査方向(Y方向)の位置情報を基に、そ
のスキャンライン上に存在するイメージ領域の数を示す
情報(ImageCountPerLine)と、そのスキャンライン上に
おける各イメージ領域の主走査方向(X方向)の始点お
よび終点を示すイメージ位置情報テーブル(ImageAreaTB
L)とをRAM109上に生成する。以下、図5に従ってイメー
ジ領域生成処理のフローを説明する。
【0036】ステップS201でカウンタCountおよびImage
CountPerLineを零に初期化する。続いて、ステップS202
でバンド内に存在するイメージ領域の数を示すImageCou
ntとカウンタCountとを比較して、Count<ImageCountで
あればステップS203へ進む。また、Count=ImageCountで
あればバンド内のすべてのイメージ領域を生成したこと
になるので処理を終了する。勿論、バンド内にイメージ
領域がない(ImageCount=0)の場合も処理を終了する。
CountPerLineを零に初期化する。続いて、ステップS202
でバンド内に存在するイメージ領域の数を示すImageCou
ntとカウンタCountとを比較して、Count<ImageCountで
あればステップS203へ進む。また、Count=ImageCountで
あればバンド内のすべてのイメージ領域を生成したこと
になるので処理を終了する。勿論、バンド内にイメージ
領域がない(ImageCount=0)の場合も処理を終了する。
【0037】次に、ステップS203で、イメージ領域情報
テーブル(AreaInfoTBL)のレコードAreaInfoTBL[Count]
を参照して、その上端(Top)値および下端(Bottom)値か
ら、ステップS204で現スキャンライン(ScanLine)上にイ
メージ領域が存在するか否かを判定する。イメージ領域
が存在する場合はステップS205で、そのイメージ領域に
対応するレコードAreaInfoTBL[Count]から左端(Left)お
よび右端(Right)の値を取り出す。また、ScanLine上に
イメージ領域が存在しない場合はステップS211へ進む。
テーブル(AreaInfoTBL)のレコードAreaInfoTBL[Count]
を参照して、その上端(Top)値および下端(Bottom)値か
ら、ステップS204で現スキャンライン(ScanLine)上にイ
メージ領域が存在するか否かを判定する。イメージ領域
が存在する場合はステップS205で、そのイメージ領域に
対応するレコードAreaInfoTBL[Count]から左端(Left)お
よび右端(Right)の値を取り出す。また、ScanLine上に
イメージ領域が存在しない場合はステップS211へ進む。
【0038】次に、図8に示すイメージ位置情報テーブ
ル(ImageAreaTBL)が未作成の場合はステップS207で、イ
メージ位置情報テーブル(ImageAreaTBL)およびエントリ
を一つ作成する。そして、作成したエントリに取り出し
た左端(Left)および右端(Right)の値をそれぞれ始点お
よび終点として保存し、ステップS208でImageCountPerL
ineをインクリメントた後、ステップS211へ進む。
ル(ImageAreaTBL)が未作成の場合はステップS207で、イ
メージ位置情報テーブル(ImageAreaTBL)およびエントリ
を一つ作成する。そして、作成したエントリに取り出し
た左端(Left)および右端(Right)の値をそれぞれ始点お
よび終点として保存し、ステップS208でImageCountPerL
ineをインクリメントた後、ステップS211へ進む。
【0039】一方、イメージ位置情報テーブル(ImageAr
eaTBL)が作成済みの場合は、最終エントリに保存された
終点(PreRight)の値と、ステップS205で取り出した左端
(Left)の値とを比較して、ステップS206でイメージ領域
が重なるか否かを判定する。そして、イメージ領域が重
ならない(PreRight<Left)場合はステップS207で、イメ
ージ位置情報テーブル(ImageAreaTBL)にエントリを一つ
追加する。そして、そのエントリに取り出した左端(Lef
t)および右端(Right)の値をそれぞれ始点および終点と
して保存し、ステップS208でImageCountPerLineをイン
クリメントした後、ステップS211へ進む。
eaTBL)が作成済みの場合は、最終エントリに保存された
終点(PreRight)の値と、ステップS205で取り出した左端
(Left)の値とを比較して、ステップS206でイメージ領域
が重なるか否かを判定する。そして、イメージ領域が重
ならない(PreRight<Left)場合はステップS207で、イメ
ージ位置情報テーブル(ImageAreaTBL)にエントリを一つ
追加する。そして、そのエントリに取り出した左端(Lef
t)および右端(Right)の値をそれぞれ始点および終点と
して保存し、ステップS208でImageCountPerLineをイン
クリメントした後、ステップS211へ進む。
【0040】また、ステップS206の判定でイメージ領域
が重なると判定された場合は、ステップS209で終点(Pre
Right)の値と、ステップS205で取り出した右端(Right)
の値とを比較して、PreRight<Rightの場合はステップS
210で、最終レコードの終点(PreRight)値を右端(Right)
値に更新する。その後、処理はステップS211で進む。な
お、イメージ領域が重なる場合は一つのイメージ領域と
みなすことからImageCountPerLineはインクリメントし
ない。また、始点(PreLeft)および左端(Left)に関して
は、常にPreLeft≦Leftになるように、描画命令解析処
理においてイメージ領域情報のレコードがソートされて
いるので比較する必要はない。
が重なると判定された場合は、ステップS209で終点(Pre
Right)の値と、ステップS205で取り出した右端(Right)
の値とを比較して、PreRight<Rightの場合はステップS
210で、最終レコードの終点(PreRight)値を右端(Right)
値に更新する。その後、処理はステップS211で進む。な
お、イメージ領域が重なる場合は一つのイメージ領域と
みなすことからImageCountPerLineはインクリメントし
ない。また、始点(PreLeft)および左端(Left)に関して
は、常にPreLeft≦Leftになるように、描画命令解析処
理においてイメージ領域情報のレコードがソートされて
いるので比較する必要はない。
【0041】ステップS211でカウンタCountがインクリ
メントされた後、処理はステップS202へ戻る。
メントされた後、処理はステップS202へ戻る。
【0042】このような処理の結果、生成されるイメー
ジ位置情報テーブル(ImageAreaTBL)内のイメージ位置情
報は自動的にスキャンラインの先端位置(左端)から順
にソートされる。そして、バンド内に存在するすべての
イメージ領域情報に対して前述した処理が繰り返された
後、イメージ領域生成処理は終了する。
ジ位置情報テーブル(ImageAreaTBL)内のイメージ位置情
報は自動的にスキャンラインの先端位置(左端)から順
にソートされる。そして、バンド内に存在するすべての
イメージ領域情報に対して前述した処理が繰り返された
後、イメージ領域生成処理は終了する。
【0043】[画像処理]図6はステップS6の画像処理
の一例を示すフローチャートである。
の一例を示すフローチャートである。
【0044】ステップS301で、カウンタCountを零に初
期化し、変数StartPosおよびEndPosにスキャンラインの
先端位置および後端位置を示す情報をそれぞれセットす
る。続いて、イメージ領域生成処理でセットされた、Sc
anLineのイメージ領域の数を示すImageCountPerLineを
参照して、ステップS302でScanLineにイメージ領域が存
在するか否かを判定する。
期化し、変数StartPosおよびEndPosにスキャンラインの
先端位置および後端位置を示す情報をそれぞれセットす
る。続いて、イメージ領域生成処理でセットされた、Sc
anLineのイメージ領域の数を示すImageCountPerLineを
参照して、ステップS302でScanLineにイメージ領域が存
在するか否かを判定する。
【0045】もし、ImageCountPerLine=0の場合は、Sca
nLine全体に亘ってテキストまたはグラフィクス領域と
みなし、ステップS303で、例えば鮮やかさ優先の色処理
を行いRGB24ビットの画像データをCMYK32ビット画像デ
ータに変換し、ステップS304で、例えばディザマトリク
ス法により、CMYK32ビット画像データを例えばCMYK4ビ
ットの二値画像データに量子化し、ステップS305で、量
子化後の画像データを印刷データに変換してプリンタ10
5に送信する。
nLine全体に亘ってテキストまたはグラフィクス領域と
みなし、ステップS303で、例えば鮮やかさ優先の色処理
を行いRGB24ビットの画像データをCMYK32ビット画像デ
ータに変換し、ステップS304で、例えばディザマトリク
ス法により、CMYK32ビット画像データを例えばCMYK4ビ
ットの二値画像データに量子化し、ステップS305で、量
子化後の画像データを印刷データに変換してプリンタ10
5に送信する。
【0046】そして、ステップS306でScanLineをインク
リメントし、ステップS307でイメージ位置情報テーブル
(ImageAreaTBL)のメモリ領域を解放して画像処理を終了
する。
リメントし、ステップS307でイメージ位置情報テーブル
(ImageAreaTBL)のメモリ領域を解放して画像処理を終了
する。
【0047】一方、ScanLine>0で、ScanLineにイメー
ジ領域が存在する場合はステップS308で、イメージ領域
生成処理で生成されたイメージ位置情報テーブルのレコ
ードImageAreaTBL[Count]からイメージ領域の始点(X1)
および終点(X2)の値を得る。そして、ScanLine上のStar
tPosからX1(始点)までをテキストまたはグラフィクス
領域として例えば鮮やかさ優先の色処理を行い、RGB24
ビットの画像データをCMYK32ビットの画像データに変換
し、ステップS309で例えばディザマトリクス法によりCM
YK32ビットの画像データを例えばCMYK4ビットの二値画
像データに量子化する。
ジ領域が存在する場合はステップS308で、イメージ領域
生成処理で生成されたイメージ位置情報テーブルのレコ
ードImageAreaTBL[Count]からイメージ領域の始点(X1)
および終点(X2)の値を得る。そして、ScanLine上のStar
tPosからX1(始点)までをテキストまたはグラフィクス
領域として例えば鮮やかさ優先の色処理を行い、RGB24
ビットの画像データをCMYK32ビットの画像データに変換
し、ステップS309で例えばディザマトリクス法によりCM
YK32ビットの画像データを例えばCMYK4ビットの二値画
像データに量子化する。
【0048】次に、ステップS310でX1(始点)からX2
(終点)までのイメージ領域に例えば色味優先の色処理
を行い、RGB24ビットの画像データをCMYK32ビットの画
像データに変換し、ステップS311で例えば誤差拡散法に
よりCMYK32ビットの画像データを例えばCMYK4ビットの
二値画像データに量子化する。
(終点)までのイメージ領域に例えば色味優先の色処理
を行い、RGB24ビットの画像データをCMYK32ビットの画
像データに変換し、ステップS311で例えば誤差拡散法に
よりCMYK32ビットの画像データを例えばCMYK4ビットの
二値画像データに量子化する。
【0049】次に、ステップS312でStartPosにX2(終
点)の値をセットし、ImageCountPerLineをデクリメン
ト、Countをインクリメントした後、ステップS302へ戻
る。従って、ImageCountPerLineが零になるまで、つま
りScanLine上のイメージ領域情報テーブル(ImageAreaTB
L)がすべて参照されるまで、ステップS308からS312が繰
り返される。そして、イメージ領域情報テーブル(Image
AreaTBL)の参照が終了すると、StartPosにはScanLine上
の最後イメージ領域の終点がセットされているので、上
述したステップS303からS307において、StartPosからEn
dPosまでのテキストまたはグラフィクス領域に鮮やかさ
優先の色処理および量子化処理が施され、ScanLineがイ
ンクリメントされ、イメージ位置情報テーブル(ImageAr
eaTBL)のメモリ領域が解放されて画像処理が終了する。
点)の値をセットし、ImageCountPerLineをデクリメン
ト、Countをインクリメントした後、ステップS302へ戻
る。従って、ImageCountPerLineが零になるまで、つま
りScanLine上のイメージ領域情報テーブル(ImageAreaTB
L)がすべて参照されるまで、ステップS308からS312が繰
り返される。そして、イメージ領域情報テーブル(Image
AreaTBL)の参照が終了すると、StartPosにはScanLine上
の最後イメージ領域の終点がセットされているので、上
述したステップS303からS307において、StartPosからEn
dPosまでのテキストまたはグラフィクス領域に鮮やかさ
優先の色処理および量子化処理が施され、ScanLineがイ
ンクリメントされ、イメージ位置情報テーブル(ImageAr
eaTBL)のメモリ領域が解放されて画像処理が終了する。
【0050】図9は描画命令解析処理、イメージ領域生
成処理および画像処理による処理結果を説明する図であ
る。
成処理および画像処理による処理結果を説明する図であ
る。
【0051】図9に示すバンドNには三つのイメージ領域
が存在する。描画命令解析処理により、バンド内に存在
するイメージ領域の数を示すImageCountは「3」にな
り、イメージ領域情報テーブル(AreaInfoTBL)にはAreaI
nfoTBL[0]={Left1, Top1, Right1, Bottom1}、AreaInfo
TBL[1]={Left2, Top2, Right2, Bottom2}およびAreaInf
oTBL[2]={Left3, Top3, Right3, Bottom3}が登録され
る。
が存在する。描画命令解析処理により、バンド内に存在
するイメージ領域の数を示すImageCountは「3」にな
り、イメージ領域情報テーブル(AreaInfoTBL)にはAreaI
nfoTBL[0]={Left1, Top1, Right1, Bottom1}、AreaInfo
TBL[1]={Left2, Top2, Right2, Bottom2}およびAreaInf
oTBL[2]={Left3, Top3, Right3, Bottom3}が登録され
る。
【0052】次に、バンド内のYラインでイメージ領域
生成処理を実行すると、スキャシライン上に存在するイ
メージ領域の数を示すImageCountPerLineは「2」にな
り、イメージ位置情報テーブル(ImageAreaTBL)にはImag
eAreaTBL[0]={Left1, Right2}およびAreaInfoTBL[1]={L
eft3, Right3}が登録される。
生成処理を実行すると、スキャシライン上に存在するイ
メージ領域の数を示すImageCountPerLineは「2」にな
り、イメージ位置情報テーブル(ImageAreaTBL)にはImag
eAreaTBL[0]={Left1, Right2}およびAreaInfoTBL[1]={L
eft3, Right3}が登録される。
【0053】次の画像処理では、例えば、Yラインの先
端からLeft1までは鮮やかさ優先の色処理およびディザ
マトリクス法による量子化、Left1からRight2までは色
味優先の色処理および誤差拡散法による量子化、Right2
からLeft3までは鮮やかさ優先の色処理およびディザマ
トリクス法による量子化、Left3からRight3までは色味
優先の色処理および誤差拡散法による量子化、そして、
Right3からYラインの後端までは鮮やかさ優先の色処理
およびディザマトリクス法による量子化が行われる。
端からLeft1までは鮮やかさ優先の色処理およびディザ
マトリクス法による量子化、Left1からRight2までは色
味優先の色処理および誤差拡散法による量子化、Right2
からLeft3までは鮮やかさ優先の色処理およびディザマ
トリクス法による量子化、Left3からRight3までは色味
優先の色処理および誤差拡散法による量子化、そして、
Right3からYラインの後端までは鮮やかさ優先の色処理
およびディザマトリクス法による量子化が行われる。
【0054】このように本実施形態によれば、バンド内
の描画命令を描画命令解析処理で解析した結果得られる
バンド内に存在するイメージ領域の情報に基づき、イメ
ージ領域生成処理によりスキャンライン上に存在する重
なったイメージ領域をまとめたイメージ位置情報を生成
する。そして、イメージ位置情報を参照して、スキャン
ラインごとに、効率的に色処理および量子化処理を行
う。
の描画命令を描画命令解析処理で解析した結果得られる
バンド内に存在するイメージ領域の情報に基づき、イメ
ージ領域生成処理によりスキャンライン上に存在する重
なったイメージ領域をまとめたイメージ位置情報を生成
する。そして、イメージ位置情報を参照して、スキャン
ラインごとに、効率的に色処理および量子化処理を行
う。
【0055】
【変形例】前述した実施形態では、処理速度を優先し
て、自動的に最適な印刷情報処理を行う例を説明した。
しかし、ユーザに色処理および量子化処理のモードを選
択させる入力手段を追加することで、多少効率は低下す
るが、描画命令解析処理およびイメージ領域生成処理で
生成されたイメージ位置情報に基づき、ユーザは色処理
だけを自動で最適化するモードや、二値化処理だけを自
動で最適化するモードを選択することができるようにな
る。具体的には、図6に示した画像処理を、図10に示す
画像処理に変更すればよい。
て、自動的に最適な印刷情報処理を行う例を説明した。
しかし、ユーザに色処理および量子化処理のモードを選
択させる入力手段を追加することで、多少効率は低下す
るが、描画命令解析処理およびイメージ領域生成処理で
生成されたイメージ位置情報に基づき、ユーザは色処理
だけを自動で最適化するモードや、二値化処理だけを自
動で最適化するモードを選択することができるようにな
る。具体的には、図6に示した画像処理を、図10に示す
画像処理に変更すればよい。
【0056】図10において、図6と同じ処理には同一符
号を付してその詳細説明を省略する。ステップS301の初
期設定の後、ステップS401でユーザによって自動色処理
が選択されたか否かを判定し、自動色処理が選択されて
いれば図6と同様にステップS302へ進む。また、自動色
処理が選択されていなければステップS402で、ユーザ指
定の色処理を行いRGB24ビットの画像データをCMYK32ビ
ット画像データに変換し、再び、ステップS301の初期設
定を行う。
号を付してその詳細説明を省略する。ステップS301の初
期設定の後、ステップS401でユーザによって自動色処理
が選択されたか否かを判定し、自動色処理が選択されて
いれば図6と同様にステップS302へ進む。また、自動色
処理が選択されていなければステップS402で、ユーザ指
定の色処理を行いRGB24ビットの画像データをCMYK32ビ
ット画像データに変換し、再び、ステップS301の初期設
定を行う。
【0057】次に、ステップS403でユーザによって自動
量子化が選択されたか否かを判定し、自動量子化が選択
されていれば図6と同様にステップS302へ進む。また、
自動量子化が選択されていなければステップS404で、ユ
ーザ指定の量子化方法により画像データを量子化し、ス
テップS305へ進む。
量子化が選択されたか否かを判定し、自動量子化が選択
されていれば図6と同様にステップS302へ進む。また、
自動量子化が選択されていなければステップS404で、ユ
ーザ指定の量子化方法により画像データを量子化し、ス
テップS305へ進む。
【0058】なお、ユーザによる自動色処理および自動
量子化のオンオフ、色処理および量子化方法の設定は、
プリンタドライバ103のユーザインタフェイスおよびキ
ーボード106(または図示しないマウスなどのポインテ
ィングデバイス)により容易に設定できる。
量子化のオンオフ、色処理および量子化方法の設定は、
プリンタドライバ103のユーザインタフェイスおよびキ
ーボード106(または図示しないマウスなどのポインテ
ィングデバイス)により容易に設定できる。
【0059】このように、本実施形態のプリンタドライ
バによれば、ページ記述言語を直接処理しないプリンタ
において、様々な描画命令から形成される画像を印刷す
る際に、描画命令に基づき印刷情報処理(色処理や量子
化処理など)を自動的に適切に制御して、最適な印刷結
果を高速かつ効率的に得ることができる。
バによれば、ページ記述言語を直接処理しないプリンタ
において、様々な描画命令から形成される画像を印刷す
る際に、描画命令に基づき印刷情報処理(色処理や量子
化処理など)を自動的に適切に制御して、最適な印刷結
果を高速かつ効率的に得ることができる。
【0060】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0061】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
【0062】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0063】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した(図3から図6、図10に示
す)フローチャートに対応するプログラムコードが格納
されることになる。
の記憶媒体には、先に説明した(図3から図6、図10に示
す)フローチャートに対応するプログラムコードが格納
されることになる。
【0064】
【発明の効果】以上説明したように、本発明によれば、
一頁を複数に分割したバンド単位に入力される描画命令
を効率的に処理して、適切な出力画像を得ることができ
る画像処理装置およびその方法を提供することができ
る。
一頁を複数に分割したバンド単位に入力される描画命令
を効率的に処理して、適切な出力画像を得ることができ
る画像処理装置およびその方法を提供することができ
る。
【図1】本実施形態におけるシステムの概略構成例を示
すブロック図、
すブロック図、
【図2】バンディング方式のプリンタドライバおよびOS
の処理例を示す図、
の処理例を示す図、
【図3】プリンタドライバによる印刷処理の一例を示す
フローチャート、
フローチャート、
【図4】描画命令解析処理の一例を示すフローチャー
ト、
ト、
【図5】イメージ領域生成処理の一例を示すブローチャ
ート、
ート、
【図6】画像処理の一例を示すフローチャート、
【図7】イメージ領域情報テーブルを示す図、
【図8】イメージ位置情報テーブルを示す図、
【図9】描画命令解析処理、イメージ領域生成処理およ
び画像処理による処理結果を説明する図、
び画像処理による処理結果を説明する図、
【図10】画像処理の変形例を示すフローチャートであ
る。
る。
フロントページの続き Fターム(参考) 2C087 AA03 AA09 AB05 AC07 BA03 BA04 BA05 BA07 BC01 BD24 BD53 5B021 AA01 DD04 5C076 AA02 AA26 AA27 AA36 BA02 BA04 BA07 BA08 CA02 5C077 LL16 LL17 LL18 MP06 MP08 NN08 NN11 PP15 PP16 PP21 PP27 PP28 PP32 PP33 PP37 PP38 PP58 PQ08 PQ22 PQ23 RR02 RR08 SS05 SS06 TT05 TT06
Claims (8)
- 【請求項1】 一頁を複数に分割したバンド単位に入力
される描画命令を解析して特定の描画命令を判別する判
別手段と、 前記特定の描画命令に基づく描画領域の数および位置を
示す情報を検出する検出手段と、 検出される情報に基づき、前記バンドのライン単位に、
前記特定の描画命令に基づく描画領域の数、並びに、開
始点および終了点を示す情報を抽出する抽出手段と、 前記バンドのライン単位に、前記入力描画命令に基づき
描画された画像に、抽出される情報に基づく画像処理を
施す画像処理手段とを有することを特徴とする画像処理
装置。 - 【請求項2】 さらに、前記入力描画命令に基づき画像
を描画する描画手段を有することを特徴とする請求項1
に記載された画像処理装置。 - 【請求項3】 前記特定の描画命令とはイメージ描画命
令であることを特徴とする請求項1または請求項2に記載
された画像処理装置。 - 【請求項4】 前記画像処理手段は、前記イメージ描画
命令により描画される領域の画像にイメージオブジェク
ト用の画像処理を施すことを特徴とする請求項3に記載
された画像処理装置。 - 【請求項5】 前記画像処理手段は、前記抽出手段によ
り抽出される情報に基づき、前記描画命令により描画さ
れるオブジェクトの種類に応じた画像処理を行うことを
特徴とする請求項1または請求項2に記載された画像処理
装置。 - 【請求項6】 前記画像処理手段が実行する画像処理に
は輝度/濃度変換、マスキング、ガンマ補正、減色、お
よび、量子化処理の少なくとも一つが含まれることを特
徴とする請求項1から請求項5の何れかに記載された画像
処理装置。 - 【請求項7】 一頁を複数に分割したバンド単位に入力
される描画命令を解析して特定の描画命令を判別し、 前記特定の描画命令に基づく描画領域の数および位置を
示す情報を検出し、 検出される情報に基づき、前記バンドのライン単位に、
前記特定の描画命令に基づく描画領域の数、並びに、開
始点および終了点を示す情報を抽出し、 前記バンドのライン単位に、前記入力描画命令に基づき
描画された画像に、抽出される情報に基づく画像処理を
施すことを特徴とする画像処理方法。 - 【請求項8】 画像処理のプログラムコードが記録され
た記録媒体であって、前記プログラムコードは少なくと
も、 一頁を複数に分割したバンド単位に入力される描画命令
を解析して特定の描画命令を判別するステップのコード
と、 前記特定の描画命令に基づく描画領域の数および位置を
示す情報を検出するステップのコードと、 検出される情報に基づき、前記バンドのライン単位に、
前記特定の描画命令に基づく描画領域の数、並びに、開
始点および終了点を示す情報を抽出するステップのコー
ドと、 前記バンドのライン単位に、前記入力描画命令に基づき
描画された画像に、抽出される情報に基づく画像処理を
施すステップのコードとを有することを特徴とする記録
媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32320599A JP2001144939A (ja) | 1999-11-12 | 1999-11-12 | 画像処理装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32320599A JP2001144939A (ja) | 1999-11-12 | 1999-11-12 | 画像処理装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001144939A true JP2001144939A (ja) | 2001-05-25 |
Family
ID=18152225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32320599A Withdrawn JP2001144939A (ja) | 1999-11-12 | 1999-11-12 | 画像処理装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001144939A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003011458A (ja) * | 2001-07-03 | 2003-01-15 | Seiko Epson Corp | 画像データに含まれる情報に応じて印刷モードが設定される印刷 |
CN100461016C (zh) * | 2005-02-17 | 2009-02-11 | 夏普株式会社 | 图像形成装置 |
-
1999
- 1999-11-12 JP JP32320599A patent/JP2001144939A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003011458A (ja) * | 2001-07-03 | 2003-01-15 | Seiko Epson Corp | 画像データに含まれる情報に応じて印刷モードが設定される印刷 |
CN100461016C (zh) * | 2005-02-17 | 2009-02-11 | 夏普株式会社 | 图像形成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0703524B1 (en) | Variable data fields in a page description language | |
US7583397B2 (en) | Method for generating a display list | |
JP4995057B2 (ja) | 描画装置、印刷装置、描画方法、及びプログラム | |
EP0849701B1 (en) | Print control apparatus and print control method | |
US5727137A (en) | Printer driver architecture for reducing band memory | |
US6512595B1 (en) | Data processing apparatus, data processing method, and medium | |
US6025927A (en) | Image processing apparatus and method | |
US6429950B1 (en) | Method and apparatus for applying object characterization pixel tags to image data in a digital imaging device | |
US8339664B2 (en) | Image processing method, image processing apparatus, and control method thereof | |
US6348975B1 (en) | Image processing apparatus, image processing method, and storage medium | |
US6985249B2 (en) | Variable data printing with optimized cache | |
JP3619143B2 (ja) | 画像処理装置およびその方法 | |
US6310693B1 (en) | Printing control apparatus and method, and printing system for reducing processing overhead | |
JP4310023B2 (ja) | 縮小画像作成方法及び装置、記憶媒体 | |
JP2001144939A (ja) | 画像処理装置およびその方法 | |
JP4054690B2 (ja) | 印刷制御装置及びその方法 | |
US5291308A (en) | Image processing apparatus using tonal degree conversion | |
US6903842B2 (en) | Method for generating full-page print data | |
JPH11191055A (ja) | 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP3636891B2 (ja) | カラー画像出力方法 | |
JP3327744B2 (ja) | 記録装置及びその方法及びコンピュータ制御装置 | |
JP3686490B2 (ja) | プリンタドライバのアーキテクチャのための可変2値化処理を使用するシステムおよび方法 | |
JP2006012059A (ja) | 情報処理装置、情報処理方法、プログラム、及び、記憶媒体 | |
JP2001078036A (ja) | 画像処理装置及びその方法 | |
JP2001270170A (ja) | プリンタ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070206 |