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

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

Info

Publication number
JP4682818B2
JP4682818B2 JP2005335213A JP2005335213A JP4682818B2 JP 4682818 B2 JP4682818 B2 JP 4682818B2 JP 2005335213 A JP2005335213 A JP 2005335213A JP 2005335213 A JP2005335213 A JP 2005335213A JP 4682818 B2 JP4682818 B2 JP 4682818B2
Authority
JP
Japan
Prior art keywords
color
value
values
gradation
lookup table
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
JP2005335213A
Other languages
English (en)
Other versions
JP2007142911A (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 JP2005335213A priority Critical patent/JP4682818B2/ja
Publication of JP2007142911A publication Critical patent/JP2007142911A/ja
Application granted granted Critical
Publication of JP4682818B2 publication Critical patent/JP4682818B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

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の画像データが、第1の表色系のn種類(nは2以上の整数)の成分の階調値を含む場合には、ルックアップテーブルは、入力値および出力値としてそれぞれn種類の成分の階調値の組み合わせを有するn次元の色補正ルックアップテーブルであることが好ましい。そして、ルックアップテーブルを生成する際には、以下のような処理を行うことが好ましい。すなわち、入力値および出力値としてそれぞれn種類の成分の階調値の組み合わせを有するn次元のルックアップテーブルであって、解析の結果に基づいて定められた第1の表色系の色空間の一部の色範囲に応じて定められる階調値を入力階調値として有する原ルックアップテーブルを生成する。その後、原ルックアップテーブルの入力階調値の組み合わせうち、色範囲に含まれる色を表す第1の組み合わせについて、対応する出力階調値を改変して色補正ルックアップテーブルを生成する。
このような態様とすれば、一部の階調値の組み合わせについて出力階調値を有するn次元ルックアップテーブルを参照しつつ画像処理を行う場合であって、一部の色範囲について色を改変する処理を含む画像処理を行う場合に、以下のような利点がある。すなわち、色の改変を行う色範囲によらず入力階調値が一定に定められているn次元ルックアップテーブルを参照する態様に比べて、その色範囲についてより正確に望ましい色に改変することができる。なお、原ルックアップテーブルは、第1の表色系のn個の各成分のトーンカーブの一部の入力値と、その入力値に対応する出力値と、をそれぞれ入力階調値および出力階調値として有するルックアップテーブルとすることができる。
なお、原ルックアップテーブルを生成する際には、第1の表色系の色空間において色範囲の境界上にある少なくとも一つの点である第1の基準点を表す第1の表色系の階調値の組み合わせを、原ルックアップテーブルが有する入力階調値とすることが好ましい。
このような態様とすれば、色の改変を行う色範囲とそれ以外の色空間との境界の色について出力階調値を有するn次元ルックアップテーブルを参照して、画像処理を行うことができる。その結果、色の改変を行う色範囲を考慮せずに入力階調値が定められているルックアップテーブルを参照する場合に比べて、色空間の境界近傍に位置する入力階調値の組み合わせについて、望ましい色に色の改変を行うことができる。
また、原ルックアップテーブルの出力階調値の改変を行う際には、以下のような処理を行うことが好ましい。すなわち、まず、入力階調値の第1の組み合わせに対応する出力階調値の組み合わせを、明度を表す成分を有する第2の表色系による階調値の組み合わせに変換する。そして、変換後の階調値の組み合わせの少なくとも一部の成分の階調値の大きさを改変する。その後、大きさの改変を行った後の階調値の組み合わせを、第1の表色系の成分の階調値の組み合わせに再変換して、原ルックアップテーブルの出力階調値を得る。
このような態様とすれば、人間の感覚や好みに沿うように、色空間の一部の色範囲について色の明るさや色調を改変しやすい。
なお、変換後の第2の表色系の階調値の大きさを改変する際には、第2の表色系の各成分の階調値について、上記の色範囲に応じて定められた第1の階調値範囲内にある階調値を対象として、階調値の大きさに応じて予め定められた量による大きさの改変を行うことが好ましい。そして、上記の第1の基準点は、第2の表色系の色空間における点であって、第2の表色系の各成分の第1の階調値範囲の最大値または最小値を各成分の階調値として有する点に対応する点であることが好ましい。
また、第2の表色系の各成分の第1の階調値範囲の最大値または最小値を各成分の階調値として有する階調値の組み合わせ(各成分の階調値範囲の上端の値のみの組み合わせや下端の値のみの組み合わせには限られず、上端の値と下端の値を組み合わせてもよい)を、第1の表色系の階調値のの組み合わせに変換したと仮定した場合に、以下のように原ルックアップテーブルの入力階調値が定められることも好ましい。すなわち、第1の階調値範囲の端の階調値の組み合わせを変換して得られた第1の表色系の階調値の組み合わせは、第1の表色系の色空間において色範囲の境界上にある点を表す階調値の組み合わせである。そして、階調値の第3の組み合わせの中から、少なくとも一部の階調値を原ルックアップテーブルが有する入力階調値とする。
このような態様とすれば、色の改変を行う色範囲のうち第2の表色系の各成分の最大値または最小値を有する色について出力階調値を有するように、n次元ルックアップテーブルを生成することができる。その結果、そのような色およびそれらに近似した色について、望ましい改変を行うことができる。
また、第2の表色系の階調値の改変を行う際には、第2の表色系の少なくとも一部の成分の階調値について、以下のような処理を行うことが好ましい。すなわち、予め定められた階調値範囲であって、第1の階調値範囲に含まれる第2の階調値範囲内にある階調値を対象として、一定量による大きさの改変を行う。そして、第1の階調値範囲内であって第2の階調値範囲に含まれない階調値を対象として、第2の階調値範囲に近い階調値ほど一定量に近い量の改変を行って、大きさの改変を行う。
このような態様とすれば、第2の階調値範囲内の階調値について簡易に階調値の改変を行って、n次元ルックアップテーブルを生成することができる。また、画像全体として不自然とならないように色の階調値の改変を行うn次元ルックアップテーブルを生成することができる。なお、第2の階調値範囲が「第1の階調値範囲に含まれる」態様には、第2の階調値範囲が第1の階調値範囲と一致する態様も含まれる。
なお、原ルックアップテーブルを生成する際には、第1の表色系の階調値の組み合わせであって、第2の階調値範囲の最大値または最小値を各成分の階調値として有する第2の表色系の階調値の組み合わせに対応する階調値の組み合わせを、原ルックアップテーブルが有する入力階調値とすることが好ましい。
このような態様とすれば、一定量で色の改変を行う色範囲のうち第2の表色系の各成分の最大値または最小値を有する色について、出力階調値を有するように、n次元ルックアップテーブルを生成することができる。その結果、そのような色およびそれらに近似した色について、望ましい改変を行うことができる。
なお、色範囲は、第1の表色系で表された色空間において、複数の色の点を頂点とする多面体で囲まれた範囲とすることができる。そして、原ルックアップテーブルを生成する際には、第1の基準点としての上記の複数の色の点を表す階調値の組み合わせの中から、少なくとも一部の階調値の組み合わせを原ルックアップテーブルが有する入力階調値とすることが好ましい。このような態様とすれば、簡易に色の改変を行う色範囲を指定して、その色範囲の境界上の点に相当する入力階調値の組み合わせを有するルックアップテーブルを生成することができる。
また、予め定められた複数の候補色範囲のうち、候補色範囲に含まれる色が第2の画像データの画像において占める領域の大きさが最も大きい候補色範囲を、色範囲に決定することが好ましい。
このような態様とすれば、負荷を小さくしつつ、画像中で占める部分が大きく人の目に付きやすい色について、効果的に色の改変を行うことができるルックアップテーブルを生成することができる。なお、候補色範囲に含まれる色が第2の画像データの画像において占める領域の大きさは、第1の表色系で表された第2の画像データそのものから計算することもでき、第2の画像データを、たとえば、第2の表色系による画像データに変換して変換後の画像データから計算することもできる。
なお、候補色範囲は、記憶色に基づく色の改変を行うべき色範囲とすることができる。なお、「記憶色」とは、人間が画像の中の被写体について、その被写体の色として記憶している色をいう。
なお、原ルックアップテーブルを生成する際には、以下のような処理を行うことが好ましい。すなわち、まず、それぞれ入力値および出力値として第1の表色系の同一種類の成分の離散的な階調値を有するn個のトーンカーブを、解析の結果に基づいて生成する。そして、n個のトーンカーブに基づいて、少なくとも一つの成分について、トーンカーブよりも入力値の階調の数が少ない原ルックアップテーブルを生成する。
このような態様とすれば、トーンカーブの全入力階調値の組み合わせについて出力階調値を有するn次元ルックアップテーブルよりもデータ量の小さいn次元ルックアップテーブルを、簡易な方法で生成することができる。
また、原ルックアップテーブルを生成する際には、以下のような処理を行うことも好ましい。すなわち、原ルックアップテーブルを生成する際には、原ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められたトーンカーブの複数の入力階調値を、第1のグループと、第1のグループよりも対応する出力階調値の増加率が大きい第2のグループとに分けたときに、第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の入力階調値を決定する手順を示すフローチャートである。ステップS310では、まず、図5のステップS220で生成したトーンカーブを解析して第1の候補階調値を決定する。
図8は、図7のステップS310において第1の候補階調値を決定する手順を示すフローチャートである。図9は、トーンカーブC1上において3次元ルックアップテーブル104aの入力階調値を決定する方法を示す図である。図8のステップS311では、まず、トーンカーブについて、互いに一定の間隔diを有する複数の入力階調値について、それぞれが対応する出力階調値と、次に小さい入力階調値の出力階調値と、の差分を求める。たとえば、0〜255まで互いに16階調の間隔を有する入力階調値Vik(k=1〜17)について、それぞれが対応する出力階調値Vokと、16階調大きい次の入力階調値Vik+1の出力階調値Vok+1と、の差分dvkを求める。各差分dvkは、それぞれ入力階調値Vikと対応づけられる。なお、図9では、トーンカーブC1を破線で示し、入力階調値Vikに対応するトーンカーブ上の点を黒い点で示す。
図8のステップS312では、入力階調値Vikのうち差分dvkがしきい値Thよりも大きいものを選択する。ステップS313では、差分dvkがしきい値Thよりも大きい入力階調値Vikの数がL2個(L2は正の整数)よりも大きいか否かを判定する。判定結果がYesである場合は、ステップS314に進む。ステップS314では、ステップS312選択された入力階調値Vikを差分dvkの大きい順に順位付けする。そして、ステップS315、差分dvkが大きいものからL2個の入力階調値を第1の候補階調値として決定する。
L2は、3次元ルックアップテーブル104aの入力階調値の最大数として予め定められた数Nmaxよりも10だけ少ない数である。なお、Nmaxは11以上の整数である。第1実施例では、たとえば、Nmaxは17とし、L2は7とする。図9の例では、図8のステップS315において、Vi6〜Vi12の7個の入力階調値が差分dvkの大きさに基づいて選択される。
また、図8のステップS315では、最小の入力階調値Viminと最大の入力階調値Vimaxも、第1の候補階調値として選択する。その後、処理は終了する。図9の例では、Vi1とVi17がそれぞれViminとVimaxであることから、Vi6〜Vi12に加えて、Vi1とVi17が第1の候補階調値として選択される。図9では、ステップS314,S315に沿って第1の候補階調値が決定された場合の例を示す。図9において、入力階調値Vikのうち第1の候補階調値として選択されたものに対応するトーンカーブ上の点に丸を付して示す。
一方、ステップS313において、ステップS312選択された入力階調値がL2個以下であるとされた場合は、処理は、ステップS316に進む。ステップS316では、ステップS312選択されたすべての入力階調値と、最小の入力階調値Viminと最大の入力階調値Vimaxを、第1の候補階調値として選択する。すなわち、図8の手順では、最大L2個の入力階調値が差分dvkに基づいて選択される。
図7のステップS310では、以上のようにして、最大L2個の第1の候補階調値が決定される。なお、第1実施例では、レッド、グリーン、ブルーの階調値変換において同じトーンカーブが使用される。よって、ここまでの処理では、第1の候補階調値はレッド、グリーン、ブルーの各色成分について同じである。
図7のステップS320では、図2のステップS100で定められた対象記憶色パラメータPmcの色範囲Cmiに対応する第2の候補階調値を読み出す。この第2の候補階調値は、レッド、グリーン、ブルーのsRGB色空間において各色範囲Cmiを定める8個の点pc1(Vcr1,Vcg1,Vcb1)〜pc8(Vcr8,Vcg8,Vcb8)の各階調値である。各色範囲Cmiは、sRGB色空間において、これら8個の点pc1〜pc8を頂点とする多面体の内部の色の範囲である。各色範囲Cmiに対応する第2の候補階調値Vcr1〜Vcr8,Vcg1〜Vcg8,Vcb1〜Vcb8は、あらかじめ記憶色テーブル105に格納されている。なお、第2の候補階調値は、レッド、グリーン、ブルーの各色成分について常に一致しているわけではない。この記憶色に対応する第2の候補階調値については、後に説明する。
ステップS330では、レッド、グリーン、ブルーの各色成分について、第1の候補階調値のうち、第2の候補階調値に近似するものが存在するか否かについて判定する。ここで、「近似する」とは、第2の候補階調値のプラスマイナスdn(dnは正の整数)の範囲内に第1の候補階調値が存在するということである。第1実施例では、たとえば、dnは4階調とする。ステップS330の判定結果がYesである場合は、処理はステップS340に進む。一方、ステップS330の判定結果がNoである場合は、処理はステップS340を経ずにステップS350に進む。
ステップS340では、各色成分の第1の候補階調値の中から、各色成分の第2の候補階調値に近似するもの、すなわち任意の第2の候補階調値との差が4階調以内のものを除外する。第2の候補階調値は、レッド、グリーン、ブルーの各色成分について一致しているわけではない。このため、ステップS340における処理の結果、第1の候補階調値はレッド、グリーン、ブルーの各色成分について、通常は一致しなくなる。
ステップS350では、各色成分について、第1と第2の候補階調値を、3次元ルックアップテーブル104cの入力階調値として決定する。なお、3次元ルックアップテーブル104aの入力階調値は、3次元ルックアップテーブル104cの入力階調値と同じである。
図10は、図7のステップS310において決定された第1の候補階調値で定められる3次元ルックアップテーブルのグリッドを示す図である。「グリッド」とは、入力階調値の組み合わせで色空間内において特定される点である。図10では、ブルーの入力階調値Vbi=0の平面上に位置するグリッドを示す。横軸がレッドの階調値Vriであり、縦軸がグリーンの階調値Vgiである。Vbi=0の平面上の各グリッドは、図9と同様に丸で囲んだ黒点で示す。そして、レッドおよびグリーンの軸上の第1の候補階調値Vi1〜Vi17に対応する直線を一点鎖線で示す。図7のステップS310において定められた第1の候補階調値は各色成分について等しい。このため、図10においては、グリッドの配置はVri=Vgiの直線Lrgについて対称である。
図11は、図7のステップS350において決定された入力階調値で定められる3次元ルックアップテーブル104cのグリッドを示す図である。図11では、3次元ルックアップテーブル104cにおいて、ブルーの入力階調値Vbi=0の平面上に位置するグリッドを示す。横軸がレッドの階調値Vriであり、縦軸がグリーンの階調値Vgiである。図11においては、各グリッドは黒点で示す。
図11において、三角で囲まれた黒点pp1〜pp8は、図7のステップS320において決定された第2の候補階調値によって定められるグリッドである。図11における点pp1〜pp8(Vcr1,Vcg1)〜(Vcr8,Vcg8)は、レッド、グリーン、ブルーの色空間において対象記憶色の色範囲Cmiを定める点pc1(Vcr1,Vcg1,Vcb1)〜pc8(Vcr8,Vcg8,Vcb8)をレッド−グリーンの平面に投射したものである。図11においても、レッドおよびグリーンの軸上の第1の候補階調値Vi1〜Vi17に対応する直線を一点鎖線で示す。そして、レッドの階調値Vriの軸上の第2の候補階調値Vcr1〜Vcr8、およびにグリーンの軸上の第2の候補階調値Vcg1〜Vcg8に対応する直線を破線で示す。
図11の例において、点pp4に対応するレッドの第2の候補階調値Vcr4と第1の候補階調値Vi6とは、差がdn以内、すなわち4以内であるものとする。その結果、図7のステップS340において、階調値Vi6は第1の候補階調値から除外される。そして、Vi6は、3次元ルックアップテーブル104cのレッドの入力階調値とはならない。図11において、レッドの階調値Vriの軸上の階調値Vi6の符号および対応する一点鎖線にバツを付けて示す。
同様に、レッドの階調値において、第1の候補階調値Vi8は、点pp1に対応するレッドの第2の候補階調値Vcr1と近似するため、第1の候補階調値から除外される。また、レッドの階調値において、第1の候補階調値Vi11も、点pp7に対応するレッドの第2の候補階調値Vcr7と近似するため、第1の候補階調値から除外される。よってこれらの階調値は、3次元ルックアップテーブル104cのレッドの入力階調値とはならない。図11において、レッドの階調値Vriの軸上の階調値Vi8およびVi11の符号、ならびにそれらに対応する一点鎖線にもバツを付けて示す。
図11の例では、3次元ルックアップテーブル104cのレッドの入力階調値となる入力階調値は、レッドの階調値Vriの軸上において小さい順にVi1,Vcr8,Vcr4,Vi7,Vcr5,Vcr1,Vi9,Vi10,Vcr3,Vcr7,Vi12,Vcr2,Vcr6,Vi17の14個である。レッドの階調値Vriの軸上の3次元ルックアップテーブル104cのレッドの入力階調値に丸を付けて示す。
一方、縦軸のグリーンの階調値において、第1の候補階調値Vi7は、点pp6に対応するグリーンの第2の候補階調値Vcg6と近似するため、第1の候補階調値から除外される。また、縦軸のグリーンの階調値において、第1の候補階調値Vi12は、点pp4に対応するグリーンの第2の候補階調値Vcg4と近似するため、第1の候補階調値から除外される。よってこれらの階調値は、3次元ルックアップテーブル104cのグリーンの入力階調値とはならない。図11において、グリーンの階調値Vgiの軸上の階調値Vi7およびVi12の符号、ならびにそれらに対応する一点鎖線にもバツを付けて示す。
図11において、3次元ルックアップテーブル104cのグリーンの入力階調値は、小さい順にVi1,Vcg5,Vi6,Vcg1,Vcg6,Vi8,Vcg2,Vi9,Vcg8,Vi10,Vi11,Vcg7,Vcg4,Vcg3,Vi17の15個である。グリーンの階調値Vgiの軸上の3次元ルックアップテーブル104cのグリーンの入力階調値に丸を付けて示す。
上述のとおり、第2の候補階調値はレッド、グリーン、ブルーについてそれぞれ独立に定められる。このため、図8の処理で定められる3次元ルックアップテーブル104cの入力階調値の数は、レッド、グリーン、ブルーについて等しくはならない。その結果、図11においても、入力階調値の数はレッドとグリーンとで異なる。そして、黒点で示すグリッドの配置はVri=Vgiの直線Lrgについて対称ではない。図5のステップS230においては、図7フローチャートにしたがって、3次元ルックアップテーブル104cの入力階調値が以上のように決定される。
図5のステップS240では、ステップS230で決定された入力階調値と、それらに対応する出力階調値と、から、3次元ルックアップテーブル104cを生成する。3次元ルックアップテーブル104cは、入力値として、レッド、グリーン、ブルーの階調値を有し、出力値として、レッド、グリーン、ブルーの階調値を有する。
3次元ルックアップテーブル104cの各グリッドにおける各色成分の出力階調値は、その色成分のトーンカーブに基づいて定められる。たとえば、ブルーの入力階調値がVbi=Vi1、すなわち0であるグリッドについては、いずれも、ブルーの出力階調値は、図5のステップS220で定めたブルーのトーンカーブにおいてVi1に対応するVo1、すなわち0である。ブルーの入力階調値がVi6であるグリッドについては、いずれも、ブルーの出力階調値は、ブルーのトーンカーブにおいてVi6に対応するVo6である。さらに、ブルーについて、第2の候補階調値であった入力階調値を有するグリッドについても、ブルーの出力階調値は、ブルーのトーンカーブにおいてその入力階調値に対応する出力階調値である。レッド、グリーンの出力階調値についても同様である。
第1実施例で生成する3次元ルックアップテーブル104a,104cは、すべての階調値(0〜255)についての入力階調値を有しているわけではなく、一部の入力階調値についてのみ出力階調値を有している。具体的には、3次元ルックアップテーブル104aが有する入力階調値は、各色成分について最大でNmax=17個である。そして、図7のステップS340において一部の第1の候補階調値が除外される場合は、少なくとも一部の色成分について、入力階調値は17個未満となる(図11参照)。このため、第1実施例で生成する3次元ルックアップテーブル104a104cは、各色成分の入力階調値がとりうるすべての値(0〜255)について出力階調値を有している3次元ルックアップテーブルに比べて、データ量が少ない。
図5のステップS250では、3次元ルックアップテーブル104cに対して記憶色に関する調整を行って、3次元ルックアップテーブル104aを生成する。具体的には、S240で生成した3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行って、3次元ルックアップテーブル104aを生成する。
図12は、3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行う手順を示すフローチャートである。ステップS252では、まず、3次元ルックアップテーブル104cのグリッドのうち調整対象の記憶色の色範囲に含まれるグリッドを特定する。この色範囲は、図2のステップS100で決定された対象記憶色パラメータPmcに対応する記憶色の色範囲である。具体的には、記憶色の色範囲は、sRGB色空間において、対象記憶色パラメータPmcの色範囲Cmiに対応する8個の点pc1(Vcr1,Vcg1,Vcb1)〜pc8(Vcr8,Vcg8,Vcb8)を頂点とする多面体が定める範囲である。
図13は、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)
図13に示した点pc1(Vcr1,Vcg1,Vcb1)〜pc8(Vcr8,Vcg8,Vcb8)は、これらの色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の階調値(Vcr1,Vcg1,Vcb1)〜(Vcr8,Vcg8,Vcb8)は、上述のように、あらかじめ各記憶色Cm1〜CmMに対応づけられて記憶色テーブル105に格納されている(図3において図示せず)。
図12のステップS252では、ステップS100で決定された対象記憶色パラメータPmcの記憶色に対応する点pc1〜pc8を頂点とする多面体で囲まれた範囲に含まれるグリッドを特定する。そして、点pc1〜pc8で囲まれた範囲に含まれるグリッドについて以下のステップS254〜S258の処理を行う。
ステップS254では、グリッドが有している出力階調値(Vro,Vgo,Vbo)をHSB表色系の階調値に変換する。そして、ステップS256では、HSB表色系で表されたH,S,Bの階調値を改変する。
図14は、ステップS256における階調値の改変の内容の一例を示す図である。図14(a)は、青空の色範囲であるCm1に含まれるグリッドの色の改変内容を示している。記憶色の範囲は、H=H1〜H4,S=S1〜S4,B=B1〜B4であるものとする(図3参照)。図中、H2,H3は、H1〜H4の範囲に含まれる色相の階調値である。S2,S3は、S1〜S4の範囲に含まれる彩度の階調値である。B2,B3は、B1〜B4の範囲に含まれる明るさの階調値である。
図14(b)は、H=H1〜H4,S=S1〜S4,B=B1〜B4で定められるHSB空間内の色範囲を示す図である。図14(b)に示す色範囲は、HSB色空間における点c1〜c8を頂点とする扇状断面を有する立体の領域である。これらの点c1〜c8のHSB空間における座標は上記に示したとおりであるが、これをH1,H4,S1,S4,B1,B4で示すと以下のようになる。
c1:(H,S,B)=(H1,S1,B1)
c2:(H,S,B)=(H1,S1,B4)
c3:(H,S,B)=(H1,S4,B1)
c4:(H,S,B)=(H1,S4,B4)
c5:(H,S,B)=(H4,S1,B1)
c6:(H,S,B)=(H4,S1,B4)
c7:(H,S,B)=(H4,S4,B1)
c8:(H,S,B)=(H4,S4,B4)
前述のように、HSB色空間において階調値の改変の対象となる領域の頂点であるこれらの点c1〜c8は、sRGB空間における点pc1〜pc8(図13参照)に対応する。すなわち、点c1〜c8の階調値の組み合わせをHSB表色系からsRGB表色系に変換すると、点pc1〜pc8の階調値の組み合わせとなる。ただし、なお、HSB表色系で表された点c1〜c8とsRGB色空間における点pc1〜pc8においては、c1とpc1など同一の番号を有するものが対応関係を有しているわけではない。
グリッドの出力色(グリッドが有している出力階調値によって特定される色をいう)の色相Hが、H=H2〜H3の範囲にある場合は、Hは、(H+dH)に改変される。図14(a)の例では、dH=−5である。そして、H=H1〜H2の範囲については、Hの値がH1に近いほど改変量が少なくなるように、すなわち0に近づくように改変量が設定される。そして、Hの値がH2に近いほど改変量がdHに近づくように改変量が設定される。また、H=H3〜H4の範囲については、Hの値がH4に近いほど改変量が少なく、Hの値がH3に近いほどdHに近づくように改変量が設定される。
このような方法で改変を行うことで、生成される3次元ルックアップテーブル104aを参照して画像の色の調整を行った場合に、画像の色、特に色相が不自然とならないように、3次元ルックアップテーブル104aの出力値を定めることができる。
また、図14(a)の中段に示すように、グリッドの出力色の彩度Sが、S=S2〜S3の範囲にある場合は、Sは、(S+dS)に改変される。図14(a)の例では、dH=+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であるので、図14(a)の例では、B=B1〜B4の範囲についてBの改変は行われていない。ただし、明るさの改変を行う場合には、上記の色相や彩度と同様な方法で改変を行うことで、生成される3次元ルックアップテーブル104aを参照して画像の色の調整を行った場合に、画像の色、特に明るさが不自然とならないように、3次元ルックアップテーブル104aの出力値を定めることができる。
図15は、記憶色テーブル105を示す図である。上記の記憶色の調整に使用されるH1〜H4,dH,S1〜S4,dS,B1〜B4,dBの値、そして、上述の点pc1〜pc8のRGBの階調値(Vcr1,Vcg1,Vcb1)〜(Vcr8,Vcg8,Vcb8)は、あらかじめ記憶色テーブル105に格納されている。すなわち、記憶色テーブル105は、図15に示すような情報を格納している。LUT生成モジュール102は、このような記憶色テーブル105に基づいて各記憶色の領域の大きさを計算し(図4のステップS120参照)、記憶色の範囲に含まれるグリッドを特定し(図12のステップS252参照)、グリッドが有する出力色を改変する(同、ステップS256参照)
図12のステップ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)についての入力階調値を有しているわけではなく、一部の入力階調値についてのみ出力階調値を有している(図11参照)。このため、色調調整モジュール103(図1参照)が3次元ルックアップテーブル104aを参照しつつ初期画像データPIDを変換して、画像データPIDrを生成する際には、3次元ルックアップテーブル104aが有していない入力階調値を変換する場合には、補間演算を行う。すなわち、3次元ルックアップテーブル104aが有しているグリッドのうち、変換を行おうとする色に最も近いグリッドを4個選択し、四面体補間を行って、それらのグリッドが有している各色成分の出力階調値から、変換しようとする入力階調値の出力階調位置を計算する。
第1実施例においては、3次元ルックアップテーブル104aのもとになる3次元ルックアップテーブル104cを生成する際に、トーンカーブにおいて出力階調値の増分が大きい領域については、出力階調値の増分が小さい領域に比べてより多くの入力階調値(グリッド)を有している(図9参照)。このため、ルックアップテーブル104aを参照する際に、出力階調値の変化率が大きい領域において補間演算を行って出力階調値を得ても、均等間隔の入力階調値について出力階調値を有している3次元ルックアップテーブルに比べて、誤差が少ない。
また、3次元ルックアップテーブル104c生成後の色調の調整の際に(図1の103参照)、出力階調値の調整を行う色範囲と調整を行わない色範囲との境界において補間演算に従った画像処理が行われると、その境界近傍において、望ましい改変量にしたがった画像処理が行われないおそれがある。すなわち、図14(a)の例においては、上段の数直線上のH1およびH4近傍のHの改変量や、中段の数直線上のS1およびS4近傍のSの改変量が、図14(a)の直線で示された量とは異なってしまうおそれがある。
しかし、第1実施例においては、3次元ルックアップテーブル104c生成後に出力色の改変を行う領域と行わないとの境界を定める点pc1〜pc8は、常に3次元ルックアップテーブル104c,104aのグリッドとなる(図11のpp1〜pp8および図13参照)。このため、3次元ルックアップテーブル104c生成後に、出力階調値の調整を行う色範囲と調整を行わない色範囲との境界近傍において好ましい改変量の改変が行われやすい。
B.第2実施例:
第1実施例では、RGBの各トーンカーブは同一であった(図6および図9参照)。しかし、第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)
図16は、第2実施例におけるトーンカーブの生成方法の手順を示すフローチャートである。このフローチャートは、第2実施例における図5のステップS220の内容を示すものである。以下では、レッド、グリーン、ブルーの各色成分についての処理のうち、レッドを例に説明する。
図17(a),(b)は、図16のステップ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)を通るスプライン曲線として生成する(図17(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は、ステップS224で、レッド、グリーン、ブルーの各トーンカーブの形状を調整する。
図18は、図16のステップ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に近い数である。
図18の例では、グリーンのトーンカーブCgoについてこのような改変が行われる。図18において、改変前のグリーンのトーンカーブCgoで示し、改変後のグリーンのトーンカーブCgrで示す。図18において、入力階調値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に近い数である。
図18の例では、ブルーのトーンカーブCboについてこのような改変が行われる。図18において、改変前のブルーのトーンカーブCboで示し、改変後のブルーのトーンカーブCbrで示す。図18において、入力階調値Vcbiに対応する改変前のブルーのトーンカーブCbo上の点をpboで示し、その出力階調値をVcbboで示す。入力階調値Vcbiに対応する改変後のトーンカーブCbr上の点をpbrで示す。
このように、図16のステップS224では、各トーンカーブにおける入力階調値の中央近傍における出力階調値のばらつきが所定の範囲内となるようにトーンカーブが改変される。このような処理を行うことで、トーンカーブに従った色の調整が行われた際、すなわち、最終的に生成される3次元ルックアップテーブル104aにしたがった色変換が行われた際、変換前後で色相が大きく変わってしまう事態を防止することができる。
以下、生成されたレッド、グリーン、ブルーのトーンカーブに基づいて、第1実施例と同じ手順で3次元ルックアップテーブル104aが生成される。このような態様としても、記憶色の色範囲についての色調の調整を、好ましい改変量で実行することができる。
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上記実施例では、しきい値Thよりも大きな差分dvkと対応する入力階調値が所定数Lよりも多く存在する場合に、差分が大きいものから所定数Lの入力階調値を選択して、ルックアップテーブルが有する入力階調値の少なくとも一部とした(図8のステップS315参照)。しかし、入力階調値の決定は、このような方法に限られず、他の方法で決定してもよい。
たとえば、しきい値Thよりも大きな差分と対応づけられた入力階調値を、すべてルックアップテーブルの入力階調値として選択してもよい。また、しきい値に対する大小の判定は行わずに、最初から、対応づけられた差分が大きい順に所定数の入力階調値をルックアップテーブルの入力階調値として選択してもよい。
すなわち、ルックアップテーブルの入力階調値の選択は、ある段階において候補となっている入力階調値を、各入力階調値に対応づけられた出力階調値の増加率が大きな第1のグループと、第1のグループよりも増加率が小さなグループとに分けたときに、増加率の大きな第1のグループの少なくとも一部の入力階調値がルックアップテーブルの入力階調値の少なくとも一部として選択されるものであればよい。そのような態様とすれば、入力階調値の変化分に対して出力階調値の変化分が大きい部分については、ルックアップテーブルの入力階調値が設定されることになる。その結果、色調の調整においてルックアップテーブルを使用する際に(図1の色調調整モジュール103参照)、補間処理を行っても、画質が低下しにくい。
C2.変形例2:
上記実施例においては、ルックアップテーブルの入力階調値を決定する際には、トーンカーブの入力階調値のうち一定の間隔を有する複数の入力階調値に対応づけて、次に小さい入力階調値との間における出力階調値の差分を求めていた。そして、その差分の大きさに基づいて、ルックアップテーブルの入力階調値を決定していた。しかし、ルックアップテーブルの入力階調値は他の方法で決定してもよい。
たとえば、候補となった所定間隔を有する各入力階調値と対応づけて、次に大きい入力階調値との間における出力階調値の差分を求め、その差分の大きさに基づいて、ルックアップテーブルの入力階調値を決定することもできる。また、候補である各入力階調値の間隔よりも小さい入力階調値の増分に対する出力階調値の増分を求め、その出力階調値の増分の大きさに基づいてルックアップテーブルの入力階調値を決定してもよい。すなわち、ルックアップテーブルの入力階調値は、トーンカーブの出力階調値の増加率に基づいて定めることができる。ここで、出力階調値の「増加率」とは、入力階調値の一定の増加量に対する出力階調値の増加量である。
C3.変形例3:
上記実施例では、縮小画像データの解析結果に基づいて各色成分のトーンカーブを決定する際には、明度の調整を目的とする処理と、コントラストの調整を目的とする処理と、が行われた(図6および図17参照)。しかし、各色成分のトーンカーブを決定する際には、他の処理を行うこともできる。たとえば、最小の入力階調値Viminを含む所定の入力階調値の範囲については、最小の出力階調値Vominを出力するように、トーンカーブを形成することもできる。そして、最大の入力階調値Vimaxを含む所定の入力階調値の範囲については、最大の出力階調値Vomaxを出力するように、トーンカーブを形成することもできる。
また、上記実施例では、明度や色成分の階調値に関して、目標とする平均値と、目標とする分散と、を使用してトーンカーブの形状を決定する際の操作量を決定していた(式(2),(4),(8)〜(11),(13)および(15)参照)。しかし、トーンカーブの形状を決定する際の操作量は、他の量に基づいて決定することもできる。たとえば、明度や色成分の階調値の最大値や最小値に基づいて操作量を決定することもできる。すなわち、トーンカーブは、画像処理の対象とする画像データの直接的または間接的な解析の結果に基づいて、生成することができる。
C4.変形例4:
上記実施例においては、初期画像データPIDおよび縮小画像データPID2は、sRGB表色系で各画素の色が表された画像データであった。しかし、処理対象である画像データは、xyz表色系やL***表色系、L***表色系など、他の表色系で色が表された画像データであってもよい。
C5.変形例5:
上記実施例では、記憶色に関する色の調整は、sRGB表色系の出力階調値の組み合わせを、いったんHSB表色系の出力階調値の組み合わせに変換し、HSB表色系の出力階調値を改変して、sRGB表色系の出力階調値の組み合わせに逆変換して行っていた。しかし、記憶色に関する色の調整などの一部の色の改変を行う際には、L***表色系やL***表色系、など他の表色系に変換することもできる。ただし、変換後の表色系は、一つの階調値として明度に関する階調値を含む表色系であることが好ましい。そのような態様とすれば、明るさと彩度を含む他のパラメータと、を人間の感覚に応じて変更するように、色の調整を行うことができる。
C6.変形例6:
各色成分のトーンカーブに基づいてルックアップテーブルの入力階調値を決定する際には、しきい値Thや入力階調値の数Nmaxは、色成分ごとに異ならせることができる。たとえば、トーンカーブにおいて出力階調値の増加率の変化が小さい色成分については、トーンカーブにおいて出力階調値の増加率の変化が大きい色成分よりも、入力階調値の数Nを少なく設定することもできる。
C7.変形例7:
上記実施例では、各色成分のトーンカーブを生成する際に、入力階調値がとりうる範囲の下から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に基づいて行われるものとすることができる。
C8.変形例8:
第1実施例では、まず、トーンカーブの形状に基づく第1の候補階調値を決定し、その後、対象記憶色に基づく第2の候補階調値を決定していた(図7のステップS310とS320参照)。しかし、第1と第2の候補階調値は、いずれを先に決定することもでき、また、並行して決定することもできる。
C9.変形例9:
第1実施例では、第2の候補階調値は、記憶色に基づく出力階調値の改変を行う色範囲を定める色の階調値であった(図11および図13参照)。しかし、第2の候補階調値は、他の要因に基づいて決定される階調値とすることもできる。すなわち、第2の候補階調値は、3次元ルックアップテーブルを生成した後、一部の色範囲について出力階調値の改変を行う態様において、その改変を行う色範囲を定めるパラメータに基づいて決定される階調値とすることができる。
たとえば、出力階調値の改変を行う色範囲が、中心点の色を表す各色成分の階調値と、半径の大きさと、で決定される球状の色範囲である場合には、第2の候補階調値は、中心点の色を表す各色成分の階調値と、半径の大きさとに基づいて定められる階調値とすることができる。ただし、ルックアップテーブルの入力階調値で定められる色空間において、上記改変を行う色範囲の境界上に位置する色の階調値を、第2の候補階調値とすることが好ましい。
C10.変形例10:
第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%未満の値であることが、さらに好ましい。
C11.変形例11:
上記実施例では、トーンカーブを生成する際には、基準となる点を通るようなスプライン曲線によって生成していた。しかし、トーンカーブを生成する際には、基準となるm個(mは3以上の整数)の点を通るような(m+1)次曲線など、他の曲線で生成することもできる。
C12.変形例12:
上記実施例では、差分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である。
C13.変形例13:
上記実施例においては、縮小画像データを解析し、解析結果に基づいてトーンカーブの形状を決定して、トーンカーブに基づいてルックアップテーブルを生成していた(図5参照)。しかし、縮小画像データの解析結果に基づいてルックアップテーブルを生成する際には、解析結果に基づいてトーンカーブの形状を改変せずに、ルックアップテーブルを生成する態様とすることもできる。
たとえば、第1実施例において説明したように、木の緑や空の青など、特定の範囲の色について特有の改変を行う場合がある(図3および図13参照)。そのような場合に、処理対象とする画像データから生成した縮小画像データを解析して、どの範囲の色について処理を行い、どの範囲の色について処理を行わないかを決定し(図1のステップS100参照)、その決定に基づいてn次元ルックアップテーブルを生成してもよい。その際、n次元ルックアップテーブルのもととなるトーンカーブは、縮小画像データの解析結果に基づかずに生成する態様とすることができる。
すなわち、本発明の一態様として、画像変換に使用するルックアップテーブルを生成する際に、変換対象とする画像データの縮小画像データの解析結果を直接的または間接的に反映させて、ルックアップテーブルを生成する態様を採用することができる。
C14.変形例14:
上記実施例では、初期画像データPIDを縮小して生成した縮小画像データPID2に基づいて3次元ルックアップテーブル104aを生成した。しかし、他の態様において、初期画像データPIDの一部をサンプリングして解析し、その解析結果に基づいて画像を調整する際に使用するルックアップテーブルを生成してもよい。すなわち、画像データの色の調整を行うためのルックアップテーブルは、直接または間接的に、処理対象である画像データに基づいて生成することができる。
C15.変形例15:
上記実施例では、ルックアップテーブル104aを参照する際には、四面体補間を行っていた。しかし、ルックアップテーブル104aを参照する際には、変換対象の色の点を囲む6個のグリッドの出力階調値を使用して補間を行う立方体補間など、他の補間を行う態様とすることもできる。
C16.変形例16:
上記実施例のように、色調の調整におけるHSB表色系の階調値の改変量は(図14(a)参照)、あらかじめ、HSB表色系の各階調値に対して定められた値であってもよい。また、あらかじめ計算式が定められており、その計算式にHSB表色系の各階調値を代入して改変量を計算する態様であってもよい。後者の態様も、階調値に応じて「予め定められた量」で大きさの改変を行う態様に含まれる。なお、階調値に応じて「予め定められた量」は、0であってもよい。
C17.変形例17:
上記実施例では、明度の階調を含む表色系であるHSB表色系の、色相(H)、彩度(S)、明るさ(B)の改変を行う範囲の端(図14(a)のH1,H4,S1,S4,B1,B4参照)の組み合わせに対応するsRGB表色系の色空間上の点がグリッドとなるように、3次元ルックアップテーブル104cが決定されていた。しかし、色の調整の際に参照されるn次元ルックアップテーブルを生成する際には、以下のような入力階調値を原ルックアップテーブル104c’が有する入力階調値に決定して、n次元ルックアップテーブル104aを生成することも好ましい。その階調値とは、HSB表色系などの変換後の表色系において、一定量の改変を行う範囲の最大値または最小値(図14(a)のH2,H3,S2,S3,B2,B3参照)を各成分の階調値として有する階調値の組み合わせc9〜c16に対応する階調値の組み合わせである。c9〜c16を図14(b)に示す。
c9:(H,S,B)=(H2,S2,B2)
c10:(H,S,B)=(H2,S2,B3)
c11:(H,S,B)=(H2,S3,B2)
c12:(H,S,B)=(H2,S3,B3)
c13:(H,S,B)=(H3,S2,B2)
c14:(H,S,B)=(H3,S2,B3)
c15:(H,S,B)=(H3,S3,B2)
c16:(H,S,B)=(H3,S3,B3)
図19は、HSB空間上の点c9〜c16に対応するsRGB空間上の点pc9(Vcr9,Vcg9,Vcb9)〜pc16(Vcr16,Vcg16,Vcb16)を示す図である。変形例17の態様においては、各点pc1〜pc16は、3次元ルックアップテーブル104c’,104aのグリッドとなる。すなわち、各点pc1〜pc16の入力階調値が3次元ルックアップテーブル104c’,104aの各色成分の入階調値となる。このような態様とすれば、色の改変の方法が変わる境界部分において、正確な出力階調値を使用することができる。なお、上記のような態様以外に、色の改変の量、すなわち出力階調値の改変量を決定する際に適用される計算式が変わる境界部分や、改変前の出力階調値に対する改変後の出力階調値の割合が変わる境界部分など、広く色の改変の方法が変わる境界部分について、その境界上の色に対応する階調値の組み合わせをルックアップテーブルの入力階調値(グリッド)とすることが好ましい。
C18.変形例18:
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の入力階調値を決定する手順を示すフローチャート。 図5のステップS230において3次元ルックアップテーブル104aの入力階調値を決定する手順を示すフローチャート。 トーンカーブC1上において3次元ルックアップテーブル104aの入力階調値を決定する方法を示す図。 3次元ルックアップテーブル104cにおいて、ブルーの入力階調値Vbi=0の平面上に位置するグリッドを丸で囲まれた黒点で示す図。 図7のステップS350において決定された入力階調値で定められる3次元ルックアップテーブル104cのグリッドを示す図。 3次元ルックアップテーブル104cのうち記憶色の範囲に含まれるグリッドの出力階調値について改変を行う手順を示すフローチャート。 3次元ルックアップテーブル104cのうち記憶色の範囲を示す図。 ステップS256における階調値の改変の内容の一例を示す図。 記憶色テーブル105を示す図。 第2実施例におけるトーンカーブの生成方法の手順を示すフローチャート。 図16のステップS222におけるレッドのトーンカーブの生成方法の一例を示す図。 図16のステップS224におけるトーンカーブの改変方法の一例を示す図。 HSB空間上の点c9〜c16に対応するsRGB空間上の点pc9(Vcr9,Vcg9,Vcb9)〜pc16(Vcr16,Vcg16,Vcb16)を示す図。
符号の説明
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…印刷画像データ
Lrg…(レッドの入力階調値Vri)=(グリーンの入力階調値Vgi)の直線
MID1…画像データPIDrを解像度変換した画像データ
MID2…画像データMID1を色変換した画像データ
MID3…ドットのオン/オフで画像が表された画像データ(印刷画像データ)
MS…ヘッドの搬送方向(主走査方向)
O…入力階調値と出力階調値がともに最低値の点
ORG…原画像データ
P…印刷用紙
PID…初期画像データ
PID2…縮小画像データ
PIDr…初期画像データの色調を調整した画像データ
Pmc…対象記憶色パラメータ
SS…印刷用紙の搬送方向(副走査方向)
Vcb1〜Vcb8…点pc1〜pc8のブルーの各階調値
Vcg1〜Vcg8…点pc1〜pc8のグリーンの各階調値
Vcr1〜Vcr8…点pc1〜pc8のレッドの各階調値
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…明度
c1〜c8…HSB色空間において、色調の調整を行う範囲を定める点
c1〜c16…HSB色空間において、3次元ルックアップテーブルのグリッドに対応する点
dB…明るさ(B)の改変量
dc…コントラスト調整パラメータ
dcr…レッドのコントラスト調整パラメータ
di…第1の候補階調値の間隔
dl…明度調整パラメータ
dlr…レッドの平均階調調整パラメータ
dvk…所定間隔を有する入力階調値に対応する出力階調値の差分
p1…トーンカーブにおいて第1の基準入力階調値に対応する点
p2…トーンカーブにおいて第2の基準入力階調値に対応する点
p3…トーンカーブにおいて第3の基準入力階調値に対応する点
pc1〜pc8…sRGB色空間において、色調の調整を行う範囲を定める点
pc1〜pc16…sRGB色空間において、3次元ルックアップテーブルのグリッドとなる点
pp1〜pp8…RG平面において、色調の調整を行う範囲を定める点
pr1…レッドのトーンカーブにおいて第1の基準入力階調値に対応する点
pr2…レッドのトーンカーブにおいて第2の基準入力階調値に対応する点
pr3…レッドのトーンカーブにおいて第3の基準入力階調値に対応する点
pmax…トーンカーブにおいて最大の入力階調値Vmaxに対応する点
σy…明るさの標準偏差
σr…レッドの階調値の標準偏差

Claims (13)

  1. 画像処理装置であって、
    処理対象である第1の画像データの画像を縮小して第2の画像データを生成する縮小画像データ生成部と、
    前記第2の画像データを解析して、前記解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成するルックアップテーブル生成部と、
    前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う画像変換部と、を含み、
    前記第1の画像データは、第1の表色系のn種類(nは2または3)の成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元の色補正ルックアップテーブルであり、
    前記ルックアップテーブル生成部は、
    入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元のルックアップテーブルであって、前記解析の結果に基づいて定められた前記第1の表色系の色空間の一部の色範囲に応じて定められる階調値を入力階調値として有する原ルックアップテーブルを生成し、
    前記原ルックアップテーブルの入力階調値の組み合わせうち、前記色範囲に含まれる色を表す第1の組み合わせについて、対応する出力階調値を改変して前記色補正ルックアップテーブルを生成する、画像処理装置。
  2. 請求項1記載の装置であって、
    前記ルックアップテーブル生成部は、前記第1の表色系の色空間において前記色範囲の境界上にある少なくとも一つの点である第1の基準点を表す前記第1の表色系の階調値の組み合わせを、前記原ルックアップテーブルが有する入力階調値とする、画像処理装置。
  3. 請求項2記載の装置であって、
    前記ルックアップテーブル生成部は、前記原ルックアップテーブルの出力階調値の改変を行う際には、
    入力階調値の前記第1の組み合わせに対応する出力階調値の組み合わせを、明度を表す成分を有する第2の表色系による階調値の組み合わせに変換し、
    前記変換後の階調値の組み合わせの少なくとも一部の成分の階調値の大きさを改変し、
    前記大きさの改変を行った後の階調値の組み合わせを、前記第1の表色系の前記成分の階調値の組み合わせに変換して、前記原ルックアップテーブルの出力階調値の改変を行う、画像処理装置。
  4. 請求項3記載の装置であって、
    前記ルックアップテーブル生成部は、前記第2の表色系の各成分の階調値について、前記色範囲に応じて定められた第1の階調値範囲内にある階調値を対象として、階調値の大きさに応じて予め定められた量による前記大きさの改変を行い、
    前記第1の基準点は、前記第2の表色系の色空間における点であって、前記第2の表色系の各成分の前記第1の階調値範囲の最大値または最小値を各成分の階調値として有する点に対応する点である、画像処理装置。
  5. 請求項4記載の装置であって、
    前記ルックアップテーブル生成部は、前記第2の表色系の少なくとも一部の成分の階調値について、
    予め定められた階調値範囲であって、前記第1の階調値範囲に含まれる第2の階調値範囲内にある階調値を対象として、一定量による前記大きさの改変を行い、
    前記第1の階調値範囲内であって前記第2の階調値範囲に含まれない階調値を対象として、前記第2の階調値範囲に近い階調値ほど前記一定量に近い量の改変を行って、前記大きさの改変を行う、画像処理装置。
  6. 請求項5記載の装置であって、
    前記ルックアップテーブル生成部は、前記第1の表色系の階調値の組み合わせであって、前記第2の階調値範囲の最大値または最小値を各成分の階調値として有する前記第2の表色系の階調値の組み合わせに対応する階調値の組み合わせを、前記原ルックアップテーブルが有する入力階調値とする、画像処理装置。
  7. 請求項2記載の装置であって、
    前記色範囲は、前記第1の表色系で表された色空間において、複数の色の点を頂点とする多面体で囲まれた範囲であり、
    前記ルックアップテーブル生成部は、前記第1の基準点としての前記複数の色の点を表す階調値の組み合わせの中から、少なくとも一部の階調値の組み合わせを前記原ルックアップテーブルが有する入力階調値とする、画像処理装置。
  8. 請求項1記載の装置であって、
    前記ルックアップテーブル生成部は、予め定められた複数の候補色範囲のうち、候補色範囲に含まれる色が前記第2の画像データの画像において占める領域の大きさが最も大きい候補色範囲を、前記色範囲に決定する、画像処理装置。
  9. 請求項8記載の装置であって、
    前記候補色範囲は、記憶色に基づく色の改変を行うべき色範囲である、画像処理装置。
  10. 請求項1記載の装置であって、
    前記ルックアップテーブル生成部は、
    それぞれ入力値および出力値として前記第1の表色系の同一種類の成分の離散的な階調値を有するn個のトーンカーブを、前記解析の結果に基づいて生成し、
    前記n個のトーンカーブに基づいて、少なくとも一つの成分について、前記トーンカーブよりも入力値の階調の数が少ない前記原ルックアップテーブルを生成する、画像処理装置。
  11. 請求項10記載の装置であって、
    前記ルックアップテーブル生成部は、前記原ルックアップテーブルを生成する際には、前記原ルックアップテーブルが有すべき入力階調値の候補としてあらかじめ定められた前記トーンカーブの複数の入力階調値のうち、対応する出力階調値の増加率が所定のしきい値よりも大きい入力階調値の少なくとも一部を、前記原ルックアップテーブルが有する入力階調値の少なくとも一部として決定する、画像処理装置。
  12. 画像処理方法であって、
    (a)処理対象である第1の画像データの画像を縮小して第2の画像データを生成する工程と、
    (b)前記第2の画像データを解析する工程と、
    (c)前記第2の画像データの解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成する工程と、
    (d)前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う工程と、を含み、
    前記第1の画像データは、第1の表色系のn種類(nは2または3)の成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元の色補正ルックアップテーブルであり、
    前記工程(c)は、
    入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元のルックアップテーブルであって、前記解析の結果に基づいて定められた前記第1の表色系の色空間の一部の色範囲に応じて定められる階調値を入力階調値として有する原ルックアップテーブルを生成し、
    前記原ルックアップテーブルの入力階調値の組み合わせうち、前記色範囲に含まれる色を表す第1の組み合わせについて、対応する出力階調値を改変して前記色補正ルックアップテーブルを生成する、工程を含む、方法。
  13. 画像処理をおこなうためのコンピュータプログラムであって、
    処理対象である第1の画像データの画像を縮小して第2の画像データを生成する機能と、
    前記第2の画像データを解析する機能と、
    前記第2の画像データの解析の結果に基づいて、画像データの少なくとも一部の色を改変する変換を行うためのルックアップテーブルを生成する機能と、
    前記ルックアップテーブルを参照しつつ前記第1の画像データの変換を行う機能と、をコンピュータに実現させるためのコンピュータプログラムであり、
    前記第1の画像データは、第1の表色系のn種類(nは2または3)の成分の階調値を含み、
    前記ルックアップテーブルは、入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元の色補正ルックアップテーブルであり、
    前記ルックアップテーブルを生成する機能は、
    入力値および出力値としてそれぞれn種類の前記成分の階調値の組み合わせを有するn次元のルックアップテーブルであって、前記解析の結果に基づいて定められた前記第1の表色系の色空間の一部の色範囲に応じて定められる階調値を入力階調値として有する原ルックアップテーブルを生成し、
    前記原ルックアップテーブルの入力階調値の組み合わせうち、前記色範囲に含まれる色を表す第1の組み合わせについて、対応する出力階調値を改変して前記色補正ルックアップテーブルを生成する、機能を含む、コンピュータプログラム
JP2005335213A 2005-11-21 2005-11-21 画像処理装置、画像処理方法およびプログラム Expired - Fee Related JP4682818B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2007142911A JP2007142911A (ja) 2007-06-07
JP4682818B2 true JP4682818B2 (ja) 2011-05-11

Family

ID=38205211

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4682818B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115406414B (zh) * 2022-08-15 2024-03-29 北京空间飞行器总体设计部 一种面向空间站机械臂的动态目标测量在轨光照评估方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001171182A (ja) * 1999-12-22 2001-06-26 Seiko Epson Corp 印刷制御装置、印刷装置、印刷方法、データ変換方法、および記録媒体
JP2003339057A (ja) * 2002-03-15 2003-11-28 Canon Inc 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2004112694A (ja) * 2002-09-20 2004-04-08 Fuji Xerox Co Ltd 色調整方法、色調整装置、色変換定義編集装置、画像処理装置、プログラム、記憶媒体
JP2004222078A (ja) * 2003-01-16 2004-08-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム

Family Cites Families (2)

* 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 カラー画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001171182A (ja) * 1999-12-22 2001-06-26 Seiko Epson Corp 印刷制御装置、印刷装置、印刷方法、データ変換方法、および記録媒体
JP2003339057A (ja) * 2002-03-15 2003-11-28 Canon Inc 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2004112694A (ja) * 2002-09-20 2004-04-08 Fuji Xerox Co Ltd 色調整方法、色調整装置、色変換定義編集装置、画像処理装置、プログラム、記憶媒体
JP2004222078A (ja) * 2003-01-16 2004-08-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびそのプログラム

Also Published As

Publication number Publication date
JP2007142911A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
US7864371B2 (en) Image processing apparatus, image processing method, and computer product
JP4341495B2 (ja) 画像に付与する色調の設定
JP4200365B2 (ja) 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法、印刷制御プログラムおよび画像データ処理装置
US6084689A (en) Method and apparatus for saturation compensation in total ink limited output
US7599096B2 (en) Tint adjustment for monochrome image printing
JP4682814B2 (ja) 画像処理装置、画像処理方法およびプログラム
US7554697B2 (en) Image forming apparatus, image forming method, and image forming program
US7719714B2 (en) Color conversion definition creating method, color conversion definition creating apparatus, and color conversion definition creating program storage medium
WO2005043885A1 (en) Production of color conversion profile for printing
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
JPH06237368A (ja) カラー入力イメージのディジタル表示を変換するシステムおよび方法
JP2004320624A (ja) 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP4561398B2 (ja) 濃淡インクを使用する印刷のためのルックアップテーブルの生成
JP2004320625A (ja) 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP2006074162A (ja) カラー画像とモノクロ画像の画像処理
US7196817B2 (en) Printing of digital images using reduced colorant amounts while preserving perceived color
JP4682818B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2022021185A (ja) 画像処理装置、画像処理方法
JP4215348B2 (ja) 印刷不可能な色値を印刷可能な色値に変換する方法、カラー画像を再生する画像再生システム、及び、この画像再生システムに適した色変換手段を備える制御手段
JP2001111852A (ja) カラー画像処理方法及びカラー画像処理装置、色変換係数生成方法及び色変換係数生成装置、記憶媒体
JP4380503B2 (ja) ルックアップテーブル作成方法および分版方法
JPH07203235A (ja) カラー画像処理装置及び方法
JP4023417B2 (ja) Lutを用いて行う画像処理
JP3959974B2 (ja) 印刷制御装置、画像処理装置
JP2012129912A (ja) 印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081027

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

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