(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】情報処理装置、および情報処理方法ならびにプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20241216BHJP
G06T 1/00 20060101ALI20241216BHJP
H04N 1/60 20060101ALI20241216BHJP
【FI】
G06F3/12 344
G06F3/12 308
G06T1/00 510
G06T1/00 310Z
H04N1/60
(21)【出願番号】P 2023088411
(22)【出願日】2023-05-30
(62)【分割の表示】P 2018237513の分割
【原出願日】2018-12-19
【審査請求日】2023-06-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】長坂 仁
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2017-038242(JP,A)
【文献】特開2006-134057(JP,A)
【文献】特開2011-170685(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
G06T 1/00
H04N 1/60
(57)【特許請求の範囲】
【請求項1】
カラー印刷モードとグレースケール印刷モードを含む複数の印刷モードから印刷モードの選択を受け付ける受付手段と、
前記選択された印刷モードとカラー画像データに基づく印刷データを印刷装置に送信する送信手段と有し、
前記グレースケール印刷モードが選択されている状態では、前記カラー画像データに含まれる
RGB値と当該RGB値の数に基づいて
算出された無彩色の信号値に基づいてグレー画像データが生成される生成方式を有効にするための所定の設定が選択可能であり、
前記カラー印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする情報処理装置。
【請求項2】
前記生成方式を用いて前記グレー画像データを生成する生成手段をさらに有し、
前記送信手段は、前記グレー画像データを含む前記印刷データを前記印刷装置に送信することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記所定の設定が有効にされた場合、前記生成手段は前記生成方式を用いて前記グレー画像データを生成し、
前記グレースケール印刷モードが選択された場合であって、前記所定の設定が有効にされていない場合、前記生成手段はNTSC方式を用いてグレー画像データを生成することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記複数の印刷モードは自動印刷モードを含み、
前記自動印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記グレー画像データはPDLデータであることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項6】
前記受付手段はさらに前記所定の設定の選択を受け付けることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
前記受付手段はさらに前記印刷データに基づく印刷時に出力する用紙のサイズの設定も受け付けることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
【請求項8】
前記受付手段は、カラー画像データからグレー画像データを生成するための生成方式として、少なくとも前記生成方式と、前記生成方式と異なる他の生成方式のうちからユーザによる選択を受け付けることを特徴とする請求項1乃至
7の何れか1項に記載の情報処理装置。
【請求項9】
カラー印刷モードとグレースケール印刷モードを含む複数の印刷モードから印刷モードの選択を受け付ける受付工程と、
前記選択された印刷モードとカラー画像データに基づく印刷データを印刷装置に送信する送信工程とを情報処理装置に実行させ、
前記グレースケール印刷モードが選択されている状態では、前記カラー画像データに含まれる
RGB値と当該RGB値の数に基づいて
算出された無彩色の信号値に基づいてグレー画像データが生成される生成方式を有効にするための所定の設定が選択可能であり、
前記カラー印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とするプログラム。
【請求項10】
前記生成方式を用いて前記グレー画像データを生成する生成工程をさらに有し、
前記送信工程は、前記グレー画像データを含む前記印刷データを前記印刷装置に送信することを特徴とする請求項9に記載のプログラム。
【請求項11】
前記所定の設定が有効にされた場合、前記生成工程は前記生成方式を用いて前記グレー画像データを生成し、
前記グレースケール印刷モードが選択された場合であって、前記所定の設定が有効にされていない場合、前記生成工程はNTSC方式を用いてグレー画像データを生成することを特徴とする請求項1
0に記載のプログラム。
【請求項12】
前記複数の印刷モードは自動印刷モードを含み、
前記自動印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする請求項
9乃至1
1の何れか1項に記載のプログラム。
【請求項13】
前記グレー画像データはPDLデータであることを特徴とする請求項
9乃至1
2の何れか1項に記載のプログラム。
【請求項14】
前記受付工程はさらに前記所定の設定の選択を受け付けることを特徴とする請求項
9乃至1
3の何れか1項に記載のプログラム。
【請求項15】
前記受付工程はさらに前記印刷データに基づく印刷時に出力する用紙のサイズの設定も受け付けることを特徴とする請求項
9乃至1
4の何れか1項に記載のプログラム。
【請求項16】
前記受付工程は、カラー画像データからグレー画像データを生成するための生成方式として、少なくとも前記生成方式と、前記生成方式と異なる他の生成方式のうちからユーザによる選択を受け付けることを特徴とする請求項9乃至1
5の何れか1項に記載のプログラム。
【請求項17】
カラー印刷モードとグレースケール印刷モードを含む複数の印刷モードから印刷モードの選択を受付手段が受け付ける受付工程と、
前記選択された印刷モードとカラー画像データに基づく印刷データを印刷装置に送信手段が送信する送信工程とを有し、
前記グレースケール印刷モードが選択されている状態では、前記カラー画像データに含まれる
RGB値と当該RGB値の数に基づいて
算出された無彩色の信号値に基づいてグレー画像データが生成される生成方式を有効にするための所定の設定が選択可能であり、
前記カラー印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする情報処理方法。
【請求項18】
前記生成方式を用いて前記グレー画像データを生成手段が生成する生成工程をさらに有し、
前記送信工程では、前記送信手段が前記グレー画像データを含む前記印刷データを前記印刷装置に送信することを特徴とする請求項1
7に記載の情報処理方法。
【請求項19】
前記所定の設定が有効にされた場合、前記生成工程では前記生成手段が前記生成方式を用いて前記グレー画像データを生成し、
前記グレースケール印刷モードが選択された場合であって、前記所定の設定が有効にされていない場合、前記生成工程では前記生成手段がNTSC方式を用いてグレー画像データを生成することを特徴とする請求項
18に記載の情報処理方法。
【請求項20】
前記複数の印刷モードは自動印刷モードを含み、
前記自動印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする請求項1
7乃至
19の何れか1項に記載の情報処理方法。
【請求項21】
前記グレー画像データはPDLデータであることを特徴とする請求項1
7乃至2
0の何れか1項に記載の情報処理方法。
【請求項22】
前記受付工程ではさらに前記所定の設定の選択を前記受付手段が受け付けることを特徴とする請求項1
7乃至2
1の何れか1項に記載の情報処理方法。
【請求項23】
前記受付工程ではさらに前記印刷データに基づく印刷時に出力する用紙のサイズの設定も前記受付手段が受け付けることを特徴とする請求項1
7乃至2
2の何れか1項に記載の情報処理方法。
【請求項24】
前記受付工程では、カラー画像データからグレー画像データを生成するための生成方式として、少なくとも前記生成方式と、前記生成方式と異なる他の生成方式のうちからユーザによる選択を前記受付手段が受け付けることを特徴とする請求項1
7乃至2
3の何れか1項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法ならびにプログラムにかかるものである。
【背景技術】
【0002】
RGB形式などのカラーで表現されたカラー画像データをグレースケール画像データに変換して出力する場合、入力画像データのRGB信号値を無彩色の信号値に変換する。グレースケール変換を行う場合には、NTSC変換等、R、G、Bのそれぞれの信号値に一定の重みづけを行い、変換後の無彩色の信号値を求める。
【0003】
グレースケール変換をした場合、カラー画像データにおいて異なる色であっても、同じ信号値または、近い信号値に変換されてしまう場合がある。そのためカラー画像データでは異なる色で表現されて区別して識別可能な領域であっても、グレースケール変換後では区別して識別しにくくなってしまう。特に、
図1のように信号値の近い無彩色が接している場合、どこが色の境目かが分からなくなってしまう。本明細書では、色の区別しやすさを示す指標を弁別性と呼び、それぞれの色が異なる色であることが分かりやすい状態を弁別性が高い状態と呼ぶ。
【0004】
グレースケール変換後でも弁別性の高い画像を得るための技術がある。特許文献1に記載の印刷装置は入力されたPDL(Page Discription Language)データからページ内で使われている色やオブジェクトなどを解析してカラー画像データに含まれる色数を取得する。そして、当該色数の値を使い、入力されたPDLデータをそれぞれの無彩色の信号値の差が均等になるように変換する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、印刷装置がPDLデータに含まれる色情報から弁別性の高いグレースケール変換を行うことができない場合、入力されたカラー画像データから弁別性の高いグレースケール画像の印刷を行うことが出来ない。また、複数のプリンタドライバから印刷ジョブが投入される印刷装置はそれぞれの印刷ジョブを解析し、印刷用の画像データを生成して印刷を実行する。印刷装置側で弁別性の高いグレースケール変換を行うと、印刷装置における処理が多くなり、後続のジョブの実行までにかかる時間が長くなってしまうことがある。そのため、プリンタドライバ側で弁別性の高いグレースケール画像データを生成し、当該画像データを印刷装置に送信する構成とすることが望ましい。
【0007】
本発明は、上記問題に鑑みて成されたものであり、印刷装置でグレースケールへの変換処理を行わなくても、弁別性の高いグレースケール画像を印刷することができるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明に記載の情報処理装置は、カラー印刷モードとグレースケール印刷モードを含む複数の印刷モードから印刷モードの選択を受け付ける受付手段と、前記選択された印刷モードとカラー画像データに基づく印刷データを印刷装置に送信する送信手段と有し、前記グレースケール印刷モードが選択されている状態では、前記カラー画像データに含まれる色の数に基づいてグレー画像データが生成される生成方式を有効にするための所定の設定が選択可能であり、前記カラー印刷モードが選択されている状態では、前記所定の設定が選択不可能であることを特徴とする。
【発明の効果】
【0009】
本発明によれば、印刷装置でグレースケールへの変換処理を行わなくても、弁別性の高いグレースケール画像を印刷することができるようにすることができる。
【図面の簡単な説明】
【0010】
【
図2】本実施例における情報処理装置の構成の一例を示す図である。
【
図3】本実施例における情報処理装置のソフトウェアモジュールの構成の一例を示す図である。
【
図4】本実施例における印刷処理を示すフローチャートである。
【
図5】本実施例における本発明にかかるシステム全体を示すフローチャートである。
【
図6】本実施例におけるプリンタドライバによる印刷設定画面の一例を示す図である。
【
図7】本実施例におけるドライバに入力される描画コマンドの一例を示す図である。
【
図8】本実施例における色値テーブルの一例を示す図である。
【
図9】本実施例における弁別性の高いグレースケール変換の処理を示すフローチャートである。
【
図10】本実施例における弁別性の高いグレースケール変換のときのグレーの信号値を示す模式図である。
【
図11】本実施例における、印刷データの一例を示す図である。
【発明を実施するための形態】
【0011】
(実施例)
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0012】
本実施例では、印刷処理システムにおいてプリンタドライバでカラー画像データをK単色で描画するグレースケールのPDLデータに変換して印刷装置に対して出力する。
【0013】
はじめに、
図2を用いて、本実施例において、情報処理装置10、および印刷装置6で構成される印刷システムを説明する。
【0014】
CPU1は、情報処理装置10の全体を制御する制御手段である。補助記憶装置3はHDD,SSD,FD,CD-ROM,ICメモリカード等の記憶媒体であり、システムプログラムやアプリケーションプログラムを記憶する記憶媒体である。
【0015】
RAM2はCPU1が使用する作業メモリであり、補助記憶装置3に記憶されたプログラムやアプリケーションを展開するのに用いられる。
【0016】
CPU1は、補助記憶装置3に記憶されたシステムプログラムやアプリケーションプログラムをRAM2にロードし、入力された画像データの解析や印刷装置6への印刷データを出力する。
【0017】
出力装置5はディスプレイなどの表示装置であり、入力装置4はキーボード、ポインティングデバイス等ユーザによる入力のために操作されるデバイスである。
【0018】
情報処理装置10で生成された画像データはNIC8(Network Interface)からネットワーク9を介して、印刷装置6に送信される。本実施例において、印刷装置6はプリンタ等のSFPまたは、スキャナ機能、コピー機能の両方の機能を備えるMFP等である。
【0019】
図3は本実施例における情報処理装置10のソフトウェア構成の一例を示す図である。CPU1が補助記憶装置3に記憶されたプログラムをRAM2に展開し実行することにより、各処理部12~19として機能する。
【0020】
プリンタドライバ11は、情報処理装置10のOS上で実行され、かつ、印刷装置を制御するためのプログラムであり、各処理部12~18として機能させるためのモジュールを含んでいる。プリンタドライバは描画に用いられる言語ごとに設けられている。たとえば、GDI(Graphics Device Interface)を解釈してPDL(Page Description Language)データを生成するGDIプリンタドライバがある。また、XPS(XML Paper Specification)を解釈してPDLデータを生成するドライバとして、XPSプリンタドライバがある。
【0021】
ユーザインタフェース部12はユーザからの情報処理装置10に対する入力の受け付けや、出力装置5への画面の表示の制御を行うソフトウェアモジュールである。ユーザインタフェース部12はプリンタドライバの設定画面を出力装置5に出力したり、出力装置5に表示された画面に対して入力装置4を用いて行われたユーザからの入力を受け付けたりする。
【0022】
レイアウト処理部13は、文書作成等を行うアプリケーションからの印刷指示に従って、画像データを印刷時のレイアウトに変換する処理を行う。たとえば、ユーザがドライバを介してN-upや拡大縮小の指示をした場合、レイアウト処理部13は設定された値に従って画像データを変換する。
【0023】
描画コマンド制御部14は、レイアウト処理部13から描画コマンドを受け付け、印刷装置において処理できる画像データを作成する。本実施例においては、描画コマンド制御部14が弁別性の高いグレースケール画像データを生成する。そして、描画コマンド制御部14で生成された弁別性の高いグレースケールの画像データが印刷装置6に送信される。描画コマンド制御部14は、グレースケール変換部15、描画コマンド生成部16、描画コマンド解析部17を含む。描画コマンド制御部14はグレースケールのPDLデータを生成するグレースケール変換手段として動作する。
【0024】
描画コマンド解析部17はアプリケーションから受信したカラー画像データに含まれる描画コマンドを解析するモジュールである。アプリケーションから受信したカラー画像データに対して弁別性の高いグレースケール画像への変換を行うことが設定されていると判定された場合、描画コマンド解析部17はカラー画像データをグレースケール変換部15に渡す。アプリケーションから受信したカラーデータに対して弁別性の高いグレースケール変換を行う設定がなされていない場合、描画コマンド解析部17はカラー画像データを描画コマンド生成部16に渡す。
【0025】
グレースケール変換部15はNTSC変換等、一定の重みづけで行うグレースケール変換と異なるグレースケール変換を実行し、弁別性の高いグレースケール画像データを生成する。
【0026】
描画コマンド生成部16は、グレースケール変換部15から渡された描画コマンドや、描画コマンド解析部17が解析した描画コマンドに基づいてPDLデータ等の印刷装置が解析することのできる画像データの生成を行う。
【0027】
印刷データ制御部18は、描画コマンド生成部16で作成された描画コマンドとともに印刷装置6に送信されるPJL(Print Job Language)データを生成する。PJLデータはたとえば、どの用紙を使って印刷するか、どの排紙トレイに排紙をするか、カラーモノクロの設定値をどのようにするか等印刷ジョブを制御するためのデータである。
【0028】
印刷データ送受信部19は、描画コマンド生成部16の生成したPDLコマンド、印刷データ制御部18の生成したPJLデータを印刷装置6に送信するためのソフトウェアモジュールである。CPU1が印刷データ送受信部19として動作し、NIC8を制御することで、描画コマンド制御部14や印刷データ制御部18が生成した印刷データを印刷装置6に出力することができる。
【0029】
図4を用いて、情報処理装置10がアプリケーションにより生成されたカラー画像データから印刷装置6に送信する印刷データを生成し、当該データを印刷装置6に送信する処理を説明する。
図4のフローチャートで示される処理を実行するためのプログラムは補助記憶装置3に記憶されており、CPU1が当該プログラムを実行することで処理が実現される。また、
図4に記載されている処理は、ユーザがアプリケーションの画面から印刷開始を指示したり、情報処理装置に接続されたキーボード等の入力装置から印刷開始を指示した場合に開始される。
【0030】
印刷データ制御部18は、ユーザにより設定された印刷設定に基づく印刷情報であるPJLデータを生成する(S501)。ユーザにより設定される印刷設定とは、たとえば、印刷時の片面両面設定や、集約印刷(Nin1印刷)の設定である。印刷時のカラー設定も上記の印刷設定に含まれる。
【0031】
描画コマンド制御部14は、描画コマンド解析部17が解析したコマンドに基づく、PDLデータを生成するPDL変換処理を実行する(S502)。描画コマンド解析部17、描画コマンド生成部16およびグレースケール変換部15における処理の詳細は
図5で後述する。弁別性の高いグレースケール画像の印刷が指示されている場合、S502において情報処理装置は弁別性の高いグレースケールのPDLデータを生成する。
【0032】
印刷データ送受信部19は、印刷データ制御部18により生成されたPJLデータおよび、S502で生成されたPDLデータで構成される印刷データを印刷装置6に出力する(S503)。PJLデータはジョブの先頭で送信される。その後、印刷データ送受信部19は、S502で生成されたPDLデータを所定のデータサイズ分溜め、所定のデータサイズごとにPDLデータを送信する。印刷データ送受信部19は、当該印刷ジョブが完了するまで、S502に示すPDLデータの生成とS503における生成したPDLデータの送信を繰り返し行う。
図11に本実施例において生成される印刷データの一例を示す。印刷データの先頭には当該印刷ジョブを投入したユーザの名前やジョブの名称等が記載されている。フラグ1101は弁別性の高いグレースケール変換がなされたデータかどうかを示すフラグである。当該フラグがTRUEに設定されている場合、当該印刷データに含まれるPDLデータは弁別性の高いグレースケール変換がなされた後のデータである。当該フラグがFALSEに設定されている場合、当該印刷データに含まれるPDLデータは弁別性の高いグレースケール変換がなされていないデータである。印刷データ制御部18は、プリンタドライバのUI上でなされた設定を参照し、弁別性の高いグレースケール変換がなされる場合には、フラグ1101をTRUEに設定する。フラグ1101を有することで、印刷装置が当該印刷データを受信したときに、再度、弁別性の高いグレースケール変換をしてしまうことを防ぐことができる。
【0033】
以上が、情報処理装置が印刷装置に送信する印刷データを生成する処理である。印刷装置6は、情報処理装置10が出力したPDLデータを解析し、レンダリング、ハーフトーン処理等の画像処理を行う。そして、印刷装置6は生成したイメージデータを用紙に印刷する。
【0034】
次に、
図5を用いて
図4のS502で実行されるPDL変換処理の詳細を説明する。
図5に記載の処理を実行するためのプログラムはROM7に記憶されており、RAM2に展開された当該プログラムをCPU1が実行することにより処理が実現される。
【0035】
描画コマンド解析部17は、印刷設定を参照し、弁別性の高いグレースケール印刷が設定されているか否かを判定する(S601)。描画コマンド解析部17は、描画コマンドに含まれるカラーモードの設定、および、弁別性の高いグレースケール変換を行うか否かの設定に基づいてグレースケール変換を行う。描画コマンド解析部17は、カラーモードがグレースケールに設定されており、さらに、弁別性の高いグレースケール変換を行うことが設定されている場合に、弁別性の高いグレースケールが設定されていると判定する。弁別性の高いグレースケールが設定されている場合、グレースケール変換部15は、S602に処理を進める。弁別性の高いグレースケール以外の設定がなされている場合、グレースケール変換部15はS609に処理を進める。
【0036】
ユーザは
図6(a)に示すプリンタドライバ11の印刷設定画面を操作して、印刷設定を行う。入力フィールド1200~1206はそれぞれの設定項目の設定を入力する領域である。入力フィールド1206はカラーモードを設定するためのフィールドである。ユーザがボタン1207を選択すると、
図6(b)のように選択することのできる設定値が表示される。本実施例において、ユーザは自動(カラー/モノクロ)、カラー、グレースケールのいずれかからカラーモードを選択することができる。“自動(カラー/モノクロ)”1211は印刷装置6が入力された画像データに合わせてカラーモードを自動選択する設定である。“カラー”1212は入力された画像データをCMYK等、複数色のトナーで印刷するモードである。入力フィールド1206に入力されている“グレースケール”は、入力された画像データはKトナーのみの画像データに変換して印刷するモードである。
図6(a)のチェックボックス1208はプリンタドライバ11が弁別性の高い出力画像を生成するか否かを設定するための入力箇所である。例えばこのチェックボックス1208は、カラーモードの入力フィールド1206が「グレースケール」に設定されているときのみにおいて、選択できる(マークをつけることができる)。ユーザがカラーモードをグレースケールに設定し、チェックボックス1208を選択した場合、プリンタドライバ11は弁別性の高いグレースケールのPDLデータを生成する。ユーザがカラーモードにグレースケールを設定し、チェックボックス1208を選択していない場合、プリンタドライバはNTSC方式等公知の方法を用いてグレースケールのPDLデータを生成する。カラーモードにおいてグレースケールが選択されている場合、情報処理装置10は複数チャンネルの画像データをKのみの1チャンネルの信号値に変換する。Kトナーに対応する無彩色の信号値は当該値により黒の濃淡を示している。信号値が大きいほど黒が薄いことを意味し、信号値が小さいほど黒が濃いことを意味している。
【0037】
ユーザは印刷設定を終えたら“OK”1209を選択し、印刷設定を完了する。“キャンセル”1210は表示部に表示されている設定を破棄し、設定を今回の設定以前の設定に戻すためのボタンである。そして、ユーザはプリンタドライバの表示する画面、またはアプリケーションの表示する画面から印刷実行指示を入力する。
【0038】
S601では、グレースケール変換部15が
図6に示す印刷設定画面を介して設定されたカラーモードを参照し、弁別性の高いグレースケールが設定されているか否かを判定する。
【0039】
描画コマンド解析部17は、入力された描画コマンドがイメージデータの描画コマンドであるか否かを判定する(S602)。イメージデータの描画コマンドであると判定された場合、グレースケール変換部15はS606へ処理を進める。イメージデータの描画コマンドでないと判定された場合、グレースケール変換部15はS603へ処理を進める。S602において、グレースケール変換部15は、各描画コマンドに付与されている属性情報を参照し、当該描画コマンドがイメージデータの描画コマンドであるか否かを判定する。属性情報には、イメージのほかに、テキストや図形、線等のグラフィックがある。イメージデータとは写真などの画像データである。イメージデータについてはグレースケール変換をしても元の画像の階調性が失われないようにすることが必要である。そのため、弁別性の高いグレースケールへの変換が指示されている場合でも、公知の方法によるグレースケール変換を実行する。本実施例では、イメージデータでない所定のオブジェクトの色を抽出し、その色数に基づいて設定される無彩色の信号値に置き換え弁別性の高いグレースケール画像データを生成する。このようにすることで、イメージデータでは階調性を損なうことなく、テキストやグラフィック等所定の種類のオブジェクトで弁別性の高いグレースケール画像を生成することができる。
【0040】
グレースケール変換部15は、解析中の描画コマンドから色の信号値を抽出する(S603)。具体的な方法については
図7を用いて説明する。
図7はプリンタドライバ11に入力される描画データ(XPS)の例である。本実施例における描画データは画像データのひとつであり、どのような画像を描画するかの描画コマンドが記述されたデータである。グレースケール変換部15は、描画コマンド701から色値“ffab25”を抽出する。“ffab25”はR=255、G=171、B=37を16進数であらわしたものであり、有彩色の信号値である。
【0041】
次に、グレースケール変換部15は、RAM2に格納されている色値テーブルに抽出した色が既に登録されているか否かを判定する(S604)。抽出した色が色値テーブルに既に登録されている場合、グレースケール変換部15は、処理をS606に進める。抽出した色が色値テーブルに登録されていない場合、グレースケール変換部15は色値テーブルに抽出した信号値を登録する(S605)。最初の描画コマンドの解析時には、色値テーブルにいずれの色も登録されていないため、
図8(a)のように、色値テーブルの1行目にR=255、G=171、B=37を登録する。
【0042】
グレースケール変換部15は、解析する描画コマンドがあるか否かを判定する(S606)。
図7に記載の画像データでは描画コマンド701に続き描画コマンド702があるため、グレースケール変換部15が処理をS602に戻す。そして、グレースケール変換部15は描画コマンド702に対してS602~S605の処理を実行する。描画コマンド702から抽出される色値“00b050”はR=0、G=5、B=0を16進数であらわしたものであり、有彩色の信号値である。R=0,G=5,B=0は色値テーブルに登録されていないため、グレースケール変換部15は当該色値を色値テーブルに登録する。
【0043】
グレースケール変換部15は、さらに、描画コマンド703についても同様の処理を行う。描画コマンド703から抽出される色値“ffab25”はすでに色値テーブルに登録された色値である。この場合、グレースケール変換部15は、S604において抽出した信号値が色値テーブルに登録済みの信号値であるとして、S606に処理を進める。
【0044】
なお、本実施例ではS606において、アプリケーションから入力された1つの印刷ジョブに含まれる前描画コマンドについてS606までの処理が完了した場合、グレースケール変換部15は処理をS606に進めるとする。ただし、1ページごとにその1ページに含まれる描画コマンドについてS606までの処理が完了した場合、グレースケール変換部15が処理をS607に進めるとしてもよい。
【0045】
S606において、解析していない描画コマンドがない場合、グレースケール変換部15はS607に処理を進める。グレースケール変換部15は、入力された画像データに含まれる色に対応する無彩色の信号値を算出するための高弁別性グレースケール化処理を実行する(S607)。S607におけるグレースケール変換部15の処理については、
図9を用いて後述する。
【0046】
描画コマンド生成部16は、描画コマンドに含まれるそれぞれの色をS607で求められた無彩色の信号値に変換し、出力用のPDLデータを生成する(S608)。描画コマンド生成部16は入力された画像データを先頭の描画コマンドから順に解析する。描画コマンド生成部16は、各描画コマンドに含まれるRGB値を取得し、色値テーブルを参照して、描画コマンドに含まれるRGB値を無彩色に対応する1チャンネルの信号値に置き換え、PDLデータを生成する。本実施例において無彩色に対応する1チャンネルの信号値とはK(黒)トナーに対応する1チャンネルの信号値である。
【0047】
一方で、S601において、弁別性の高いグレースケール印刷が設定されていないと判定された場合、描画コマンド解析部17が描画コマンドを解析し、描画コマンド生成部16が設定されたカラーモードに対応したPDLデータを生成する(S609)。カラーモードがカラーの場合、描画コマンド生成部16はYMCK等の複数のトナーで画像を印刷するためのPDLデータを生成する。通常のグレースケール変換を用いる設定がなされている場合には、描画コマンド生成部16はNTSC法等公知の方法を用いてPDLデータを生成する。
【0048】
図9は、
図5のS607に記載の弁別性の高いグレースケール画像データの生成処理の詳細を示したものである。
図9に記載の処理を実行するためのプログラムはROM7等に格納されており、CPU1がRAM2に展開された当該プログラムを実行することで処理が実現される。なお、ここでは、
図8(a)のように色値テーブルに7色の色の信号値が登録されているとする。
【0049】
グレースケール変換部15は、色値テーブルに登録されている色の数を取得する(S801)。グレースケール変換部15は、RAM2に格納されている色値テーブルを参照し、色値テーブルに登録されている色の数を取得する。たとえば、
図8に示す色値テーブルがRAM2に格納されている場合、N=7が取得される。
【0050】
グレースケール変換部15は、S801で取得した色の数に基づいて、グレースケール変換後に用いる無彩色の信号値を算出する(S802)。ここでは、0から225の信号値をS801で取得した色の数N等分し、変換後の無彩色の信号値とする。N=7の場合、無彩色の信号値が小さい方から順に、0、36、73、109、146、182、219となる。本実施例では、無彩色の信号値は小さいほど濃い無彩色であり、信号値が大きいほど薄い無彩色である。
図10(a)は本実施例に記載の方法で設定された無彩色の信号値を示す模式図である。Gminはグレースケール変換後に用いられる無彩色の信号値の最小値であり、Gmaxはグレースケール変換後に用いられる無彩色の信号値の最大値である。
【0051】
グレースケール変換部15は、描画コマンドから取得した信号値をそれぞれS802で求めた無彩色の信号値に対応づけて設定する(S803)。グレースケール変換部15は、色値テーブルに登録されているそれぞれの色の信号値を公知の方法を用いて無彩色の信号値に変換する。本実施例ではGrey=0.298912R+0.586611G+0.114478BにRGB値を代入し、無彩色の信号値を求める。それぞれの色の信号値から求められた無彩色の信号値は
図8(b)のようになる。そして、グレースケール変換部15は、無彩色の信号値が小さい順に色値テーブルに登録されている色をソートする。
図8(c)は、ソート後の色値テーブルである。最後に、グレースケール変換部15は、無彩色の信号値が小さい色から順にS802で設定した無彩色の信号値を小さい方から順に対応づける。
図8(d)は弁別性を向上させるためのグレースケール変換で用いられる無彩色の信号値が割り当てられた色値テーブルである。以上で
図9に記載の処理を終了する。
【0052】
図9では0~255を色値テーブルに登録された色数で等分して、弁別性の高いグレースケール変換後の無彩色の信号値を求めた。上記の方法のほかに以下のような方法でも弁別性の高いグレースケール変換を行うことができる。
【0053】
色値テーブルにR=255、G=255、B=255の色が登録されている場合、
図10(b)のように、0~255の信号値をN-1等分するとしてもよい。このとき、グレースケール変換部15は、R=G=B=255の信号値をK=255の信号値に割り当てる。そして、その他の信号値は、公知の方法による変換で求められた無彩色の信号値が小さい方から順に無彩色の信号値を割り当てる。
【0054】
さらに、グレースケール変換部15が
図10(c)(d)に示す方法でそれぞれの色が変換される無彩色の信号値を決定するとしてもよい。
【0055】
図10(c)はグレースケール変換後にK=0、K=255の無彩色を用いない場合の例である。グレースケール変換部15は0~255を色値テーブルに登録されている色数Nよりも1大きい数で等分する。そして、K=0、K=255を除く信号値をそれぞれの色に割り当てる。たとえば、N=7の場合、変換後に用いられる信号値はK=32、64、96、128、159、191、223である。
【0056】
図10(d)は
図10(c)と同様にK=0、K=255の信号値を用いない場合の例である。
図10(d)ではあらかじめGmin≠0とGmax≠255となるGminとGmaxの値が予め定められている。グレースケール変換部15は、ROM7や補助記憶装置3に格納されているGmin、Gmaxの値を読み出し、GminとGmaxの間をN等分し、グレースケール変換後に用いる無彩色の信号値を設定する。また、
図10(d)に記載の方法において、GmaxとGminを可変としてもよい。たとえば、グレースケール変換部15が色値テーブルに登録されているRGB値からNTSC法等の公知の方法で無彩色の信号値を算出する。グレースケール変換部15が算出された無彩色の信号値のうち最も小さい値をGmin、最も大きい値をGmaxとしてもよい。
【0057】
なお、本実施例では、弁別性の高いグレースケール変換を行うときにどのような無彩色の信号値の設定方法を
図10(a)~(d)のうち予め決めておき、決められた方法に則って変換することとした。色値テーブルに登録された色の信号値に基づいて、無彩色の信号値を求める方法を変えるとしてもよい。たとえば、
図9に記載の処理を開始する前に、グレースケール変換部15が色値テーブルを参照しR=G=B=0の色が登録されているか否かを判定する。色値テーブルにR=G=B=0の色が登録されていない場合、グレースケール変換部15は
図10(c)または(d)のいずれかの方法を選択する。
図10(c)、(d)のどちらの方法を用いるかは予め設定しておくこととする。
【0058】
色値テーブルにR=G=B=0の色が登録されている場合、グレースケール変換部15は色値テーブルにR=G=B=255の色が含まれているか否かを判定する。色値テーブルにR=G=B=255の色が含まれていない場合、グレースケール変換部15は
図10(a)に示す方法でグレースケール変換を行う。一方で、色値テーブルにR=G=B=255の色が含まれている場合、グレースケール変換部15は
図10(b)に示す方法でグレースケール変換を行う。
図10(a)(b)の方法を用いることで、元のカラー画像データにR=G=B=0の黒やR=G=B=255の白が含まれている場合、その箇所はグレースケール変換の信号値をそれぞれK=0、K=255とすることができる。このようにすることで、元の画像データで黒や白が用いられている箇所は色を変えることなく弁別性の高いグレースケール変換を行うことができる。
【0059】
以上のように、プリンタドライバに入力された描画の色の数を記憶し、色数に応じたグレースケール化テーブルを作成することで、プリンタドライバにおいて弁別性の高いグレースケール変換がなされたページ記述言語データを生成することができる。これにより、印刷装置において弁別性の高いグレースケール画像データの生成を行わなくても、弁別性の高いグレースケール印刷を実現することができる。
【0060】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。