JP2018142851A - 画像処理装置及び画像処理装置の制御方法、プログラム - Google Patents
画像処理装置及び画像処理装置の制御方法、プログラム Download PDFInfo
- Publication number
- JP2018142851A JP2018142851A JP2017035931A JP2017035931A JP2018142851A JP 2018142851 A JP2018142851 A JP 2018142851A JP 2017035931 A JP2017035931 A JP 2017035931A JP 2017035931 A JP2017035931 A JP 2017035931A JP 2018142851 A JP2018142851 A JP 2018142851A
- Authority
- JP
- Japan
- Prior art keywords
- density
- character
- lightness
- value
- image processing
- 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.)
- Pending
Links
Images
Landscapes
- Color, Gradation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】カラー画像をグレイスケール画像に変換して描画する場合に、重ねて描画される第1と第2のオブジェクトの濃度差を第1のオブジェクトの大きさまたは線の太さに基づいて調整することを目的とする。
【解決手段】画像処理装置は、カラー画像の印刷データから第1のオブジェクトと第1のオブジェクトに重ねて描画される第2のオブジェクトを抽出する抽出手段と、前記抽出手段により抽出された第1のオブジェクトと第2のオブジェクトの濃度差の最低値を、第2のオブジェクトの大きさ、または、第2のオブジェクトを構成する線の太さに基づいて決定する決定手段と、第1のオブジェクトと第2のオブジェクトの濃度差が決定手段により決められた濃度差の最低値よりも大きい単色の画像データを生成する生成手段と、を有する。
【選択図】図8
【解決手段】画像処理装置は、カラー画像の印刷データから第1のオブジェクトと第1のオブジェクトに重ねて描画される第2のオブジェクトを抽出する抽出手段と、前記抽出手段により抽出された第1のオブジェクトと第2のオブジェクトの濃度差の最低値を、第2のオブジェクトの大きさ、または、第2のオブジェクトを構成する線の太さに基づいて決定する決定手段と、第1のオブジェクトと第2のオブジェクトの濃度差が決定手段により決められた濃度差の最低値よりも大きい単色の画像データを生成する生成手段と、を有する。
【選択図】図8
Description
本発明は画像処理装置、及び画像処理装置の制御方法と画像処理システムに関し、特にカラー画像の印刷データをモノクロ画像の印刷データに変換する画像処理装置及び画像処理装置の制御方法、プログラムに関する。
画像処理装置ではカラー画像の印刷データをモノクロプリンタで印刷する場合、または、モノクロモードで印刷する場合がある。この場合、カラー画像の印刷データは、該プリンタ内において所定の変換式に基づいてグレイスケールのデータに変換される。
カラー画像では、色のついた図形の上に色のついた文字が重ねて描画される場合がある。たとえば、表計算ソフトで色のついたセルに文字を入力した場合や、色のついた図形の内側に文字を入力した場合などである。これらの画像データをモノクロ印刷する際には、画像処理装置がカラー画像の印刷データをグレイスケール画像の印刷データに変換する。
しかしながら、設定された文字色及び図形色、各色の濃度によっては、グレイスケールデータに変換をした際に背景となる図形の色と文字色が区別しにくくなってしまう場合がある。これは、グレイスケール変換後の図形の色と文字の色の濃度が接近してしまうためである。たとえば、カラー画像をグレイスケールに変換した後の画像が図16の1601のようになると、図形と文字のグレイ濃度が近く、ユーザが図形と文字を区別することが難しい。
特許文献1には、図形と文字が重なっている領域について、グレイスケールへ変換した後の図形のグレイ濃度と文字のグレイ濃度の差が所定の閾値未満の場合、当該差が所定値になるよう画像処理装置が補正することが記載されている。これにより図形と文字のグレイ濃度の差が所定の閾値と同じ値になり、ユーザが図形と文字を判別しやすくなる。
特許文献1では、グレイスケール変換後に背景となる図形と当該図形に重ねて描画される文字や図形のオブジェクトを区別するために必要な濃度差は、背景に重ねて描画される文字や図形の大きさや線の太さによらず一定である。
しかし、一般的に、グレイスケール画像で人間が背景の図形と当該図形に重ねて描画された線や文字を区別するために必要なグレイ濃度の差は文字の大きさや線の太さによって異なる。図16の1601と1603は、どちらも同じ濃度のグレイで描かれた矩形の中に矩形のグレイよりも少し薄い濃度のグレイで「あ」という文字を描画した図である。文字サイズの小さな1601は矩形と文字の区別がわかりにくい。一方で、文字サイズの大きい1603は矩形と文字を区別することができる。これは、大きい文字が小さい文字と比較して太い線で描画されるためである。
画像処理装置が、大きい文字サイズを基準に、背景となる図形と当該図形に重ねて描画される文字や線のオブジェクトを区別するために必要なグレイ濃度の差を決定する。すると、文字サイズの小さな文字や細い線で描かれた図形では、背景の図形のグレイ濃度と当該図形に重ねて描画される文字や図形のグレイ濃度の差が十分でなく、ユーザが背景と文字や図形を区別することができない。
一方で、小さい文字サイズを基準に背景と文字や図形を区別するために必要な濃度差を決定すると、大きな文字サイズの文字や太い線で描かれる図形についてグレイ濃度補正が不要な場合でも、文字や図形の濃度が補正されてしまう。
ここで、一度グレイ濃度を明度に置き換えて説明をする。グレイ濃度が濃いとは、明度が低いことを示しており、グレイ濃度が薄いとは、明度が高いことを示している。図17は明度が200のグレイの上に、同じ大きさの明度の異なる文字を描画した図である。それぞれの文字の明度は左から、195、190、180、170である。図17に描画されている文字は文字サイズが十分大きいため、濃度補正を行わなくてもユーザが背景の図形と文字を区別することができる。しかし、グレイ濃度の補正をするか否かを決める閾値が30に決められていると、上記の4つの文字はすべて同じ明度170のグレイで描画されてしまう。そのため、ユーザはこれら4つの文字がもともと異なる色の文字であったことを知ることができない。
本発明は、カラー画像をグレイスケール画像に変換して描画する場合に、重ねて描画される第1と第2のオブジェクトの濃度差を第1のオブジェクトの大きさまたは線の太さに基づいて調整することを目的とする。
本発明に記載の画像処理装置は、カラー画像の印刷データに基づく単色の画像データを生成することのできる画像処理装置であって、前記カラー画像の印刷データから第1のオブジェクトと前記第1のオブジェクトに重ねて描画される第2のオブジェクトを抽出する抽出手段と、前記抽出手段により抽出された第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値を、前記第2のオブジェクトの大きさ、または、前記第2のオブジェクトを構成する線の太さに基づいて決定する決定手段と、前記第1のオブジェクトと前記第2のオブジェクトの濃度差が前記決定手段により決められた濃度差の最低値よりも大きい前記単色の画像データを生成する生成手段と、を有することを特徴とする。
本発明は、カラー画像をグレイスケール画像に変換して描画する場合に、重ねて描画される第1と第2のオブジェクトの濃度差を第1のオブジェクトの大きさまたは線の太さに基づいて調整することができる。
(実施例)
以下、本発明を実施するための形態について図面を用いて説明する。
以下、本発明を実施するための形態について図面を用いて説明する。
<画像処理装置を含むプリントシステム構成>
本実施例では、画像処理装置として画像データをシートに印刷するプリンタを例に説明する。画像処理装置は上記の装置に限定されることなく、複数の機能を有する複合機等様々な装置を含むことは言うまでもない。
本実施例では、画像処理装置として画像データをシートに印刷するプリンタを例に説明する。画像処理装置は上記の装置に限定されることなく、複数の機能を有する複合機等様々な装置を含むことは言うまでもない。
本実施例の画像処理装置はカラー画像の印刷データに基づくモノクロプリントを可能とするレーザビームプリンタやインクジェットプリンタである。当該プリンタはホストコンピュータと接続され、プリントシステムを構成する。以下、該プリントシステムの構成について図2を参照して説明する。
はじめに、プリンタ214に接続されるホストコンピュータ200のハードウェア構成を説明する。
図2において、ホストコンピュータ200はプログラムROM203に格納されたアプリケーションプログラムをCPU201が実行することで起動される。そして、CPU201はフォントデータが格納されるフォントROM204や各種データが格納されるデータROM205からデータを読み出して処理を実行する。RAM202は、CPU201の主記憶領域やワークエリアとして利用される。
ホストコンピュータ200はキーボード(KB)211やディスプレイ(CRT:Cathode Ray Tube)212といった入出力機器や、外部メモリ213等とのインターフェイスを備える。これらのデバイスはそれぞれキーボードコントローラ(KBC)207、ディスプレイコントローラ(CRTC)208、メモリコントローラ(MC)209等のデバイスコントローラを介して、システムバス206経由でCPU201に制御される。
さらに、ホストコンピュータ200は、プリントコントローラ(PRCT)210を介してプリンタ214とのデータの入出力を行う。
次に、プリンタ214のハードウェア構成を説明する。
プリンタ214は、プログラムROM217または外部メモリ226に記憶された制御プログラムをCPU215が実行することで、システムバス220に接続される各デバイスを制御する。
また、CPU215は印刷部I/F(インターフェイス)222を介して接続される印刷部(プリンタエンジン)224に対して画像信号を出力する。また、プリンタ214はCPU215の主記憶領域や出力情報展開領域等として使用されるRAM216や、フォント情報を格納するフォントROM218、各種データ情報を格納するデータROM219を備える。
外部メモリ226はメモリコントローラ(MC)223を介して、フォントデータ、フォームデータ、エミュレーションプログラムなどをCPU215に供給する。操作部225はプリンタ214の動作環境を設定するためのスイッチやタッチパネル等の入力装置および、ディスプレイ等の表示装置で構成される。当該表示装置はRAM216に格納される設定データやユーザ情報を表示するために用いられ、入力装置はユーザによる操作を受け付けるために用いられる。
次に、図1を参照してプリンタ214の機能構成の概要を説明する。
まず、プリンタ214の機能構成は、入力された印刷データに基づきプリント用の画像データを生成するビデオコントローラ110と、該プリント用の画像データに基づき記録媒体上に可視像を形成するプリンタエンジン部109に大別される。
ビデオコントローラ110は、受信バッファ102、コマンド判別部103、コマンド解析部104、色調制御部105、コマンド実行部106、ページメモリ107で構成される。ビデオコントローラ110はCPU215により制御される。CPU215はROM217に格納されたプログラムを読み出してRAM216に展開し、実行することでビデオコントローラ110を制御する。
プリンタエンジン部109は、出力制御部108を介してビデオコントローラ110が生成した画像データを受信する。プリンタエンジン部109はCPU215により制御され、印刷部224の制御を行う。CPU215はROM217からプリンタエンジン部109の挙動が書かれたプログラムを呼び出しRAM216に展開して実行することでプリンタエンジン部109を制御する。
以下において、プリンタ214がホストコンピュータ200から印刷データを受信したときに行う処理を説明する。
インターフェイス101は、ホストコンピュータ200から送られる印刷データを、入力部221を介して受信して、当該印刷データを受信バッファ102へ送る。印刷データとはシートに印刷する画像データを示すPDL(Page Description Language)データである。
受信バッファ102は、インターフェイス101から受信した印刷データをRAM216に格納する。受信バッファ102は、文字オブジェクトとして文字パターンそのものや、受信した印刷データに含まれる文字の文字コード等をRAM216に格納する。また、受信バッファ102は受信した印刷データが図形オブジェクトであれば、その形状を示す輪郭座標点や色等の図形属性をRAM216に格納する。
コマンド判別部103は、受信バッファ102に格納された印刷データを読み出して、当該印刷データのPDLの種別を判別する。
その後、コマンド解析部104は、判別されたPDLの種別に応じて印刷データを解析する。プリンタ214はコマンド種ごとにコマンド解析部104を有する。本実施例は、その一つを例として示している。解析されたコマンドは、後段のコマンド実行部106が処理しやすい形式の中間データに変換される。
コマンド実行部106は、中間データに変換されたコマンドを実行して、画素データの集合であるラスタデータを生成し、生成したラスタデータをページメモリ107に格納する。
コマンド解析部104において解析されるコマンドが色属性を有すると判断された場合、色調制御部105はコマンド解析部104が生成した中間データ上の色情報を変更する色調制御を実行する。色調制御部105が行う処理については、図6、図8、図11を用いて後述する。
出力制御部108は上記ラスタデータに基づいてビデオ信号を作成し、当該ビデオ信号をレーザ光のオン/オフを制御するレーザ駆動信号としてプリンタエンジン部109に送出する。プリンタエンジン部109は、出力制御部108から受け取ったビデオ信号をレーザ駆動信号として、感光ドラムに照射されるレーザ光を制御する。感光ドラムは予め負の電荷に帯電されており、レーザ光が照射された領域の負電荷が消失する。したがって、感光ドラム上でレーザ光の照射された領域と、レーザ光が照射されていない領域で電位差が生じ、潜像が形成される。潜像が形成された感光ドラム上に正電荷を有するトナーを付着させることで、感光ドラム上に可視像が形成される。
なお、上述したように本実施例のプリンタ214はカラー画像の印刷データに基づくモノクロプリントが可能であればよい。従って、プリンタエンジン部109が備えるトナー色としては黒単色であっても良いし、複数色であっても良い。
<色処理概要>
以下、本実施例の適用されるプリンタ214が、色属性を有する印刷データ、例えばRGB形式のカラー画像の印刷データを処理する際に行う色処理を説明する。ここではプリンタ214がYMCKの4色の現像部を有するカラープリンタであるとする。プリンタ214は画像データの各画素の有するRGB形式の色情報をプリント用のYMCK形式に変換する。その後、プリンタ214はYMCKの各色1色(プレーン)で構成される画像データを生成する。従って、プリント用の画像データは、1ページ中の1画素につき、Yで構成される画像データ、Mで構成される画像データ、Cで構成される画像データ、Kで構成される画像データの4プレーン分の画像データを有する。そしてプリンタエンジン部109は、各色の現像剤(トナー)ごとにプリント処理を行う。
以下、本実施例の適用されるプリンタ214が、色属性を有する印刷データ、例えばRGB形式のカラー画像の印刷データを処理する際に行う色処理を説明する。ここではプリンタ214がYMCKの4色の現像部を有するカラープリンタであるとする。プリンタ214は画像データの各画素の有するRGB形式の色情報をプリント用のYMCK形式に変換する。その後、プリンタ214はYMCKの各色1色(プレーン)で構成される画像データを生成する。従って、プリント用の画像データは、1ページ中の1画素につき、Yで構成される画像データ、Mで構成される画像データ、Cで構成される画像データ、Kで構成される画像データの4プレーン分の画像データを有する。そしてプリンタエンジン部109は、各色の現像剤(トナー)ごとにプリント処理を行う。
一方、プリンタ214がモノクロ画像形成のみを可能とするモノクロプリンタであるとする。プリンタ214は黒色の現像部のみを有しており、プリンタ214はカラー画像データの各画素の有するRGB形式の色情報を所定の変換式に基づいてグレイスケールに変換する。黒色単色のトナーで形成されるグレイスケールの画像データは色の明暗を示す明度の情報で構成される。グレイスケールで表現されるデータは1ページに対して1プレーンの画像データで構成される。当該画像データの各画素は固有のグレイ濃度を表す濃度信号を有する。
なお、プリンタ214がカラープリンタであって、モノクロで印刷を行う設定がなされた場合、プリンタ214は上記モノクロプリンタと同様に、グレイスケール変換を伴う色処理を行う。
上記のように、カラー画像をモノクロ印刷する場合、ビデオコントローラ110は各画素の持つ濃度をプリンタエンジンにおける出力レベル(0〜255)に対応付けて、ビデオ信号として出力する。尚、モノクロプリンタは、カラープリンタと同様に多値記録を行う場合と、エンジン部がドットを打つか否かによる2値記録を行う場合とがある。プリンタ214は記録形式に応じて、グレイスケール形式の中間調データを多値画像または2値画像で出力する。
ホストコンピュータ200から受信した多値の印刷データを2値画像として出力する場合、プリンタ214は受信した多値画像を2値画像に変換する処理を行う。プリンタ214は2値化処理として、各画素に対して所定の閾値を設け、画素濃度と閾値との比較によって出力値を2分するディザ処理方法等の公知の方法を用いるとする。
ここで、本実施例にかかるプリンタ214がカラー画像をグレイスケール変換するときに行う文字濃度(Gray)修正処理について、模式図を用いて説明する。
図16は、四角い図形オブジェトに「あ」という文字オブジェクトが重ねて描画されているカラー画像をグレイスケール変換した後の模式図である。1601と1603は文字の明度を調整する前を示しており、1602と1604は本実施例に記載の明度補正処理(S609)を実行した後の図である。
本実施例では、カラー画像の印刷データをグレイスケールの印刷データに変換した後、重ねて描画される図形オブジェクトと文字オブジェクトの描画の明度の差を色調制御部105が求める。図形オブジェクトと文字オブジェクトのグレイの明度の差が閾値よりも小さければ、図形と文字のグレイの明度差が閾値以上になるよう色調制御部105が文字の明度の補正を行う。一方で、図形と文字のグレイの明度差が閾値以上であれば、色調制御部105は文字の明度の補正を行わない。
本実施例で色調制御部105は文字オブジェクトの大きさに基づいて上記の閾値を決定する。たとえば、図16(a)1601と(b)1603はどちらも明度が165の矩形の図形オブジェクトの上に明度が175の「あ」という文字オブジェクトを重ねて描画したものである。図16(a)の文字オブジェクトは10ポイントの文字サイズで描画されているため、図9に記載の文字サイズ明度差LUTより、最低でも図形と文字の明度差が20必要である。そこで色調制御部105は1601の図形と文字の明度差が20になるよう、文字の明度を高くする文字濃度(Gray)修正処理を実行する。文字濃度(Gray)修正処理を実行した後のグレイスケール画像が1602である。
一方、図16の(b)の文字オブジェクトは100ポイントの文字サイズで描画されている。図9の文字サイズ明度差LUTより文字サイズが100ポイントのとき、背景の図形と文字を区別するために必要な最低明度差は5である。図16(b)の図形と文字の明度差は10あるので、色調制御部105は文字濃度(Gray)修正処理を行わない。したがって、印刷されるグレイスケール画像1604は1603と同じ画像である。
本実施例におけるプリンタ214は、文字サイズによって文字のグレイ濃度の修正を行うか否かを決定する閾値を変更する。これによって、プリンタ214は文字サイズが小さい場合でも、図形と文字をユーザが区別しやすい画像を印刷することができる。また、文字サイズが大きい文字について、プリンタ214は上記の閾値を小さくする。これにより、カラー画像の状態で異なる色であった文字をグレイスケールに変換して印刷するときに、同じグレイ濃度で印刷がなされてしまうことを減らすことができる。
<モノクロプリント処理>
上述したように本実施例のプリンタ214はホストコンピュータ200からカラー画像の印刷データを受信して、該カラー画像の印刷データに基づくモノクロ印刷を行うことができる。以下、本実施例におけるプリンタ214が実行するカラー画像の印刷データに基づくモノクロ印刷処理を説明する。
上述したように本実施例のプリンタ214はホストコンピュータ200からカラー画像の印刷データを受信して、該カラー画像の印刷データに基づくモノクロ印刷を行うことができる。以下、本実施例におけるプリンタ214が実行するカラー画像の印刷データに基づくモノクロ印刷処理を説明する。
図3は、ホストコンピュータ200からプリンタ214にカラー画像の印刷データが送られ、プリンタエンジン部109によって記録媒体に可視像が形成されるまでのモノクロプリント動作の一連の処理を示すフローチャートである。本フローチャートに記載の処理を実行するためのプログラムはROM217に記憶されており、CPU215が当該プログラムを実行することで処理が実現される。
先ず、ビデオコントローラ110は、入力部221を介してホストコンピュータ200からカラー画像の印刷データを受け取り、RAM216に格納する(S301)。そしてビデオコントローラ110は、図4を用いて後述するデータ処理を行う(S302)。
ビデオコントローラ110がS302に記載の処理を完了したのち、出力制御部108はS302で生成されたラスタ画像をプリンタエンジン部109に対するビデオ信号に変換して出力する(S303)。
プリンタエンジン部109は受け取ったビデオ信号に基づいて記録媒体上に可視像を形成する(S304)。その後、プリンタエンジン部109は可視像が形成された記録媒体を排紙する(S305)。
ビデオコントローラ110は印刷終了命令をプリンタエンジン部109から受け取ったか否か、または印刷データが終了したか否かに基づいて印刷が終了したかを判断する(S306)。印刷が終了したと判断した場合、ビデオコントローラ110は印刷動作を終了する。印刷終了でなければ、ビデオコントローラ110はS301からS306の処理を繰り返す。
図4は、図3のS302でビデオコントローラ110が行うデータ処理の詳細を示すフローチャートである。
まず、コマンド解析部104は当該印刷データに含まれる文字描画コマンドの数を示す変数nを初期化する(S401)。変数nは、後述する描画処理(S408)において、コマンド解析部104が受信バッファ102から読み出したデータのうち、文字描画コマンドがいくつあったかを記録する変数である。変数nはRAM216に記憶されており、S401でコマンド解析部104が変数nを0にする。
次に、コマンド解析部104は当該印刷データに含まれる図形描画コマンドの数を示す変数mを初期化する(S402)。変数mは、後述する描画処理(S408)において、コマンド解析部104が受信バッファ102から読み出したデータのうち、図形描画コマンドがいくつあったかを示す変数である。変数mはRAM216に記憶されており、S402では、コマンド解析部104が変数mを0にする。
次に、コマンド判別部103は受信バッファ102に格納された印刷データからコマンドを読み出し、当該コマンドをコマンド解析部104に送る(S403)。S403でコマンド判別部103が読み出すコマンドとは、印刷データから図形オブジェクトや文字オブジェクトを抽出して描画することを指示するコマンドや、印刷設定や排紙方法を指示するためのコマンドである。
コマンド判別部103は印刷データに含まれるすべてのコマンドの読み出しを終了したか否かを判断する(S404)。印刷データには、ページの始まりと終わりを示すコマンドが含まれている。コマンド判別部103は、受信バッファ102から読み出したコマンドがページの終わりを示すコマンドであれば、後述のS405に処理を進める。一方、印刷データの読み出しの途中である場合、コマンド解析部104は後述のS406の処理を実行する。
印刷データの読み出し途中である場合、コマンド解析部104は、コマンド判別部103から受け取ったコマンドがページメモリ107へ文字/図形等の展開処理を伴う描画コマンドであるか否かを判定する(S406)。
コマンド判別部103から受け取ったコマンドが描画コマンドでない場合、コマンド解析部104は、中間データを作成してから処理をS403に戻す(S407)。描画コマンドでないコマンドは、たとえば、排紙に関するコマンドや、片面印刷や両面印刷等の設定に関するコマンドである。一方、コマンド判別部103から受け取ったコマンドが描画コマンドである場合、コマンド解析部104は図5で後述する描画処理を行ってから処理をS403に戻す(S408)。S403〜S408を行うことで、印刷データに含まれる文字オブジェクトや図形オブジェクトを抽出することができる。
コマンド判別部103が1ページ分の印刷データに含まれるすべてのコマンドを読み出したと判定した場合、コマンド解析部104と色調制御部105は図6で後述するグレイ変換処理を行う(S405)。S405において、色調制御部105は、カラー画像の印刷データを単色の印刷データへ変換する。
S405に記載のグレイ変換処理が完了した後、コマンド実行部106はコマンド解析部104が作成した中間データに基づいて、画素データの集合であるラスタデータの生成を行う。
図5は、図4のS408でコマンド解析部104が実行する描画処理の詳細を示すフローチャートである。本フローチャートに記載の処理はROM217に記憶されたプログラムをCPU215が実行することで実現される。
コマンド解析部104は、コマンド判別部103から受け取った描画コマンドが文字オブジェクトの描画コマンドであるか否かを判断する(S501)。
コマンド判別部103から受け取った描画コマンドが文字オブジェクトの描画コマンドである場合、コマンド解析部104はRAM216の文字色バッファに、当該文字の色を格納する(S502)。
コマンド解析部104は、当該文字オブジェクトの文字サイズをRAM216の文字サイズバッファに格納する(S503)。次に、コマンド解析部104は、当該文字オブジェクトのテキストボックスの位置を文字位置バッファに格納する(S504)。テキストボックスの位置は、当該文字がページのどこに描画されるかを示す情報である。S504では、コマンド解析部104が、文字を表示するテキストボックスのたとえば左上の座標をRAM216に格納する。文字の色は、たとえばコマンドに含まれているRGBの信号値である。
そして、コマンド解析部104は、RAM216に記憶されている変数nの値を現在の値より一つ増やした値に更新する(S505)。その後、コマンド解析部104はコマンド判別部103から受け取ったコマンドに対応する中間データを生成する(S511)。
S501においてコマンド判別部103から受け取った描画コマンドが文字描画コマンドでなかった場合、コマンド解析部104は、該描画コマンドが図形オブジェクトの描画コマンドであるか否かを判断する(S506)。
コマンド判別部103から受け取ったコマンドが図形オブジェクトの描画コマンドである場合、コマンド解析部104は、当該図形オブジェクトの色をRAM216の図形色バッファに格納する(S507)。その後、コマンド解析部104は当該図形オブジェクトの幅および大きさをRAM216の図形サイズバッファに格納する(S508)。そして、コマンド解析部104は当該図形オブジェクトの描画位置を図形位置バッファに格納する(S509)。
そして、コマンド解析部104は、RAM216に記憶されている変数mの値を現在の値より一つ増やした値に更新する(S510)。その後、コマンド解析部104はコマンド判別部103から受け取ったコマンドに対応する中間データを生成する(S511)。
一方、S506においてコマンド解析部104がコマンド判別部103から受け取ったコマンドが図形描画コマンドでなかった場合、コマンド解析部104は受信したコマンドに対応する中間データを生成する(S511)。S506で図形描画コマンドでないと判定されるコマンドとは、例えば、写真などの画像を描画するコマンドである。なお、S501とS506の処理はどちらが先に行われてもよく、また並行に処理されてもよい。
図6は、図4のステップS405に示すグレイ変換処理の詳細を示すフローチャートである。本フローチャートに記載の処理を実行するためのプログラムはROM217に格納されており、CPU215が当該プログラムを実行することで処理が実現される。
コマンド解析部104は、中間データ化された各コマンド群の中に色情報を有する描画コマンドがあるか否かを判定する(S601)。色情報を含む描画コマンドがある場合、コマンド解析部104はS602の処理を実行する。一方、色情報を含む描画コマンドがない場合、コマンド解析部104は、グレイ変換処理(S405)を終了し、コマンド実行部106は図4のS409に示す処理を実行する。
描画データのなかに色情報をもつ文字または図形の描画データがある場合、コマンド解析部104は、RAM216に格納されている印刷データ中の文字数を表す変数nの値を、文字の処理数の最終値としてRAM216に格納する(S602)。
コマンド解析部104は、RAM216に格納されている印刷データ中の図形の数を示す変数mの値を図形の処理数の最終値としてRAM216に格納する(S603)。
次に、色調制御部105は、色情報(RGB)を濃度情報(Gray)に変換するカラーグレイ変換LUTを外部メモリ226より取得する(S604)。ここでカラーグレイ変換LUTは、図7に示すテーブルであり、入力値にRGBの各信号値、出力値に濃度情報(Gray)をもつルックアップテーブル(LUT)である。図7に示すカラーグレイ変換LUTは、Rが50、Gが50、Bが100のとき、Grayの濃度が56であることを示している。
カラーグレイ変換LUTは例えば、均等な色情報(RGB)に対してNTSC方式を用いて濃度情報(Gray)を演算したものを出力値としてもっておいてもよい。
そして、色調制御部105は、文字オブジェクトの処理数を示す変数iを初期化する(S605)。
色調制御部105は、カラーグレイ変換LUTを用いて、i番目の文字オブジェクトの色情報(RGB)から文字濃度(Gray)を算出する。そして、色調制御部105は算出した文字濃度(Gray)をRAM216の文字濃度バッファに格納する(S606)。S606において算出された文字濃度(Gray)は、後述の説明でGray_bf_txtと称して説明する。
次に、色調制御部105は、図形オブジェクトの処理数を示す変数jを初期化する(S607)。
色調制御部105は、RAM216の図形色バッファからj番目の図形オブジェクトの色情報(RGB)を読み出す。そして、色調制御部105は、読み出した色情報(RGB)を図形濃度(Gray)に変換する。色調制御部105は、得られた図形濃度(Gray)をRAM216の図形濃度バッファに格納する(S608)。算出された図形濃度(Gray)は、後述の説明でGray_bf_backと記載する。
そして、色調制御部105は、図8を用いて後述する明度補正処理を実行する(S609)。色調制御部105は変数jが、S603でコマンド解析部104がRAM216に格納した図形の数を示すmの値と一致するかを判定する(S610)。変数jが印刷データに含まれる図形の数mと異なる場合、色調制御部105は変数jの値を一つ大きくして、処理をS608に戻す(S612)。
変数jが印刷データに含まれる画像の数mと同一であれば、色調制御部105は変数iが印刷データに含まれる文字の数nと同一かを判定する(S611)。変数iの値が印刷データに含まれる文字数nと同一でなければ、色調制御部105は変数iの値を一つ大きくして、処理をS606に戻す(S613)。
変数iが印刷データに含まれる文字数nと同一の場合、色調制御部105は本フローチャートに記載のグレイ変換処理を終了し、コマンド実行部106が図4のS409に記載の処理を行う。
図8は、本実施形態の特徴である図6のS609において色調制御部105が実行する明度補正処理の詳細を示すフローチャートである。本フローチャートに記載の処理はCPU215がROM217等に記憶されているプログラムを実行することで実現される。
色調制御部105は、i番目の文字とj番目の図形が重なっているかを判定する(S801)。S801では、図5の描画処理のS503とS504において取得した文字のサイズと位置、およびS508とS509において取得した図形のサイズと位置を比較し文字と図形が重なるか否かを判定する。文字の描画される領域が図形の描画される領域に全て覆われている場合、色調制御部105は文字と図形が重なると判定する。
色調制御部105が、文字と図形が重ならないと判断した場合、色調制御部105は本フローチャートに記載の処理を終了し、図6のS610に処理を進める。
色調制御部105が文字と図形が重なると判断した場合、色調制御部105は外部メモリ226から、図9に示す文字サイズ最低明度差LUTを取得する(S802)。
文字サイズ最低明度差LUTは予め外部メモリ226に格納されている一次元のテーブルである。インデックスxは、各行のデータを管理するための見出しとなる値である。文字サイズPt[x]は、文字オブジェクトのフォントサイズを示している。最低明度差(min_ΔL*[x])は、図形オブジェクトに文字サイズPt[x]の文字が重畳して描画される場合にユーザが図形と文字を区別するために必要な明度差の最低値である。
図9に示す文字サイズ最低明度差LUTより、たとえば、文字サイズが10ptの文字であれば、背景にある図形と文字の明度差が20あれば文字と背景とをユーザが区別することができることがわかる。図9より文字サイズが小さいほど、最低明度差(min_ΔL*[x])が大きく、文字サイズが大きいほど、最低明度差(min_ΔL*[x])が小さくなる。これは、文字サイズが小さいほど文字の面積が小さいまたは、文字を構成する線が細いために、図形と文字の明度差が大きくならないとユーザが図形と文字を区別できないためである。一方で、文字サイズの大きい文字は、文字の面積が大きい、また文字を構成する線の線幅が太いため図形と文字の濃度差が小さくてもユーザが文字を区別できるためである。
次に、色調制御部105はS802において取得した文字サイズ最低明度差LUTを用いて、i番目の文字の文字サイズにおいて必要な最低明度差(min_ΔL*[x])を求める(S803)。色調制御部105はS802で取得した最低明度差LUTを線形補間することでi番目の文字の文字サイズにおける最低明度差(min_ΔLUT*[x])を求める。
例えば文字サイズが5ptの場合、色調制御部105は入力文字サイズ(Ptinput)を5とする。色調制御部105はインデックス[x](0<x<N)をPt[x]<Ptinput<Pt[x+1]が成り立つように決定する。ここでは、Ptinputが5であるため、xは0、x+1は1である。
図9より文字サイズPt[0]が1ポイントである場合、最低明度差min_ΔL*[0]は30である。また、文字サイズPt[1]が10ポイントである場合、そのときの最低明度差min_ΔL*[1]は20である。色調制御部105は、上記の値を下記の式(1)に代入して、i番目の文字の最低明度差min_ΔL*[x]を求める。Ptinputが5ポイントの場合、最低明度差は25.6となる。
S803において、色調制御部105がi番目の文字について、ユーザが図形と文字を区別するために必要な明度差(最低明度差)を文字サイズに基づいて決定する。最低明度差は、後に説明する文字濃度(Grey)修正処理を色調制御部105が実行するか否かの閾値として用いられる。
次に、色調制御部105は外部メモリ226から、図10に示すグレイ明度変換LUTを取得する(S804)。グレイ明度変換LUTは、グレイ濃度を明度に変換するための明度変換テーブルである。インデックスyは各行のデータを管理するための見出しとなる値である。Gray(Gry[y])は、入力となるグレイスケール画像の濃度信号の値である。明度(L*[y])は、濃度信号(Gry[y])に対する出力となる明度を示している。
グレイ明度変換LUTは予め外部メモリ226に格納されているものとする。しかし、グレイ明度変換LUTは予め、複数の濃度信号(Gray)をもつ画像データをプリンタ214で印刷し、チャートを測色機で測色して取得した明度(L*)の値をグレイ明度変換LUTの明度(L*[y])としてもよい。
次に、色調制御部105はS804で取得したグレイ明度変換LUTを用いてi番目の文字の濃度を明度に変換する(S805)。色調制御部105は、S606で求めた文字濃度(Gray_bf_txt)から文字の明度(L*_txt)を求める。
例えば、文字濃度Gray_bf_txtが30の場合、色調制御部105は入力グレイデータ(Gryinput)を30とする。色調制御部105は、インデックス(y)(0<y<M)をGry[y]<Gryinput<Gry[y+1]が成り立つように決定する。ここでは、Gryinputが30であるため、yは1、y+1は2である。図10より、濃度信号Gry[1]は17であり、そのときの明度L*[1]は22である。濃度信号Gry[2]は34であり、そのときの明度L*[2]は25である。色調制御部105はこれらの値を下記の式(2)に代入することでi番目の文字の明度を求める。Gryinputが30の場合、明度は24.3である。
次に、色調制御部105はS804で取得したグレイ明度変換LUTを用いてj番目の図形の濃度を明度に変換する(S806)。色調制御部105は、S608で求めた図形濃度(Gray_bf_back)からj番目の図形の明度(L*_back)を求める。S806において色調制御部105が行う処理は、S805で行う処理と同様であるため、説明を省略する。
次に、色調制御部105はS805で求めた文字の明度(L*_txt)とS806で求めた図形の明度(L*_back)の差分の絶対値(ΔL*_abs)を下記式(3)により求める(S807)。
ΔL* abs=│L* txt−L* back ・・・式(3)
次に、色調制御部105はS807で求めた文字と図形の明度差の絶対値(ΔL*_abs)が、S803において取得した最低明度差(min_ΔL*)未満であるか否かを判断する(S808)。
次に、色調制御部105はS807で求めた文字と図形の明度差の絶対値(ΔL*_abs)が、S803において取得した最低明度差(min_ΔL*)未満であるか否かを判断する(S808)。
文字と図形の明度差の絶対値(ΔL*_abs)が最低明度差(min_ΔL*)未満である場合、色調制御部105は後述するS809の処理を実行する。一方、文字と図形の明度差の絶対値(ΔL*_abs)が最低明度差(min_ΔL*)以上の場合、色調制御部105は本フローチャートに記載の処理を終了してから、図6のS610の処理を実行する。
次に、文字と図形の明度差の絶対値(ΔL*_abs)が最低明度差(min_ΔL*)未満である場合、色調制御部105は後述する文字濃度(Gray)修正処理を実行する(S809)。色調制御部105はS809の処理を終了させた後、本フローチャートに記載の処理を終了して、図6のS610の処理を実行する。
次に、図11〜図15を用いて、図8のS809における文字濃度(Gray)修正処理について説明する。
はじめに、グレイ変換後の図形のグレイ明度が、文字のグレイ明度よりも大きい場合、すなわち図形が文字よりも薄いグレイで描画されている場合について図12と図13を用いて説明する。
図12は文字と図形の明度を模式的に表したものである。縦軸は明度(L*)を示している。lim_L*_maxは図10に示すグレイ明度変換LUTの明度L*[M]の最大値、lim_L*_minは図10に示すグレイ明度変換LUTの明度ΔL*[0]の最小値である。例えば、図10ではlim_L*_maxは70、lim_L*_minは20である。min_ΔL*はS803で求めた最低明度差min_ΔL*[x]、L*_txtは文字の明度、L*_backは図形の明度である。また、図中の白丸は図8のS809の文字濃度(Gray)修正処理後の文字の明度を示している。
図13は文字濃度(Gray)修正処理前後のグレイスケール画像を示している。1301、1303、1305、1307は文字濃度(Gray)修正処理前のグレイスケール画像であり、1302、1304、1306、1308は文字濃度(Gray)修正処理後のグレイスケール画像である。また図13(A)〜(D)はそれぞれ、図12の(A)〜(D)に対応している。
図12(A)は図形より文字の明度が低く、図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値がlim_L*_min以上の場合を示している。この場合、色調制御部105は文字の明度(L*_txt)を図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値(図中の白丸)に補正する。図12(A)では、色調制御部105は文字の明度を下げる処理を実行する。すなわち、図13(A)の1301および1302に示すように、文字の濃度が濃くなるよう文字のグレイ濃度が調整される。
図12(B)は図形より文字の明度が低く、図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値がlim_L*_min未満の場合である。図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_max以下であれば、色調制御部105は文字の明度(L*_txt)を図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値に補正する。すなわち図13(B)の1303、1304に示すように、文字の濃度が薄くなるよう文字のグレイ濃度が調整される。
図12(C)(D)は図形より文字の方の明度が低く、図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値がlim_L*_minよりも小さい場合である。さらに図12(C)(D)は、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_maxよりも大きくなってしまう場合である。この時、色調制御部105は、lim_L*_maxと図形の明度の差の絶対値と、lim_L*_minと図形の明度の差の絶対値を比較する。lim_L*_maxと図形の明度の差の絶対値がlim_L*_minと図形の明度の差の絶対値以上であれば、色調制御部105は文字の明度をlim_L*_maxに補正する。すなわち、図13(C)のように文字色がグレイ変換LUTの明度(L*[y])の最大値に補正され、文字のグレイ濃度が薄くなるよう調整される。lim_L*_maxと図形の明度の差の絶対値がlim_L*_minと図形の明度の差の絶対値未満の場合、色調制御部105は文字の明度をlim_L*_minに補正する。すなわち、図13(D)のように文字色がグレイ変換LUTの明度(L*[y])の最小値に補正され、文字の濃度が濃くなるよう調整される。
次に、グレイ変換後の図形のグレイ明度が、文字のグレイ明度よりも小さい場合、すなわち図形が文字よりも濃いグレイで描画されている場合について図14と図15を用いて説明する。
図14は文字と図形の明度を模式的に表したものである。各符号は図12と同様であるため説明を省略する。
図15は文字濃度(Gray)修正処理前後のグレイスケール画像を示している。1501、1503、1505、1507は文字濃度(Gray)修正処理前のグレイスケール画像であり、1502、1504、1506、1508は文字濃度(Gray)修正処理後のグレイスケール画像である。また図14(A)〜(D)はそれぞれ、図15の(A)〜(D)に対応している。
図14(A)は、文字の明度が図形の明度よりも高く、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_max以下の場合である。色調制御部105は文字の明度(L*_txt)を図形の明度(L*_back)と最低明度差(min_ΔL*)を加えた値に補正する。すなわち、色調制御部105は図15(A)に示すように、文字の濃度が薄くなるよう文字濃度を補正する。
図14(B)は、文字の明度が図形の明度よりも高く、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_maxよりも大きい場合である。このとき、図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値がlim_L*_min以上であれば、文字の明度(L*_txt)が図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値に補正される。すなわち、色調制御部105は図15(B)に示すように、文字の濃度を濃くする補正を行う。
図14(C)(D)は図形より文字の明度が高く、図形の明度(L*_back)から最低明度差(min_ΔL*)を差し引いた値がlim_L*_minよりも小さい場合である。さらに図14(C)(D)は、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_maxを超えてしまう場合である。この時、色調制御部105は、lim_L*_maxと図形の明度の差の絶対値と、lim_L*_minと図形の明度の差の絶対値を比較する。lim_L*_maxと図形の明度の差の絶対値がlim_L*_minと図形の明度(L*_back)の差の絶対値以上であれば、色調制御部105は文字の明度をlim_L*_maxに補正する。すなわち、色調制御部105は図15(C)のように文字色をグレイ変換LUTの明度(L*[y])の最大値に補正して、文字のグレイ濃度を薄くする。lim_L*_maxと図形の明度の差の絶対値がlim_L*_minと図形の明度の差の絶対値未満であれば、色調制御部105は文字の明度(L*_txt)をlim_L*_minに補正する。すなわち、色調制御部105は図15(D)のように文字色をグレイ変換LUTの明度(L*[y])の最小値に補正して、文字の濃度を濃くする。
図11のフローチャートを利用し、図8のS809に記載の文字濃度(Gray)修正処理の詳細を説明する。本フローチャートに記載の処理を実行するためのプログラムはROM217に記憶されており、CPU215が当該プログラムを読み出して実行することで本フローチャートに記載の処理が実現される。
まず、色調制御部105は図8のS804で取得したグレイ明度変換LUTを参照し、インデックスが0の明度の値を明度の下限値(lim_L*_min)に設定する。また、色調制御部105はグレイ明度変換LUTのインデックスが最も大きい明度の値を明度の上限値(lim_L*_max)に設定する(S1101)。例えば、色調制御部105は図10のグレイ明度変換LUTを参照して、明度の下限値(lim_L*_min)を20、明度の上限値(lim_L*_max)を70に設定する。
次に、色調制御部105は図8のS806において求めた図形の明度(L*_back)が図8のS805において求めた文字の明度(L*_txt)以上であるか否かを判断する(S1102)。図形の明度(L*_back)が文字の明度(L*_txt)以上である場合、色調制御部105は後述するS1103の処理を実行する。
一方、図形の明度(L*_back)が文字の明度(L*_txt)未満である場合、色調制御部105は後述するS1108の処理を実行する。
文字の明度(L*_txt)が図形の明度(L*_back)未満である場合、色調制御部105は図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値が明度の下限値(lim_L*_min)以上であるかを判断する(S1103)。ここで図形の明度(L*_back)は、図8のS806で色調制御部105が求めたものである。また、最低明度差(min_ΔL*)は図8のS803で色調制御部105が求めたものである。
図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値がlim_L*_min以上の場合、色調制御部105は文字の明度(L*_txt)を図形の明度から最低明度差を引いた値に補正する(S1114)。S1114の処理は、図12(A)、図13(A)に対応する処理である。
図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値がlim_L*_min未満である場合、色調制御部105は以下の処理を行う。色調制御部105は図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_ΔL*_max以下であるか否かを判断する(S1104)。
図形の明度(L*_back)と最低明度差(min_ΔL*)の合計値がlim_ΔL*_maxより大きい場合、色調制御部105は後述するS1105の処理を実行する。
一方、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_ΔL*_max以下の場合、色調制御部105は以下の処理を実行する。色調制御部105は、文字の明度(L*_txt)を図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値に補正する(S1112)。S1112の処理は図12(B)、図13(B)に対応する。
次に、S1104において、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_maxよりも大きい場合、色調制御部105は以下の処理を実行する。
色調制御部105は、明度の上限値(lim_L*_max)から図形の明度(L*_back)を引いた値の絶対値(tmp_max)をもとめる。また、色調制御部105は図形の明度(L*_back)から明度の下限値(lim_L*_min)を引いた値の絶対値(tmp_min)を求める。そして、色調制御部105はtmp_maxとtmp_minの値を比較し、tmp_maxがtmp_min以上であるかを判定する(S1105)。
tmp_maxがtmp_min以上であるの場合、色調制御部105は、文字の明度(L*_txt)をlim_L*_maxに補正する(S1106)。S1106の処理は図12(C)、図13(C)に対応する。
tmp_maxがtmp_min未満であるの場合、色調制御部105は、文字の明度(L*_txt)をlim_L*_minに補正をする(S1113)。S1113の処理は図12(D)、図13(D)に対応する。
S1106、S1112、S1113、S1114のいずれかの処理を実行したのち、色調制御部105は、補正された文字の明度をグレイ濃度に変換する(S1107)。S1107で、色調制御部105は、図10に示すグレイ明度変換LUTを用いて線形補間を行い、文字の明度をグレイ濃度に変換する。そして、色調制御部105は文字のグレイ濃度をRAM216の文字濃度バッファに記憶する。
S1102において図形の明度(L*_back)が文字の明度(L*_txt)未満であった時の処理を以下に述べる。色調制御部105は、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_max以下かを判断する(S1108)。図形の明度に最低明度差を加えた値がlim_ΔL*_max以下の場合、色調制御部105は、以下の処理を実行する。色調制御部105は、文字の明度(L*_txt)を図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値に補正する(S1110)。S1110の処理は図14(A)、図15(A)に対応する。
一方、図形の明度(L*_back)に最低明度差(min_ΔL*)を加えた値がlim_L*_maxよりも大きい場合、色調制御部105は、ステップS1109の処理を実行する。色調制御部105は、図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値がlim_L*_min以上であるかを判定する(S1109)。
図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値が、lim_L*_min以上である場合、色調制御部105は以下の処理を実行する。色調制御部105は文字の明度(L*_txt)を図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値に補正する(S1111)。S1111に記載の処理は図14(D)、図15(D)に対応する。
S1109において、図形の明度(L*_back)から最低明度差(min_ΔL*)を引いた値がlim_L*_min未満である場合、色調制御部105はS1105以下の処理を実行する。S1105以下の処理は図14(C)(D)、図15(C)(D)に対応する。以降の処理は図形の明度(L*_back)が文字の明度(L*_txt)よりも高い場合と同様であるため説明を省略する。
図11のS1101で、色調制御部105は明度の最大値(L*_max)と明度の最小値(L*_min)をグレイ明度変換LUTに基づいて設定した。S1101において、色調制御部105はグレイ明度変換LUTを参照することなく、予め決められた明度の最大値lim_L*_maxと明度の最小値lim_L*_minを用いることとしてもよい。
説明したように本実施形態によれば、重ねて描画される文字と図形について、文字サイズに応じて最低明度差を決定し、文字と図形の明度差がそれ以上になるよう文字の濃度を調整することができる。すなわち、重ねて描画される単色の図形と文字について、文字サイズに応じて図形と文字の最低濃度差を決定し、文字と図形の濃度差が決定した最低濃度差以上になるよう文字の濃度を調整する。これにより、どのような文字サイズであってもユーザが背景と文字とが判別でき、かつカラー画像の状態で異なる色であらわされていた文字と文字の色が同じグレイであらわされてしまうのを抑制することができる。
また、本実施例では、文字を描画する色の明度L*_txtと図形を描画する色の明度L*_backを最低明度差min_ΔL*だけ離すことができる。また、図形の明度L*_backから最低明度差min_ΔL*だけ離れた明度が、プリンタ214の描画できる明度の色でない場合、色調制御部105は図形の明度と文字の明度が最大限離れるように文字の明度を決定する。これにより、図形と文字の明度差が十分に取れない場合でも、図形と文字の明度差をできる限り大きくして、ユーザが図形と文字の区別しやすいようプリンタ214は文字の濃度を調整する。
本実施例では、グレイ濃度を明度に変換してから、文字オブジェクトと図形オブジェクトの明度の差が最低明度差以上あるかを判定し、色調制御部105が文字オブジェクトの明度を調整することとした。グレイ濃度を明度に変換することなく、文字オブジェクトと図形オブジェクトの濃度差が所定の濃度差以上あるかを判定し、文字オブジェクトの濃度を調整することとしてもよい。
(その他の実施例)
なお、本実施例では、図形オブジェクトを背景として、文字オブジェクトが当該図形オブジェクトに重ねて描画される場合を例に説明した。図形オブジェクトを背景として、線のみで構成される線画画像の図形オブジェクトが重ねて描画される場合に本発明を適応することとしてもよい。本実施例において、文字オブジェクトについて書かれた処理を、プリンタ214が線画画像の図形オブジェクトに対して実行することで、背景となる図形に重ねて描画される線画画像と、背景の図形の濃度差を補正することができる。この場合、プリンタ214のROM219または外部メモリ226は、線画画像の図形オブジェクトを構成する線の線幅と最低明度差(min_ΔL*)を管理するテーブルを記憶する。当該テーブルは、本実施例の図9に示す文字サイズ明度差LUTに対応するテーブルである。当該テーブルは、図形オブジェクトを構成する線の線幅が細い場合ほど、最低明度差が大きく、線幅が太くなることに従って、最低明度差が小さくなるよう設定されたテーブルである。
なお、本実施例では、図形オブジェクトを背景として、文字オブジェクトが当該図形オブジェクトに重ねて描画される場合を例に説明した。図形オブジェクトを背景として、線のみで構成される線画画像の図形オブジェクトが重ねて描画される場合に本発明を適応することとしてもよい。本実施例において、文字オブジェクトについて書かれた処理を、プリンタ214が線画画像の図形オブジェクトに対して実行することで、背景となる図形に重ねて描画される線画画像と、背景の図形の濃度差を補正することができる。この場合、プリンタ214のROM219または外部メモリ226は、線画画像の図形オブジェクトを構成する線の線幅と最低明度差(min_ΔL*)を管理するテーブルを記憶する。当該テーブルは、本実施例の図9に示す文字サイズ明度差LUTに対応するテーブルである。当該テーブルは、図形オブジェクトを構成する線の線幅が細い場合ほど、最低明度差が大きく、線幅が太くなることに従って、最低明度差が小さくなるよう設定されたテーブルである。
背景となる図形オブジェクトと線画画像の図形オブジェクトが重ねて描画される際に、色調制御部105は上記のテーブルに基づいて、線画画像を構成する線の太さに基づく、最低明度差(min_ΔL*)を求める。この処理は、本実施例の図8のS803に対応する処理である。他の処理は、本実施例において、文字オブジェクトを線画画像の図形オブジェクトと読み替えた場合と同様であるため説明を省略する。このようにすることで、背景となる図形オブジェクトに重ねて描画される線画画像を構成する線幅に応じて、背景と線の明度差を補正するか否かを決める閾値を変化させることができる。線画画像を構成する線が細い場合、背景と線の明度差を大きくすることで、ユーザが背景と線画画像を区別することができる。一方で、太い線で描画される線画画像は、背景に対して異なる色で描画される複数の線画画像が同じグレイ濃度で描画されてしまうことを抑制することができる。
本実施例では、背景となる図形と文字の濃度差が最低明度差に満たない場合、文字の濃度を調整する場合を説明した。背景となる図形の濃度を調整するとしてもよい。また、背景となる図形と文字の両方の濃度を調整し、図形と文字の明度差が最低明度差以上となるよう調整してもよい。
以上、本発明をその好適な実施例に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態の一部を適宜組み合わせてもよい。
そして、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
Claims (14)
- カラー画像の印刷データに基づく単色の画像データを生成することのできる画像処理装置であって、
前記カラー画像の印刷データから第1のオブジェクトと前記第1のオブジェクトに重ねて描画される第2のオブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値を、前記第2のオブジェクトの大きさ、または、前記第2のオブジェクトを構成する線の太さに基づいて決定する決定手段と、
前記第1のオブジェクトと前記第2のオブジェクトの濃度差が前記決定手段により決められた濃度差の最低値よりも大きい前記単色の画像データを生成する生成手段と、を有することを特徴とする画像処理装置。 - 前記画像処理装置は、
前記抽出手段により抽出された前記第1のオブジェクトと前記第2のオブジェクトを単色のオブジェクトに変換する変換手段をさらに有し、
前記決定手段は、前記変換手段により変換された前記第1のオブジェクトと前記第2のオブジェクトの大きさまたは、前記第2のオブジェクトを構成する線の太さに基づいて前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値を決定することを特徴とする請求項1に記載の画像処理装置。 - 前記第1のオブジェクトは図形オブジェクトであり、前記第2のオブジェクトは文字オブジェクトであり、
前記決定手段は前記第2のオブジェクトの大きさが大きくなるのに従って、前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値をより小さな値に決定し、
前記第2のオブジェクトの大きさが小さくなるのに従って、前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値をより大きな値に決定すること特徴とする請求項1または2に記載の画像処理装置。 - 前記生成手段は、前記第1のオブジェクトと前記第2のオブジェクトの濃度差が前記決定手段により決定される濃度差の最低値よりも小さい場合、前記第1のオブジェクトと前記第2のオブジェクトの少なくとも一方の濃度を調整した前記単色の画像データを生成し、前記第1のオブジェクトと前記第2のオブジェクトの濃度差が前記決定手段により決められた濃度差の最低値よりも大きい場合、前記第1のオブジェクトおよび前記第2のオブジェクトの濃度差を調整することなく前記単色の画像データを生成することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
- 前記画像処理装置は、前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値と前記第2のオブジェクトの大きさまたは、前記第2のオブジェクトを構成する線の太さとを対応付けるテーブルを記憶する記憶手段をさらに有し、
前記決定手段は、前記記憶手段に記憶された前記テーブルに基づいて、前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値を決めることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。 - 前記画像処理装置は、カラーの前記第1のオブジェクトとカラーの前記第2のオブジェクトをグレイスケールに変換するグレイ変換手段と、
前記グレイ変換手段によりグレイスケールに変換された前記第1のオブジェクトと前記第2のオブジェクトの濃度を明度に変換する明度変換手段と、をさらに有し、
前記決定手段は、前記第2のオブジェクトの大きさ、または、前記第2のオブジェクトを構成する線の太さに基づいて前記第1のオブジェクトと前記第2のオブジェクトの明度差の最低値を決定し、
前記生成手段は、前記グレイ変換手段によりグレイスケールに変換された前記第1のオブジェクトと前記第2のオブジェクトの明度差が前記決定手段により決定される明度差の最低値よりも大きな前記単色の画像データを生成することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。 - 前記明度変換手段は単色の濃度と単色の明度を対応づける明度変換テーブルに基づいて前記第1のオブジェクトと前記第2のオブジェクトの濃度を明度に変換することを特徴とする請求項6に記載の画像処理装置。
- 前記生成手段は、前記第2のオブジェクトの濃度を前記第1のオブジェクトの濃度から前記決定手段により決定される濃度差の最低値を引いた値に調整することを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。
- 前記生成手段は、前記第1のオブジェクトから前記決定手段により決定される濃度差の最低値を引いた値が予め決められた第1の値よりも小さい場合、前記第2のオブジェクトの濃度を前記第1のオブジェクトの濃度に前記濃度差の最小値を加えた値に調整することを特徴とする請求項8に記載の画像処理装置。
- 前記生成手段は、前記第1のオブジェクトから前記決定手段により決定された濃度差の最小値を引いた値が前記第1の値よりも小さい場合であり、さらに、前記第1のオブジェクトの濃度に決定された前記濃度差の最小値を加えた値が予め決められた第2の値を超える場合、前記第2のオブジェクトの濃度を、前記第1の値と前記第2の値のうち前記第1のオブジェクトの濃度と遠い値に調整することを特徴とする請求項9に記載の画像処理装置。
- 前記第1のオブジェクトがシートに描画される位置と前記第1のオブジェクトのサイズの情報および前記第2のオブジェクトが前記シートに描画される位置と前記第2のオブジェクトのサイズの情報に基づいて、前記第1のオブジェクトと前記第2のオブジェクトが重ねて描画されるか否かを判定する判定手段をさらに有することを特徴とする請求項1乃至10のいずれか一項に記載の画像処理装置。
- 前記第2のオブジェクトは線で構成される図形オブジェクトであることを特徴とする請求項1に記載の画像処理装置。
- カラー画像の印刷データに基づく単色の画像データを生成することのできる画像処理装置の制御方法であって、
カラー画像の印刷データから第1のオブジェクトと前記第1のオブジェクトに重ねて描画される第2のオブジェクトを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記第2のオブジェクトの大きさ、または、前記第2のオブジェクトを構成する線の太さに基づいて、前記第1のオブジェクトと前記第2のオブジェクトの濃度差の最低値を決定する決定ステップと、
前記カラー画像の印刷データに基づいて、前記第1のオブジェクトと前記第2のオブジェクトの濃度差が前記決定ステップにおいて決定された濃度差の最低値よりも大きな単色の画像データを生成する生成ステップと、を有する画像処理装置の制御方法。 - 請求項13に記載の画像処理装置の制御方法をコンピュータが実行するためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017035931A JP2018142851A (ja) | 2017-02-28 | 2017-02-28 | 画像処理装置及び画像処理装置の制御方法、プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017035931A JP2018142851A (ja) | 2017-02-28 | 2017-02-28 | 画像処理装置及び画像処理装置の制御方法、プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018142851A true JP2018142851A (ja) | 2018-09-13 |
Family
ID=63528275
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017035931A Pending JP2018142851A (ja) | 2017-02-28 | 2017-02-28 | 画像処理装置及び画像処理装置の制御方法、プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018142851A (ja) |
-
2017
- 2017-02-28 JP JP2017035931A patent/JP2018142851A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4872860B2 (ja) | 画像処理装置及び画像処理方法 | |
| JP5700014B2 (ja) | 印刷システム、印刷制御プログラム、および記録媒体 | |
| US10706340B2 (en) | Image processing apparatus and method for controlling the same with character attribute indicating that pixel is pixel of a character | |
| JP6671188B2 (ja) | 画像形成装置、方法およびプログラム | |
| JP4779987B2 (ja) | 画像処理装置及び画像処理方法 | |
| JP2015171098A (ja) | 画像処理装置および画像処理方法ならびにプログラム | |
| JP5863001B2 (ja) | 画像処理装置、画像形成装置およびプログラム | |
| US11151430B2 (en) | Image forming apparatus capable of executing line width adjustment process, method of controlling same, and storage medium | |
| JP2015015589A (ja) | 画像処理装置、画像処理方法及びプログラム | |
| JP2018142851A (ja) | 画像処理装置及び画像処理装置の制御方法、プログラム | |
| US11671548B2 (en) | Image processing apparatus, method, and product for converting color data of objects into gray data based on positions of objects for improved discriminability | |
| JP7077451B2 (ja) | 画像形成装置および画像形成装置の制御方法、ならびにプログラム | |
| JP2015075834A (ja) | 画像処理装置及び画像処理方法ならびにプログラム | |
| JP7123737B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
| JP6985943B2 (ja) | 画像処理装置及びその制御方法とプログラム | |
| JP2007221227A (ja) | トラッピング処理支援装置、印刷装置、トラッピングの拡張領域の決定方法、およびコンピュータプログラム | |
| JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
| JP6051526B2 (ja) | 画像処理システム、画像形成装置、画像処理プログラム、および画像処理方法 | |
| JP7297603B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
| US10798267B2 (en) | Image processing to set output pixel values subject to edge or thin line correction | |
| JP2019176337A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
| JP2025162722A (ja) | プリンタおよびプログラム | |
| JP2024162429A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
| JP2025162724A (ja) | プリンタおよびプログラム | |
| JP2007081886A (ja) | 描画処理装置 |