(57)【要約】【課題】  より粒状性の少ないプリンタ出力明度範囲に多くの階調を割り当てて、より粒状感が目立たない、高画質な出力画像を得る。【解決手段】  プリンタ粒状性プロファイルおよび視覚限界レベルをロードし(S401-S402)、プリンタ粒状性プロファイルにおいて粒状性が視覚限界レベルよりも大きいプリンタ出力明度の領域を検出し(S403)、検出した領域および他の領域のプリンタ出力明度特性の傾きを求め(S404)、出力明度変換テーブルの制御ポイントを求め(S405)、各制御ポイントをスプライン曲線などで補間して出力明度変換テーブルにする(S406)。【選択図】    図5
2005050204.tif 000002
【特許請求の範囲】
【請求項１】
画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイルを読み込み、
前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを読み込み、
前記粒状性プロファイルおよび前記画像出力プロファイルから、前記画像出力装置が出力する画像の粒状感を軽減するルックアップテーブルを作成することを特徴とする画像処理方法。
【請求項２】
さらに、前記ルックアップテーブルを用いて入力画像を変換することを特徴とする請求項1に記載された画像処理方法。
【請求項３】
前記ルックアップテーブルは一次元のルックアップテーブルであることを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項４】
さらに、人間が粒状感を感じ得る限界を示す視覚限界レベルを入力し、前記視覚限界レベルに基づき前記ルックアップテーブルを作成することを特徴とする請求項1から請求項3の何れかに記載された画像処理方法。
【請求項５】
前記粒状性プロファイルが示す粒状度が前記視覚限界レベルを超える出力明度範囲を検出し、検出した出力明度範囲に対応する前記ルックアップテーブルの明度変換特性の傾きを1よりも小さくすることを特徴とする請求項4に記載された画像処理方法。
【請求項６】
さらに、前記ルックアップテーブルの明度変換特性の傾きを設定するための粒状性圧縮率を入力し、前記粒状性圧縮率を適用する出力明度範囲を決定するための粒状性調節レベルを設定するユーザインタフェイスを提供することを特徴とする請求項1から請求項3の何れかに記載された画像処理方法。
【請求項７】
画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイル、並びに、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを記憶するメモリと、
前記粒状性プロファイルおよび前記画像出力プロファイルから、前記画像出力装置が出力する画像の粒状感を軽減するルックアップテーブルを作成する作成手段とを有することを特徴とする画像処理装置。
【請求項８】
画像出力装置に出力される画像データが表す画像を表示し、
表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示し、
前記画像データの階調性を変更する変換テーブルの特性を表示し、
前記変換テーブルの表示に対する操作が入力されると、その操作に応じて前記変換テーブルを変更し、
変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新することを特徴とする画像処理方法。
【請求項９】
画像出力装置に出力される画像データが表す画像を表示し、
表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示し、
前記画像データの階調性を変更する変換テーブルの特性を操作する操作部を表示し、
前記操作部が操作されると、その操作に応じて前記変換テーブルを変更し、
変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新することを特徴とする画像処理方法。
【請求項１０】
前記粒状性の表示は、前記画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイル、並びに、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルに基づき計算することを特徴とする請求項9に記載された画像処理方法。
【請求項１１】
画像出力装置に出力される画像データが表す画像を表示する画像表示手段と、
表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示する粒状性表示手段と、
前記画像データの階調性を変更する変換テーブルの特性を表示する変換特性表示手段と、
前記変換テーブルの表示に対する操作が入力されると、その操作に応じて前記変換テーブルを変更する変更手段と、
変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新する更新手段とを有することを特徴とする画像処理装置。
【請求項１２】
画像出力装置に出力される画像データが表す画像を表示する画像表示手段と、
表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示する粒状性表示手段と、
前記画像データの階調性を変更する変換テーブルの特性を操作する操作手段と、
前記操作手段が操作されると、その操作に応じて前記変換テーブルを変更する変更手段と、
変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新する更新手段とを有することを特徴とする画像処理装置。
【請求項１３】
画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイル、並びに、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを入力し、
入力される画像データを解析し、
その解析結果、前記粒状性プロファイルおよび前記画像出力プロファイルに基づき、前記画像データに応じて出力される画像の粒状感を軽減するためのルックアップテーブルを作成することを特徴とする画像処理方法。
【請求項１４】
さらに、前記ルックアップテーブルの調整範囲を設定し、前記ルックアップテーブルの作成は、前記調整範囲で行われることを特徴とする請求項13に記載された画像処理方法。
【請求項１５】
前記解析結果は、前記入力画像データの輝度成分の分布を示すことを特徴とする請求項13または請求項14に記載された画像処理方法。
【請求項１６】
画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイル、並びに、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを入力する入力手段と、
入力される画像データを解析する解析手段と、
前記解析手段の解析結果、前記粒状性プロファイルおよび前記画像出力プロファイルに基づき、前記画像データに応じて出力される画像の粒状感を軽減するためのルックアップテーブルを作成することを特徴とする画像処理装置。
【請求項１７】
画像処理装置を制御して、請求項1から請求項6、請求項8から請求項10、請求項13から請求項15の何れかに記載された画像処理を実現することを特徴とするプログラム。
【請求項１８】
請求項17に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、出力画像の粒状感を軽減するためのルックアップテーブルに関する。
【背景技術】
【０００２】
インクジェットプリンタなどの画像出力装置は、出力媒体上に各色のドットを形成してカラー画像を形成する。このような画像出力装置は、各色のドットを混在させて画像を形成するために、ドットが目立つと画像がざらざらした感じになる画質の悪化を引き起こす。ドットが目立つことによる画質が悪化する現象は「粒状性の悪化」と呼ばれる。
【０００３】
粒状性の悪化を避けるために、淡い色のドットの形成、できるだけ小さいドットの形成、あるいは、ドットの分散性の改善などが採用されている。すなわち、淡い色のドットは濃い色のドットに比べてドットが目立ち難いので、濃い色のドットに代えて淡い色のドットを形成すればそれだけドットが目立ち難くなり、粒状感が改善される。また、小さなドットはドットが目立ち難いので、小さなドットを形成することでも、同様に、粒状感を改善することができる。しかし、たとえ個々のドットは目立ち難くとも、幾つかのドットが集合した状態で形成されれば、そのドットの集合が目立ってしまう。また、ドットが周期的に形成される場合も、周期的に現れるドットが目立ってしまい、粒状感を悪化させることがある。このことから、粒状性の悪化を避けるにはドットの分散性をよくすることも重要である。
【０００４】
粒状感を軽減するために、特開2002-27269公報には、RGB-CMYK色分解におけるルックアップテーブルとして、淡い色のドットを通常よりも多く使用するルックアップテーブルを予め用意し、粒状感を軽減するモードにおいて、そのルックアップテーブルを使用する技術を開示する。
【０００５】
上述した方法はすべて、画像出力装置における粒状感をデバイスの特性を変更することで軽減する方法である。しかし、デバイス特性の変更は、その開発にかかる時間やコストを増大させる問題がある。例えば、特開2002-27269公報の技術によれば、複雑なRGB-CMYK色分解ルックアップテーブルを複数保持することになり、開発にかかる時間を増大させ、ルックアップテーブルを格納するためのメモリ量を増やし、コストを増大させる。さらに、色分解ルックアップテーブルの作成には熟練した技術者を必要とし、装置のユーザが、ルックアップテーブルをカスタマイズして出力画像の粒状感をコントロールすることはほぼ不可能である。
【０００６】
また、特開2002-27269公報に記載された技術は、複雑なRGB−CMYK色分解ルックアップテーブルを使用するため、入力画像に対して適応的に粒状性を変化させることはほぼ不可能である。
【０００７】
また、たとえ画像処理装置における階調性を、粒状性が小さくなるように設計したとしても、必ずしもユーザの好みに合った階調性の出力画像を得ることができないという問題もある。
【０００８】
【特許文献１】特開2000-27269公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、上述の問題を個々にまたはまとめて解決するもので、より粒状性の少ない明度範囲に多くの階調を割り当てることを目的とする。
【００１０】
また、出力画像における粒状性と階調性とのトレードオフに応じた出力画像の階調性変更を可能にすることを他の目的とする。
【００１１】
また、入力画像に対して適応的に粒状性をコントロールすることを他の目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明は、画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイルを読み込み、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを読み込み、前記粒状性プロファイルおよび前記画像出力プロファイルから、前記画像出力装置が出力する画像の粒状感を軽減するルックアップテーブルを作成することを特徴とする。
【００１４】
また、画像出力装置に出力される画像データが表す画像を表示し、表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示し、前記画像データの階調性を変更する変換テーブルの特性を表示し、前記変換テーブルの表示に対する操作が入力されると、その操作に応じて前記変換テーブルを変更し、変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新することを特徴とする。
【００１５】
また、画像出力装置に出力される画像データが表す画像を表示し、表示された画像の任意領域が選択されると、その領域の出力画像における粒状性を表示し、前記画像データの階調性を変更する変換テーブルの特性を操作する操作部を表示し、前記操作部が操作されると、その操作に応じて前記変換テーブルを変更し、変更された変換テーブルによる変換後の画像に基づき、前記画像の表示および前記粒状性の表示を更新することを特徴とする。
【００１６】
また、画像出力装置が出力する明度と粒状度の対応を記録した粒状性プロファイル、並びに、前記画像出力装置の入力信号値と、その入力信号値に応じて前記画像出力装置が出力する明度の対応を記録した画像出力プロファイルを入力し、入力される画像データを解析し、その解析結果、前記粒状性プロファイルおよび前記画像出力プロファイルに基づき、前記画像データに応じて出力される画像の粒状感を軽減するためのルックアップテーブルを作成することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、プリンタの出力明度と粒状性の関係を用いてプリンタ出力特性を変換することで、より粒状性の少ない明度範囲に多くの階調を割り当てることができ、複雑な色分解テーブルの作成および格納を不要にしてテーブルの作成時間の短縮、テーブルの格納に必要なメモリ量の削減を実現し、かつ、ユーザによる出力画像の粒状性コントロールを可能になる。
【００１８】
また、ユーザによる任意の画像領域の選択を可能にし、選択領域の粒状性を表示し、ユーザによる画像の変換テーブルの調整を可能にすることで、ユーザは任意の領域における粒状性を調整しつつ、好みの階調性を有する高画質な出力画像を容易に得ることができる。言い換えれば、出力画像における粒状性と階調性とのトレードオフに応じた出力画像の階調性変更が可能になる。
【００１９】
また、入力画像データを解析し、プリンタの出力明度と粒状性の関係を用いて、プリンタ出力特性を自動的に変換するようにして、入力画像に対する適応的な粒状性のコントロールが可能になり、入力画像に応じて最適に粒状感を軽減した高画質な出力画像を容易に得ることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００２１】
図1は画像を印刷出力する際のデータの流れ説明する図である。
【００２２】
印刷出力を行うプリンタ105としては、一的に普及しているインクジェットプリンタが想定される。パーソナルコンピュータなどのコンピュータ機器100を使用して画像を印刷出力する場合、アプリケーション101は、オペレーティングシステム(OS)102に印刷出力を要求し、グラフィクスデータ部分はグラフィクス描画命令、イメージ画像データ部分はイメージ描画命令で構成される出力画像を示す描画命令群をOS 102に発行する。OS 102はアプリケーション101の出力要求を受け、プリンタ105に対応するプリンタドライバ103に描画命令群を発行する。プリンタドライバ103は、OS 102から入力された印刷要求と描画命令群を処理しプリンタ105が印刷可能な印刷データを作成し、印刷データをプリンタ105に転送する。プリンタ105がラスタプリンタである場合、プリンタドライバ103では、OS 102からの描画命令に対して順次画像補正処理を行い、そして順次、例えばRGB各8ビットのページメモリに画像をラスタライズし、すべての描画命令をラスタライズした後、ページメモリの内容をプリンタ105が印刷可能なデータ形式（例えばCMYK）の印刷データに変換し、印刷データをプリンタ105に転送する。
【００２３】
なお、コンピュータ機器100のCPU 108は、ROM 110に格納されたデータに基づき、RAM 109をワークメモリとして、ハードディスク(HD)107からOS、アプリケーションおよび各種ドライバのソフトウェアを読み出して、それらを実行することにより上記の処理が実現される。その際、OS 102は、モニタドライバ104に処理すべき画像やユーザインタフェイス(UI)のデータを供給して、それらをモニタ106に表示させる。モニタ106に表示されたUIに対するユーザの指示は、キーボードやマウスなどの入力デバイス112からキーボードドライバ111を介してOS 102に入力される。また、印刷すべき画像の画像データは、HD 107に格納されていたり、図示しない、USBやIEEE1394などのシリアルバス、RS232CやRS422などのシリアルインタフェイス、SCSIやGPIBなどのパラレルインタフェイス、あるいは、Ethernet(R)などのネットワークインタフェイスを介して入力される。勿論、コンピュータ機器101からプリンタ105への印刷データの転送も、これらインタフェイスを利用して行われる。
【００２４】
［プリンタドライバにおける処理］
図2はプリンタドライバ103の構成例を示すブロック図である。
【００２５】
図2において、画像変換テーブル作成部201は、プリンタ105が出力する画像の粒状感を軽減するための、画像データ変換用のルックアップテーブルを作成する。画像変換処理部202は、作成されたルックアップテーブルを使用して、入力される画像データを変換する。プリンタ用補正処理部203は、変換された画像データをプリンタ105が印刷可能なデータに変換する。
【００２６】
図3はプリンタドライバ103の処理の流れを示すフローチャートである。
【００２７】
プリンタドライバ103は、OS 102から描画命令を受信すると、粒状性軽減モードがオンかオフかを判断する(S201)。粒状性軽減モードがオンの場合、画像変換テーブル作成部201により、粒状感を軽減するルックアップテーブルを作成し(S202)、画像変換処理部202により、作成したルックアップテーブルを使用して入力された画像データを変換する(S203)。また、粒状性軽減モードがオフの場合はステップS202およびS203の処理を行わない。そして、変換した画像データまたは入力された画像データをプリンタ用補正処理部203に送り、印刷データに変換する所定の処理を行い(S204)、印刷データをプリンタ105へ出力する(S205)。
【００２８】
［画像変換テーブル作成部］
図4は画像変換テーブル作成部201の処理の流れを示すフローチャートである。
【００２９】
画像変換テーブル作成部201は、出力明度変換テーブルの作成(S301)において、粒状感を軽減するために、プリンタの出力明度を変換するルックアップテーブル（以降「出力明度変換テーブル」と称す）を作成し、次に、画像変換テーブルの作成(S302)において、出力明度変換テーブルによる明度変換を実現するための、画像データを変換するルックアップテーブル（以降「画像変換テーブル」と称す）を作成する。以下では、出力明度変換テーブルおよび画像変換テーブルの作成を詳細に説明する。
【００３０】
●出力明度変換テーブルの作成
図5は出力明度変換テーブルの作成処理の流れを示すフローチャートである。
【００３１】
画像変換テーブル作成部201は、プリンタ粒状性プロファイルをロードする(S401)。プリンタ粒状性プロファイルとは、プリンタにおいて出力される明度と、プリンタがその明度に対応する出力を行ったときの粒状性との関係（以降「プリンタ粒状特性」と呼ぶ）を、例えば図7に示すテーブル形式で記憶したデータのことである。ここで、プリンタにおいて出力される明度とは、後に説明するプリンタ出力プロファイルに記載されている明度と同じ情報であることにする。また、粒状性とは、人間が印刷物を観察する際の粒状感を数値化したものであり、これに該当するデータであればどのようなものでもよい。本実施例では、式1で与えられるRMS粒状度σを使用する。
σ= √[1/N・Σi=1N{L(xi) - Lav}2]      …(1)
ここで、L(xi)は粒状度測定領域を走査したi番目の明度
Nは粒状度を測定するに当りサンプリングしたデータ数
Lavは粒状度測定領域内での平均明度（プリンタ出力明度に相当）
【００３２】
図6はプリンタ粒状性プロファイルに記録されるプリンタ粒状特性の一例を示す図である。
【００３３】
次に、予めROM 110やHD 107内に記録されている視覚限界レベルをロードする(S402)。視覚限界レベルは、プリンタ粒状特性において、人間が粒状感を感じ得る限界の粒状性のレベルを意味する。粒状性の尺度としてRMS粒状度を用いた場合、この視覚限界レベルよりも粒状性が大きいと出力画像に粒状感が感じられ、小さいと出力画像に粒状感は感じられない。
【００３４】
次に、先にロードしたプリンタ粒状性プロファイルにおいて、粒状性が視覚限界レベルよりも大きいプリンタ出力明度の範囲を求める(S403)。例えば、図6に示すプリンタ粒状特性は、図8に示すように範囲A1（プリンタ出力明度がa1からa2の範囲）、範囲A2（プリンタ出力明度がa3からa4の範囲）において粒状性が視覚限界レベルよりも大きい。この場合、範囲A1およびA2を特定するプリンタ出力明度a1、a2、a3およびa4が、ステップS403の結果として得られる。
【００３５】
次に、粒状性が視覚限界レベル以上の領域におけるプリンタ出力明度特性の傾きと、それ以外の領域におけるプリンタ出力明度特性の傾きを式(2)および(3)によってそれぞれ求める(S404)。
粒状性が視覚限界レベルより大きいの場合
傾き = 1/D・ΣiNAi          …(2)
粒状性が視覚限界レベル以下の場合
傾き = 1 + 1/D・ΣiNAi      …(3)
ここで、NはステップS404において検出された領域の数
Aiはi番目の領域における領域の幅
Dはプリンタ出力明度が取り得る範囲全体の幅
【００３６】
次に、ステップS403およびS404において求めた領域情報および傾き情報から出力明度変換テーブルの制御ポイントを求める(S405)。図9は、図8に示すプリンタ粒状性プロファイルから明度変換テーブルの制御ポイントを求めた例を示す図である。以下、図9を用いてステップS405の処理を説明する。
【００３７】
図9の横軸は明度変換テーブルに入力される変換前プリンタ出力明度、縦軸は出力明度変換テーブルによって変換された後の変換後プリンタ出力明度である。また、min、maxは、それぞれプリンタ出力明度の最小値、最大値を意味し、縦軸おけるminおよびmax、横軸におけるminおよびmaxはそれぞれ同値である。
【００３８】
まず、変換前プリンタ出力明度において、min以上でa1より小さい領域は粒状性が視覚限界レベルよりも小さい領域であるから、点Pmin(min, min)を通り、傾きが式(3)で示される直線を考え、この直線上の点P1(a1, b1)を求める。すなわち、変換前プリンタ出力明度a1に対する変換後出力明度b1を式(4)により求める。
b1 = {1 + (A1 + A2)/D}(a1 - min) + min      …(4)
【００３９】
次に、変換前プリンタ出力明度がa1以上でa2より小さい領域は粒状性が視覚限界レベルよりも大きい領域であるから、点P1(a1, b1)を通り、傾きが式(2)で与えられる直線を考え、点P2(a2, b2)を求める。すなわち、変換前プリンタ出力明度a2に対する変換後出力明度b2を式(5)により求める。
b2 = (A1 + A2)/D・(a2 - a1) + b1      …(5)
【００４０】
以下、同様に点P3(a3, b3)、P4(a4, b4)を求め、点Pmin(min, min)、P1(a1, b1)、P2(a2, b2)、P3(a3, b3)、P4(a4, b4)、P5(a5, b5)、Pmax(max, max)を出力明度変換テーブルの制御ポイントとする。
【００４１】
最後に、ステップS405にて求めた各制御ポイントをスプライン曲線などで補間し、図10に例として示す出力明度変換テーブルを作成する(S406)。図9の例では、破線で示す曲線がステップS406において補間された出力明度変換特性になる。
【００４２】
図17は、このようにして得られた出力明度変換テーブルを用いてプリンタ出力明度を変換することで、粒状感が軽減される様子を示す図である。図17(a)はプリンタ出力明度を変換する前のプリンタ粒状特性、図17(b)は出力明度変換テーブル、図17(c)はプリンタ出力明度を変換した後のプリンタ粒状特性である。図17に示すように、視覚限界レベルよりも大きい粒状性をもつプリンタ出力明度の範囲Aは、出力明度変換テーブルの対応する領域の傾きを1より小さく設定することで、視覚限界レベルよりも小さい粒状性をもつプリンタ出力明度の範囲Bに圧縮することができる。すなわち、粒状性が視覚限界レベル以上になるプリンタ出力明度範囲は、その範囲における出力明度変換テーブルの傾きに応じた比率（以降「粒状性圧縮率」と称す）で圧縮される。
【００４３】
●画像変換テーブルの作成
図11は画像変換テーブル作成部201の処理の流れを示す図である。以下、図11に従って画像変換テーブルの作成処理を説明する。
【００４４】
まず、プリンタ105のプリンタ出力プロファイルをロードする(S501)。プリンタ出力プロファイルは、プリンタドライバ103に入力されるRGB信号値と、プリンタ105によって出力される色との対応関係を示すものである。本実施例におけるプリンタ出力プロファイルは、R、G、Bの各色情報が等しい入力（以降「プリンタ入力グレイレベル」という）に対するプリンタ105の出力明度（以降「プリンタ出力明度」という）の関係（以降「プリンタ出力特性」という）を示し、例えば、図13に示すテーブル形式で記録されたデータのことである。なお、本実施例ではプリンタ出力明度としてCIELAB色空間におけるL*値を使用するが、これに限るものではなく、明度に相当する情報量であればどのようなものであってもよい。図12はプリンタ出力プロファイルに記録されるプリンタ出力特性の一例を示す図である。図12におけるDmin、Dmaxは、プリンタ105が出力可能な最小明度、最大明度をそれぞれ意味する。
【００４５】
次に、ステップS501でロードしたプリンタ出力プロファイル、および、図5に示す処理で作成した出力明度変換テーブルから、ステップS502からS504の処理により、例えば図15に示す画像変換テーブルを作成する。
【００４６】
図14はステップS502からS504における処理を説明する図である。図14において、エリアI、エリアIIIはステップS501でロードしたプリンタ105のプリンタ出力特性を示し、エリアIとエリアIIIに示す特性は同一である。エリアIIに示す特性は出力明度変換テーブルの変換特性を示す。また、エリアIVに示す特性は、ここで作成される画像変換テーブルの変換特性である。
【００４７】
まず、図14の矢印(1)で示すように、プリンタ105に入力されるグレイレベル（変換前のグレイレベル）に対するプリンタの出力明度を求め(S502)、矢印(2)で示すように、明度変換テーブルによる変換後の出力明度を求め(S503)、最後に矢印(3)で示すように、変換後の出力明度を出力するのに必要なグレイレベル（変換後のグレイレベル）を求める(S504)。この変換前のグレイレベルに対する変換後のグレイレベルの対応を記録したものが、図15に一例を示す画像変換テーブルである。
【００４８】
［画像変換処理部］
画像変換処理部202は、入力された画像データを、作成された画像変換テーブルを用いて変換する。なお、本実施例においては、画像データ中の明度成分のみを変換するものとする。図16は画像変換処理部202の詳細な構成例を示すブロック図である。
【００４９】
テーブル変換部401は、作成された画像変換テーブルを用いて、入力画像データのRGB値をそれぞれ同一のテーブルを用いて変換する。L*a*b*変換部402は、テーブル変換部401から入力されるRGB値をL*a*b*変換（CIELab表色系に変換）する。また、L*a*b*変換部403は、入力画像データのRGB値をL*a*b*変換する。
【００５０】
次に、入力画像データの色味を変化させずに明度のみを変換するために、L*a*b*変換部402から出力されるL*値と、L*a*b*変換部から出力されるa*値、b*値を用いて、L*a*b*逆変換部404により、RGB値に逆変換する。
【００５１】
なお、ここではCIELab表色系に変換し、明度成分L*のみを変換する例を説明したが、これに限られるものではなく、他の表色系に変換し、明度成分に相当する情報量を変換する処理や、各RGB値をただ単に画像変換テーブルにより変換する処理であってもよい。
【００５２】
このように、第1実施例によれば、プリンタ出力プロファイルおよびプリンタ粒状性プロファイルの二つの一次元テーブルを利用して、粒状感を軽減するための変換テーブルを作成し、その変換テーブルを使用して入力画像データを変換する。そのため、粒状感を軽減するためにRGB-CMYK色分解などの複雑な多次元テーブルを利用する必要がなく、より少ないメモリ消費量で粒状性が少ない高画質な出力画像を得ることができる。
【実施例２】
【００５３】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５４】
実施例2として、実施例1で説明した粒状性の視覚限界レベルに相当する、粒状性調整レベルおよび粒状性圧縮率をユーザが任意に入力し、画像変換テーブルを作成する画像処理を説明する。以下では、実施例1と異なる、プリンタドライバ103のユーザインタフェイスと処理の流れ、および、出力明度変換テーブルの作成について詳細に説明する。なお、その他の処理は実施例1と同様である。
【００５５】
［ユーザインタフェイスの詳細］
図18は実施例2におけるユーザインタフェイス(UI)を示す図である。
【００５６】
UIのフレーム1401内には、プリンタ粒状特性を表示する表示部1402、プリンタ出力特性を表示する表示部1403、実施例1における粒状性の視覚限界レベルに相当する、粒状性調節レベルをユーザが入力するための入力部1404、ユーザが粒状性圧縮率を入力するための入力部1405、プリンタ粒状特性の表示部1402上で、ユーザが任意の粒状性調節レベルをマウスなどを使用して設定するための変更バー1406、過去に作成し、保存した画像変換テーブルのロードするためのボタン1407、作成した画像変換テーブルを保存するためのボタン1408、画像データを印刷するためのボタン1409、処理を中止するためのボタン1410、並びに、画像変換テーブルによって変換された印刷プレビューを表示するプレビュー表示部1411が備わる。
【００５７】
［プリンタドライバにおける処理の流れ］
図19は実施例2におけるプリンタドライバ103の処理を示すフローチャートである。
【００５８】
プリンタドライバ103は、OS 102から描画命令が入力されると、粒状性軽減モードがオンか否かを判定する(S1401)。粒状性軽減モードがオフの場合は、入力された画像データをプリンタ105が印刷可能な印刷データに変換し(S1420)、印刷データをプリンタ105に出力する(S1421)。
【００５９】
一方、粒状性軽減モードがオンの場合は、図18に示すUIをモニタ106に表示する(S1402)。このとき、プリンタ105のプリンタ粒状プロファイルおよびプリンタ出力プロファイルを例えばHD 107からRAM 109にロードして、プリンタ粒状特性の表示部1402およびプリンタ出力特性の表示部1403にそれぞれプロファイルに記録された特性を表示する。
【００６０】
続いて、ユーザが、UIの「開く」ボタン1407を押したか否か(S1403)、粒状性調節レベルを入力部1404へ入力したか否か(S1404)、粒状性圧縮率を入力部1405へ入力したか否か(S1405)、粒状性調節レベルの変更バー1406を操作したか否か(S1406)、「印刷」ボタン1409を押したか否か(S1407)、「保存」ボタンを押したか否か(S1408)、並びに、「キャンセル」ボタン1410を押したか否か(S1409)を順次判定し、判定結果に応じた処理に進む。
【００６１】
「開く」ボタン1407が押された場合は、HD 107に保存された、過去に作成された画像変換テーブルをRAM 109にロードし(S1414)、UIの表示（表示部1402-1405に表示された特性または数値）を、ロードした画像変換テーブルによって変換した後の特性または数値に変更し(S1413)、入力された画像データを、ロードした画像変換テーブルで変換し(S1411)、プレビュー表示部1411に変換後の画像（印刷プレビュー）を表示し(S1410)、その後、処理をステップS1403へ戻す。
【００６２】
粒状性調節レベルが入力部1404に入力（または変更）された場合は、表示部1402に表示されている変更バー1406の表示位置を、入力値（または変更後の値）に相当する位置に変更し(S1415)、UI上に設定された粒状性調節レベルおよび粒状性圧縮率を取得して(S1417)、これらの値およびプリンタ粒状特性から画像変換テーブルを作成する(S1418)。そして、画像変換テーブルを変更したことによって変化するプリンタ出力特性およびプリンタ粒状特性に基づき、それら特性の表示部1402および1403の表示を更新し(S1412)、入力された画像データを、変更した画像変換テーブルで変換し(S1411)、プレビュー表示部1411に変換後の画像（印刷プレビュー）を表示し(S1410)、その後、処理をステップS1403へ戻す。
【００６３】
粒状性圧縮率が入力部1405へ入力（または変更）された場合は、上記のステップS1417からS1410の処理を実行した後、処理をステップS1403へ戻す。
【００６４】
粒状性調節レベルの変更バー1406が操作された場合は、表示部1404に表示された値を、変更バー1406の表示位置に相当する値に変更し(S1416)、上記のステップS1417からS1410の処理を実行した後、処理をステップS1403へ戻す。
【００６５】
「印刷」ボタン1409が押された場合は、プレビュー表示部1411に表示した画像の画像データをプリンタ105が印刷可能な印刷データに変換し(S1420)、印刷データをプリンタ105に出力し(S1421)、処理をステップS1403へ戻す。
【００６６】
「保存」ボタン1408が押された場合は、RAM 109上にある画像変換テーブルをHD 107に保存し(S1419)、処理をステップS1403へ戻す。
【００６７】
「キャンセル」ボタン1409が押された場合は、何も処理せずに処理を終了する。
【００６８】
［出力明度変換テーブルの作成］
画像変換テーブルを作成するステップS1418は、図4に示したように、出力明度変換テーブルを作成し、次に、画像変換テーブルを作成する。以下では、実施例2における出力明度変換テーブルの作成処理（図4のステップS301に対応する）の詳細を説明する。なお、画像変換テーブルの作成処理（図4のステップS302に対応する）は、実施例1と同じであり、詳細な説明は省略する。
【００６９】
図20は実施例2の出力明度変換テーブルの作成処理を示すフローチャート、図21は実施例2の出力明度変換テーブルの作成方法を説明する図である。
【００７０】
まず、実施例1と同様に、プリンタ粒状特性における粒状性が、粒状性調節レベルよりも大きい領域を求める(S1601)。図21においては、変換前のプリンタ出力明度がa1以上でa2より小さい領域A1、a3以上でa4より小さい領域A2が該当する領域である。
【００７１】
次に、ステップS1601で求めた領域の中心点Miを求める(S1602)。図21では、点M1(X1, Y1)、M2(X2, Y2)が該当する点で、X1をa1とa2の中点、X2をa3とa4の中点とし、Y1＝X1、Y2=X2とする。
【００７２】
次に、中心点Miを通り、傾きが粒状性圧縮率である直線を求め、領域Aiの境界と交差する座標を求め、出力明度変換テーブルを作成するための制御ポイントとする(S1603)。図21においては、まず、点M1を通り、傾きが粒状性圧縮率である直線L1を求め、領域A1の境界(a1, a2)と交差する直線L1上の点P1(a1, b1)、P2(a2, b2)を求める。点M2についても同様に、直線L2上の点P3(a3, b3)、P4(a4, b4)を求める。これら点P1-P4が図21の例における制御ポイントになる。
【００７３】
最後に、制御ポイントをスプライン曲線などにより補間し、出力明度変換テーブルを作成する(S1604)。図21においては、破線で示す特性が出力明度変換テーブルである。
【００７４】
このように、実施例2によれば、粒状性調節レベルおよび粒状性圧縮率をUI上で設定可能にしたことで、ユーザが、容易に、出力画像の粒状性をコントロールすることができるようになる。
【００７５】
［変形例］
実施例1および実施例2では、プリンタドライバに本発明を適用する例を説明したが、画像処理アプリケーションなどにも本発明を適用することができる。
【００７６】
また、実施例1および実施例2では、プリンタ粒状性プロファイルあるいはプリンタ出力プロファイルを図10あるいは図13に示すテーブル形式で保持することとしたが、それぞれの特性を近似した近似式あるいは近似式のパラメータなどの形式で保持してもよい。
【００７７】
また、実施例1および実施例2では、粒状性の視覚限界レベルあるいは粒状性調節レベルを設け、視覚限界レベルあるいは粒状性調節レベルよりも粒状性が大きい領域で粒状性を圧縮して明度変換テーブルを作成したが、例えば図22に一例を示す粒状性累積ヒストグラムの形状などを用いて明度変換テーブルを作成してもよい。ここで、図22(a)は、実線で粒状度を、その累積ヒストグラムを破線で表す。この累積ヒストグラムの形状を利用して、出力明度変換テーブルとしたものが図22(b)である。
【実施例３】
【００７８】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７９】
図23はプリンタドライバ103における処理の流れを説明するフローチャートである。
【００８０】
まず、プリンタ粒状性プロファイルおよびプリンタ出力プロファイルを入力し、配列GRAおよびPRNにそれぞれ格納し、入力画像データのグレイレベルを算出して一次元配列IMAに格納する(S1501)。なお、画像データがRGB各8ビットの場合、i番目の画素のグレイレベルIMA[i]は、例えば以下の式で算出することができる。
IMA[i] = (R[i] + 2・G[i] + B[i])/4      …(6)
【００８１】
なお、グレイレベルの算出は、式(6)に限らず、プリンタ出力プロファイルとの整合性がとれていればどのようなものでもよい。
【００８２】
次に、図24に示すUIを表示する(S1502)。図24に示すUIには、プリンタドライバ103に入力された画像データが表す画像を表示する表示部1301、ユーザがマウスなどの入力デバイスを使用して選択した矩形領域1302、矩形領域1302内における画像の粒状度を表示する示部1303、画像粒状度の表示部1303において、視覚限界レベルを表示する表示バー1304、出力明度変換テーブルを表示する表示部1305、プリンタ105に画像データを送り印刷を行わせる「印刷」ボタン1306、並びに、処理を中止するための「キャンセル」ボタン1307がある。
【００８３】
ここで、出力明度変換テーブルは、先述した出力画像における粒状性をコントロールするためのテーブルであるが、出力明度変換テーブルは、出力明度変換テーブルの表示部1305を操作することで編集可能で、そのテーブルデータは常に配列CHLに格納されているものとする。また、粒状度は配列Rに記録されているものとする。
【００８４】
次に、UI上で矩形領域1302が変更されたか否かを判定し(S1503)、変更された場合は、変更後の矩形領域1302内のヒストグラムを算出し(S1507)、画像粒状度を計算し(S1511)、表示部1303に画像粒状度を表示し(S1512)、その後、処理をステップS1503に戻す。なお、画像粒状度の詳細は後述する。
【００８５】
また、UI上で出力明度変換テーブルの表示部1305が操作されたか否かを判定し(S1504)、操作された場合は画像変換テーブルを作成し(S1508)、作成した画像変換テーブルによって入力画像データを変換し(S1509)、変換した画像データが表す画像を表示部1301に表示する(S1510)。そして、画像粒状度を計算し(S1511)、表示部1303に画像粒状度を表示し(S1512)、その後、処理をステップS1503に戻す。
【００８６】
また、UI上で「印刷」ボタン1306が押されたか否かを判定し(S1505)、押された場合は、表示部1301に表示した画像の画像データをプリンタ用補正処理部203に送ってプリンタ105が印刷可能な印刷データに変換し(S1513)、その印刷データをプリンタ105に送り(S1514)、処理を終了する。
【００８７】
また、UI上で「キャンセル」ボタン1307が押されたか否かを判定し(S1506)、押された場合は直ちに処理を終了する。
【００８８】
［ヒストグラムの算出の詳細］
図25はヒストグラムの算出処理（ステップS1507）を示すフローチャートである。
【００８９】
まず、ヒストグラムを格納する配列HISTおよび変数iに初期値を設定し(S901)、画像データ（配列IMA）の全画素に対し、以下の処理を行う。
【００９０】
IMA[i]の値を読み取り(S902)、プリンタ出力プロファイル（配列PRN）に基づきグレイレベルIMA[i]を入力した場合のプリンタ出力明度、つまりPRN[IMA[i]]を求める(S903)。続いて、プリンタ105が出力可能な明度範囲Dmin-Dmaxを幅ΔDの領域で分割したときに、ステップS903で求めたプリンタ出力明度がどの領域に位置するかを求め(S904-S906)、該当する領域のヒストグラム配列HIST[j]に1を加算する(S907)。以上の処理は、ステップS908でインクリメントされる変数iの値がN（矩形領域1302の画素数）を超えるまで繰り返される。
【００９１】
［画像変換テーブルの作成の詳細］
図26は画像変換テーブルの作成処理（ステップS1508）を示すフローチャートである。以降、図26および図14を使って、画像変換テーブルの作成処理を説明する。
【００９２】
図14において、エリアI、エリアIIIは、配列PRNに格納されているプリンタ105のプリンタ出力特性を示し、エリアIとエリアIIIに示す特性は同一である。エリアIIに示す特性は、配列CHLに格納されている出力明度変換テーブルの変換特性を示す。また、エリアIVに示す特性は、ここで作成され、配列TBLに格納される画像変換テーブルの変換特性である。
【００９３】
まず、変数iを零に初期化し(S1001)、図14の矢印(1)で示すように、プリンタ105に入力されるグレイレベル（変換前のグレイレベル）に対するプリンタの出力明度を求め(S1002)、矢印(2)で示すように、明度変換テーブルによる変換後の出力明度を求め(S1003)、最後に、最後に矢印(3)で示すように、変換後の出力明度を出力するのに必要なグレイレベル（変換後のグレイレベル）を求める(S1004）。この処理はステップS1005でインクリメントされる変数iの値が所定値（8ビットの場合は255）を超えるまで繰り返される。この変換前のグレイレベルに対する変換後のグレイレベルの対応を記録したものが、図15に一例を示す画像変換テーブルである。
【００９４】
［画像粒状度の算出の詳細］
図27は画像粒状度の算出処理（ステップS1511）を示すフローチャートである。
【００９５】
画像粒状度は、出力明度に対するヒストグラムと粒状性の積をとったもので、プリンタ105において出力される画像の明度と粒状性の関係を示す。画像粒状度の表示部1303に表示される特性は、横軸にプリンタ105で出力される明度をとり、縦軸に横軸の明度に対する画像粒状度をとったものである。なお、この画像粒状度は配列Rに格納するものとする。
【００９６】
まず、変数jおよび配列Rを適当な値で初期化し(S1201)、各サンプリング点（出力明度変換テーブルの入力）において以下の処理を行い、画像粒状度Rを求める。
【００９７】
まず、サンプリング点jに対し、出力明度変換テーブルで変換された後の出力明度CHL[j]を求め(S1202)、プリンタ粒状性プロファイル（配列GRA）から、出力明度CHL[j]に対する粒状性を求め(S1203)、最後に、求めた粒状性と、画像データのヒストグラムHIST[j]との積をとり、配列R[j]に格納する(S1204)。以上の処理はステップS1205でΔDが加算される変数jがDmaxを超えるまで繰り返される。
【００９８】
［画像変換処理の詳細］
画像変換処理（ステップS1509）は、図16を用いて説明した画像変換処理部202の処理であり、その詳細な説明を省略する。
【００９９】
このように、実施例3によれば、ユーザによる画像の矩形領域の選択が可能であり、選択された矩形領域の画像粒状性を表示するとともに、ユーザによる出力明度変換テーブルの調整が可能である。さらに、矩形領域の選択または出力明度変換テーブルの調整後、再度、画像粒状度を計算し表示するので、ユーザは、任意の画像領域における粒状性を調整することができる。
【実施例４】
【０１００】
以下、本発明にかかる実施例4の画像処理を説明する。なお、実施例4において、実施例1-3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０１】
実施例4として、出力画像の粒状性を軽減するために、出力画像におけるコントラストを調整する画像処理を説明する。以下、実施例3と異なる、プリンタドライバ103における処理を説明する。
【０１０２】
［プリンタドライバの処理］
図28はプリンタドライバ103における処理の流れを示すフローチャートであるが、図23に示した処理と同一の処理には同一符号を付し、その詳細説明を省略する。
【０１０３】
まず、プリンタ粒状プロファイル、プリンタ出力プロファイル、許容データの代々地および最小値を入力し、それぞれ配列GRA、PRN、θminおよびθmaxに格納するとともに、入力画像データのグレイレベルを算出して一次元配列IMAに格納する(S1701)。なお、許容データであるθminおよびθmaxについては後に詳細に説明する。
【０１０４】
次に、図29に示すUIを表示する。図29に示すUIは、図24に示したUIの出力明度変換テーブルを表示する表示部1305に代わって、ユーザが出力画像のコントラストおよび粒状性をコントロールするためのコントラスト調整スライダ1308を有する。コントラスト調整スライダ1308は、パラメータθをθmin-θmaxの範囲で設定するもので、コントラスト調整スライダのつまみが調整範囲の左端にあるときθ=θminが、右端にあるときθ=θmaxが設定され、中間にあるときは、左端および右端からの距離の比率したθが設定される。
【０１０５】
そして、UI上でコントラスト調整スライダ1308のつまみの位置が変更されたか否かを判定し(S1704)、変更されたならばパラメータθに応じた出力明度変換テーブルを作成する(S1708)。続いて、作成された出力明度変換テーブルに基づき画像変換テーブルを作成し(S1508)、作成した画像変換テーブルによって入力画像データを変換し(S1509)、変換した画像データが表す画像を表示部1301に表示する(S1510)。そして、画像粒状度を計算し(S1511)、表示部1303に画像粒状度を表示し(S1512)、その後、処理をステップS1503に戻す。
【０１０６】
［許容データ］
図30は許容データを説明する図である。
【０１０７】
本実施例では、DminとDmaxの中間点のDmidが入力されたときの出力をDmidに固定し、この固定点における出力明度変換テーブルの傾きの角度θをパラメータとして、出力明度変換テーブルを作成する。ここで、図30に示すθminおよびθmaxはθの許容範囲を定め、θのとり得る値の下限および上限を意味する。このθminおよびθmaxは、予め定められ、例えば図31に示す形式で記録され、HD 107などに格納されている。
【０１０８】
［出力明度変換テーブルの作成］
図32は実施例4における出力明度変換テーブルの作成処理（ステップS1708）の流れを示すフローチャートである。
【０１０９】
まず、パラメータθをコントラスト調整つまみ1605の位置から求め(S2001)、変数jに初期値(Dmin)を設定する(S2002)。
【０１１０】
次に、出力明度変換テーブルの入力jに対する出力明度変換テーブルの出力CHL[j]を求め(S2003)、CHL[j]がプリンタ105の出力可能範囲Dmin〜Dmaxの値をとるようにクリッピングする(S2004)。ここで、入力jはプリンタ105の出力明度範囲Dmin〜DmaxをΔDの間隔でサンプリングしたときの各サンプリング点におけるプリンタ105の出力明度とする。そして、ステップS2005でΔDが加算される変数jがDmaxを超えるまで、ステップS2003からS2005の処理を繰り返す。
【０１１１】
このように、実施例2によれば、ユーザが、入力画像データに応じて出力明度変換テーブルの傾きを制御することで、選択領域における粒状性を制御することができる。従って、入力画像データの平均的な明るさを変えることなく、粒状感が少ない高画質な出力画像を容易に獲得することができる。また、ユーザは、出力画像のコントラストを調整する際に、着目領域において粒状感がどのように変化するかを確認しつつ、コントラストの調整を行うことができる。
【０１１２】
［変形例］
実施例3および実施例4では、プリンタドライバに本発明を適用する例を説明したが、画像処理アプリケーションなどにも本発明を適用することができる。
【０１１３】
また、実施例3および実施例4では、プリンタの出力明度をΔDの等間隔でサンプリングし、出力明度変換テーブルを作成する例を説明したが、任意の間隔でサンプリングしてもよい。
【０１１４】
また、実施例3および実施例4では、画像領域を矩形領域で選択する例を説明したが、選択領域はどのような形状でもよい。
【０１１５】
また、実施例3において、ユーザが出力明度変換テーブルを調整する例を説明したが、画像変換テーブルを調整してもよい。
【０１１６】
また、実施例4において、プリンタ出力明度の中間値Dmidを固定して、出力明度変換テーブルを作成する例を説明したが、例えば、入力画像データのヒストグラムを解析し、その結果に応じて固定点を決定するようにしてもよい。
【実施例５】
【０１１７】
以下、本発明にかかる実施例5の画像処理を説明する。なお、実施例5において、実施例1-4と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１１８】
［画像変換テーブルの作成］
以下では、実施例5に特徴的な画像変換テーブルの作成処理を説明する。図33は画像変換テーブルの作成処理の流れを説明するフローチャートである。
【０１１９】
まず、プリンタ粒状プロファイル、プリンタ出力プロファイル、出力明度変換テーブルの許容データ（上限および下限テーブル）を入力し、それぞれ配列GRA、PRN、AUおよびALに格納するとともに、入力画像データのグレイレベルを算出して一次元配列IMAに格納する(S2301)。なお、画像データがRGB各8ビットの場合、i番目の画素のグレイレベルIMA[i]は、例えば、実施例3で示した式(6)などで算出することができる。
【０１２０】
次に、配列IMAに格納された画像データの輝度成分のヒストグラムを計算し配列HISTに格納し(S2302)、配列GRA、PRN、AU、ALおよびHISTに格納されたデータに基づき、許容範囲内で粒状性を極力小さくするための出力明度変換テーブル（図10参照）を作成する(S2303)。
【０１２１】
最後に、出力明度変換テーブルで定められた出力を行うために画像データを変換する画像データ変換テーブルを作成する(S2304)。この画像変換テーブルは、グレイ値の入力と出力との対応を示したルックアップテーブルである（図15参照）。
【０１２２】
以下では、許容データ、ヒストグラムの算出（ステップS2302）および出力明度変換テーブルの作成（ステップS2303）について、その詳細を説明する。なお、画像変換テーブルの作成（ステップS2304）は実施例3で図26を用いて説明したので、その詳細説明を省略する。
【０１２３】
［許容データ］
図34は許容データを説明する図である。
【０１２４】
許容データは、出力明度変換テーブルを作成するに当り、テーブルへの入力である変換前のプリンタ出力明度範囲（DminからDmax）をΔDの間隔でサンプリングし、それらサンプリング点に対応する出力である変換後のプリンタ出力明度の下限値、上限値を定めたものである。この許容データは、例えば図35に示すテーブル形式で記録され、HD 107に格納されている。
【０１２５】
［ヒストグラムの算出］
図36はヒストグラム算出処理（ステップS2303）を示すフローチャートである。
【０１２６】
まず、ヒストグラムを格納する配列HISTおよび変数iに初期値を設定し(S2101)、画像データ（配列IMA）の全画素に対し、以下の処理を行う。
【０１２７】
IMA[i]の値を読み取り(S2102)、プリンタ出力プロファイル（配列PRN）に基づきグレイレベルIMA[i]を入力した場合のプリンタ出力明度、つまりPRN[IMA[i]]を求める(S2103)。続いて、プリンタ105が出力可能な明度範囲Dmin-Dmaxを幅ΔDの領域で分割したときに、ステップS2103で求めたプリンタ出力明度がどの領域に位置するかを求め(S2104-S2106)、該当する領域のヒストグラム配列HIST[j]に1を加算する(S2107)。以上の処理は、ステップS2108でインクリメントされる変数iの値が全画素数を超えるまで繰り返される。
【０１２８】
［出力明度変換テーブルの作成］
図37は出力明度変換テーブルの作成処理（ステップS303）を示すフローチャートである。
【０１２９】
まず、ヒストグラム配列HIST[I]が最大になる出力明度Iを求める(S2201)。以下、この出力明度Iを出力明度変換テーブルに入力したときに出力される値を許容範囲内で変化させ、出力画像の粒状性がなるべく小さくなるように出力明度変換テーブルを作成する。
【０１３０】
次に、変数R_min、L_minに初期値を設定し(S2202)、変数Lに出力明度Iにおける許容範囲の下限値AL[I]を設定し(S2203)、仮の出力明度変換テーブルを作成する(S2204)。
【０１３１】
図38はステップS2204の詳細を示すフローチャートである。図38に示すように、変数jに出力明度の最小値Dminを設定し(S2401)、出力明度変換テーブルの入力jに対する出力明度変換テーブルの出力CHL[j]を求める(S2402)。そして、ステップS2402で、プリンタ105の出力明度範囲Dmin-DmaxをΔDの間隔でサンプリングした各サンプリング点を変数jに設定し、変数jがDmaxを超えるまで出力CHl[j]を求める。なお、ステップS2402でここで、AL[I]は入力Iに対する出力の許容の下限を、AU[I]は入力Iに対する出力の許容の上限を意味する。
【０１３２】
次に、画像粒状度Rを算出する(S2205)。図39は画像粒状度Rの算出処理を示すフローチャートである。図39において、変数jおよびRを適当な値で初期化し(S2601)、各サンプリング点（出力明度変換テーブルの入力）において以下の処理を行い、画像粒状度Rを求める。
【０１３３】
まず、サンプリング点jに対し、出力明度変換テーブルで変換された後の出力明度CHL[j]を求め(S2602)、プリンタ粒状性プロファイル（配列GRA）から、出力明度CHL[j]に対する粒状性を求め(S2603)、最後に、求めた粒状性と、画像データのヒストグラムHIST[j]との積を変数Rに加える(S2604)。以上の処理はステップS2605でΔDが加算される変数jがDmaxを超えるまで繰り返される。
【０１３４】
次に、画像粒状度RとR_minとを比較し(S2206)、R_min＞RであればR_minおよびL_minをそれぞれ画像粒状度Rおよび変数Lで更新する(S2207)。そして、変数Lに所定の値ΔLを加え(S2208)、L＞AU[I]になるまで、ステップS2204-S2208の処理を繰り返す。
【０１３５】
最後に、変数LにL_minを設定し(S2209)、配列CHLに格納されている値をLminに対応する値に更新する(S2210)。
【０１３６】
このようにして出力明度変換テーブルを作成することで、画像中で最も頻度が高い明度領域における、出力画像の粒状性を軽減する出力明度変換テーブルを、出力画像に破綻をきたすことなく、自動的に作成することができる。
【０１３７】
このように、実施例5によれば、プリンタ出力プロファイルおよびプリンタ粒状性プロファイルの二つの一次元テーブル、入力画像データのヒストグラム、並びに、許容データを用いて入力画像データに応じて粒状感を軽減するルックアップテーブルを作成し、そのルックアップテーブルを用いて入力画像データを変換するため、粒状感を軽減するためにRGB-CMYK色分解などの複雑な多次元のルックアップテーブルを必要とせずに、入力画像データに応じた粒状性の少ない高画質の出力画像を得ることができる。
【実施例６】
【０１３８】
以下、本発明にかかる実施例6の画像処理を説明する。なお、実施例6において、実施例1-5と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１３９】
実施例6として、出力画像の粒状感を軽減するために、出力画像のコントラストを自動的に調整する画像処理を説明する。なお、以下では、実施例5と異なる許容データおよび出力明度変換テーブルの作成処理（ステップS2303）について説明する。
【０１４０】
［許容データ］
実施例6では、実施例4で図30を用いて説明した許容データを利用する。
【０１４１】
［出力明度変換テーブルの作成］
図40は実施例6における出力明度変換テーブルの作成処理（ステップS2303）を示すフローチャートである。
【０１４２】
まず、変数R_min、L_minに初期値を設定し(S3201)、変数θに許容範囲の下限値θminを設定し(S3202)、仮の出力明度変換テーブルを作成する(S3203)。
【０１４３】
図41はステップS3203の詳細を示すフローチャートである。図41に示すように、変数jに出力明度の最小値Dminを設定し(S3301)、出力明度変換テーブルの入力jに対する出力明度変換テーブルの出力CHL[j]を求め(S3302)、CHL[j]がプリンタ105の出力可能範囲Dmin〜Dmaxの値をとるようにクリッピングする(S3303)。ここで、入力jはプリンタ105の出力明度範囲Dmin〜DmaxをΔDの間隔でサンプリングしたときの各サンプリング点におけるプリンタ105の出力明度とする。そして、ステップS3304でΔDが加算される変数jがDmaxを超えるまで、ステップS3302からS3304の処理を繰り返す。
【０１４４】
次に、実施例5と同様に画像粒状度Rを算出し(S3204)、画像粒状度RとR_minとを比較し(S3205)、R_min＞RであればR_minおよびL_minをそれぞれ画像粒状度Rおよび変数θで更新する(S3206)。そして、変数θに所定のΔθを加え(S3207)、変数θが許容範囲の上限値θmaxを超えるまでステップS3203からS3207の処理を繰り返す。
【０１４５】
最後に、変数θにL_minを設定し(S3208)、配列CHLに格納されている値をL_minに対応する値に更新する(S3209)。
【０１４６】
このように、実施例6によれば、入力画像データに応じて出力明度変換テーブルの傾きを制御して粒状感を軽減するため、入力画像データの平均的な明るさを変えることなく、粒状感が少ない高画質な出力画像を得ることができる。
【０１４７】
［変形例］
実施例5および実施例6では、プリンタドライバに本発明を適用する例を説明したが、画像処理アプリケーションなどにも本発明を適用することができる。
【０１４８】
また、実施例5および実施例6では、出力明度変換テーブルに許容範囲を設ける例を説明したが、例えば画像変換テーブルなどに許容範囲を設けてもよい。
【０１４９】
また、実施例5および実施例6では、プリンタ出力明度をΔDの等間隔でサンプリングし、出力明度変換テーブルを作成する例を説明したがしたが、任意の間隔でサンプリングしてもよい。
【０１５０】
また、実施例5および実施例6では、プリンタ粒状性プロファイル、プリンタ出力プロファイルおよび許容データをテーブル形式で保持する例を説明したが、それぞれの特性を近似した近似式、あるいは近似式のパラメータなどの形式で保持してもよい。
【０１５１】
また、実施例6では、プリンタ出力明度の中間値Dmidを固定して出力明度変換テーブルを作成する例を説明したが、例えば、入力画像データのヒストグラムを解析し、その結果に応じて固定する点を決定するようにしてもよい。
【０１５２】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１５３】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例￥の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１５４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１５５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１５６】
【図１】画像を印刷出力する際のデータの流れ説明する図、
【図２】プリンタドライバの構成例を示すブロック図、
【図３】プリンタドライバの処理の流れを示すフローチャート、
【図４】画像変換テーブル作成部の処理の流れを示すフローチャート、
【図５】出力明度変換テーブルの作成処理の流れを示すフローチャート、
【図６】プリンタ粒状性プロファイルに記録されるプリンタ粒状特性の一例を示す図、
【図７】プリンタ粒状プロファイルを説明する図、
【図８】出力明度変換テーブルの作成を説明する図、
【図９】出力明度変換テーブルの作成を説明する図、
【図１０】出力明度変換テーブルの一例を示す図、
【図１１】画像変換テーブル作成部の処理の流れを示す図、
【図１２】プリンタ出力プロファイルに記録されるプリンタ出力特性の一例を示す図、
【図１３】プリンタ出力プロファイルを説明する図、
【図１４】画像変換テーブルの作成を説明する図、
【図１５】画像変換テーブルの一例を示す図、
【図１６】画像変換処理部の詳細な構成例を示すブロック図、
【図１７】出力明度変換テーブルを用いてプリンタ出力明度を変換することで、粒状感が軽減される様子を示す図、
【図１８】実施例2におけるユーザインタフェイスを示す図、
【図１９】実施例2におけるプリンタドライバの処理を示すフローチャート、
【図２０】実施例2の出力明度変換テーブルの作成処理を示すフローチャート、
【図２１】図21は実施例2の出力明度変換テーブルの作成方法を説明する図、
【図２２】粒状性累積ヒストグラムの一例を示す図、
【図２３】実施例3のプリンタドライバにおける処理の流れを説明するフローチャート、
【図２４】実施例3におけるユーザインタフェイスを示す図、
【図２５】実施例3におけるヒストグラムの算出処理を示すフローチャート、
【図２６】実施例3における画像変換テーブルの作成処理を示すフローチャート、
【図２７】実施例3における画像粒状度の算出処理を示すフローチャート、
【図２８】実施例4のプリンタドライバにおける処理の流れを説明するフローチャート、
【図２９】実施例4におけるユーザインタフェイスを示す図、
【図３０】実施例4における許容データを説明する図、
【図３１】実施例4における許容データの記録形式を示す図、
【図３２】実施例4における出力明度変換テーブルの作成処理の流れを示すフローチャート、
【図３３】実施例5における画像変換テーブルの作成処理の流れを説明するフローチャート、
【図３４】実施例5における許容データを説明する図、
【図３５】実施例5における許容データの記録形式を示す図、
【図３６】実施例5におけるヒストグラム算出処理を示すフローチャート、
【図３７】実施例5における出力明度変換テーブルの作成処理を示すフローチャート、
【図３８】図37に示すステップS2204の詳細を示すフローチャート、
【図３９】実施例5における画像粒状度の算出処理を示すフローチャート、
【図４０】実施例6における出力明度変換テーブルの作成処理を示すフローチャート、
【図４１】図40に示すステップS3203の詳細を示すフローチャートである。
【図１】
2005050204.tif 000003
【図２】
2005050204.tif 000004
【図３】
2005050204.tif 000005
【図４】
2005050204.tif 000006
【図５】
2005050204.tif 000007
【図６】
2005050204.tif 000008
【図７】
2005050204.tif 000009
【図８】
2005050204.tif 000010
【図９】
2005050204.tif 000011
【図１０】
2005050204.tif 000012
【図１１】
2005050204.tif 000013
【図１２】
2005050204.tif 000014
【図１３】
2005050204.tif 000015
【図１４】
2005050204.tif 000016
【図１５】
2005050204.tif 000017
【図１６】
2005050204.tif 000018
【図１７】
2005050204.tif 000019
【図１８】
2005050204.tif 000020
【図１９】
2005050204.tif 000021
【図２０】
2005050204.tif 000022
【図２１】
2005050204.tif 000023
【図２２】
2005050204.tif 000024
【図２３】
2005050204.tif 000025
【図２４】
2005050204.tif 000026
【図２５】
2005050204.tif 000027
【図２６】
2005050204.tif 000028
【図２７】
2005050204.tif 000029
【図２８】
2005050204.tif 000030
【図２９】
2005050204.tif 000031
【図３０】
2005050204.tif 000032
【図３１】
2005050204.tif 000033
【図３２】
2005050204.tif 000034
【図３３】
2005050204.tif 000035
【図３４】
2005050204.tif 000036
【図３５】
2005050204.tif 000037
【図３６】
2005050204.tif 000038
【図３７】
2005050204.tif 000039
【図３８】
2005050204.tif 000040
【図３９】
2005050204.tif 000041
【図４０】
2005050204.tif 000042
【図４１】
2005050204.tif 000043