JP4682814B2 - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP4682814B2
JP4682814B2 JP2005329643A JP2005329643A JP4682814B2 JP 4682814 B2 JP4682814 B2 JP 4682814B2 JP 2005329643 A JP2005329643 A JP 2005329643A JP 2005329643 A JP2005329643 A JP 2005329643A JP 4682814 B2 JP4682814 B2 JP 4682814B2
Authority
JP
Japan
Prior art keywords
tone
value
input
values
output
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
Application number
JP2005329643A
Other languages
English (en)
Other versions
JP2007142506A (ja
Inventor
育央 早石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005329643A priority Critical patent/JP4682814B2/ja
Priority to US11/598,851 priority patent/US20070127074A1/en
Publication of JP2007142506A publication Critical patent/JP2007142506A/ja
Application granted granted Critical
Publication of JP4682814B2 publication Critical patent/JP4682814B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/407Control or modification of tonal gradation or of extreme levels, e.g. background level
    • H04N1/4072Control or modification of tonal gradation or of extreme levels, e.g. background level dependent on the contents of the original
    • H04N1/4074Control or modification of tonal gradation or of extreme levels, e.g. background level dependent on the contents of the original using histograms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • H04N1/628Memory colours, e.g. skin or sky

Description

この発明は、画像データを処理する技術に関する。
従来より、処理対象の画像データの内容に応じて自動的な画像処理が行われている。たとえば、特許文献1の技術においては、画像ファイルGFの中に含まれる画像データGDに基づくパラメータSVと、同じく画像ファイルGFの中に含まれる撮影時の画質調整処理条件である画像処理制御情報GCとが取得される。そして、それらから計算したパラメータFPに基づいてRGBそれぞれのトーンカーブを決定し、そのトーンカーブを使用して自動画質調整を行う。
また、特許文献2の技術においては、画像データ中のExifデータ領域に含まれる被写体焦点距離とレンズ焦点距離、ならびに画像中において記憶色が占める領域の大きさに基づいて、自動的にカラーバランス調整処理が行われる。
特開2002−344989号公報 特開2004−172745号公報
しかし、上記の技術においては、対象とする画像に応じた処理を行いつつ、画像処理において取り扱うデータ量を低減する点については考慮されていなかった。
本発明は、対象とする画像に応じた処理を行いつつ、画像処理において取り扱うデータ量を低減することができる技術を提供することを目的とする。
上記目的を達成するために、本発明は、画像処理を行う際に以下のような処理を実行する。すなわち、まず、処理対象である第1の画像データの画像を縮小して第2の画像データを生成する。そして、第2の画像データを解析する。その後、第2の画像データの解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成する。そして、ルックアップテーブルを参照しつつ第1の画像データの変換を行う。
このような態様においては、第1の画像データの内容を反映した第2の画像データに基づいてルックアップテーブルが生成され、そのルックアップテーブルを参照して画像変換が行われる。このため、画像処理の対象とする画像に応じた処理を行うことができる。一方で、第2の画像データは第1の画像データの画像を縮小して得た、第1の画像データよりもデータ量の少ない画像データである。このため、上記のような態様においては、画像処理の際に第1の画像データをそのまま解析する態様に比べて、処理負荷が小さい。
なお、第1の画像データが、n種類(nは2以上の整数)の色成分の階調値を含む場合には、ルックアップテーブルは、入力値および出力値としてそれぞれn種類の色成分の階調値の組み合わせを有するn次元ルックアップテーブルとすることが好ましい。そして、そのルックアップテーブルを生成する際には、以下のような処理を行うことが好ましい。
すなわち、まず、それぞれ入力値および出力値として同一種類の色成分の離散的な階調値を有するn個のトーンカーブを、第2の画像データの解析の結果に基づいて生成する。そして、少なくとも一つの色成分について、同じ色成分のトーンカーブよりも入力値の階調の数が少ないn次元ルックアップテーブルを、n個のトーンカーブに基づいて生成する。そして、ルックアップテーブルが有する入力階調値の少なくとも一部を決定する際には、トーンカーブの各入力階調値に対応する出力階調値の増加率に基づいて、トーンカーブの入力階調値の中から、n次元ルックアップテーブルが有する入力階調値の少なくとも一部を決定することが好ましい。
また、n次元ルックアップテーブルを生成する際に、以下のような処理を行う態様とすることができる。すなわち、その態様においては、n次元ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められたトーンカーブの複数の入力階調値を、第1のグループと、第1のグループよりも対応する出力階調値の増加率が大きい第2のグループとに分けたときに、第2のグループに含まれる入力階調値を、n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する。
このような態様とすれば、トーンカーブのすべての入力階調値をそのまま入力階調値とするn次元ルックアップテーブルを生成する態様に比べて、ルックアップテーブルの情報量を少なくすることができる。また、トーンカーブの各入力階調値に対応する出力階調値の増加率が大きい入力階調値をn次元ルックアップテーブルの入力階調値として決定しているため、入力階調値を減らすことによる画像処理中の品質の低下の程度を少なくすることができる。なお、この態様においては、第2のグループに含まれる入力階調値の少なくとも一部を、n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定するものであればよい。
n次元ルックアップテーブルを生成する際には、以下のような処理を行うことができる。すなわち、上述の候補としての入力階調値であってトーンカーブの入力階調値のうち一定の間隔を有する複数の入力階調値について、各入力階調値に対応づけて、増加率として各入力階調値と隣り合う入力階調値との間の出力階調値の差分を計算する。そして、第1のグループよりも対応づけられた差分が大きい第2のグループの入力階調値を、n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する。
このような態様においては、入力階調値の候補の出力階調値を使用して増加率としての差分を計算する。よって、各入力階調値について、別途、入力階調値の区間を設定して増加率を計算する態様に比べて、簡単にルックアップテーブルの入力階調値を決定することができる。
また、一定の間隔を有する複数の入力階調値の中から、n次元ルックアップテーブルが有する入力階調値の少なくとも一部を決定する際には、以下のような処理を行うことも好ましい。すなわち、所定のしきい値よりも大きな差分と対応づけられた入力階調値を、n次元ルックアップテーブルが有する入力階調値として選択する。
このような態様においては、トーンカーブの入力階調値のうち、所定の基準よりも変化が小さい部分にある入力階調値については、ルックアップテーブルの入力階調値として選択されない。よって、画像処理における画像の品質の低下を低減しつつ、ルックアップテーブルのデータ量を低減することができる。なお、しきい値よりも大きな差分と対応づけられた入力階調値が上述の第2のグループの入力階調値である。
また、一定の間隔を有する複数の入力階調値の中から、n次元ルックアップテーブルが有する入力階調値の少なくとも一部を決定する際には、以下のような処理を行うことも好ましい。すなわち、一定の間隔を有する複数の入力階調値の中から、対応づけられた差分が大きい順に最大でL個(Lは正の整数)の入力階調値を、n次元ルックアップテーブルが有する入力階調値の少なくとも一部として選択する。
このような態様とすれば、しきい値に基づいて入力階調値を選択する上記の態様に比べて、より確実にルックアップテーブルのデータ量を低減することができる。なお、対応づけられた差分が大きい順に最大L個の入力階調値が、上述の第2のグループの入力階調値である。
なお、トーンカーブを生成する際には、以下のような処理を行うことが好ましい。すなわち、少なくとも一つの色成分のトーンカーブについて、特定の値を有する基準入力階調値に対応する基準出力階調値を、第2の画像データの解析の結果に基づいて決定する。そして、そのトーンカーブについて、基準入力階調値に対して同じ側にある入力階調値に関しては、基準入力階調値に近い入力階調値ほど出力階調値として基準出力階調値に近い値を有するように、基準入力階調値以外の各入力階調値に対する出力階調値を決定する。
このような態様とすれば、画像処理の対象とする画像の特質を反映して画像の色の明るさが改変されるように、トーンカーブの形状を決定することができる。その結果、画像処理の対象とする画像の特質を反映して画像の色の明るさを改変するようなルックアップテーブルを生成することができる。
また、トーンカーブを生成する際には、以下のような処理を行うことも好ましい。すなわち、少なくとも一つの色成分のトーンカーブについて、特定の値を有する第1の基準入力階調値に対応する第1の基準出力階調値を、第2の画像データの解析の結果に基づいて減少させる。そして、そのトーンカーブについて、第1の基準入力階調値よりも大きな値を有する第2の基準入力階調値に対応する第2の基準出力階調値を、第2の画像データの解析の結果に基づいて増大させる。その後、そのトーンカーブについて、第1の基準入力階調値に対して同じ側にある入力階調値に関しては、第1の基準入力階調値に近い入力階調値ほど出力階調値として第1の基準出力階調値に近い値を有し、第2の基準入力階調値に対して同じ側にある入力階調値に関しては、第2の基準入力階調値に近い入力階調値ほど出力値として第2の基準出力階調値に近い値を有するように、第1および第2の基準入力階調値以外の各入力階調値に対する出力階調値を決定する。
このような態様とすれば、画像処理の対象とする画像の特質に応じて画像のコントラストが強調されるように、トーンカーブの形状を決定することができる。その結果、画像処理の対象とする画像の特質に応じて画像のコントラストが強調されるようなルックアップテーブルを生成することができる。
さらに、トーンカーブを生成する際には、以下のような処理を行うことも好ましい。すなわち、n個のトーンカーブについて、同一の基準入力階調値にそれぞれ対応する基準出力階調値として、所定の範囲内に含まれる基準出力階調値を決定する。そして、n個のトーンカーブについて、基準入力階調値に対して同じ側にある入力階調値に関しては、基準入力階調値に近い入力階調値ほど出力階調値として基準出力階調値に近い値を有するように、基準入力階調値以外の各入力階調値に対する出力階調値を決定する。
このような態様とすれば、色変換によって色相が大きく変わってしまわないようなルックアップテーブルを生成することができる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、画像データ生成方法および画像データ生成装置、色変換方法および色変換装置、印刷方法および印刷装置、印刷制御方法および印刷制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
A1.装置の全体構成:
A2.LUT生成モジュールにおける処理:
B.第2実施例:
C.変形例:
A.第1実施例:
A1.装置の全体構成:
図1は、第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図である。コンピュータ90では、所定のオペレーティングシステムの下で、アプリケーションプログラム95が動作している。また、オペレーティングシステムには、ビデオドライバ91やプリンタドライバ96が組み込まれている。
アプリケーションプログラム95は、マウス130やキーボード120から入力されるユーザの指示に応じて、レッド(R),グリーン(G),ブルー(B)の3色の色成分からなる原画像データORGをCD−R140から読み込む。そして、ユーザの指示に応じて、原画像データORGに画像のレタッチなどの処理を行う。アプリケーションプログラム95は、処理を行った画像を、ビデオドライバ91を介してCRTディスプレイ21に画像を表示する。また、アプリケーションプログラム95は、ユーザからの印刷指示を受け取ると、プリンタドライバ96に印刷指示を出し、処理を行った画像を初期画像データPIDとしてプリンタドライバ96に出力する。初期画像データPIDは、各画素の色がsRGB表色系で表された画像データである。より具体的には、初期画像データPIDは、各画素について、レッド(R),グリーン(G),ブルー(B)の色成分の階調値(0〜255)を有する画像データである。
プリンタドライバ96は、初期画像データPIDをアプリケーションプログラム95から受け取り、これをプリンタ22が処理可能な印刷画像データFNL(ここではシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの6色についての多値化された信号)に変換する。
図1に示した例では、プリンタドライバ96の内部には、縮小画像生成モジュール101と、ルックアップテーブル生成モジュール102と、色調調整モジュール103と、解像度変換モジュール97と、色変換モジュール98と、ハーフトーンモジュール99と、並べ替えモジュール100とが備えられている。
縮小画像生成モジュール101は、アプリケーションプログラム95から受け取った初期画像データPIDに基づいて縮小画像データPID2を生成する。縮小画像データPID2は、初期画像データPIDと同一の対象を表し、初期画像データPIDよりも画像を構成する画素の数が少ない画像データである。
ルックアップテーブル生成モジュール102(以下では「LUT生成モジュール102」と表記する)は、縮小画像データPID2を解析し、その解析結果に基づいて3次元ルックアップテーブル104aを生成する。3次元ルックアップテーブル104aは、入力値としてレッド、グリーン、ブルーの階調値Vri,Vgi,Vbiの組み合わせを有し、出力値としてレッド、グリーン、ブルーの階調値Vro,Vgo,Vboの組み合わせを有するルックアップテーブルである。3次元ルックアップテーブル104aは、少なくとも一部の入力値(Vri,Vgi,Vbi)については、入力値とは異なる色を表す出力値(Vro,Vgo,Vbo)を有する。
色調調整モジュール103は、アプリケーションプログラム95から受け取った初期画像データPIDを、3次元LUT104aを参照しつつ変換して、画像データPIDrを生成する。画像データPIDrは、各画素についてレッド(R),グリーン(G),ブルー(B)の色成分の階調値を有し、初期画像データPIDと同じ画素数の画像データである。
なお、縮小画像生成モジュール101、ルックアップテーブル生成モジュール102、色調調整モジュール103における画像処理においては、ユーザが所定のタイミングで、マウス130やキーボード120を介して指示を入力することもできる。しかし、ユーザからの指示がない場合にも、縮小画像生成モジュール101、ルックアップテーブル生成モジュール102、色調調整モジュール103における画像処理は自動的に行われる。
解像度変換モジュール97は、画像データPIDrの解像度をプリンタ22で印刷を行う際の解像度に変換する。
色変換モジュール98は、色変換テーブル104の3次元ルックアップテーブル104bを参照しつつ、画像データMID1を画像データMID2に変換する。画像データMID2は、プリンタ22が使用するシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)の濃度の階調値で各画素の色が表された画像データである。なお、3次元ルックアップテーブル104bは、入力値としてレッド、グリーン、ブルーの階調値の組み合わせを有し、出力値としてシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの階調値の組み合わせを有するルックアップテーブルである。この3次元ルックアップテーブル104bは、縮小画像データPID2や初期画像データPIDに基づいて生成されるものではなく、初期画像データPIDによらず、あらかじめ用意されたものである。
ハーフトーンモジュール99は、各画素の各色の濃度が各色の階調値で表された画像データMID2にハーフトーン処理を行うことによって、各色の濃度が各画素におけるドットの有無で表される画像データMID3(「印刷データ」または「ドットデータ」とも呼ぶ)に変換する。
こうして生成された画像データMID3は、並べ替えモジュール100によりプリンタ22に転送すべきデータ順に並べ替えられて、最終的な印刷画像データFNLとして出力される。
プリンタ22は、紙送りモータによって用紙Pを搬送する機構と、キャリッジモータによってキャリッジ31を用紙Pの搬送方向SSと垂直な方向MSに往復動させる機構と、キャリッジ31に搭載されインクの吐出およびドット形成を行う印刷ヘッド28と、各種の設定データを格納しているP−ROM42と、これらの紙送りモータ,キャリッジモータ,印刷ヘッド28、P−ROM42および操作パネル32を制御するCPU41とから構成されている。プリンタ22は、印刷画像データFNLを受け取って、印刷画像データFNLに応じてシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)で印刷媒体上にドットを形成し、印刷を実行する。
なお、「ライトシアン」は、シアンと色相が同じでシアンよりも明度が高いインク色である。ライトシアンとシアンは、一部の色を再現する際に互いに置き換え可能である。すなわち、ライトシアンとシアンは、それぞれ異なる記録率で記録することで、同程度の濃度のシアンの色成分を表現することができる。
また、「ライトマゼンタ」は、マゼンタと色相が同じでマゼンタよりも明度が高いインク色である。ライトマゼンタとマゼンタは、一部の色を再現する際に互いに置き換え可能である。すなわち、ライトマゼンタとマゼンタは、それぞれ異なる記録率で記録することで、同程度の濃度のマゼンタの色成分を表現することができる。
なお、本明細書においては、「印刷装置」とは、狭義にはプリンタ22のみをさすが、広義にはコンピュータ90とプリンタ22とを含む印刷システム全体を表す。
A2.LUT生成モジュールにおける処理:
図2は、LUT生成モジュール102における処理を表すフローチャートである。ステップS100では、LUT生成モジュール102は、まず、縮小画像データPID2を解析して、縮小画像データPID2の特性を表すパラメータを計算する。
ステップS100では、LUT生成モジュール102は、たとえば、縮小画像データPID2の各画素について、以下の式で明度Vyを求める。なお、Vrは各画素のレッドの階調値であり、Vgは各画素のグリーンの階調値であり、Vbは各画素のブルーの階調値である。
Vy=0.30Vr+0.59Vg+0.11Vb ・・・ (1)
そして、縮小画像データPID2について、明度Vyの平均値Vyaと標準偏差σyを求める。このようにして得られた縮小画像データPID2の明度Vyの平均値Vyaと標準偏差σyは、縮小画像データPID2の特性を表し、ひいては初期画像データPIDの特性を表すパラメータである。
また、ステップS100では、LUT生成モジュール102は、記憶色に基づく調整を行う色範囲を決定し、その色範囲に対応する対象記憶色パラメータPmcを決定する。対象記憶色パラメータPmcも、縮小画像データPID2の特性に基づいて定められ、縮小画像データPID2の特性を表すパラメータである。
図3は、記憶色テーブル105の内容の一部を示す図である。LUT生成モジュール102は、記憶色テーブル105を有している。LUT生成モジュール102は、この記憶色テーブル105に基づいて、対象記憶色パラメータPmcを決定する。記憶色テーブル105は、M個(Mは2以上の整数)の色範囲Cm1〜CmMについて、色相(H)、彩度(S)、明るさ(B)の範囲を格納している。たとえば、図3において、色範囲Cm1は、H=190〜270°、S=30〜90%、B=0〜100%の範囲の色である。なお、色範囲Cm1は青空の色である。記憶色テーブル105は、同様に、木の緑の色、人間の肌の色などについて、それぞれ複数の色範囲Cm2〜CmMを格納している。
図4は、記憶色に関する調整の内容を表す対象記憶色パラメータを決定する手順を示すフローチャートである。ステップS110では、LUT生成モジュール102は、まず、sRGB表色系で表された縮小画像データPID2をHSB表色系で表されたHSB画像データPID3に変換する。そして、ステップS120では、記憶色の色範囲Cm1〜CmMに含まれる色(図3参照)がそれぞれHSB画像データPID3の画像中で占める領域の大きさを計算する。領域の大きさは画素数で表す。
その後、ステップS130では、HSB画像データPID3の画像中で最も大きな領域を占める記憶色の色範囲を、記憶色に関する調整の対象とする対象記憶色として決定する。HSB画像データPID3は、縮小画像データPID2を変換して生成されたデータであり、縮小画像データPID2は、初期画像データPIDを縮小して生成された画像である。よって、対象記憶色として決定された色範囲は、初期画像データPIDの画像中および縮小画像データPID2の画像中においても最も広い領域を占める。
図4のステップS140では、対象記憶色の番号を対象記憶色パラメータPmcとして記憶する。たとえば、色範囲Cm1が対象記憶色として選択された場合には、Pmc=1である。色範囲Cmi(i=1〜M)が対象記憶色として選択された場合には、Pmc=iである。図2のステップS100では、LUT生成モジュール102は、たとえば以上のような処理を行って、縮小画像データの特性を表すパラメータVya,σy,Pmcを決定する。
図2のステップS200では、LUT生成モジュール102は、ステップS100における縮小画像データPID2の解析の結果得られた複数のパラメータVya,σy,Pmcに基づいて、3次元ルックアップテーブル104aを生成する。
第1実施例では、初期画像データPIDそのものを解析するのではなく、縮小画像データPID2を解析して、その解析結果に基づいて3次元ルックアップテーブル104aを生成する。このため、初期画像データPIDそのものを解析して3次元ルックアップテーブルを生成する態様に比べて処理の負荷が小さい。また、縮小画像データPID2は、初期画像データPIDを縮小して得られた画像である。このため、3次元ルックアップテーブル104aは、初期画像データPIDの特質を反映して生成される。
図5は、図2のステップS200における3次元ルックアップテーブル104aの生成手順を示すフローチャートである。ステップS210では、まず、ステップS100で得られた明度Vyの平均値Vyaと標準偏差σyに基づいて、トーンカーブの形状を決定するための設定パラメータを計算する。
LUT生成モジュール102は、トーンカーブの設定パラメータとしての明度調整パラメータdlを以下の式(2)で計算する。明度調整パラメータdlは、最終的に生成される3次元ルックアップテーブル104aによって、画像の明るさが目標とする明るさに調整されるようにするためのパラメータである。なお、式(2)中のaは、正の定数である。Vycは、平均明度の目標値であり、たとえば、明度階調値の中央の値である。第1実施例では明度の階調値は式(1)より0〜255であるので、Vycは128である。
dl=a×(Vyc−Vya) ・・・ (2)
また、LUT生成モジュール102は、ステップS210において、以下の式(3)または(4)で設定パラメータとしてのコントラスト調整パラメータdcを計算する。コントラスト調整パラメータdcは、最終的に生成される3次元ルックアップテーブル104aによって画像のコントラストを調整するためのパラメータである。なお、式(3)中のbおよびσy0は、正の定数である。σy0は、明度の階調値の標準偏差の目標値である。
dc=b×(σy0−σy) (σy<σy0のとき) ・・・ (3)
dc=0 (σy≧σy0のとき) ・・・ (4)
ステップS220では、LUT生成モジュール102は、明度調整パラメータdlおよびコントラスト調整パラメータdcに基づいて、トーンカーブを生成する。ステップS220で生成されるトーンカーブは、離散的な入力値および出力値を有する。なお、第1実施例では、レッド、グリーン、ブルーの階調値変換に関して同じトーンカーブが使用されるものとする。
図6(a),(b)は、図5のステップS220におけるトーンカーブの生成方法の一例を示す図である。各グラフの横軸がレッド、グリーン、およびブルーの入力階調値Viを表し、縦軸がそれらの出力階調値Voを表す。LUT生成モジュール102は、図5のステップS220において、まず、入力階調値がとりうる範囲の下から1/4の階調値である基準入力階調値Vir1=64の暫定的な出力階調値Vor1’を以下の式(5)で決定する。
Vor1’=Vir1+dl ・・・ (5)
すなわち、明度の平均値VyaがVyc(128)未満であるときには、基準入力階調値Vir1を|dl|だけ増加させる。一方、明度の平均値VyaがVycより大きいときには、基準入力階調値Vir1を|dl|だけ減少させる。そして、暫定的なトーンカーブC1pを点O(0,0)、点p1’(Vir1,Vor1’)、および点pmax(Vimax,Vomax)を通るスプライン曲線として生成する。Vimaxは入力階調値の最大値であり、Vomaxは出力階調値の最大値である。なお、図6(a)では、明度の平均値VyaがVyc=128より小さい場合の例を示す。
その後、LUT生成モジュール102は、さらに、下から1/4の階調値である基準入力階調値Vir1=64に対応する基準出力階調値Vor1を以下の式(6)で決定する。
Vor1=Vor1’−dc ・・・ (6)
式(3)、(4)、(6)より、明度の標準偏差σyがσy0未満であるときには、基準入力階調値Vir1の出力階調値をdcだけ減少させる。一方、明度の標準偏差がσy0以上であるときには、基準入力階調値Vir1の出力階調値は、暫定的な出力階調値Vo1’のままである。なお、図6(b)では、明度の標準偏差σyがσy0未満である場合の例を示す。
また、LUT生成モジュール102は、入力階調値がとりうる範囲の上から1/4の階調値である基準入力階調値Vir2=192の出力階調値Vo2を以下の式(7)で決定する。なお、Vo2’は、明度調整パラメータdlに基づいて生成した暫定的なトーンカーブC1p(図6(a)参照)における基準入力階調値Vir2の出力階調値である。
Vor2=Vor2’+dc ・・・ (7)
式(3)、(4)、(7)より、明度の標準偏差σyがσy0未満であるときには、基準入力階調値Vir2の出力階調値をdcだけ増加させる。一方、明度の標準偏差がσy0以上であるときには、基準入力階調値Vir2の出力階調値は、暫定的な出力階調値Vo2’のままである。なお、図6(b)では、明度の標準偏差σyがσy0未満である場合の例を示している。
一方、LUT生成モジュール102は、下から1/2の階調値である基準入力階調値Vir3=128の出力階調値Vo3を、暫定的なトーンカーブC1pにおける基準入力階調値Vir3の出力階調値Vo3’と同じ値とする。
そして、LUT生成モジュール102は、トーンカーブC1を点O(0,0)、点p1(Vir1,Vor1)、点p3(Vir3,Vor3)、点p2(Vir2,Vor2)、および点pmax(Vimax,Vomax)を通るスプライン曲線として生成する。その結果、基準入力階調値Vir1に対して同じ側にある入力階調値に関しては、基準入力階調値Vir1に近い入力階調値ほど、基準出力階調値Vor1に近い値を出力値として有するように、トーンカーブが決定される。また、基準入力階調値Vir2に対して同じ側にある入力階調値に関しては、基準入力階調値Vir2に近い入力階調値ほど、基準出力階調値Vor2に近い値を出力値として有するように、トーンカーブが決定される。そして、基準入力階調値Vir3に対して同じ側にある入力階調値に関しては、基準入力階調値Vir3に近い入力階調値ほど、基準入力階調値Vir3に対応する基準出力階調値Vor3に近い値を出力値として有するようにトーンカーブが決定される。図5のステップS220では、以上のようにしてトーンカーブが生成される。
図5のステップS230では、ステップS220で生成したトーンカーブを解析して3次元ルックアップテーブル104aの入力階調値を決定する。
図7は、図5のステップS230において3次元ルックアップテーブル104aの入力階調値を決定する手順を示すフローチャートである。図8は、トーンカーブC1上において3次元ルックアップテーブル104aの入力階調値を決定する方法を示す図である。図7のステップS231では、まず、トーンカーブについて、互いに一定の間隔diを有する複数の入力階調値について、それぞれが対応する出力階調値と、次に小さい入力階調値の出力階調値と、の差分を求める。たとえば、0〜255まで互いに16階調の間隔を有する入力階調値Vik(k=1〜17)について、それぞれが対応する出力階調値Vokと、16階調大きい次の入力階調値Vik+1の出力階調値Vok+1と、の差分dvkを求める。各差分dvkは、それぞれ入力階調値Vikと対応づけられる。なお、図8では、トーンカーブC1を破線で示し、入力階調値Vikに対応するトーンカーブ上の点を黒い点で示す。
図7のステップS232では、入力階調値Vikのうち差分dvkがしきい値Thよりも大きいものを選択する。ステップS233では、差分dvkがしきい値Thよりも大きい入力階調値Vikの数がL個(Lは正の整数)よりも大きいか否かを判定する。判定結果がYesである場合は、ステップS234に進む。ステップS234では、ステップS232で選択された入力階調値Vikを差分dvkの大きい順に順位付けする。そして、ステップS235で、差分dvkが大きいものからL個の入力階調値を3次元ルックアップテーブル104aの入力階調値として決定する。
Lは、3次元ルックアップテーブル104aの入力階調値の最大数として予め定められた数Nmaxよりも2だけ少ない数である。なお、Nmaxは3以上の整数である。第1実施例では、たとえば、Nmaxは9とし、Lは7とする。図8の例では、図7のステップS235において、Vi6〜Vi12の7個の入力階調値が差分dvkの大きさに基づいて選択される。
また、図7のステップS235では、最小の入力階調値Viminと最大の入力階調値Vimaxも、3次元ルックアップテーブル104aの入力階調値として選択する。その後、処理は終了する。図8の例では、Vi1とVi17がそれぞれViminとVimaxであることから、Vi6〜Vi12に加えて、Vi1とVi17が3次元ルックアップテーブル104aの入力階調値として選択される。図8において、入力階調値Vikのうち3次元ルックアップテーブル104aの入力階調値として選択されたものに対応するトーンカーブ上の点に丸を付して示す。
一方、ステップS233において、ステップ232で選択された入力階調値がL個以下であるとされた場合は、処理は、ステップS236に進む。ステップS236では、ステップS232で選択されたすべての入力階調値と、最小の入力階調値Viminと最大の入力階調値Vimaxを、第1の候補階調値として選択する。すなわち、図7の手順では、最大L個の入力階調値が差分dvkに基づいて選択される。図5のステップS230では、以上のようにして、3次元ルックアップテーブル104aの最大Nmax個の入力階調値が決定される。
図5のステップS240では、ステップS230で決定された入力階調値と、それらに対応する出力階調値と、から、3次元ルックアップテーブル104cを生成する。3次元ルックアップテーブル104cは、入力値として、レッド、グリーン、ブルーの階調値を有し、出力値として、レッド、グリーン、ブルーの階調値を有する。
図9は、3次元ルックアップテーブル104cにおいて、ブルーの入力階調値Vbi=0の平面上に位置するグリッドを丸で囲まれた黒点で示す図である。「グリッド」とは、入力階調値の組み合わせで色空間内において特定される点である。3次元ルックアップテーブル104cのレッド、グリーン、ブルー入力階調値は、ステップS230で決定されたNmax個の入力階調値である。図8の例では、Vi1,Vi6〜Vi12,Vi17の9個の階調値である。図9では、レッドの入力階調値は、Vri1,Vri6〜Vri12,Vri17で示し、グリーンの入力階調値は、Vgi1,Vgi6〜Vgi12,Vgi17で示す。
3次元ルックアップテーブル104cの各グリッドにおける各色成分の出力階調値は、その色成分のトーンカーブに基づいて定められる。たとえば、ブルーの入力階調値がVbi=Vi1、すなわち0であるグリッドについては、いずれも、ブルーの出力階調値は、図5のステップS220で定めたブルーのトーンカーブにおいてVi1に対応するVo1、すなわち0である。ブルーの入力階調値がVi6であるグリッドについては、いずれも、ブルーの出力階調値は、ブルーのトーンカーブにおいてVi6に対応するVo6である。レッド、グリーンの出力階調値についても同様である。
図5のステップS250では、3次元ルックアップテーブル104cに対して記憶色に関する調整を行って、3次元ルックアップテーブル104aを生成する。具体的には、S240で生成した3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行って、3次元ルックアップテーブル104aを生成する。
図10は、3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行う手順を示すフローチャートである。ステップS252では、まず、3次元ルックアップテーブル104cのグリッドのうち調整対象の記憶色の色範囲に含まれるグリッドを特定する。この色範囲は、図2のステップS100で決定された対象記憶色パラメータPmcに対応する記憶色の色範囲である。具体的には、sRGB色空間において、対象記憶色パラメータPmcの色範囲Cmiに対応する8個の点pc1(Vcr1,Vcg1,Vcb1)〜pc8(Vcr8,Vcg8,Vcb8)を頂点とする多面体が定める範囲である。
図11は、3次元ルックアップテーブル104cのうち記憶色の範囲を示す図である。点pc1〜pc8は以下のように定められる。
図3の記憶色テーブル105に示したように、記憶色の色範囲は、H,S,Bについての範囲で定められている。記憶色の色範囲が、H=Hmin〜Hmax、S=Smin〜Smax、B=Bmin〜Bmaxであるとすると、これらの範囲の両端の数値の組み合わせで以下の8色(=2n)の色c1〜c8が定められる。
c1:(H,S,B)=(Hmin,Smin,Bmin)
c2:(H,S,B)=(Hmin,Smin,Bmax)
c3:(H,S,B)=(Hmin,Smax,Bmin)
c4:(H,S,B)=(Hmin,Smax,Bmax)
c5:(H,S,B)=(Hmax,Smin,Bmin)
c6:(H,S,B)=(Hmax,Smin,Bmax)
c7:(H,S,B)=(Hmax,Smax,Bmin)
c8:(H,S,B)=(Hmax,Smax,Bmax)
図11に示した点pc1〜pc8は、これらの色c1〜c8をそれぞれsRGB表色系で表した点である。言い換えれば、点pc1〜pc8は、HSB表色系の色空間における点c1〜c8であって、H,S,Bについて改変を行う対象となる範囲の最大値または最小値を各成分の階調値として有する点c1〜c8に対応する点である。なお、HSB表色系で表された色c1〜c8とsRGB色空間における点(sRGB表色系で表された色)pc1〜pc8においては、c1とpc1など同一の番号を有するものが対応関係を有しているわけではない。すなわち、たとえば、c2とpc7などの異なる番号を有する色が対応する場合もある。点pc1〜pc8のRGBの階調値(Vri1,Vgi1,Vbi1)〜(Vri8,Vgi8,Vbi8)は、あらかじめ各記憶色Cm1〜CmMに対応づけられて記憶色テーブル105に格納されている(図3において図示せず)。
図10のステップS252では、ステップS100で決定された対象記憶色パラメータPmcの記憶色に対応する点pc1〜pc8を頂点とする多面体で囲まれた範囲に含まれるグリッドを特定する。そして、点pc1〜pc8で囲まれた範囲に含まれるグリッドについて以下のステップS254〜S258の処理を行う。
ステップS254では、グリッドが有している出力階調値(Vro,Vgo,Vbo)をHSB表色系の階調値に変換する。そして、ステップS256では、HSB表色系で表されたH,S,Bの階調値を改変する。
図12は、ステップS256における階調値の改変の内容の一例を示す図である。図12は、青空の色範囲であるCm1に含まれるグリッドの色の改変内容を示している。記憶色の範囲は、H=H1〜H4,S=S1〜S4,B=B1〜B4であるものとする(図3参照)。図中、H2,H3は、H1〜H4の範囲に含まれる色相の階調値である。S2,S3は、S1〜S4の範囲に含まれる彩度の階調値である。B2,B3は、B1〜B4の範囲に含まれる明るさの階調値である。
グリッドの出力色(グリッドが有している出力階調値によって特定される色をいう)の色相Hが、H=H2〜H3の範囲にある場合は、Hは、(H+dH)に改変される。図12の例では、dH=−5である。そして、H=H1〜H2の範囲については、Hの値がH1に近いほど改変量が少なくなるように、すなわち0に近づくように改変量が設定される。そして、Hの値がH2に近いほど改変量がdHに近づくように改変量が設定される。また、H=H3〜H4の範囲については、Hの値がH4に近いほど改変量が少なく、Hの値がH3に近いほどdHに近づくように改変量が設定される。
このような方法で改変を行うことで、生成される3次元ルックアップテーブル104aを参照して画像の色の調整を行った場合に、画像の色、特に色相が不自然とならないように、3次元ルックアップテーブル104aの出力値を定めることができる。
また、図12の中段に示すように、グリッドの出力色の彩度Sが、S=S2〜S3の範囲にある場合は、Sは、(S+dS)に改変される。図12の例では、dS=+15である。そして、S=S1〜S2の範囲については、Sの値がS1に近いほど改変量が少なく、Sの値がS2に近いほどdSに近づくように改変量が設定される。また、S=S3〜S4の範囲については、Sの値がS4に近いほど改変量が少なく、Sの値がS3に近いほどdSに近づくように改変量が設定される。
このような方法で改変を行うことで、生成される3次元ルックアップテーブル104aを参照して画像の色の調整を行った場合に、画像の色、特に彩度が不自然とならないように、3次元ルックアップテーブル104aの出力値を定めることができる。
明るさBについても同様である。ただし、色範囲Cm1においては、改変量dBが0であるので、図12の例では、B=B1〜B4の範囲についてBの改変は行われていない。ただし、明るさの改変を行う場合には、上記の色相や彩度と同様な方法で改変を行うことで、生成される3次元ルックアップテーブル104aを参照して画像の色の調整を行った場合に、画像の色、特に明るさが不自然とならないように、3次元ルックアップテーブル104aの出力値を定めることができる。
図13は、記憶色テーブル105を示す図である。上記の記憶色の調整に使用されるH1〜H4,dH,S1〜S4,dS,B1〜B4,dBの値、そして、上述の点pc1〜pc8のRGBの階調値(Vcr1,Vcg1,Vcb1)〜(Vcr8,Vcg8,Vcb8)は、あらかじめ記憶色テーブル105に格納されている。すなわち、記憶色テーブル105は、図13に示すような情報を格納している。LUT生成モジュール102は、このような記憶色テーブル105に基づいて各記憶色の領域の大きさを計算し(図4のステップS120参照)、記憶色の範囲に含まれるグリッドを特定し(図10のステップS252参照)、グリッドが有する出力色を改変する(同、ステップS256参照)
図10のステップS258では、ステップS256で改変したグリッドの出力色をsRGB表色系の階調値に変換して、グリッドの出力色を得る。ステップS260では、調整対象の記憶色の色範囲に含まれるグリッドのすべてについてステップS254〜S258の処理を行ったか否かを判定する。そして、まだ、ステップS254〜S258の処理を行っていないグリッドが存在する場合は、ステップS254に戻ってそれらのグリッドについて出力色の改変を行う。点pc1〜pc8で囲まれた調整対象の記憶色の色範囲に含まれるグリッドのすべてについてステップS254〜S258の処理を行った場合には、処理を終了する。
図5のステップS250では、以上のような手順で3次元ルックアップテーブル104cのグリッドのうち記憶色の色範囲に含まれるグリッドの出力色が調整され、3次元ルックアップテーブル104aが生成される(図1および図2のステップS200参照)。
第1実施例で生成した3次元ルックアップテーブル104aは、すべての階調値(0〜255)についての入力階調値を有しているわけではない。すなわち、3次元ルックアップテーブル104aは、各色成分について9個の入力階調値しか有していない(図9参照)。色調調整モジュール103(図1参照)が3次元ルックアップテーブル104aを参照しつつ初期画像データPIDを変換して、画像データPIDrを生成する際には、3次元ルックアップテーブル104aが有していない入力階調値を変換する場合には、補間演算を行う。すなわち、3次元ルックアップテーブル104aが有しているグリッドのうち、変換を行おうとする色に最も近いグリッドを4個選択し、四面体補間を行って、それらのグリッドが有している各色成分の出力階調値から、変換しようとする入力階調値の出力階調位置を計算する。
第1実施例においては、3次元ルックアップテーブル104aは、各色成分の入力階調値がとりうるすべての値について出力階調値を有しているのではなく、一部の入力階調値についてのみ出力階調値を有している。このため、各色成分の入力階調値がとりうるすべての値について出力階調値を有している態様に比べて、データ量が少ない。
また、初期画像データPIDを画像データPIDrに変換する際には、補間演算が行われる。第1実施例においては、3次元ルックアップテーブル104aのもとになる3次元ルックアップテーブル104cを生成する際に、トーンカーブにおいて出力階調値の増分が大きい領域については、出力階調値の増分が小さい領域に比べてより多くの入力階調値(グリッド)を有している(図8参照)。このため、ルックアップテーブル104aを参照する際に、出力階調値の変化率が大きい領域において補間演算を行って出力階調値を得ても、均等間隔の入力階調値について出力階調値を有している3次元ルックアップテーブルに比べて、誤差が少ない。
B.第2実施例:
第1実施例では、RGBの各トーンカーブは同一であった(図6および図8参照)。しかし、第2実施例では、色調を調整するための各色成分のトーンカーブは、互いに異なっている。第2実施例のトーンカーブの生成方法以外の部分は、第1実施例と同じである。
第2実施例では、LUT生成モジュール102は、縮小画像データPID2の解析において(図2のステップS100参照)、レッド、グリーン、ブルーの各階調値の平均値Vra,Vga,Vbaと、標準偏差σr,σg,σbを計算する。
そして、LUT生成モジュール102は、トーンカーブの設定パラメータの計算において(図5のステップS210参照)、以下の式(8),(9),(10)にしたがって、レッド、グリーン、ブルーについての平均階調値調整パラメータdlr,dlg,dlbを計算する。なお、Vrc,Vgc,Vbcは、それぞれレッド、グリーン、ブルーの平均階調値の目標値であり、たとえば、各階調値の中央の値(第2実施例においては128)である。
dlr=a×(Vrc−Vra) ・・・ (8)
dlg=a×(Vgc−Vga) ・・・ (9)
dlb=a×(Vbc−Vba) ・・・ (10)
また、LUT生成モジュール102は、ステップS210において、以下の式(11)〜(16)で設定パラメータとしてのコントラスト調整パラメータdcr,dcg,dcbを計算する。コントラスト調整パラメータdcr,dcg,dcbは、最終的に生成される3次元ルックアップテーブル104aにおいて画像のコントラストを調整するためのパラメータである。なお、式(11)〜(16)中のbおよびσr0,σg0,σb0は、正の定数である。σr0,σg0,σb0は、レッド、グリーン、ブルーの階調値の標準偏差の目標値である。
dcr=br×(σr0−σr) (σr<σr0のとき) ・・・ (11)
dcr=0 (σr≧σr0のとき) ・・・ (12)
dcg=bg×(σg0−σg) (σg<σg0のとき) ・・・ (13)
dcg=0 (σg≧σg0のとき) ・・・ (14)
dcb=bb×(σg0−σg) (σb<σb0のとき) ・・・ (15)
dcb=0 (σb≧σb0のとき) ・・・ (16)
図14は、第2実施例におけるトーンカーブの生成方法の手順を示すフローチャートである。このフローチャートは、第2実施例における図5のステップS220の内容を示すものである。以下では、レッド、グリーン、ブルーの各色成分についての処理のうち、レッドを例に説明する。
図15(a),(b)は、図14のステップS222におけるレッドのトーンカーブの生成方法の一例を示す図である。各グラフの横軸がレッドの入力階調値Vriを表し、縦軸がレッドの出力階調値Vroを表す。LUT生成モジュール102は、ステップS222では、平均階調値調整パラメータdlrおよびコントラスト調整パラメータdcrに基づいて、レッドのトーンカーブを生成する。設定パラメータに基づくトーンカーブの生成方法は、第1実施例において明度に基づいてトーンカーブを生成した方法と略同様である。すなわち、まず、レッドの入力階調値がとりうる範囲の下から1/4の階調値である基準入力階調値Vrir1=64の暫定的な出力階調値Vror1’を以下の式(17)で決定する。
Vror1’=Vrir1+dlr ・・・ (17)
そして、暫定的なトーンカーブC1prを点O(0,0)、点pr1’(Vrir1,Vror1’)、および点prmax(Vrimax,Vromax)を通るスプライン曲線として生成する(図15(a)参照)。なお、VrimaxおよびVromaxはレッドの階調値の最大値であり、255である。
その後、LUT生成モジュール102は、さらに、レッドの下から1/4の階調値である基準入力階調値Vrir1=64の出力階調値Vror1を以下の式(18)で決定する。
Vror1=Vror1’−dcr ・・・ (18)
また、LUT生成モジュール102は、レッドの入力階調値がとりうる範囲の上から1/4の階調値である基準入力階調値Vrir2=192の出力階調値Vror2を以下の式(19)で決定する。なお、Vror2’は、平均階調値調整パラメータdlrに基づいて生成した暫定的なトーンカーブC1prにおける基準入力階調値Vrir2の出力階調値である。
Vror2=Vror2’+dcr ・・・ (19)
一方、LUT生成モジュール102は、下から1/2の階調値である基準入力階調値Vrir3=128の出力階調値Vror3を、上記の暫定的なトーンカーブにおける基準入力階調値Vrir3の出力階調値Vror3’と等しい値とする。
そして、LUT生成モジュール102は、レッドのトーンカーブC1rを点O(0,0)、点pr1(Vrir1,Vror1)、点p3r(Vrir3,Vror3)、点p2r(Vrir2,Vror2)、および点prmax(Vrimax,Vromax)を通るスプライン曲線として生成する。
以上では、レッドのトーンカーブの生成について説明したが、グリーン、ブルーのトーンカーブについても同様である。各色成分のトーンカーブは、それぞれの色成分の階調値の平均値および標準偏差に基づいて生成される。このため、各トーンカーブの形状は異なる。
ステップS222でレッド、グリーン、ブルーの各トーンカーブを生成すると、LUT生成モジュール102は、レッド、グリーン、ブルーの各トーンカーブの形状を調整する。
図16は、図14のステップS224におけるトーンカーブの改変方法の一例を示す図である。LUT生成モジュール102は、ステップS222で生成したレッド、グリーン、ブルーの各トーンカーブに基づいて、所定の入力階調値Vcbiに対応するレッド、グリーン、ブルーのトーンカーブの出力階調値Vcbro,Vcbgo,Vcbboを計算する。そして、出力階調値Vcbro,Vcbgo,Vcbboの平均値VcboAを計算する。なお、第2実施例では、入力階調値Vcbiは、各色成分の入力階調値が採りうる範囲の中央の値128とする。
そして、入力階調値Vcbiに対応するレッド、グリーン、ブルーのトーンカーブの出力階調値Vcbro,Vcbgo,Vcbboが、平均値VcboAを中心としてプラスマイナスVwの範囲にないときには、その範囲にない出力階調値を改変する。
あるトーンカーブの入力階調値Vcbiに対応する出力階調値Vcboが(VcboA+Vw)よりも大きい場合には、LUT生成モジュール102は、その出力階調値Vcboを(VcboA+Vw)に改変する。そして、他の入力階調値に対応する出力階調値については、それぞれc1倍(c1>0)する。c1は、その入力階調値がVcbiに近いほど(VcboA+Vw)/Vcboに近く、その入力階調値が0またはVimaxにちかいほど、1に近い数である。
図16の例では、グリーンのトーンカーブCgoについてこのような改変が行われる。図16において、改変前のグリーンのトーンカーブCgoで示し、改変後のグリーンのトーンカーブCgrで示す。図16において、入力階調値Vcbiに対応する改変前のトーンカーブCgo上の点をpgoで示し、その出力階調値をVcbgoで示す。入力階調値Vcbiに対応する改変後のトーンカーブCgr上の点をpgrで示す。
あるトーンカーブの入力階調値Vcbiに対応する出力階調値Vcboが(VcboA−Vw)よりも小さい場合には、LUT生成モジュール102は、その出力階調値Vcboを(VcboA−Vw)に改変する。そして、他の入力階調値に対応する出力階調値については、それぞれc2倍(c2>0)する。c2は、その入力階調値がVcbiに近いほど(VcboA−Vw)/Vcboに近く、その入力階調値が0またはVimaxにちかいほど、1に近い数である。
図16の例では、ブルーのトーンカーブCboについてこのような改変が行われる。図16において、改変前のブルーのトーンカーブCboで示し、改変後のブルーのトーンカーブCbrで示す。図16において、入力階調値Vcbiに対応する改変前のブルーのトーンカーブCbo上の点をpboで示し、その出力階調値をVcbboで示す。入力階調値Vcbiに対応する改変後のトーンカーブCbr上の点をpbrで示す。
このように、図14のステップS224では、各トーンカーブにおける入力階調値の中央近傍における出力階調値のばらつきが所定の範囲内となるようにトーンカーブが改変される。このような処理を行うことで、トーンカーブに従った色の調整が行われた際、すなわち、最終的に生成される3次元ルックアップテーブル104aにしたがった色変換が行われた際、変換前後で色相が大きく変わってしまう事態を防止することができる。
以下、生成されたレッド、グリーン、ブルーのトーンカーブに基づいて、第1実施例と同じ手順で3次元ルックアップテーブル104aが生成される。なお、レッド、グリーン、ブルーのトーンカーブは互いに形状が異なっていることから、3次元ルックアップテーブル104cの入力階調値として選択される各トーンカーブの入力階調値の数も異なる場合がある。このような態様としても、データ量の小さい3次元ルックアップテーブル104aを使用して、誤差の少ない画像処理を行うことができる。
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上記実施例では、しきい値Thよりも大きな差分dvkと対応する入力階調値が所定数Lよりも多く存在する場合に、差分が大きいものから所定数Lの入力階調値を選択して、ルックアップテーブルが有する入力階調値の少なくとも一部とした(図7のステップS238参照)。しかし、入力階調値の決定は、このような方法に限られず、他の方法で決定してもよい。
たとえば、しきい値Thよりも大きな差分と対応づけられた入力階調値を、すべてルックアップテーブルの入力階調値として選択してもよい。また、しきい値に対する大小の判定は行わずに、最初から、対応づけられた差分が大きい順に所定数の入力階調値をルックアップテーブルの入力階調値として選択してもよい。
すなわち、ルックアップテーブルの入力階調値の選択は、ある段階において候補となっている入力階調値を、各入力階調値に対応づけられた出力階調値の増加率が大きな第1のグループと、第1のグループよりも増加率が小さなグループとに分けたときに、増加率の大きな第1のグループの少なくとも一部の入力階調値がルックアップテーブルの入力階調値の少なくとも一部として選択されるものであればよい。そのような態様とすれば、入力階調値の変化分に対して出力階調値の変化分が大きい部分については、ルックアップテーブルの入力階調値が設定されることになる。その結果、色調の調整においてルックアップテーブルを使用する際に(図1の色調調整モジュール103参照)、補間処理を行っても、画質が低下しにくい。
C2.変形例2:
上記実施例においては、ルックアップテーブルの入力階調値を決定する際には、トーンカーブの入力階調値のうち一定の間隔を有する複数の入力階調値に対応づけて、次に小さい入力階調値との間における出力階調値の差分を求めていた。そして、その差分の大きさに基づいて、ルックアップテーブルの入力階調値を決定していた。しかし、ルックアップテーブルの入力階調値は他の方法で決定してもよい。
たとえば、候補となった所定間隔を有する各入力階調値と対応づけて、次に大きい入力階調値との間における出力階調値の差分を求め、その差分の大きさに基づいて、ルックアップテーブルの入力階調値を決定することもできる。また、候補である各入力階調値の間隔よりも小さい入力階調値の増分に対する出力階調値の増分を求め、その出力階調値の増分の大きさに基づいてルックアップテーブルの入力階調値を決定してもよい。すなわち、ルックアップテーブルの入力階調値は、トーンカーブの出力階調値の増加率に基づいて定めることができる。ここで、出力階調値の「増加率」とは、入力階調値の一定の増加量に対する出力階調値の増加量である。
C3.変形例3:
ルックアップテーブルの入力階調値は、トーンカーブの出力階調値の増加率に基づいて定められたもの以外の入力階調値を含むこともできる。たとえば、3次元ルックカップテーブル生成後に、3次元空間の一部の領域に含まれるグリッドの出力階調値を改変する場合には(図5のステップS250、図10および図11参照)、3次元ルックカップテーブル生成時に、その領域の境界に位置する入力階調値を、ルックアップテーブルの入力階調値として決定することができる。
C4.変形例4:
上記実施例では、縮小画像データの解析結果に基づいて各色成分のトーンカーブを決定する際には、明度の調整を目的とする処理と、コントラストの調整を目的とする処理と、が行われた(図6および図15参照)。しかし、各色成分のトーンカーブを決定する際には、他の処理を行うこともできる。たとえば、最小の入力階調値Viminを含む所定の入力階調値の範囲については、最小の出力階調値Vominを出力するように、トーンカーブを形成することもできる。そして、最大の入力階調値Vimaxを含む所定の入力階調値の範囲については、最大の出力階調値Vomaxを出力するように、トーンカーブを形成することもできる。
また、上記実施例では、明度や色成分の階調値に関して、目標とする平均値と、目標とする分散と、を使用してトーンカーブの形状を決定する際の操作量を決定していた(式(2),(4),(8)〜(11),(13)および(15)参照)。しかし、トーンカーブの形状を決定する際の操作量は、他の量に基づいて決定することもできる。たとえば、明度や色成分の階調値の最大値や最小値に基づいて操作量を決定することもできる。すなわち、トーンカーブは、画像処理の対象とする画像データの直接的または間接的な解析の結果に基づいて、生成することができる。
C5.変形例5:
上記実施例においては、初期画像データPIDおよび縮小画像データPID2は、sRGB表色系で各画素の色が表された画像データであった。しかし、処理対象である画像データは、xyz表色系やL***表色系、L***表色系など、他の表色系で色が表された画像データであってもよい。
C6.変形例6:
上記実施例では、記憶色に関する色の調整は、sRGB表色系の出力階調値の組み合わせを、いったんHSB表色系の出力階調値の組み合わせに変換し、HSB表色系の出力階調値を改変して、sRGB表色系の出力階調値の組み合わせに逆変換して行っていた。しかし、記憶色に関する色の調整などの一部の色の改変を行う際には、L*a*b*表色系やL*u*v*表色系、など他の表色系に変換することもできる。ただし、変換後の表色系は、一つの階調値として明度に関する階調値を含む表色系であることが好ましい。そのような態様とすれば、明るさと彩度を含む他のパラメータと、を人間の感覚に応じて変更するように、色の調整を行うことができる。
C7.変形例7:
各色成分のトーンカーブに基づいてルックアップテーブルの入力階調値を決定する際には、しきい値Thや入力階調値の数Nmaxは、色成分ごとに異ならせることができる。たとえば、トーンカーブにおいて出力階調値の増加率の変化が小さい色成分については、トーンカーブにおいて出力階調値の増加率の変化が大きい色成分よりも、入力階調値の数Nmaxを少なく設定することもできる。
C8.変形例8:
上記実施例では、各色成分のトーンカーブを生成する際に、入力階調値がとりうる範囲の下から1/4の階調値に対する出力階調値を改変して、画像の明るさを調整する機能をトーンカーブに付与していた(図6(a)参照)。しかし、明るさの調整機能をトーンカーブに付与する際には、下から1/3や1/2の階調値に対する出力階調値を改変するなど、他の入力階調値に対応する出力階調値を改変することによって行ってもよい。すなわち、明るさの調整機能をトーンカーブに付与する際には、所定の入力階調値に対応する出力階調値を改変することによって行うことができる。
また、上記実施例では、各色成分のトーンカーブを生成する際に、入力階調値がとりうる範囲の下から1/4と上から1/4の階調値に対する出力階調値と、を改変して、コントラストの調整機能をトーンカーブに付与していた(図6(b)参照)。しかし、画像のコントラストを調整する機能をトーンカーブに付与する際には、下から1/3や1/2の階調値、そして、上から1/3や1/2の階調値に対する出力階調値を改変するなど、他の入力階調値に対応する出力階調値を改変することによって行ってもよい。
すなわち、コントラストの調整機能をトーンカーブに付与する際には、所定の第1の入力階調値に対応する出力階調値を減少させ、第1の入力階調値よりも大きい所定の第2の入力階調値に対応する出力階調値を増大させることによって行うことができる。なお、その際、第1の入力階調値より大きく第2の入力階調値よりも小さい第3の入力階調値については、第1および第2の入力階調値を改変する際に、出力階調値を改変しないことが好ましい。
さらに、トーンカーブの形状を決定する際には、肌色などの所定の範囲の色を表す各色成分の入力階調値が、目標とする色を表す各色成分の階調値に近づくように、トーンカーブの形状を決定するなど、他の要素を考慮してトーンカーブの形状を決定することができる。すなわち、トーンカーブの自動生成は、初期画像データPIDまたは縮小画像データPID2に基づいて行われるものとすることができる。
C9.変形例9:
第1実施例では、まず、トーンカーブの形状に基づく第1の候補階調値を決定し、その後、対象記憶色に基づく第2の候補階調値を決定していた(図7のステップS310とS320参照)。しかし、第1と第2の候補階調値は、いずれを先に決定することもでき、また、並行して決定することもできる。
C10.変形例10:
第1実施例では、第2の候補階調値は、記憶色に基づく出力階調値の改変を行う色範囲を定める色の階調値であった(図11および図13参照)。しかし、第2の候補階調値は、他の要因に基づいて決定される階調値とすることもできる。すなわち、第2の候補階調値は、3次元ルックアップテーブルを生成した後、一部の色範囲について出力階調値の改変を行う態様において、その改変を行う色範囲を定めるパラメータに基づいて決定される階調値とすることができる。
たとえば、出力階調値の改変を行う色範囲が、中心点の色を表す各色成分の階調値と、半径の大きさと、で決定される球状の色範囲である場合には、第2の候補階調値は、中心点の色を表す各色成分の階調値と、半径の大きさとに基づいて定められる階調値とすることができる。ただし、ルックアップテーブルの入力階調値で定められる色空間において、上記改変を行う色範囲の境界上に位置する色の階調値を、第2の候補階調値とすることが好ましい。
C11.変形例11:
第1実施例においては、第2の候補階調値のプラスマイナスdnの範囲内にある第1の候補階調値が、第1の候補階調値から除外されていた(図7のステップS340参照)。そして、dnは4であった。しかし、第2の候補階調値に近い値を有する第1の候補階調値を除外する際には、他の基準を使用することもできる。たとえば、第2の候補階調値の近傍にあるか否かの基準となる値dnは、第1の候補階調値の間隔diに対する割合で定めることもできる。dnは、第1の候補階調値の間隔diの30%未満の値であることが好ましく、diの20%未満の値であることがより好ましい。そして、dnは、第1の候補階調値の間隔diの15%未満の値であることが、さらに好ましい。
C12.変形例12:
上記実施例では、トーンカーブを生成する際には、基準となる点を通るようなスプライン曲線によって生成していた。しかし、トーンカーブを生成する際には、基準となるm個(mは3以上の整数)の点を通るような(m+1)次曲線など、他の曲線で生成することもできる。
C13.変形例13:
上記実施例では、差分dvkに基づいて第1の候補階調値の最大数L2は、7個であった。そして、3次元ルックアップテーブル104aの入力階調値の最大数Nmaxは17であった。しかし、第1の候補階調値の最大数L2および3次元ルックアップテーブル104aの入力階調値の最大数Nmaxは、他の数とすることもできる。ただし、L2=Nmax−2−2nの関係にあることが好ましい。ここで、nは、初期画像データPIDが有する色成分の数である。よって、2nは、各色範囲Cmiを定める点の数である(図13参照)。たとえば、処理対象である初期画像データPIDがsRGB表色系の画像データである場合は、n=3であるので、L2=Nmax−10である。
C14.変形例14:
上記実施例においては、縮小画像データを解析し、解析結果に基づいてトーンカーブの形状を決定して、トーンカーブに基づいてルックアップテーブルを生成していた(図5参照)。しかし、縮小画像データの解析結果に基づいてルックアップテーブルを生成する際には、解析結果に基づいてトーンカーブの形状を改変せずに、ルックアップテーブルを生成する態様とすることもできる。
たとえば、第1実施例において説明したように、木の緑や空の青など、特定の範囲の色について特有の改変を行う場合がある(図3および図11参照)。そのような場合に、処理対象とする画像データから生成した縮小画像データを解析して、どの範囲の色について処理を行い、どの範囲の色について処理を行わないかを決定し(図1のステップS100参照)、その決定に基づいてn次元ルックアップテーブルを生成してもよい。その際、n次元ルックアップテーブルのもととなるトーンカーブは、縮小画像データの解析結果に基づかずに生成する態様とすることができる。
すなわち、本発明の一態様として、画像変換に使用するルックアップテーブルを生成する際に、変換対象とする画像データの縮小画像データの解析結果を直接的または間接的に反映させて、ルックアップテーブルを生成する態様を採用することができる。
C15.変形例15:
上記実施例では、初期画像データPIDを縮小して生成した縮小画像データPID2に基づいて3次元ルックアップテーブル104aを生成した。しかし、他の態様において、初期画像データPIDの一部をサンプリングして解析し、その解析結果に基づいて画像を調整する際に使用するルックアップテーブルを生成してもよい。すなわち、画像データの色の調整を行うためのルックアップテーブルは、直接または間接的に、処理対象である画像データに基づいて生成することができる。
C16.変形例16:
上記実施例では、ルックアップテーブル104aを参照する際には、四面体補間を行っていた。しかし、ルックアップテーブル104aを参照する際には、変換対象の色の点を囲む6個のグリッドの出力階調値を使用して補間を行う立方体補間など、他の補間を行う態様とすることもできる。
C17.変形例17:
上記実施例のように、色調の調整におけるHSB表色系の階調値の改変量は(図14参照)、あらかじめ、HSB表色系の各階調値に対して定められた値であってもよい。また、あらかじめ計算式が定められており、その計算式にHSB表色系の各階調値を代入して改変量を計算する態様であってもよい。後者の態様も、階調値に応じて「予め定められた量」で大きさの改変を行う態様に含まれる。なお、階調値に応じて「予め定められた量」は、0であってもよい。
C18.変形例18:
上記実施例では、明度の階調を含む表色系であるHSB表色系の、色相(H)、彩度(S)、明るさ(B)の改変を行う範囲の端(図14のH1,H4,S1,S4,B1,B4参照)の組み合わせに対応するsRGB表色系の色空間上の点がグリッドとなるように、3次元ルックアップテーブル104cが決定されていた。しかし、色の調整の際に参照されるn次元ルックアップテーブルを生成する際には、一定量の改変を行う範囲の端(図14のH2,H3,S2,S3,B2,B3参照)の組み合わせに対応する色空間上の点がグリッドとなるように、入力階調値を決定して、n次元ルックアップテーブルを生成することも好ましい。そのような態様とすれば、色の改変の方法が変わる境界部分において、正確な出力階調値を使用することができる。
なお、n次元ルックアップテーブルは、以下のような態様としうる。すなわち、n次元ルックアップテーブルは、すべての入力階調値の組み合わせについて出力階調値を有しているのではなく、一部の入力階調値の組み合わせについて出力階調値を有している。そして、n次元ルックアップテーブルが参照される際には、n次元ルックアップテーブルが有している複数の出力階調値が読み出され、それらを使用して補間演算を行って、画像処理に使用される。そのような態様において、上記のように、色の改変を行う色範囲に基づいてルックアップテーブルの入力階調値を定めることが特に好ましい。
C19.変形例19:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、プリンタドライバ96(図2参照)の機能の一部をハードウェア回路が実行するようにすることもできる。
このような機能を実現するコンピュータプログラムは、フロッピディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
この明細書において、ホストコンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなホストコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図 LUT生成モジュール102における処理を表すフローチャート。 記憶色テーブル105の内容の一部を示す図。 記憶色に関する調整の内容を表す対象記憶色パラメータを決定する手順を示すフローチャート。 図2のステップS200における3次元ルックアップテーブル104aの生成手順を示すフローチャート。 図5のステップS220におけるトーンカーブの生成方法の一例を示す図。 図5のステップS230において3次元ルックアップテーブル104aの入力階調値を決定する手順を示すフローチャート。 トーンカーブC1上において3次元ルックアップテーブル104aの入力階調値を決定する方法を示す図。 3次元ルックアップテーブル104cにおいて、ブルーの入力階調値Vbi=0の平面上に位置するグリッドを丸で囲まれた黒点で示す図。 3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行う手順を示すフローチャート。 3次元ルックアップテーブル104cのうち記憶色の範囲を示す図。 ステップS256における階調値の改変の内容の一例を示す図。 記憶色テーブル105を示す図。 第2実施例におけるトーンカーブの生成方法の手順を示すフローチャート。 図14のステップS222におけるレッドのトーンカーブの生成方法の一例を示す図。 図14のステップS224におけるトーンカーブの改変方法の一例を示す図。
符号の説明
21…CRTディスプレイ
22…プリンタ
28…印刷ヘッド
31…キャリッジ
32…操作パネル
41…CPU
42…ROM
90…コンピュータ
91…ビデオドライバ
95…アプリケーションプログラム
96…プリンタドライバ
97…解像度変換モジュール
98…色変換モジュール
99…ハーフトーンモジュール
100…並べ替えモジュール
101…縮小画像生成モジュール
102…LUT生成モジュール(ルックアップテーブル生成モジュール)
103…色調調整モジュール
104a,104b…色変換テーブル
105…記憶色テーブル
120…キーボード
130…マウス
C1…トーンカーブ
C1r…レッドのトーンカーブ
C1p…暫定的なトーンカーブ
C1pr…レッドの暫定的なトーンカーブ
Cbo…改変前のブルーのトーンカーブ
Cbr…改変後のブルーのトーンカーブ
Cgo…改変前のグリーンのトーンカーブ
Cgr…改変後のグリーンのトーンカーブ
Cm1〜CmM…記憶色の色範囲
FNL…印刷画像データ
MID1…画像データPIDrを解像度変換した画像データ
MID2…画像データMID1を色変換した画像データ
MID3…ドットのオン/オフで画像が表された画像データ(印刷画像データ)
MS…ヘッドの搬送方向(主走査方向)
O…入力階調値と出力階調値がともに最低値の点
ORG…原画像データ
P…印刷用紙
PID…初期画像データ
PID2…縮小画像データ
PIDr…初期画像データの色調を調整した画像データ
Pmc…対象記憶色パラメータ
SS…印刷用紙の搬送方向(副走査方向)
Vir1…トーンカーブの基準入力階調値
Vor1…基準入力階調値Vir1に対応する基準出力階調値
Vor1’…基準入力階調値Vir1に対応する暫定的な出力階調値
Vir2…トーンカーブの基準入力階調値
Vor2…基準入力階調値Vir2に対応する基準出力階調値
Vor2’…基準入力階調値Vir2に対応する暫定的な出力階調値
Vir3…トーンカーブの基準入力階調値
Vor3…基準入力階調値Vir3に対応する基準出力階調値
Vor3’…基準入力階調値Vir3に対応する暫定的な出力階調値
Vri…レッドの入力階調値
Vgi…グリーンの入力階調値
Vbi…ブルーの入力階調値
Vrir1…レッドのトーンカーブの基準入力階調値
Vror1…レッドの基準入力階調値Vrir1に対応する基準出力階調値
Vror1’…レッドの基準入力階調値Vrir1に対応する暫定的な出力階調値
Vrir2…レッドのトーンカーブの基準入力階調値
Vror2…レッドの基準入力階調値Vrir2に対応する基準出力階調値
Vror2’…レッドの基準入力階調値Vrir2に対応する暫定的な出力階調値
Vrir3…レッドのトーンカーブの基準入力階調値
Vror3…レッドの基準入力階調値Vrir3に対応する基準出力階調値
Vror3’…レッドの基準入力階調値Vrir3に対応する暫定的な出力階調値
Vw…入力階調値Vcbiに対応する出力階調値Vcbro,Vcbgo,Vcbbo画素の範囲の中に位置すべき範囲の幅を規定する量
Vy…明度
dB…明るさ(B)の改変量
dc…コントラスト調整パラメータ
dcr…レッドのコントラスト調整パラメータ
dl…明度調整パラメータ
dlr…レッドの平均階調調整パラメータ
dvk…所定間隔を有する入力階調値に対応する出力階調値の差分
p1…トーンカーブにおいて第1の基準入力階調値に対応する点
p2…トーンカーブにおいて第2の基準入力階調値に対応する点
p3…トーンカーブにおいて第3の基準入力階調値に対応する点
pr1…レッドのトーンカーブにおいて第1の基準入力階調値に対応する点
pr2…レッドのトーンカーブにおいて第2の基準入力階調値に対応する点
pr3…レッドのトーンカーブにおいて第3の基準入力階調値に対応する点
pmax…トーンカーブにおいて最大の入力階調値Vmaxに対応する点
σy…明るさの標準偏差
σr…レッドの階調値の標準偏差

Claims (8)

  1. 画像処理装置であって、
    処理対象である第1の画像データの画像を縮小して第2の画像データを生成する縮小画像データ生成部と、
    前記第2の画像データを解析して、前記解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成するルックアップテーブル生成部と、
    前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う画像変換部と、を含み、
    前記第1の画像データは、n種類(nは2または3)の色成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記色成分の階調値の組み合わせを有するn次元ルックアップテーブルであり、
    前記ルックアップテーブル生成部は、
    それぞれ入力値および出力値として同一種類の前記色成分の離散的な階調値を有するn個のトーンカーブを、前記解析の結果に基づいて生成し、
    少なくとも一つの色成分について、前記トーンカーブよりも入力値の階調の数が少ない前記n次元ルックアップテーブルを、前記n個のトーンカーブに基づいて生成し、
    前記n次元ルックアップテーブルを生成する際には、前記n次元ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められた前記トーンカーブの複数の入力階調値のうち、対応する出力階調値の増加率が所定のしきい値よりも大きい入力階調値の少なくとも一部を、前記n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する、画像処理装置。
  2. 請求項1記載の装置であって、
    前記ルックアップテーブル生成部は、
    前記候補としての入力階調値であって前記トーンカーブの入力階調値のうち一定の間隔を有する複数の入力階調値について、各入力階調値に対応づけて、前記増加率として前記各入力階調値と隣り合う入力階調値との間の出力階調値の差分を計算し、
    対応づけられた前記差分が前記しきい値よりも大きい入力階調値を、前記n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する、画像処理装置。
  3. 請求項2記載の画像処理装置であって、
    前記ルックアップテーブル生成部は、前記一定の間隔を有する複数の入力階調値の中から、前記対応づけられた差分が大きい順に最大でL個(Lは正の整数)の入力階調値を、前記n次元ルックアップテーブルが有する入力階調値の少なくとも一部として選択する、画像処理装置。
  4. 請求項2記載の画像処理装置であって、
    前記ルックアップテーブル生成部は、前記トーンカーブを生成する際には、
    少なくとも一つの色成分のトーンカーブについて、特定の値を有する基準入力階調値に対応する基準出力階調値を、前記解析の結果に基づいて決定し、
    前記少なくとも一つの色成分のトーンカーブについて、入力階調値を大きさの順に並べたときに前記基準入力階調値に対して同じ側にある入力階調値に関しては、前記基準入力階調値に近い入力階調値ほど出力階調値として前記基準出力階調値に近い値を有するように、前記基準入力階調値以外の各入力階調値に対する出力階調値を決定する、画像処理装置。
  5. 請求項2記載の画像処理装置であって、
    前記ルックアップテーブル生成部は、前記トーンカーブを生成する際には、
    少なくとも一つの色成分のトーンカーブについて、特定の値を有する第1の基準入力階調値に対応する第1の基準出力階調値を、前記解析の結果に基づいて減少させ、
    前記少なくとも一つの色成分のトーンカーブについて、前記第1の基準入力階調値よりも大きな値を有する第2の基準入力階調値に対応する第2の基準出力階調値を、前記解析の結果に基づいて増大させ、
    前記少なくとも一つの色成分のトーンカーブについて、入力階調値を大きさの順に並べたときに、前記第1の基準入力階調値に対して同じ側にある入力階調値に関しては、前記第1の基準入力階調値に近い入力階調値ほど出力階調値として前記第1の基準出力階調値に近い値を有し、前記第2の基準入力階調値に対して同じ側にある入力階調値に関しては、前記第2の基準入力階調値に近い入力階調値ほど出力値として前記第2の基準出力階調値に近い値を有するように、前記第1および第2の基準入力階調値以外の各入力階調値に対する出力階調値を決定する、画像処理装置。
  6. 請求項2記載の画像処理装置であって、
    前記ルックアップテーブル生成部は、前記トーンカーブを生成する際には、
    前記n個のトーンカーブについて、同一の基準入力階調値にそれぞれ対応する基準出力階調値として、所定の範囲内に含まれる基準出力階調値を決定し、
    前記n個のトーンカーブについて、入力階調値を大きさの順に並べたときに前記基準入力階調値に対して同じ側にある入力階調値に関しては、前記基準入力階調値に近い入力階調値ほど出力階調値として前記基準出力階調値に近い値を有するように、前記基準入力階調値以外の各入力階調値に対する出力階調値を決定する、画像処理装置。
  7. 画像処理方法であって、
    (a)処理対象である第1の画像データの画像を縮小して第2の画像データを生成する工程と、
    (b)前記第2の画像データを解析する工程と、
    (c)前記第2の画像データの解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成する工程と、
    (d)前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う工程と、を含み、
    前記第1の画像データは、n種類(nは2または3)の色成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記色成分の階調値の組み合わせを有するn次元ルックアップテーブルであり、
    前記工程(c)は、
    それぞれ入力値および出力値として同一種類の前記色成分の離散的な階調値を有するn個のトーンカーブを、前記解析の結果に基づいて生成し、
    少なくとも一つの色成分について、前記トーンカーブよりも入力値の階調の数が少ない前記n次元ルックアップテーブルを、前記n個のトーンカーブに基づいて生成し、
    前記n次元ルックアップテーブルを生成する際には、前記n次元ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められた前記トーンカーブの複数の入力階調値のうち、対応する出力階調値の増加率が所定のしきい値よりも大きい入力階調値の少なくとも一部を、前記n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する、工程を含む、方法。
  8. 画像処理をおこなうためのコンピュータプログラムであって、
    処理対象である第1の画像データの画像を縮小して第2の画像データを生成する機能と、
    前記第2の画像データを解析する機能と、
    前記第2の画像データの解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成する機能と、
    前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う機能と、をコンピュータに実現させるためのコンピュータプログラムであり、
    前記第1の画像データは、n種類(nは2または3)の色成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記色成分の階調値の組み合わせを有するn次元ルックアップテーブルであり、
    前記ルックアップテーブルを生成する機能は、
    それぞれ入力値および出力値として同一種類の前記色成分の離散的な階調値を有するn個のトーンカーブを、前記解析の結果に基づいて生成し、
    少なくとも一つの色成分について、前記トーンカーブよりも入力値の階調の数が少ない前記n次元ルックアップテーブルを、前記n個のトーンカーブに基づいて生成し、
    前記n次元ルックアップテーブルを生成する際には、前記n次元ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められた前記トーンカーブの複数の入力階調値のうち、対応する出力階調値の増加率が所定のしきい値よりも大きい入力階調値の少なくとも一部を、前記n次元ルックアップテーブルが有する入力階調値の少なくとも一部として決定する、機能を含む、コンピュータプログラム
JP2005329643A 2005-11-15 2005-11-15 画像処理装置、画像処理方法およびプログラム Expired - Fee Related JP4682814B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005329643A JP4682814B2 (ja) 2005-11-15 2005-11-15 画像処理装置、画像処理方法およびプログラム
US11/598,851 US20070127074A1 (en) 2005-11-15 2006-11-13 Device, method and program product for image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005329643A JP4682814B2 (ja) 2005-11-15 2005-11-15 画像処理装置、画像処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2007142506A JP2007142506A (ja) 2007-06-07
JP4682814B2 true JP4682814B2 (ja) 2011-05-11

Family

ID=38118427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005329643A Expired - Fee Related JP4682814B2 (ja) 2005-11-15 2005-11-15 画像処理装置、画像処理方法およびプログラム

Country Status (2)

Country Link
US (1) US20070127074A1 (ja)
JP (1) JP4682814B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397588B2 (en) * 2005-01-31 2008-07-08 Canon Kabushiki Kaisha Generation of hue slice table for gamut mapping
US7990588B2 (en) * 2006-12-12 2011-08-02 Canon Kabushiki Kaisha Method of finding look-up table structures in color device sampling data
JP5230118B2 (ja) * 2007-03-30 2013-07-10 キヤノン株式会社 階調性評価装置および階調性評価方法
US7843465B1 (en) * 2007-05-31 2010-11-30 Zoran Corporation Method and apparatus for mapping a multi-dimensional signal from one space to another space
US7869088B2 (en) * 2007-12-28 2011-01-11 Infoprint Solutions Company, Llc Methods and apparatus for determining a lookup table size for an AFP link CMR
US8357974B2 (en) 2010-06-30 2013-01-22 Corning Incorporated Semiconductor on glass substrate with stiffening layer and process of making the same
WO2015192380A1 (zh) * 2014-06-20 2015-12-23 深圳市尊正数字视频有限公司 调色监视器、调色系统以及调色方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003339057A (ja) * 2002-03-15 2003-11-28 Canon Inc 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2004214771A (ja) * 2002-12-27 2004-07-29 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム
JP2004222078A (ja) * 2003-01-16 2004-08-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム
JP2005130308A (ja) * 2003-10-24 2005-05-19 Ricoh Co Ltd 画像処理装置、画像処理システム、画像処理方法、そのプログラム及び記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3823424B2 (ja) * 1996-02-29 2006-09-20 セイコーエプソン株式会社 画像処理装置および画像処理方法
JPH10276337A (ja) * 1997-03-28 1998-10-13 Sharp Corp カラー画像処理装置
JP2000115558A (ja) * 1998-10-08 2000-04-21 Mitsubishi Electric Corp 色特性記述装置および色管理装置および画像変換装置ならびに色補正方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003339057A (ja) * 2002-03-15 2003-11-28 Canon Inc 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2004214771A (ja) * 2002-12-27 2004-07-29 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム
JP2004222078A (ja) * 2003-01-16 2004-08-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム
JP2005130308A (ja) * 2003-10-24 2005-05-19 Ricoh Co Ltd 画像処理装置、画像処理システム、画像処理方法、そのプログラム及び記録媒体

Also Published As

Publication number Publication date
US20070127074A1 (en) 2007-06-07
JP2007142506A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
US7864371B2 (en) Image processing apparatus, image processing method, and computer product
JP4682814B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6768343B2 (ja) 画像処理装置、画像処理方法及びプログラム
US7706604B2 (en) Production of color conversion profile for printing
US7209262B2 (en) Method and apparatus for processing image signal and computer-readable recording medium recorded with program for causing computer to process image signal
US7433513B2 (en) Scaling an array of luminace values
JP4200365B2 (ja) 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法、印刷制御プログラムおよび画像データ処理装置
US7554697B2 (en) Image forming apparatus, image forming method, and image forming program
US7474443B2 (en) Image formation using dots of different spatial density determined based on comparison of pixel value to threshold value matrix and error added by error diffusion
JP2005348053A (ja) 色変換を行う装置、印刷制御装置、方法およびプログラム、色変換データを作成する装置、方法およびプログラム、並びに、色変換データを記録した記録媒体
US20110001993A1 (en) Image processing method and image processing apparatus
US7196817B2 (en) Printing of digital images using reduced colorant amounts while preserving perceived color
JP4941152B2 (ja) 色変換ルックアップテーブル作成装置及び方法、並びに、そのためのプログラム
JP4682818B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4215348B2 (ja) 印刷不可能な色値を印刷可能な色値に変換する方法、カラー画像を再生する画像再生システム、及び、この画像再生システムに適した色変換手段を備える制御手段
JP4623029B2 (ja) 印刷制御装置、画像処理装置
JP4380503B2 (ja) ルックアップテーブル作成方法および分版方法
JP2001111852A (ja) カラー画像処理方法及びカラー画像処理装置、色変換係数生成方法及び色変換係数生成装置、記憶媒体
JP3956125B2 (ja) 対応関係定義データ作成用格子点決定方法、画像処理装置、画像処理方法および画像処理プログラム
JP2010221438A (ja) 印刷装置、印刷方法、および、ルックアップテーブル作成方法
JP3959974B2 (ja) 印刷制御装置、画像処理装置
JP2012129912A (ja) 印刷装置
JP4921339B2 (ja) 色処理装置およびその方法
JP2008162248A (ja) 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに画像処理装置、画像処理プログラム及び画像処理方法
JPH0951421A (ja) 画像処理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

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: 20110111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees