JP3618850B2 - 画像処理装置及び方法 - Google Patents
画像処理装置及び方法 Download PDFInfo
- Publication number
- JP3618850B2 JP3618850B2 JP25283795A JP25283795A JP3618850B2 JP 3618850 B2 JP3618850 B2 JP 3618850B2 JP 25283795 A JP25283795 A JP 25283795A JP 25283795 A JP25283795 A JP 25283795A JP 3618850 B2 JP3618850 B2 JP 3618850B2
- Authority
- JP
- Japan
- Prior art keywords
- color
- image
- processing
- screen
- image data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Color, Gradation (AREA)
- Processing Or Creating Images (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Ink Jet (AREA)
Description
【発明の属する技術分野】
本発明は、画像の特性に応じた画像処理を行う画像処理装置及び方法に関する。
【0002】
【従来の技術】
従来、カラープリンタの制御を行うソフトウェアであるプリンタドライバでは、アプリケーションプログラムからRGB(レッド、グリーン、ブルー)カラーの画像の描画命令を受けてカラー印刷する場合、出力画像の全領域がカラーであるか否か、すなわち、モノクロの領域を含むか否かに関係なく、描画命令による画像データの全データについてRGBカラーからプリンタの印刷可能なCMYK(シアン、マゼンタ、イエロー、黒)カラーへの色変換処理を行ない、更に疑似階調処理または色補正処理等を行なって出力画像データを形成し、それをプリンタに出力してカラー印刷を行なわせていた。
【0003】
【発明が解決しようとする課題】
しかしながら、上記のプリンタ制御では、出力画像が部分的にだけカラーであってモノクロの領域を含む場合、モノクロ領域の画像データについてもCMYKへの色変換と疑似階調処理や色補正処理等を行なうため、モノクロの領域が多い画像の場合、非常に効率が悪く、処理速度が遅くなるという問題があった。
【0004】
また、これと同様の問題として、従来、モノクロプリンタでグレースケール印刷を行なわせる場合、出力画像が部分的にだけグレーであるか否か、すなわち真っ黒または真っ白のモノクロ領域を含むか否かにかかわらず、全画像データに対してRGBカラーからグレーへの色変換処理と疑似階調処理や色補正処理等を行なっていたので、同様に効率が悪く、処理速度が遅くなるという問題があった。
【0007】
本願請求項1記載の発明は、所定領域ごとにカラーか否かを判別し画像処理することにより効率良く画像処理することができるようにするとともに、画像処理モードにかかわらず良好な画像処理結果が得られるようにすることを目的とする。
【0008】
本願請求項3記載の発明は、バンド毎に描画命令から色数を判定することにより高速に色数を識別できるようにするとともに、判定された色数に応じて効率的にオフスクリーン上に画像を描画できるようにすることを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するために本願請求項1記載の発明は、画像を示す画像データを入力する入力手段と、前記画像に対して所定領域ごとにカラー画像データが含まれているか否かを判定する判定手段と、前記判定結果に基づき前記所定領域ごとにカラー画像処理モードと白黒画像処理モードを選択する選択手段とを有し、前記カラー画像処理モードと前記白黒画像処理モードは所定色に対する処理結果が整合することを特徴とする。
【0011】
本願請求項3記載の発明は、対象画像を構成する描画命令を入力する入力手段と、前記描画命令に基づき、バンド毎に前記対象画像の色数を判定する色数判定手段と、前記描画命令に基づき、前記対象画像の色テーブルを作成する色テーブル作成手段と、前記色数判定手段によって判定された色数に基づき、前記対象画像が白黒画像か、所定値以下の色数を有するカラー画像か、該所定値より大きい色数を有するカラー画像かを判定する判定手段と、前記判定手段の判定結果に応じた1画素当たりのビット深さを有するオフスクリーンを、バンド毎に作成する作成手段と、前記描画命令に基づき、前記作成されたオフスクリーン上に画像データを描画処理を行う描画処理手段とを有し、前記判定手段が対象画像は白黒画像であると判定した場合は、前記作成手段は1ビットのオフスクリーンを作成し、前記描画処理手段は画像データを1ビットで該オフスクリーン上に描画し、前記判定手段が対象画像は所定値以下の色数を有するカラー画像であると判定した場合は、前記作成手段は前記所定値に応じたビット深さを有するオフスクリーンを作成し、前記描画処理手段は画像データを前記色テーブルを用いてインデックスに変換し、該インデックスを用いて該オフスクリーン上に画像データを描画することを特徴とする。
【0013】
【発明の実施の形態】
本発明に係る画像処理装置のハードウェア構成の1例を図2を用いて説明する。
【0014】
11は本実施例のホストコンピュータ9の制御を司る制御部(以下、CPUと称する)である。12は各種データを入力するキーボード、13は装置全体を制御する制御手順およびその他の必要な情報をあらかじめ記憶するリードオンリメモリ(ROM)であり、表示や印字に使用されるフォントパターンも記憶している。14はキーボード12から入力した各種データを記憶し、ワークエリアとして利用されるランダムアクセスメモリ(RAM)である。15はそれぞれキーボード12から入力された各種データやRAM4に記憶されたテキストを表示する表示器であり、表示器15は、CPU11から与えられるドットデータを表示し、ドット単位に点灯表示可能な、カラー表示器であり、表示器15で文字を形造る文字表示ドットパターンは上述のようにROM13に記憶されている。16はプリンタインターフェースでありプリンタ8に接続されている。17はデータバスで各種データを転送するために用いられる。18はハードディスクで各種データを読み書きできる。なお、アプリケーションプログラム1、OS2、プリンタドライバプログラム8はハードディスク18に記憶されており、RAMに読み出してCPU11により制御される。
【0015】
以下の各実施例において、上述の画像処理装置で行われる画像処理を具体的に説明する。
【0016】
(実施例1)
以下、図面を参照して本実施例を詳細に説明する。
【0017】
まず、プリンタドライバの処理の概要を説明する。図2はアプリケーションプログラム1、OS2、プリンタドライバ3、プリンタ8の階層を示した図である。プリンタドライバ3はホストコンピュータ9のOS2の下位置に位置し、ワードプロセッサ等のアプリケーションプログラム1から描画命令を受け取り、それをプリンタ8にわかる印刷命令に変換した後にプリンタ8に転送するものである。特にラスター系のプリンタの場合錯雑な描画命令を持っていないため、アプリケーションプログラム1からの描画命令を一度ファイルに保存し、転送の時にはそれを用いてオフスクリーン7上でビットマップ画像を作成し、それをプリンタ8に転送することになる。またビットマップ画像を作成する時にホストコンピュータ9のメモリが少ない場合は画像を分割して転送処理を行う。なお、描画命令をファイル保存する処理のことをスプール処理と呼び、そのファイルをスプールファイル6と呼ぶ。画像を分割して転送処理を行うことをバンド処理と呼び、分割された画像をバンドと呼ぶ。
【0018】
なお、色数カウンタ4は、画像中の色数をカウントし、色テーブル5は入力カラー画像データとインデックスを対応させて格納するテーブルである。
【0019】
又、スプールファイル6はハードディスク18上に構成される。また、オフスクリーン7、色数カウンター4、色テーブル5はRAM上に構成される。また、プリンタ8はカラーインクジェットプリンタである。
【0020】
図3は本実施例のプリンタドライバプログラム3により実現される処理のおおまかな流れ図である。図4は図3のスプール処理にあたる流れ図である。図5は図3の転送処理にあたる流れ図である。
【0021】
まず、プリンタドライバ3の制御手段を説明する。ステップS1でスプール処理を行う。即ち、アプリケーションプログラム1から描画命令を取得しスプールファイルに格納するとともに、色数のカウント及び色テーブルを生成する。次に、ステップS2で転送処理を行う。ここでは色数に応じた処理によって、オフスクリーン7上にスプールファイル6の描画命令に応じた画像データを展開、色処理し、プリンタに転送する。
【0022】
全頁の画像データに対して上述の処理を繰り返す(S3)。
【0023】
図4、図5を用いて、スプール処理(S1)及び転送処理(S2)を具体的に説明する。
【0024】
図4のS101は色数カウンタ4を初期化する。S102は描画の時に使用された色を示す画像データとインデックスを対応させて格納する色テーブル5を初期化する。転送処理の関係上256色分の色テーブル5を用意している。S103はスプールファイル6の初期化である。S104はアプリケーションプログラム1からの描画命令の取得である。ここで描画する色が指定されている。S105は指定された色がすでに色テーブル5に記録されているか否かのチェックである。記録されていればS108へ進み、されていなければS106へ進む。S106は色数カウンタ4のカウント処理である。S107はS104で指定された色の記録処理である。ただし色テーブル5を越える場合記録しない。S108は描画命令のスプール処理である。S109は描画終了のチェックである。1ページ分の描画が終了すればS110へ進み、終了してなければS104へ進む。S110は色数カウンタ4のスプールファイルへの保存処理であり、S111は色テーブル5のスプールファイル6への保存処理である。
【0025】
本実施例のスプール処理によれば、入力画像に応じた色テーブルを生成できる。
【0026】
図5のS201からS207は転送処理の初期化部分であり、S208からS213が実際の転送処理である。S201はスプールファイル6からの色数カウンタ取得処理である。これが描画の時に使われた色数となる。S202はスプールファイル6からの色テーブル取得処理である。
【0027】
S203からS207は使用された色数から最適な色再現が行えるオフスクリーン7を作成するための処理である。オフスクリーンとは表示画面には見えないが描画を行うことができるメモリ空間を意味する。S203は使用された色数が白と黒の2色かどうかのチェックである。これらの色しか使われてなければS204へ進み、1ビットのオフスクリーン7を作成する。
【0028】
S205は使用された色数が256色以下かどうかのチェックである。256色以下ならばS206へ進み、8ビットのオフスクリーン7を作成する。すなわち最大256色を表現することができるメモリ空間を作成することになる。この場合0番目から255番目の色に対して別々の色を設定することが可能であるが、この色として色テーブル5に記録した色を用いる。S207は使用された色数が256色を越える場合のステップである。この場合は32ビットのオフスクリーンを作成する。すなわちホストコンピュータの持つ最大色数を表現できるメモリ空間を作成する。
【0029】
S208は作成されたオフスクリーン7への描画命令に基づくスプール描画処理である。
【0030】
S208では、S204、S206もしくはS207によって生成された入力画像に応じた1画素当りの深さを有するオフスクリーン上にスプール描画処理を行う。
【0031】
即ち、32ビットのオフスクリーンを作成した時は描画命令によって指定されるR、G、B画像データをそのままオフスクリーン上に展開する。
【0032】
1ビットのオフスクリーンを作成した時は、入力画像が白黒2値画像であるので画像データを1ビットでオフスクリーン上に展開する。
【0033】
8ビットのオフスクリーンを作成した時は、画像データを色テーブルを用いてインデックスに変換し、該インデックスによってオフスクリーン上に展開する。
【0034】
S209はオフスクリーン7のチェックである。1ビットのオフスクリーン7なら白黒2値画像であるので色変換S210及び二値化S211を行う必要がないので、S212へ進む。
【0035】
S210はホストコンピュータ9のRGB色空間からプリンタ8のCMYK色空間への変換処理を行う。具体的には輝度濃度変換処理、マスキング処理及び黒生成処理を行う。
【0036】
S211はCMYKデータに対して二値化処理を行う。S212は二値化されたデータのプリンタへの転送処理である。S213はバンド処理のチェックである。全てのバンドの処理が終了するまでS208からS213を繰り返す。
【0037】
(実施例1の変形例)
次に本発明の他の実施例を示す。先の実施例ではページ毎に色数をカウントしていたが、これをバンド毎に行うことで、バンド単位で最適なオフスクリーン7を用意することができる。例えば1ページ中でも画像のある部分と白黒のテキストの部分が分けられていることが多い。このような場合バンド単位で最適なオフスクリーン7を用意することができればさらに効率の良い処理を行うことが可能になる。
【0038】
以上のように本実施例によれば、各頁ごともしくは各バンドごとに使用される色数に応じてオフスクリーンを作成するので、色数が少ない場合(S204、S206)は、所定のメモリ容量で通常処理(S207)に比べて1回の展開処理において多くの描画コマンドを描画展開することができる。
【0039】
各ページもしくは各バンドごとに使用された色数と実際の色を記録し、それにもっともふさわしいオフスクリーンの作成、色処理などを行うことで、メモリを有効に使用し、より高速に印字させることが可能になるものである。
【0040】
(実施例2)
図6は、本発明の実施例2のプリンタ制御に関わるホストコンピュータにおけるソフトウェアの構成を示しており、ホストコンピュータ9で用いられるアプリケーションプログラム1、OS(オペレーティングシステム)2、プリンタドライバ3と、プリンタ8の階層を示している。
【0041】
プリンタドライバ10はOS2の下位層に位置し、アプリケーションプログラム1からOS2を介して描画命令を受け取り、それをプリンタ8にわかる印刷命令に変換した後にプリンタ8に転送するものである。
【0042】
ここでプリンタ8はドットマトリクス方式によりビットマップ画像に対応した画像の印刷を行うプリンタであって、ビットマップの1ビットに対応する1ドット(ピクセル)の行単位で描画を行なうラスター系のプリンタとする。ラスター系のプリンタの場合、複雑な描画命令を持っていないため、プリンタドライバ3はアプリケーションプログラム1からの描画命令を一度スプールファイル6に保存し、転送の時にはそれを用いてオフスクリーン7上でビットマップ画像を作成し、そのデータをプリンタ8に転送することになる。カラー印刷の場合はRGBカラーの画像の描画命令に応じてオフスクリーン7上でR、G、Bそれぞれのビットマップ画像を形成し、その画像の1行毎のデータを後述の様に処理してCMYKカラーとモノクロの出力画像データを形成し、それをプリンタ8に転送してカラー印刷を行なわせる。
【0043】
なお、モノクロフラグ9は、後述のように出力画像の1行毎にそれがモノクロかあるいはカラーかを示すフラグである。
【0044】
また、モノクロフラグ9はRAM15に書き込まれ、必要に応じてハードディスク装置16に書き込まれたり読み込まれたりする。スプールファイル6はハードディスク装置16のディスクに書き込まれる。オフスクリーン7はRAM15上の所定エリアに形成される。
【0045】
次に上記構成においてアプリケーションプログラム1からの描画命令に応じてプリンタドライバ3がプリンタ8にカラー印刷を行なわせる場合の制御動作について図7〜図9により説明する。
【0046】
まず、図7はプリンタドライバ10の制御手順の概略を示している。図7に示すように、まずステップS1′でスプール処理を行なう。すなわち、アプリケーションプログラム1から描画命令を取得してスプールファイル6に書き込むが、その時に描画命令による出力すべき画像をチェックしてモノクロフラグ9を形成する。
【0047】
次に、ステップS2′で転送処理を行なう。ここでは、まずオフスクリーン7上にスプールファイル6の描画命令に応じたRGBの各カラーのビットマップ画像を描画した後、その画像データを処理して出力画像データを形成する。ここでビットマップ画像の行毎にモノクロフラグで示されるカラーかモノクロかに応じて異なる処理を行ない、CMYKカラーまたはモノクロの出力画像データを形成する。そして形成した行毎の出力画像データをプリンタ8に転送して印刷を行なわせる。
【0048】
このようにして1頁分のデータの転送、印刷が終了したら、ステップS3でアプリケーションプログラム1からの命令による全頁の印刷を終了したか否か判定し、終了していなければステップS1′、S2′の処理を繰返し、次の頁の画像の印刷を行なわせる。
【0049】
次に、図7のステップS1′のスプール処理とステップS2′の転送処理の詳細を図8、図9により説明する。
【0050】
まずスプール処理は図8の処理手順により以下のように行なわれる。
【0051】
ステップS401では、RAM15上にモノクロフラグの領域を1頁の行数分用意する。ここでいう行とはビットマップの1ビットに対応する1ドット(ピクセル)の高さの行である。もし360DPIのプリンタで頁長が11インチなら3960個のフラグの配列を用意する。
【0052】
ステップS402では、用意したモノクロフラグのデータを初期化する。ここで描画がなければ真っ白で印字することになるので、全フラグをモノクロとしておく。
【0053】
ステップS403では、スプールファイルを初期化する。
【0054】
ステップS404では、アプリケーションプログラムから描画命令を取得する。この描画命令には、画像の何行目から何行目までというどの領域がどの色で描かれるかという情報が含まれている。
【0055】
続いてステップS405〜S410は、本発明の特徴に関わる描画色チェックを行なうステップである。
【0056】
ステップS405では、変数lineに、描画命令により指定される描画領域の上端の座標、つまり1頁のビットマップにおいて上から何行目かという数値を設定する。
【0057】
ステップS406では、描画命令による出力すべき画像において変数line番目の行が描かれる色がモノクロかカラーかを判断し、モノクロならステップS407に進み、カラーならステップS408に進む。ここでいうモノクロとは真っ白と真っ黒だけで描かれた状態のことであり、カラーとは白黒以外の色を含む場合であることは勿論として、グレーの色が指定された場合もカラーとして扱う。
【0058】
ステップS407では、モノクロフラグの配列においてline番目のフラグをモノクロに設定する。
【0059】
ステップS408では、モノクロフラグの配列においてline番目のフラグをカラーに設定する。
【0060】
ステップS409では、次の行のフラグを設定するために変数lineを+1する。
【0061】
ステップS410では、変数lineが描画領域の下端の座標に達したか、すなわち描画領域分の全モノクロフラグの設定が終わったか否かをチェックする。描画領域分の全モノクロフラグの設定が終わっていればステップS411へ進み、まだ設定が終わってなければステップS206へ戻り、ステップS406〜S410の処理を繰り返す。
【0062】
ステップS411では、ステップS404で取得した描画命令をスプールファイルへ記録する。
【0063】
ステップS412では、アプリケーションプログラムからの1頁の描画命令の取得が終了したか否かをチェックする。そして終了していればステップS413へ進み、終了していなければステップS204へ戻り、ステップS404〜S412の処理を繰り返す。
【0064】
ステップS413では、設定されたモノクロフラグをスプールファイルに記録し、スプール処理を終了する。
【0065】
次に、転送処理は図5の処理手順により以下のように行なわれる。
【0066】
本実施例におけるスプール処理では行毎にカラーかモノクロかを示すフラグを設定する。
【0067】
図9のステップS301では、RAM15上にRGB3色分のオフスクリーンを作成する。
【0068】
ステップS302では、そのオフスクリーンにスプールファイルに記録されている描画命令に応じたRGBカラーの画像を描画する。
【0069】
ステップS303では、スプールファイルからモノクロフラグを取得する。
【0070】
ステップS304から実際の転送処理であり、まず変数lineを初期化して0とする。
【0071】
ステップS305では、line番目のモノクロフラグをチェックし、カラーならステップS306〜S308へ進み、モノクロならステップS309、S310へ進む。
【0072】
カラーの場合、まずステップS306においてline番目の行の画像をRGBカラーからCMYKカラーに変換する。
【0073】
次に、ステップS307において、変換したCMYKの各色の画像に疑似階調処理を施して二値データに変換する。疑似階調処理とは誤差拡散処理やディザ処理のことである。このような疑似階調処理の他に色補正処理等を行なってもよい。
【0074】
次に、ステップS308において、二値化されたCMYKデータを出力画像データとしてプリンタ8へ転送して1行の印刷を行なわせる。
【0075】
一方、モノクロの場合、ステップS309、S310で本発明の特徴に関わるモノクロ画像処理を行なう。まずステップS309において、変数line番目の行のイメージを単純二値化処理で真っ黒ないし真っ白のモノクロの二値データに変換する。単純二値化処理とは、ある閾値で0か1かを決める二値化方法である。たとえば、その行のあるビットがRGBいずれも「1」なら白で「0」、RGBいずれも「0」なら黒で「1」となる。
【0076】
次に、ステップS310において、作成されたモノクロの二値データを出力画像データとしてプリンタへ転送して1行の印刷を行なわせる。
【0077】
ステップS308またはS310に続くステップS311では、次の行の処理を行うため変数lineを+1する。
【0078】
ステップS312では、画像の全行を印刷したかどうかをチェックし、全行印刷していないならステップS305へ戻り、ステップS305〜S312の処理を繰返し、全行の印刷が終了したら転送処理を終了する。
【0079】
以上のようにして、スプール処理では、アプリケーションプログラムから取得した描画命令による出力すべき画像について行毎にモノクロかカラーかをチェックしてモノクロフラグを設定し、スプールファイルへ描画命令を記録するとともにモノクロフラグを記録する。また、転送処理では、オフスクリーンに描画命令に応じたRGBカラーのビットマップ画像を描画した後、画像の行毎にモノクロフラグによりカラーかモノクロかをチェックし、カラーならばRGBカラーからCMYKカラーへの色変換処理と疑似階調処理または色補正処理などを行ない、モノクロならば単純二値化処理のみ行なって出力画像データを形成してプリンタに出力し、印刷を行なわせる。
【0080】
すなわち、出力画像データの形成において、出力画像のカラー領域については従来と同様に色変換処理と疑似階調処理または色補正処理等を行なうが、モノクロ領域については、色変換処理と疑似階調処理または色補正処理等を省いて簡単な単純二値化処理のみ行なうので、出力画像データを形成する処理を効率良く行なえ、処理速度を向上することができる。
【0081】
(実施例2の変形例)
上述した実施例ではカラープリンタにカラー印刷を行わせる場合を説明したが、モノクロプリンタにグレースケール印刷を行わせる場合も同様の手法を適用できる。
【0082】
この場合、スプール処理では、先述の図8のステップS401〜S405の処理を行なった後、ステップS406において、描画命令による出力すべき画像において変数line番目の行の描画色がモノクロ(真っ黒ないし真っ白)かあるいはグレーかをチェックし、その結果によりステップS407、S408でモノクロフラグをモノクロかグレーかに設定する。そして後はステップS409〜S413の処理を同様に行なう。
【0083】
また、転送処理では、図9のステップS301〜S304の処理を同様に行なった後、ステップS305でline番目のモノクロフラグをチェックし、モノクロならステップS309で同様にline番目の行について単純二値化処理を行なってモノクロの出力画像データを形成する。またグレーならステップS306でline番目の行についてRGBからグレーへの色変換処理を行ない、ステップS307でグレーの疑似階調処理または色補正処理等を行なって出力画像データとしてグレーの二値データを形成する。その後のステップS308、S310〜S312の処理は先述と同様である。
【0084】
このような実施例によれば、出力すべき画像のグレーの行についてはグレーへの色変換処理と疑似階調処理または色補正処理等を行なうが、モノクロの行については簡単な単純二値化処理しか行なわないので、従来のグレースケール印刷の場合のように画像の全領域についてグレーへの色変換処理と疑似階調処理または色補正処理等を行なうのに比べて、出力画像データを形成する処理を効率良く行なえ、処理速度を向上することができる。
【0085】
なお、スプール処理において、描画命令により描画が行われない行について、描画が行われないことを示す情報をスプールファイルに記録し、転送処理のときにその情報を参照することで、描画が行なわれない領域については単純二値化処理すら省くことができるようになる。
【0086】
以上の実施例において、カラー印刷の場合、描画命令によるカラーがRGBカラー、印刷するカラーがCMYKカラーとしてRGBからCMYKへの色変換処理を行なうものとしたが、描画命令によるカラーがRGB以外のカラーで印刷のカラーもCMYK以外のカラーである場合も考えられ、その場合、異なる色変換処理を行なうことになる。その場合も上述のモノクロフラグにより画像データの処理方法を異ならせる本発明方法が有効である。
【0087】
また、上記実施例では1行の領域毎に、描画色を調べ、その結果により異なる処理で出力データを形成したが、複数行の領域毎またはページプリンタ等で他の所定の領域毎、例えばn>2としてn分の1ページの領域毎に、描画色を調べ、その結果により異なる処理で出力画像データを形成するようにしても良い。
【0088】
以上の説明から明らかなように、本発明のプリンタ制御方法およびプリンタ制御装置によれば、カラープリンタに対し、描画命令に応じてカラー印刷させる出力画像データを形成する場合、出力すべき画像の所定の領域毎に描画色がカラーかモノクロかを調べ、描画色がカラーの領域についてはカラーに関わる所定処理を行なって出力画像データを形成するが、モノクロの領域については簡単な単純二値化処理を行なって出力画像データを形成するので、出力画像データの形成処理を効率良く高速に行なうことができる。
【0089】
またモノクロプリンタに対し、描画命令に応じてグレースケール印刷させる出力画像データを形成する場合、出力すべき画像の所定の領域毎に描画色がグレーかモノクロかを調べ、描画色がグレーの領域についてはグレーに係る所定の処理を行なって出力画像データを形成するが、モノクロの領域については簡単な単純二値化処理を行なって出力画像データを形成するので、同様に出力画像データの形成処理を効率良く高速に行なうことができるという優れた効果が得られる。
【0090】
(実施例3)
実施例1では入力画像の特性に適したオフスクリーンを生成する技術を示し、実施例2ではオフスクリーンに展開された画像の特性に適した色変換処理を行う技術を示した。
【0091】
実施例3では、実施例1及び実施例2に記載されている技術を効率良く組み合わせた場合の処理を示す。
【0092】
実施例3のプリンタ制御に関わるホストコンピュータにおけるソフトウェアの構成を図10に示す。
【0093】
ホストコンピュータ9はアプリケーションプログラム1、OS2、スプールファイル6、オフスクリーン7、色数カウンタ4、色テーブル5、モノクロフラグ9、描画領域11、及びドライバプログラム12により構成される。
【0094】
以下、該構成に基づく実施例3の処理を図11乃至図20を用いて説明する。
【0095】
図11にプリンタドライバの制御手順の概略を示す。
【0096】
図12にS1″におけるスプール処理の流れを示す。
【0097】
S1000において、図13に示すように、色数カウンタ(S1100)、色テーブル(S1200)、モノクログラフ(S1300、S1400)、描画領域(S1500、S1600)及びスプールファイル(S1700)を初期化する。
【0098】
ここで、描画領域の初期化処理は、描画命令に基づく描画領域を行毎に判定するために、描画左座標列及び描画右座標列をページの行数分用意する(S1500)とともに、各描画左座標列及び各描画右座標列を取り得る最大値に設定する(S1600)。
【0099】
なお、本実施例では、座標列は15ビット及び正負を示す1ビットの計16ビットで示す。したがって、座標列は−32767〜+32768まで示すことができる。
【0100】
S2000は入力した描画コマンド及び色指定コマンドで構成される画像の各オブジェクトを示す描画命令を順次取得する。
【0101】
S3000は、実施例1(Fig4 S105〜S107)に相当する、図14に示される色カウント処理を行う。即ち、描画命令を解析し、色数をカウントする(S3200)とともに、動的に所定数まで設定可能な色テーブルを作成する。
【0102】
S4000は(初期化処理で用意された初期値としてモノクロが設定されている)モノクロフラグ配列を用いて、実施例2(Fig8 S206〜S210)に相当する図15に示されるモノクロフラグ処理を行う。
【0103】
S5000は描画命令を解析し、行毎に描画領域を判定する描画領域記録処理を行う。
【0104】
図16に描画領域記録処理の流れを具体的に示す。描画領域記録処理は他の処理と同様に描画命令を解析し、該描画命令に係る各行毎に描画領域を設定する。
【0105】
S5100は描画命令で示されるオブジェクト画像の上座標をlineに設定する。S5200は描画命令を解析した結果に基づく、所定の行における左座標が予め設定されている所定の行における描画左座標より小さいか否かを判定する。
【0106】
S5100において小さいと判定された場合はS5300で描画左座標を更新する。
【0107】
S5400は同様に所定の行における右座標が予め設定されている所定の行における描画右座標より大きいか否かを判定する。
【0108】
S5400において大きいと判定された場合はS5500で描画右座標を更新する。
【0109】
S5600は設定する行を変える。以上の処理を描画命令に係る描画領域の全ての行に対して行う(S5700)。
【0110】
S6000は該処理を行った描画命令をスプールファイル6に格納する。
【0111】
S7000は上述の各処理を全ての描画命令に対して繰り返す様に制御する。
【0112】
S8000は、図17に示す終了処理を行う。即ち、色数(S8100)、色テーブル(S8200)、モノクロフラグ(S8300)及び描画領域(S8400)をスプールファイル6に格納する。
【0113】
スプール処理において、色カウント処理(S3000)、モノクロフラグ処理(S4000)及び描画領域記録処理(S5000)は描画命令ごとに順次処理していく。
【0114】
本実施例のように該入力画像の特性半別処理を描画命令解析によって行うことにより、高速に判別することができる。
【0115】
図18にS2″における転送処理の流れを示す。
【0116】
S9000、S9100、S9200、S9300において、スプールファイル6から、スプール処理で設定された色数、色テーブル、モノクロフラグ配列、描画領域(描画左座標配列及び描画右座標配列)を取得する。
【0117】
S9400は、画像がモノクロ画像かカラー画像のいずれかかを色数に基づき判定する。
【0118】
カラー画像の場合はS9500でカラー画像印刷を行う。一方、モノクロ画像の場合はS9600でモノクロ画像印刷を行う。
【0119】
カラー画像印刷及びモノクロ画像印刷に係る処理を図19及び図20を用いて説明する。
【0120】
まず、カラー画像印刷の処理を説明する。
【0121】
カラー画像の色数に応じたオフスクリーンを作成するために実施例1におけるオフスクリーン作成処理(図5 S205〜S208)に相当する処理を行う(S9501〜S9505)。
【0122】
なお、S9504はlineの初期値を0に設定している。
【0123】
S9506はオフスクリーン上に展開された展開画像の所定の行における描画左座標と描画右座標を比較することにより該所定の行に描画領域が存在するか否かを判定する。
【0124】
即ち、描画左座標が描画右座標より大きいか否かを判定する。判定結果が小さい場合は、描画領域が存在すると判定する。
【0125】
実施例2における展開画像をプリンタに送信する二値化データに変換するための処理(図9 S305〜S310)に相当する処理を行う(S9507〜S9509)。
【0126】
なお、カラー画像印刷処理で行われる所定領域対象カラー画像処理(S9508)と、所定領域対象白黒画像処理(S9510)、更に、モノクロ画像印刷処理の合計3モードにおける処理結果は、白や黒において同一の結果になるように各処理のパラメータが設定されている。
【0127】
即ち、所定領域対象カラー画像処理(S9508)で行われるマスキング処理及び墨入れ処理のパラメータを調整することにより他のモードの処理結果と整合をとっている。
【0128】
本実施例では具体的に黒を示す画像データに単しては黒のみで画像形成が行われるように設定されている。
【0129】
なお、本発明はこれに限らず3モードにおいて黒及び/もしくは白において整合がとれていれば構わない。
【0130】
以上の処理を全行に対して繰り返し行う(S9512、S9513)。
【0131】
次に、モノクロ画像印刷の処理を図20を用いて説明する。
【0132】
入力画像がモノクロ画像であるので1ビットのオフスクリーンを作成する(S9601)。
【0133】
lineの初期値を0に設定する(S9602)。
【0134】
作成されたオフスクリーンに描画命令に基づき画像を展開する(S9603)。
【0135】
行毎に描画領域があるか否かを判定し(S9604)、描画領域が存在する場合は、描画領域に係るビットマップをプリンタに送信する(S9605)。
【0136】
以上の行毎のモノクロ画像印刷処理を全行に対して行う(S9606、S9607)。
【0137】
なお、上記各実施例においては、プリンタドライバの処理(ホストコンピュータの処理)で説明したが、プリンタ本体において形成された出力画像データに基づいて画像を印刷する処理を行なうコントローラの制御にも上記の本発明に関わる構成を適用することができる。
【0138】
また、多値データに基づき画像を形成する画像形成装置のプリンタドライバに本発明を適用しても構わない。
【0139】
また、画像形成装置内のコントローラに本発明を適用しても構わない。
【0140】
また、本発明を達成するソフトウェアのプログラムを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置が記憶媒体に格納されたプログラムを読出し実行することによって、本発明が達成される場合にも適用できることは言うまでもない。プログラムを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0141】
【発明の効果】
本願請求項1記載の発明によれば、所定領域ごとにカラーか否かを判別し画像処理することにより効率良く画像処理することができるとともに、画像処理モードにかかわらず良好な画像処理結果が得ることができる。
【0143】
本願請求項3記載の発明によれば、バンド毎に描画命令から色数を判定することにより高速に色数を識別できるとともに、判定された色数に応じて効率的にオフスクリーン上に画像を描画することができる。
【図面の簡単な説明】
【図1】ハードウェア構成の1例を示す図。
【図2】実施例1に係るプリンタドライバプログラムの階層例を示す図。
【図3】実施例1に係る印刷処理の流れの1例を示す図。
【図4】実施例1に係るスプール処理の流れの1例を示す図。
【図5】実施例1に係る転送処理の流れの1例を示す図。
【図6】実施例2に係るプリンタドライバプログラムの階層例を示す図。
【図7】実施例2に係る印刷処理の流れの1例を示す図。
【図8】実施例2に係るスプール処理の流れの1例を示す図。
【図9】実施例2に係る転送処理の流れの1例を示す図。
【図10】実施例3に係るプリンタドライバプログラムの階層例を示す図。
【図11】実施例3に係る印刷処理の流れの1例を示す図。
【図12】実施例3に係るスプール処理の流れの1例を示す図。
【図13】実施例3に係る初期化処理の流れの1例を示す図。
【図14】実施例3に係る色カウント処理の流れの1例を示す図。
【図15】実施例3に係るモノクロフラグ処理の流れの1例を示す図。
【図16】実施例3に係る描画領域記録処理の流れの1例を示す図。
【図17】実施例3に係る終了処理の流れの1例を示す図。
【図18】実施例3に係る転送処理の流れの1例を示す図。
【図19】実施例3に係るカラー画像の印刷処理の流れの1例を示す図。
【図20】実施例3に係るモノクロ画像の印刷処理の流れの1例を示す図。
Claims (7)
- 画像を示す画像データを入力する入力手段と、
前記画像に対して所定領域ごとにカラー画像データが含まれているか否かを判定する判定手段と、
前記判定結果に基づき前記所定領域ごとにカラー画像処理モードと白黒画像処理モードを選択する選択手段とを有し、
前記カラー画像処理モードと前記白黒画像処理モードは所定色に対する処理結果が整合することを特徴とする画像処理装置。 - 前記所定色は黒であることを特徴とする請求項1記載の画像処理装置。
- 対象画像を構成する描画命令を入力する入力手段と、
前記描画命令に基づき、バンド毎に前記対象画像の色数を判定する色数判定手段と、
前記描画命令に基づき、前記対象画像の色テーブルを作成する色テーブル作成手段と、
前記色数判定手段によって判定された色数に基づき、前記対象画像が白黒画像か、所定値以下の色数を有するカラー画像か、該所定値より大きい色数を有するカラー画像かを判定する判定手段と、
前記判定手段の判定結果に応じた1画素当たりのビット深さを有するオフスクリーンを、バンド毎に作成する作成手段と、
前記描画命令に基づき、前記作成されたオフスクリーン上に画像データを描画処理を行う描画処理手段とを有し、
前記判定手段が対象画像は白黒画像であると判定した場合は、前記作成手段は1ビットのオフスクリーンを作成し、前記描画処理手段は画像データを1ビットで該オフスクリーン上に描画し、
前記判定手段が対象画像は所定値以下の色数を有するカラー画像であると判定した場合は、前記作成手段は前記所定値に応じたビット深さを有するオフスクリーンを作成し、前記描画処理手段は画像データを前記色テーブルを用いてインデックスに変換し、該インデックスを用いて該オフスクリーン上に画像データを描画することを特徴とする画像処理装置。 - さらに、前記オフスクリーン上に描画処理された画像データに対して色変換処理を行う色変換処理手段を有し、
前記描画された画像データが1ビットである場合は前記色変換処理は行なわれないことを特徴とする請求項3記載の画像処理装置。 - 画像を示す画像データを入力する入力工程と、
前記画像に対して所定領域ごとにカラー画像データが含まれているか否かを判定する判定工程と、
前記判定結果に基づき前記所定領域ごとにカラー画像処理モードと白黒画像処理モードを選択する選択工程とを有し、
前記カラー画像処理モードと前記白黒画像処理モードは所定色に対する処理結果が整合することを特徴とする画像処理方法。 - 対象画像を構成する描画命令を入力する入力工程と、
前記描画命令に基づき、バンド毎に前記対象画像の色数を判定する色数判定工程と、
前記描画命令に基づき、前記対象画像の色テーブルを作成する色テーブル作成工程と、
前記色数判定工程によって判定された色数に基づき、前記対象画像が白黒画像か、所定値以下の色数を有するカラー画像か、該所定値より大きい色数を有するカラー画像かを判定する判定工程と、
前記判定工程の判定結果に応じた1画素当たりのビット深さを有するオフスクリーンを、バンド毎に作成する作成工程と、
前記描画命令に基づき、前記作成されたオフスクリーン上に画像データを描画処理を行う描画処理工程とを有し、
前記判定工程が対象画像は白黒画像であると判定した場合は、前記作成工程は1ビットのオフスクリーンを作成し、前記描画処理工程は画像データを1ビットで該オフスクリーン上に描画し、
前記判定工程が対象画像は所定値以下の色数を有するカラー画像であると判定した場合は、前記作成工程は前記所定値に応じたビット深さを有するオフスクリーンを作成し、前記描画処理工程は画像データを前記色テーブルを用いてインデックスに変換し、該インデックスを用いて該オフスクリーン上に画像データを描画することを特徴とする画像処理方法。 - さらに、前記オフスクリーン上に描画処理された画像データに対して色変換処理を行う色変換処理工程を有し、
前記描画された画像データが1ビットである場合は前記色変換処理は行なわれないことを特徴とする請求項6記載の画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25283795A JP3618850B2 (ja) | 1995-09-29 | 1995-09-29 | 画像処理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25283795A JP3618850B2 (ja) | 1995-09-29 | 1995-09-29 | 画像処理装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0997323A JPH0997323A (ja) | 1997-04-08 |
JP3618850B2 true JP3618850B2 (ja) | 2005-02-09 |
Family
ID=17242885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25283795A Expired - Fee Related JP3618850B2 (ja) | 1995-09-29 | 1995-09-29 | 画像処理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3618850B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4660128B2 (ja) * | 2004-06-28 | 2011-03-30 | エムケー精工株式会社 | 電光表示システム |
JP4661579B2 (ja) * | 2005-12-21 | 2011-03-30 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、及びプログラム |
-
1995
- 1995-09-29 JP JP25283795A patent/JP3618850B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0997323A (ja) | 1997-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2790285B2 (ja) | フル・ページ・グラフィックス画像表示データ圧縮方法および装置 | |
US5949427A (en) | Color image processing apparatus and method and color image output apparatus each using a color matching/processing method based on the color imput | |
US7164493B1 (en) | Image processing method, system and apparatus, and storage medium | |
JPH09270924A (ja) | 画像表現特性設定装置 | |
JPH11313213A (ja) | 情報処理装置、情報処理方法及び媒体 | |
US5852710A (en) | Apparatus and method for storing image data into memory | |
JP3142550B2 (ja) | 図形処理装置 | |
US5930385A (en) | Apparatus and method for image conversion | |
JP3619143B2 (ja) | 画像処理装置およびその方法 | |
US6738071B2 (en) | Dynamically anti-aliased graphics | |
JP3618850B2 (ja) | 画像処理装置及び方法 | |
JPH07288705A (ja) | カラー画像処理装置および方法 | |
JP2003158632A (ja) | 画像処理方法とこれを実行するための画像処理装置および画像処理システム | |
US6339654B1 (en) | Apparatus and method for efficiently processing color and monochrome images | |
JP3225506B2 (ja) | カラー印刷用印刷情報の情報処理方法 | |
JPH08212362A (ja) | 文字図形作成装置 | |
JP3389970B2 (ja) | 印刷処理装置 | |
JP3990743B2 (ja) | プリンタ制御方法およびプリンタ制御装置 | |
JPH03213367A (ja) | 印刷装置及びその制御方法 | |
JP3005021B2 (ja) | 文書処理方法及び装置 | |
JP4072403B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP3450961B2 (ja) | 印刷装置及びその制御方法 | |
JP3636891B2 (ja) | カラー画像出力方法 | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JPH0890839A (ja) | プリンタ制御方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121119 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |