JP2019118088A - 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置 - Google Patents

格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置 Download PDF

Info

Publication number
JP2019118088A
JP2019118088A JP2017252711A JP2017252711A JP2019118088A JP 2019118088 A JP2019118088 A JP 2019118088A JP 2017252711 A JP2017252711 A JP 2017252711A JP 2017252711 A JP2017252711 A JP 2017252711A JP 2019118088 A JP2019118088 A JP 2019118088A
Authority
JP
Japan
Prior art keywords
grid
lattice
points
point
grid point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017252711A
Other languages
English (en)
Inventor
輝 西沢
Teru Nishizawa
輝 西沢
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2017252711A priority Critical patent/JP2019118088A/ja
Publication of JP2019118088A publication Critical patent/JP2019118088A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 色変換テーブルを介した出力画像における色の再現性を向上することができる格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置を提供する。【解決手段】 RGB色空間の色をCMYK色空間の色に変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成方法は、van der Corput列を使用して格子点を生成する格子点生成ステップを備え、格子点生成ステップは、RGB色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成される近距離格子点グループが存在する場合(S128でYES)、近距離格子点グループの格子点を1つの格子点に集約した(S130)後、格子点を追加する(S134)ステップであることを特徴とする。【選択図】 図4

Description

本発明は、色を変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置に関する。
従来、入力されたRGB形式の画像データを色変換テーブルを利用してCMYK形式の画像データに変換した後、このCMYK形式の画像データに基づいて印刷を実行する画像形成装置が知られている(例えば、特許文献1参照。)。
従来の色変換テーブルとしては、図41に示すように、色変換前の格子点の配置が立方格子状であるものが多い。そして、色変換前の格子点の配置が立方格子状である色変換テーブルにおいて、立方格子の1辺当たりの格子点の数は、格子点の情報を記憶するメモリーの容量次第で選択されることが可能であるが、通例、必要とする出力画像の品質の精度や、画像形成装置に掛けられる部品コストなどが考慮され決定される。色変換前の格子点の配置が立方格子状である色変換テーブルに必要な格子点の数は、立方格子の1辺当たりの格子点の数をNとした場合、N^3個となり、Nの増加に伴いNの3乗に比例して増加する。
RGB空間と、CMYK空間とは、色域の形状が異なっており、その上、両者の関係は非線形にあることが多い。そのため、色変換テーブルの格子点間の中間データを線形補間によって算出する場合、格子点の数が多いほど、格子点同士の間隔が小さいので、実際の中間データと、補間によって算出した中間データとの誤差を少なくすることができる。すなわち、色変換テーブルの格子点の数が多いほど、画像形成装置による出力画像の品質の精度が高くなる。
格子点の情報を記憶するメモリーの容量の上限は、画像形成装置に掛けられる部品コストに応じて定まる。そして、色変換テーブルの格子点の数の上限は、格子点の情報を記憶するメモリーの容量の上限に応じて定まる。以下、格子点の情報を記憶するメモリーの容量の上限に応じて定まる格子点の数の上限をSmaxと言う。上述したように、色変換前の格子点の配置が立方格子状である色変換テーブルに必要な格子点の数は、N^3個となるが、これがSmaxと一致することは少ない。そのため、色変換前の格子点の配置が立方格子状である色変換テーブルの1辺当たりの格子点の数Nの上限Nmaxは、次の式のように、Smaxの3乗根を越えない整数に設定される。
Nmax = Floor [ Smax^(1/3) ]
例えば、部品コスト的にSmaxが1200である場合、色変換前の格子点の配置が立方格子状である色変換テーブルのNmaxは、次の式のように、10となる。
Nmax = Floor [ 1200^(1/3) ] = 10
ここで、色変換前の格子点の配置が立方格子状である色変換テーブルの格子点の数の上限は、Nmaxの3乗である。そのため、Nmaxが10である場合、色変換前の格子点の配置が立方格子状である色変換テーブルの格子点の数の上限は、1000となる。
したがって、格子点の情報を記憶するメモリーは、1200 - 1000 = 200 個分の格子点に相当する容量が使用されないことになる。そのため、色変換前の格子点の配置が立方格子状である色変換テーブルを使用する場合は、格子点の情報を記憶するメモリーに最大限の数の格子点の情報を記憶させる場合と比較して、画像形成装置による出力画像の品質の精度が低くなる。
以上に説明したように、色変換前の格子点の配置が立方格子状である場合、画像形成装置の部品コストが制限されている条件下において、画像形成装置による出力画像の品質の精度を十分に確保することができていないことがあるという問題がある。
従来、色変換テーブルにおける色変換前の格子点の群を立方格子状に配置しない格子点群生成方法として、色変換テーブルにおける色変換前の格子点の群をvan der Corput列を使用して生成する格子点群生成方法が知られている(例えば、特許文献2、3参照。)。特許文献2、3に記載された格子点群生成方法によれば、格子点の情報を記憶するメモリーの容量が制限されている条件下において、色変換テーブルにおける格子点の数を増やすことができるので、色変換テーブルを介した出力画像の品質の精度を向上することができる。
特開2015−088968号公報 特開2017−050617号公報 特開2017−050618号公報
しかしながら、特許文献2、3に記載された格子点群生成方法によって生成される色変換テーブルにおいては、色変換前の格子点の中に、色空間において互いに近過ぎる複数の格子点が存在する場合があり、色空間において互いに近過ぎる複数の格子点が存在する場合には、色空間において互いに近過ぎる複数の格子点のうち少なくとも1つが色の再現性の向上に対して殆ど役立っていないという問題がある。
そこで、本発明は、色変換テーブルを介した出力画像における色の再現性を向上することができる格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置を提供することを目的とする。
本発明の格子点群生成方法は、色を変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成方法であって、準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成ステップを備え、前記格子点生成ステップは、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加するステップであることを特徴とする。
この構成により、本発明の格子点群生成方法は、色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成される近距離格子点グループが存在する場合、近距離格子点グループの格子点を1つの格子点に集約した後、格子点を追加するので、色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、本発明の格子点群生成方法は、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の格子点群生成方法において、前記格子点生成ステップは、色空間における前記格子点の配置に応じた順位の規則に基づいて、前記近距離格子点グループの前記格子点のうち、順位が最も高い前記格子点を特定し、特定した前記格子点に基づいた1つの前記格子点に集約するステップであっても良い。
この構成により、本発明の格子点群生成方法は、色空間における格子点の配置に応じた順位の規則に基づいて、近距離格子点グループの格子点のうち、順位が最も高い格子点を特定し、特定した格子点に基づいた1つの格子点に集約するので、色空間における配置の観点で色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、本発明の格子点群生成方法は、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の格子点群生成方法において、前記格子点生成ステップは、色変換の対象の画像に応じて前記規則を変更するステップであっても良い。
この構成により、本発明の格子点群生成方法は、色空間における格子点の配置に応じた順位の規則を色変換の対象の画像に応じて変更するので、色の再現性の向上に対する影響が小さい格子点を適切に減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、本発明の格子点群生成方法は、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の格子点群生成プログラムは、色を変換するための色変換テーブルにおける色変換前の格子点の群を生成するための格子点群生成プログラムであって、準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成手段をコンピューターに実現させ、前記格子点生成手段は、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加することを特徴とする。
この構成により、本発明の格子点群生成プログラムを実行するコンピューターは、色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成される近距離格子点グループが存在する場合、近距離格子点グループの格子点を1つの格子点に集約した後、格子点を追加するので、色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、本発明の格子点群生成プログラムを実行するコンピューターは、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の格子点群生成装置は、色を変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成装置であって、準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成手段を備え、前記格子点生成手段は、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加することを特徴とする。
この構成により、本発明の格子点群生成装置は、色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成される近距離格子点グループが存在する場合、近距離格子点グループの格子点を1つの格子点に集約した後、格子点を追加するので、色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、本発明の格子点群生成装置は、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置は、色変換テーブルを介した出力画像における色の再現性を向上することができる。
本発明の一実施の形態に係る色変換テーブル生成装置のブロック図である。 図1に示す色変換テーブル生成装置によって生成された色変換テーブルを記憶しているMFPのブロック図である。 色変換テーブルを生成する場合の図1に示す色変換テーブル生成装置の動作のフローチャートである。 図3に示す格子点群生成処理のフローチャートである。 図4に示す重要格子点生成処理のフローチャートである。 図5に示すグレー軸上格子点生成処理において格子点が生成されるグレー軸を示す図である。 グレー軸上において等間隔に格子点を生成する場合の図5に示すグレー軸上格子点生成処理のフローチャートである。 van der Corput列の項を座標とする格子点を生成する場合の図5に示すグレー軸上格子点生成処理のフローチャートである。 図5に示す最外殻上格子点生成処理のフローチャートである。 図9に示す角間線分上格子点生成処理のフローチャートである。 図10に示す最大彩度線分上格子点生成処理において格子点が生成される最大彩度の線分を示す図である。 最大彩度の線分上において等間隔に格子点を生成する場合の図10に示す最大彩度線分上格子点生成処理のフローチャートである。 van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示す最大彩度線分上格子点生成処理のフローチャートである。 図10に示すスカイライン上格子点生成処理において格子点が生成されるスカイラインを示す図である。 スカイライン上において等間隔に格子点を生成する場合の図10に示すスカイライン上格子点生成処理のフローチャートである。 van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示すスカイライン上格子点生成処理のフローチャートである。 図10に示すボトムライン上格子点生成処理において格子点が生成されるボトムラインを示す図である。 ボトムライン上において等間隔に格子点を生成する場合の図10に示すボトムライン上格子点生成処理のフローチャートである。 van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示すボトムライン上格子点生成処理のフローチャートである。 最外殻面上において等間隔に格子点を生成する場合の図9に示す最外殻面上格子点生成処理のフローチャートである。 2種類のvan der Corput列同士の同一の順番の項を一部の座標とする格子点を生成する場合の図9に示す最外殻面上格子点生成処理のフローチャートである。 図4に示す色域内部格子点生成処理のフローチャートである。 図4に示す格子点割振処理のフローチャートである。 図4に示す近距離格子点グループ検出処理のフローチャートである。 図4に示す格子点集約処理のフローチャートである。 図4に示す近距離格子点グループ検出時割振処理のフローチャートである。 (a)基底がそれぞれ2、3、5である3種類のvan der Corput列が生成された場合に図1に示す色変換テーブル生成装置によって生成される格子点群の斜視図である。 (b)白の点から黒の点に向かう方向に観察した場合の図27(a)に示す格子点群の斜視図である。 (a)基底がそれぞれ2、3、7である3種類のvan der Corput列が生成された場合に図1に示す色変換テーブル生成装置によって生成される格子点群の斜視図である。 (b)白の点から黒の点に向かう方向に観察した場合の図28(a)に示す格子点群の斜視図である。 白の点から黒の点に向かう方向に観察した場合の、図1に示す色変換テーブル生成装置によって生成される近距離格子点グループの斜視図である。 図2に示すMFPによって実行される色変換工程の一般的な変換ステップのフローチャートである。 図30に示す変換ステップを単段ステップにした場合のフローチャートである。 図30に示す変換ステップの生成に使用される、「入力デバイスの色空間JCH in」を出力する色変換工程を示すフローチャートである。 図30に示す変換ステップの生成に使用される、「出力デバイスの色空間JCH out」を出力する色変換工程を示すフローチャートである。 (a)図27に示す格子点群に対してプロットした四面体群の、図27(a)における視点と同一の視点から観察した場合の斜視図である。 (b)図34(a)に示す四面体群の、図27(b)における視点と同一の視点から観察した場合の斜視図である。 (a)図28に示す格子点群に対してプロットした四面体群の、図28(a)における視点と同一の視点から観察した場合の斜視図である。 (b)図35(a)に示す四面体群の、図28(b)における視点と同一の視点から観察した場合の斜視図である。 印刷を実行する場合の図2に示すMFPの動作のフローチャートである。 図36に示す色変換処理のフローチャートである。 図37に示す対応関係検索処理のフローチャートである。 図38に示す内挿処理のフローチャートである。 図39に示す包含四面体検索処理のフローチャートである。 従来の色変換テーブルを示す図である。
以下、本発明の一実施の形態について、図面を用いて説明する。
まず、本実施の形態に係る色変換テーブル生成装置の構成について説明する。
図1は、本実施の形態に係る色変換テーブル生成装置10のブロック図である。図2は、色変換テーブル生成装置10によって生成された色変換テーブルを記憶しているMFP(Multifunction Peripheral)20のブロック図である。
図1に示すように、色変換テーブル生成装置10は、種々の操作が入力されるマウスやキーボードなどの入力デバイスである操作部11と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、LAN(Local Area Network)、インターネットなどのネットワーク経由で外部の装置と通信を行う通信デバイスである通信部13と、プログラムおよび各種のデータを記憶しているHDD(Hard Disk Drive)などの記憶デバイスである記憶部14と、色変換テーブル生成装置10全体を制御する制御部15とを備えている。色変換テーブル生成装置10は、例えばPC(Personal Computer)などのコンピューターによって構成されている。
記憶部14は、RGB色空間の色をCMYK色空間の色に変換するためのMFP20(図2参照。)用の色変換テーブル14aを記憶することができる。
記憶部14は、色変換テーブル14aにおける色変換前の格子点の群を生成するための格子点群生成プログラム14bを記憶している。格子点群生成プログラム14bは、色変換テーブル生成装置10の製造段階で色変換テーブル生成装置10にインストールされていても良いし、CD(Compact Disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリーなどの外部の記憶媒体から色変換テーブル生成装置10に追加でインストールされても良いし、ネットワーク上から色変換テーブル生成装置10に追加でインストールされても良い。
制御部15は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを予め記憶しているROM(Read Only Memory)と、制御部15のCPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。制御部15のCPUは、制御部15のROMまたは記憶部14に記憶されているプログラムを実行するようになっている。
制御部15は、記憶部14に記憶されている格子点群生成プログラム14bを実行することによって、格子点を生成する格子点生成手段15aを実現する。
次に、図2に示すMFP20の構成について説明する。
図2は、本実施の形態に係るMFP20のブロック図である。
図2に示すように、MFP20は、種々の操作が入力されるボタンなどの入力デバイスである操作部21と、種々の情報を表示するLCDなどの表示デバイスである表示部22と、画像を読み取る読取デバイスであるスキャナー23と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター24と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部25と、LAN、インターネットなどのネットワーク経由で外部の装置と通信を行う通信デバイスである通信部26と、各種のデータを記憶している半導体メモリー、HDDなどの記憶デバイスである記憶部27と、MFP20全体を制御する制御部28とを備えている。
記憶部27は、RGB色空間の色をCMYK色空間の色に変換するための色変換テーブル27aを記憶することができる。
制御部28は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、制御部28のCPUの作業領域として用いられるRAMとを備えている。制御部28のCPUは、制御部28のROMまたは記憶部27に記憶されているプログラムを実行する。
次に、色変換テーブル生成装置10の動作について説明する。
図3は、色変換テーブル14aを生成する場合の色変換テーブル生成装置10の動作のフローチャートである。
図3に示すように、格子点生成手段15aは、色変換テーブル14aにおける色変換前の格子点の群を生成する格子点群生成処理を実行する(S101)。
図4は、図3に示す格子点群生成処理のフローチャートである。
図4に示すように、格子点生成手段15aは、MFP20の記憶部27の容量的に色変換テーブル14a用に割り当て可能な格子点の最大数Smaxを得る(S121)。
次いで、格子点生成手段15aは、RGB色空間の8つの角に対応する格子点と、RGB色空間においてグレー軸上に存在し白および黒のいずれでもない格子点としてのグレー軸上格子点と、RGB色空間において最外殻上に存在し8つの角のいずれでもない格子点としての最外殻上格子点との少なくともいずれかの格子点(以下「重要格子点」という。)を色変換テーブル14aの格子点群の一部として生成する重要格子点生成処理を実行する(S122)。
なお、最外殻上格子点には、RGB色空間において8つの角のいずれか2つの角の間の線分上に存在する格子点としての角間線分上格子点と、RGB色空間において最外殻の面、すなわち、r=0の面、r=1の面、g=0の面、g=1の面、b=0の面、および、b=1の面の上に存在する格子点としての最外殻面上格子点とが存在する。
角間線分上格子点には、最大彩度の線分、すなわち、red−yellowの間の線分、yellow−greenの間の線分、green−cyanの間の線分、cyan−blueの間の線分、blue−magentaの間の線分、および、magenta−redの間の線分の上の格子点が存在する。また、角間線分上格子点には、白(white)および1次色の間の線分、すなわち、white−redの間の線分、white−greenの間の線分、および、white−blueの間の線分の上の格子点と、白および2次色の間の線分、すなわち、white−cyanの間の線分、white−magentaの間の線分、および、white−yellowの間の線分の上の格子点とが存在する。また、角間線分上格子点には、黒(black)および1次色の間の線分、すなわち、black−redの間の線分、black−greenの間の線分、および、black−blueの間の線分の上の格子点と、黒および2次色の間の線分、すなわち、black−cyanの間の線分、black−magentaの間の線分、および、black−yellowの間の線分の上の格子点が存在する。
図5は、図4に示す重要格子点生成処理のフローチャートである。
図5に示すように、格子点生成手段15aは、色変換テーブル14aによる色変換前の色空間としてのRGB色空間の8つの角である赤(red)、緑(green)、青(blue)、シアン(cyan)、マゼンタ(magenta)、イエロー(yellow)、黒(black)および白(white)、すなわち、{r,g,b}がそれぞれ数1に示す値である格子点を、色変換テーブル14aの格子点群の一部として生成する(S141)。
Figure 2019118088
次いで、格子点生成手段15aは、色変換テーブル14aの設計者によって決定された、グレー軸上格子点の必要数を、グレー軸上格子点の数Caとして決定する(S142)。
次いで、格子点生成手段15aは、グレー軸上格子点を色変換テーブル14aの格子点群の一部として生成するグレー軸上格子点生成処理を実行する(S143)。
図6は、図5に示すグレー軸上格子点生成処理において格子点が生成されるグレー軸を示す図である。
図5に示すグレー軸上格子点生成処理においては、図6において太線で示すグレー軸上の格子点、すなわち、グレー軸上格子点が生成される。
グレー軸上格子点の生成方法としては、例えば、グレー軸上において等間隔に、すなわち、線形な位置に格子点を生成する方法、グレー軸上において非線形な位置に格子点を生成する方法、van der Corput列の項を座標とする格子点を生成する方法など、様々な方法が採用されることが可能である。
図7は、グレー軸上において等間隔に格子点を生成する場合の図5に示すグレー軸上格子点生成処理のフローチャートである。
図7に示すように、格子点生成手段15aは、0から1までの範囲を(Ca+1)で等分する数値の列を求め(S161)、S161において求めた列から0および1を除外した列を求める(S162)。
次いで、格子点生成手段15aは、S162において求めた列の同一の項の数値をRGB色空間の各チャンネルに代入することによって、グレー軸上格子点を求める(S163)。
例えば、格子点生成手段15aは、グレー軸上格子点の数Caが3である場合、0から1までの範囲を(Ca+1)、すなわち、4で等分する数値の列として0、1/4、2/4、3/4、1をS161において求め、1/4、2/4、3/4をS162において求める。したがって、格子点生成手段15aは、{r,g,b}がそれぞれ数2に示す値である格子点をS163において求める。
Figure 2019118088
格子点生成手段15aは、S163の処理の後、S163において求めたグレー軸上格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S164)、図7に示すグレー軸上格子点生成処理を終了する。
図8は、van der Corput列の項を座標とする格子点を生成する場合の図5に示すグレー軸上格子点生成処理のフローチャートである。
図8に示すように、格子点生成手段15aは、グレー軸上格子点の数Caと項数が同数であって、基底が2以上の正の整数であるvan der Corput列を生成する(S181)。なお、van der Corput列は、各項の数が0より大きく1より小さくなる数列である。
次いで、格子点生成手段15aは、S181において生成されたvan der Corput列の同一の項の数値をRGB色空間の各チャンネルに代入することによって、グレー軸上格子点を求める(S182)。
例えば、グレー軸上格子点の数Caが16である場合、基底が2のとき、S181において生成されるvan der Corput列は、数3に示すようになり、S182において求められるグレー軸上格子点は、数4に示すようになる。また、グレー軸上格子点の数Caが16である場合、基底が3のとき、S181において生成されるvan der Corput列は、数5に示すようになり、S182において求められるグレー軸上格子点は、数6に示すようになる。
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
格子点生成手段15aは、S182の処理の後、S182において求めたグレー軸上格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S183)、図8に示すグレー軸上格子点生成処理を終了する。
図5に示すように、格子点生成手段15aは、S143のグレー軸上格子点生成処理が終了すると、最外殻上格子点を色変換テーブル14aの格子点群の一部として生成する最外殻上格子点生成処理を実行する(S144)。
図9は、図5に示す最外殻上格子点生成処理のフローチャートである。
図9に示すように、格子点生成手段15aは、最外殻上格子点のうち角間線分上格子点を色変換テーブル14aの格子点群の一部として生成する角間線分上格子点生成処理を実行する(S201)。
図10は、図9に示す角間線分上格子点生成処理のフローチャートである。
図10に示すように、格子点生成手段15aは、色変換テーブル14aの設計者によって決定された、最大彩度の線分上の格子点の必要数を、最大彩度の線分上の格子点の数Cbとして決定する(S221)。
次いで、格子点生成手段15aは、角間線分上格子点のうち、最大彩度の線分上の格子点を色変換テーブル14aの格子点群の一部として生成する最大彩度線分上格子点生成処理を実行する(S222)。
図11は、図10に示す最大彩度線分上格子点生成処理において格子点が生成される最大彩度の線分を示す図である。
図10に示す最大彩度線分上格子点生成処理においては、図11において太線で示す最大彩度の線分上の格子点が生成される。
最大彩度の線分上の格子点の生成方法としては、例えば、最大彩度の線分上において等間隔に、すなわち、線形な位置に格子点を生成する方法、最大彩度の線分上において非線形な位置に格子点を生成する方法、van der Corput列の項を一部の座標とする格子点を生成する方法など、様々な方法が採用されることが可能である。
図12は、最大彩度の線分上において等間隔に格子点を生成する場合の図10に示す最大彩度線分上格子点生成処理のフローチャートである。
図12に示すように、格子点生成手段15aは、0から1までの範囲を(Cb/6+1)で等分する数値の列を求め(S241)、S241において求めた列から0および1を除外した列を求める(S242)。
次いで、格子点生成手段15aは、S242において求めた列を使用して、最大彩度の各線分上において等間隔に配置される格子点を求める(S243)。
例えば、格子点生成手段15aは、数Cbが18である場合、0から1までの範囲を(Cb/6+1)、すなわち、4で等分する数値の列として0、1/4、2/4、3/4、1をS241において求め、1/4、2/4、3/4をS242において求める。そして、格子点生成手段15aは、red:{1,0,0}と、yellow:{1,1,0}とを結ぶred−yellowの間の線分上において等間隔に配置される格子点として、{r,g,b}がそれぞれ数7に示す値である格子点をS243において求める。格子点生成手段15aは、yellow−greenの間の線分、green−cyanの間の線分、cyan−blueの間の線分、blue−magentaの間の線分、および、magenta−redの間の線分の上の格子点についても、red−yellowの間の線分上の格子点と同様にS243において求める。
Figure 2019118088
格子点生成手段15aは、S243の処理の後、S243において求めた、最大彩度の線分上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S244)、図12に示す最大彩度線分上格子点生成処理を終了する。
図13は、van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示す最大彩度線分上格子点生成処理のフローチャートである。
図13に示すように、格子点生成手段15aは、最大彩度の線分上の格子点の数Cbを6で割った商と項数が同数であって、基底が2以上の正の整数であるvan der Corput列を生成する(S261)。
次いで、格子点生成手段15aは、S261において生成されたvan der Corput列を使用して、最大彩度の各線分上の格子点を求める(S262)。
例えば、最大彩度の線分上の格子点の数Cbが24である場合、基底が2のとき、S261において生成されるvan der Corput列は、数8に示すようになり、S262において求められる、red−yellowの間の線分上の格子点は、数9に示すようになる。格子点生成手段15aは、yellow−greenの間の線分、green−cyanの間の線分、cyan−blueの間の線分、blue−magentaの間の線分、および、magenta−redの間の線分の上の格子点についても、red−yellowの間の線分上の格子点と同様にS262において求める。
Figure 2019118088
Figure 2019118088
格子点生成手段15aは、S262の処理の後、S262において求めた、最大彩度の線分上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S263)、図13に示す最大彩度線分上格子点生成処理を終了する。
図10に示すように、格子点生成手段15aは、S222の最大彩度線分上格子点生成処理が終了すると、色変換テーブル14aの設計者によって決定された、白と、1次色および2次色との間の線分(以下「スカイライン(skyline)」という。)上の格子点の必要数を、スカイライン上の格子点の数Ccとして決定する(S223)。
次いで、格子点生成手段15aは、角間線分上格子点のうち、スカイライン上の格子点を色変換テーブル14aの格子点群の一部として生成するスカイライン上格子点生成処理を実行する(S224)。
図14は、図10に示すスカイライン上格子点生成処理において格子点が生成されるスカイラインを示す図である。
図10に示すスカイライン上格子点生成処理においては、図14において太線で示すスカイライン上の格子点が生成される。
スカイライン上の格子点の生成方法としては、例えば、スカイライン上において等間隔に、すなわち、線形な位置に格子点を生成する方法、スカイライン上において非線形な位置に格子点を生成する方法、van der Corput列の項を一部の座標とする格子点を生成する方法など、様々な方法が採用されることが可能である。
図15は、スカイライン上において等間隔に格子点を生成する場合の図10に示すスカイライン上格子点生成処理のフローチャートである。
図15に示すように、格子点生成手段15aは、0から1までの範囲を(Cc/6+1)で等分する数値の列を求め(S281)、S281において求めた列から0および1を除外した列を求める(S282)。
次いで、格子点生成手段15aは、S282において求めた列を使用して、各スカイライン上において等間隔に配置される格子点を求める(S283)。
例えば、格子点生成手段15aは、数Ccが12である場合、0から1までの範囲を(Cc/6+1)、すなわち、3で等分する数値の列として0、1/3、2/3、1をS281において求め、1/3、2/3をS282において求める。そして、格子点生成手段15aは、white:{1,1,1}と、red:{1,0,0}とを結ぶwhite−redの間の線分上において等間隔に配置される格子点として、{r,g,b}がそれぞれ数10に示す値である格子点をS283において求める。格子点生成手段15aは、white−greenの間の線分、white−blueの間の線分、white−cyanの間の線分、white−magentaの間の線分、および、white−yellowの間の線分の上の格子点についても、white−redの間の線分上の格子点と同様にS283において求める。
Figure 2019118088
格子点生成手段15aは、S283の処理の後、S283において求めた、スカイライン上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S284)、図15に示すスカイライン上格子点生成処理を終了する。
図16は、van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示すスカイライン上格子点生成処理のフローチャートである。
図16に示すように、格子点生成手段15aは、スカイライン上の格子点の数Ccを6で割った商と項数が同数であって、基底が2以上の正の整数であるvan der Corput列を生成する(S301)。
次いで、格子点生成手段15aは、S301において生成されたvan der Corput列を使用して、各スカイライン上の格子点を求める(S302)。
例えば、スカイライン上の格子点の数Ccが18である場合、基底が2のとき、S301において生成されるvan der Corput列は、数11に示すようになり、S302において求められる、white−redの間の線分上の格子点は、数12に示すようになる。格子点生成手段15aは、white−greenの間の線分、white−blueの間の線分、white−cyanの間の線分、white−magentaの間の線分、および、white−yellowの間の線分の上の格子点についても、white−redの間の線分上の格子点と同様にS302において求める。
Figure 2019118088
Figure 2019118088
格子点生成手段15aは、S302の処理の後、S302において求めた、スカイライン上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S303)、図16に示すスカイライン上格子点生成処理を終了する。
図10に示すように、格子点生成手段15aは、S224のスカイライン上格子点生成処理が終了すると、色変換テーブル14aの設計者によって決定された、黒と、1次色および2次色との間の線分(以下「ボトムライン(bottomline)」という。)上の格子点の必要数を、ボトムライン上の格子点の数Cdとして決定する(S225)。
次いで、格子点生成手段15aは、角間線分上格子点のうち、ボトムライン上の格子点を色変換テーブル14aの格子点群の一部として生成するボトムライン上格子点生成処理を実行する(S226)。
図17は、図10に示すボトムライン上格子点生成処理において格子点が生成されるボトムラインを示す図である。
図10に示すボトムライン上格子点生成処理においては、図17において太線で示すボトムライン上の格子点が生成される。
ボトムライン上の格子点の生成方法としては、例えば、ボトムライン上において等間隔に、すなわち、線形な位置に格子点を生成する方法、ボトムライン上において非線形な位置に格子点を生成する方法、van der Corput列の項を一部の座標とする格子点を生成する方法など、様々な方法が採用されることが可能である。
図18は、ボトムライン上において等間隔に格子点を生成する場合の図10に示すボトムライン上格子点生成処理のフローチャートである。
図18に示すように、格子点生成手段15aは、0から1までの範囲を(Cd/6+1)で等分する数値の列を求め(S321)、S321において求めた列から0および1を除外した列を求める(S322)。
次いで、格子点生成手段15aは、S322において求めた列を使用して、各ボトムライン上において等間隔に配置される格子点を求める(S323)。
例えば、格子点生成手段15aは、数Cdが12である場合、0から1までの範囲を(Cd/6+1)、すなわち、3で等分する数値の列として0、1/3、2/3、1をS321において求め、1/3、2/3をS322において求める。そして、格子点生成手段15aは、black:{0,0,0}と、red:{1,0,0}とを結ぶblack−redの間の線分上において等間隔に配置される格子点として、{r,g,b}がそれぞれ数13に示す値である格子点をS323において求める。格子点生成手段15aは、black−greenの間の線分、black−blueの間の線分、black−cyanの間の線分、black−magentaの間の線分、および、black−yellowの間の線分の上の格子点についても、black−redの間の線分上の格子点と同様にS323において求める。
Figure 2019118088
格子点生成手段15aは、S323の処理の後、S323において求めた、ボトムライン上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S324)、図18に示すボトムライン上格子点生成処理を終了する。
図19は、van der Corput列の項を一部の座標とする格子点を生成する場合の図10に示すボトムライン上格子点生成処理のフローチャートである。
図19に示すように、格子点生成手段15aは、ボトムライン上の格子点の数Cdを6で割った商と項数が同数であって、基底が2以上の正の整数であるvan der Corput列を生成する(S341)。
次いで、格子点生成手段15aは、S341において生成されたvan der Corput列を使用して、各ボトムライン上の格子点を求める(S342)。
例えば、ボトムライン上の格子点の数Cdが18である場合、基底が2のとき、S341において生成されるvan der Corput列は、数11に示すようになり、S342において求められる、black−redの間の線分上の格子点は、数14に示すようになる。格子点生成手段15aは、black−greenの間の線分、black−blueの間の線分、black−cyanの間の線分、black−magentaの間の線分、および、black−yellowの間の線分の上の格子点についても、black−redの間の線分上の格子点と同様にS342において求める。
Figure 2019118088
格子点生成手段15aは、S342の処理の後、S342において求めた、ボトムライン上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S343)、図19に示すボトムライン上格子点生成処理を終了する。
図10に示すように、格子点生成手段15aは、S226のボトムライン上格子点生成処理が終了すると、図10に示す角間線分上格子点生成処理を終了する。
図9に示すように、格子点生成手段15aは、S201の角間線分上格子点生成処理が終了すると、色変換テーブル14aの設計者によって決定された、最外殻面上の格子点の必要数を、最外殻面上の格子点の数Ceとして決定する(S202)。
次いで、格子点生成手段15aは、最外殻上格子点のうち最外殻面上格子点を色変換テーブル14aの格子点群の一部として生成する最外殻面上格子点生成処理を実行する(S203)。
最外殻面上格子点の生成方法としては、例えば、最外殻面上において等間隔に、すなわち、線形な位置に格子点を生成する方法、最外殻面上において非線形な位置に格子点を生成する方法、2種類のvan der Corput列同士の同一の順番の項を一部の座標とする格子点を生成する方法など、様々な方法が採用されることが可能である。
図20は、最外殻面上において等間隔に格子点を生成する場合の図9に示す最外殻面上格子点生成処理のフローチャートである。
図20に示すように、格子点生成手段15aは、0から1までの範囲を((Ce/6)^(1/2)+1)で等分する数値の列を求め(S361)、S361において求めた列から0および1を除外した列を求める(S362)。
次いで、格子点生成手段15aは、S362において求めた列を使用して、各最外殻面上において等間隔に配置される格子点を求める(S363)。
例えば、格子点生成手段15aは、数Ceが54である場合、0から1までの範囲を((Ce/6)^(1/2)+1)、すなわち、4で等分する数値の列として0、1/4、1/2、3/4、1をS361において求め、1/4、1/2、3/4をS362において求める。そして、格子点生成手段15aは、r=0の面上において等間隔に配置される格子点として、{r,g,b}がそれぞれ数15に示す値である格子点をS363において求める。格子点生成手段15aは、r=1の面、g=0の面、g=1の面、b=0の面、および、b=1の面の上の格子点についても、r=0の面上の格子点と同様にS363において求める。
Figure 2019118088
なお、白および1次色の間の線分上の格子点、黒および2次色の間の線分上の格子点については、それぞれ、S224のスカイライン上格子点生成処理、S226のボトムライン上格子点生成処理において生成するので、S363において求める格子点から除外しても良い。
格子点生成手段15aは、S363の処理の後、S363において求めた、最外殻面上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S364)、図20に示す最外殻面上格子点生成処理を終了する。
図21は、2種類のvan der Corput列同士の同一の順番の項を一部の座標とする格子点を生成する場合の図9に示す最外殻面上格子点生成処理のフローチャートである。
図21に示すように、格子点生成手段15aは、最外殻面上の格子点の数Ceを6で割った商の平方根と項数が同数であって、基底が2以上の正の整数であるvan der Corput列を2種類生成する(S381)。
次いで、格子点生成手段15aは、S381において生成された2種類のvan der Corput列を使用して、各最外殻面上の格子点を求める(S382)。
例えば、最外殻面上の格子点の数Ceが150である場合に、基底が2のvan der Corput列と、基底が3のvan der Corput列とを生成するとき、S381において生成される基底が2のvan der Corput列、基底が3のvan der Corput列は、それぞれ、数16、数17に示すようになり、S382において求められる、r=0の面上の格子点は、数18に示すようになる。格子点生成手段15aは、r=1の面、g=0の面、g=1の面、b=0の面、および、b=1の面の上の格子点についても、r=0の面上の格子点と同様にS382において求める。
Figure 2019118088
Figure 2019118088
Figure 2019118088
なお、白および1次色の間の線分上の格子点、黒および2次色の間の線分上の格子点については、それぞれ、S224のスカイライン上格子点生成処理、S226のボトムライン上格子点生成処理において生成するので、S382において求める格子点から除外しても良い。
格子点生成手段15aは、S382の処理の後、S382において求めた、最外殻面上の格子点の群を、色変換テーブル14aの格子点群の一部として生成して(S383)、図21に示す最外殻面上格子点生成処理を終了する。
図21に示す最外殻面上格子点生成処理においては、補色の格子点群を配置する処理が含まれていないが、格子点生成手段15aは、数Ceを6で割った商の平方根の1/2と項数が同数であって、基底が2以上の正の整数であるvan der Corput列をS381において2種類生成することによって、S382において補色の格子点群を加えても良い。
図9に示すように、格子点生成手段15aは、S203の最外殻面上格子点生成処理が終了すると、図9に示す最外殻上格子点生成処理を終了する。
図5に示すように、格子点生成手段15aは、S144の最外殻上格子点生成処理が終了すると、図5に示す重要格子点生成処理を終了する。
図4に示すように、格子点生成手段15aは、S122の重要格子点生成処理が終了すると、RGB色空間の8つの角に対応する格子点と、グレー軸上格子点と、最外殻上格子点とのいずれでもない格子点(以下「色域内部格子点」という。)を色変換テーブル14aの格子点群の一部として生成する色域内部格子点生成処理を実行する(S123)。
図22は、図4に示す色域内部格子点生成処理のフローチャートである。
図22に示すように、格子点生成手段15aは、次の式のように、S121において得たSmaxからS122において生成した重要格子点の数pを引いた数を12で割った商nおよび余りlを算出する(S401)。
n = Floor[(Smax - p) / 12]
l = (Smax - p) - 12n
次いで、格子点生成手段15aは、S401において算出したnと項数が同数であって、基底が2以上の正の整数であるvan der Corput列を3種類生成する(S402)。
格子点生成手段15aは、S402の処理の後、S402において生成された3種類のvan der Corput列をネストし行列変換をして『n行3列』の配列を得ることによって、商nと同数の3次元点群を生成する(S403)。
次いで、格子点生成手段15aは、S403において生成した3次元点群に関し、RGB色空間の各チャンネルを交換して組み合わせた写像点群を、色変換テーブル14aの格子点群の一部として生成する(S404)。
次いで、格子点生成手段15aは、S404において生成した格子点群の補色の格子点群を、色変換テーブル14aの格子点群の一部として生成する(S405)。例えば、格子点生成手段15aは、S404において生成した格子点が{r,g,b}であるとすると、その補色の格子点群として、{1-r,1-g,1-b}を生成する。
なお、S402において格子点生成手段15aによって生成されるvan der Corput列としては、例えば、以下のいずれかのvan der Corput列が採用されることができる。
基底が2の場合のvan der Corput列
Figure 2019118088
基底が3の場合のvan der Corput列
Figure 2019118088
基底が5の場合のvan der Corput列
Figure 2019118088
基底が7の場合のvan der Corput列
Figure 2019118088
基底が9の場合のvan der Corput列
Figure 2019118088
例えば、基底がそれぞれ2、3、5である3種類のvan der Corput列が格子点生成手段15aによってS402において生成された場合、格子点生成手段15aは、S403において数24に示す3次元点群を生成する。ここで、RGB色空間は、R値、G値、B値の3つのチャンネルが存在し、3つのチャンネルの組み合わせ(交換)パターンは、{r,g,b}、{r,b,g}、{g,r,b}、{g,b,r}、{b,r,g}、{b,g,r}という6パターンが存在する。したがって、格子点生成手段15aは、S404において{r,g,b}のパターンを数24に示す3次元点群に対応付ける場合、数24に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。また、格子点生成手段15aは、S404において{r,b,g}のパターンを数24に示す3次元点群に対応付ける場合、数25に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。また、格子点生成手段15aは、S404において{g,r,b}のパターンを数24に示す3次元点群に対応付ける場合、数26に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。また、格子点生成手段15aは、S404において{g,b,r}のパターンを数24に示す3次元点群に対応付ける場合、数27に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。また、格子点生成手段15aは、S404において{b,r,g}のパターンを数24に示す3次元点群に対応付ける場合、数28に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。また、格子点生成手段15aは、S404において{b,g,r}のパターンを数24に示す3次元点群に対応付ける場合、数29に示す写像点群{r,g,b}を、色変換テーブル14aの格子点群の一部として生成する。すなわち、格子点生成手段15aは、格子点生成手段15aによってS402において生成された3種類のvan der Corput列のそれぞれをR値、G値およびB値からなる3つのチャンネルのそれぞれに対応付けた6パターンのそれぞれにおいて、3種類のvan der Corput列同士の同一の順番の項を座標とする格子点を生成する。
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
ここで、van der Corput列を多次元に素数で展開したものをHalton列と言う。したがって、基底がそれぞれ素数である3種類のvan der Corput列に基づいてS403において生成された3次元点群など、基底がそれぞれ素数である3種類のvan der Corput列に基づいてS403において生成された3次元点群は、Halton列である。Halton列は、乱数性が高く、格子点の配置の均一性を向上することができるので、好ましい。しかしながら、乱数性が落ちて格子点の配置に結晶構造性が現れたとしても、格子点生成手段15aは、S404の処理において格子点の座標のチャンネル情報を交換することによって、基本6色相の各色相面に対して対称になるように格子点群を配置し、更に、S404の処理において配置した格子点群の補色の格子点群もS405の処理において配置するので、格子点の配置の均一性を確保することができる。そのため、S402において生成される3種類のvan der Corput列は、基底が素数でなくても良い。例えば、S402において生成される3種類のvan der Corput列は、基底がそれぞれ2、3、9であっても良い。
格子点生成手段15aは、S405の処理の後、図22に示す色域内部格子点生成処理を終了する。
図4に示すように、格子点生成手段15aは、S123の色域内部格子点生成処理が終了すると、S121において得たSmaxから重要格子点および色域内部格子点の数を引いた数(以下「余剰数」という。)が0より大きいか否かを判断する(S124)。
格子点生成手段15aは、余剰数が0より大きいとS124において判断すると、余剰の格子点を重要格子点に割り振る格子点割振処理を実行する(S125)。
図23は、図4に示す格子点割振処理のフローチャートである。
図23に示すように、格子点生成手段15aは、グレー軸上格子点を追加するか否かを判断する(S421)。例えば、格子点生成手段15aは、グレー軸上格子点の数Caが色変換テーブル14aの設計者によって決定された上限値未満である場合に、グレー軸上格子点を追加すると判断し、グレー軸上格子点の数Caが色変換テーブル14aの設計者によって決定された上限値である場合に、グレー軸上格子点を追加しないと判断しても良い。
格子点生成手段15aは、グレー軸上格子点を追加するとS421において判断すると、グレー軸上格子点の追加後の数になるようにグレー軸上格子点の数Caを更新する(S422)。ここで、グレー軸上格子点の数Caは、色変換テーブル14aの設計者によって決定された上限値以下の範囲で更新される。
次いで、格子点生成手段15aは、S143と同様にグレー軸上格子点生成処理を実行し(S423)、余剰数が0より大きいか否かを判断する(S424)。
格子点生成手段15aは、グレー軸上格子点を追加しないとS421において判断するか、余剰数が0より大きいとS424において判断すると、最大彩度の線分上の格子点を追加するか否かを判断する(S425)。例えば、格子点生成手段15aは、最大彩度の線分上の格子点の数Cbが色変換テーブル14aの設計者によって決定された上限値未満である場合に、最大彩度の線分上の格子点を追加すると判断し、最大彩度の線分上の格子点の数Cbが色変換テーブル14aの設計者によって決定された上限値である場合に、最大彩度の線分上の格子点を追加しないと判断しても良い。
格子点生成手段15aは、最大彩度の線分上の格子点を追加するとS425において判断すると、最大彩度の線分上の格子点の追加後の数になるように最大彩度の線分上の格子点の数Cbを更新する(S426)。ここで、最大彩度の線分上の格子点の数Cbは、色変換テーブル14aの設計者によって決定された上限値以下の範囲で更新される。
次いで、格子点生成手段15aは、S222と同様に最大彩度線分上格子点生成処理を実行し(S427)、余剰数が0より大きいか否かを判断する(S428)。
格子点生成手段15aは、最大彩度の線分上の格子点を追加しないとS425において判断するか、余剰数が0より大きいとS428において判断すると、スカイライン上の格子点を追加するか否かを判断する(S429)。例えば、格子点生成手段15aは、スカイライン上の格子点の数Ccが色変換テーブル14aの設計者によって決定された上限値未満である場合に、スカイライン上の格子点を追加すると判断し、スカイライン上の格子点の数Ccが色変換テーブル14aの設計者によって決定された上限値である場合に、スカイライン上の格子点を追加しないと判断しても良い。
格子点生成手段15aは、スカイライン上の格子点を追加するとS429において判断すると、スカイライン上の格子点の追加後の数になるようにスカイライン上の格子点の数Ccを更新する(S430)。ここで、スカイライン上の格子点の数Ccは、色変換テーブル14aの設計者によって決定された上限値以下の範囲で更新される。
次いで、格子点生成手段15aは、S224と同様にスカイライン上格子点生成処理を実行し(S431)、余剰数が0より大きいか否かを判断する(S432)。
格子点生成手段15aは、スカイライン上の格子点を追加しないとS429において判断するか、余剰数が0より大きいとS432において判断すると、ボトムライン上の格子点を追加するか否かを判断する(S433)。例えば、格子点生成手段15aは、ボトムライン上の格子点の数Cdが色変換テーブル14aの設計者によって決定された上限値未満である場合に、ボトムライン上の格子点を追加すると判断し、ボトムライン上の格子点の数Cdが色変換テーブル14aの設計者によって決定された上限値である場合に、ボトムライン上の格子点を追加しないと判断しても良い。
格子点生成手段15aは、ボトムライン上の格子点を追加するとS433において判断すると、ボトムライン上の格子点の追加後の数になるようにボトムライン上の格子点の数Cdを更新する(S434)。ここで、ボトムライン上の格子点の数Cdは、色変換テーブル14aの設計者によって決定された上限値以下の範囲で更新される。
次いで、格子点生成手段15aは、S226と同様にボトムライン上格子点生成処理を実行し(S435)、余剰数が0より大きいか否かを判断する(S436)。
格子点生成手段15aは、ボトムライン上の格子点を追加しないとS433において判断するか、余剰数が0より大きいとS436において判断すると、最外殻面上の格子点を追加するか否かを判断する(S437)。例えば、格子点生成手段15aは、最外殻面上の格子点の数Ceが色変換テーブル14aの設計者によって決定された上限値未満である場合に、最外殻面上の格子点を追加すると判断し、最外殻面上の格子点の数Ceが色変換テーブル14aの設計者によって決定された上限値である場合に、最外殻面上の格子点を追加しないと判断しても良い。
格子点生成手段15aは、最外殻面上の格子点を追加するとS437において判断すると、最外殻面上の格子点の追加後の数になるように最外殻面上の格子点の数Ceを更新する(S438)。ここで、最外殻面上の格子点の数Ceは、色変換テーブル14aの設計者によって決定された上限値以下の範囲で更新される。
次いで、格子点生成手段15aは、S203と同様に最外殻面上格子点生成処理を実行する(S439)。
格子点生成手段15aは、余剰数が0であるとS424、S428、S432またはS436において判断するか、最外殻面上の格子点を追加しないとS437において判断するか、S439の処理が終了すると、図23に示す格子点割振処理を終了する。
図4に示すように、格子点生成手段15aは、余剰数が0であるとS124において判断するか、S125の格子点割振処理が終了すると、格子点の集約の回数Nを0に設定する(S126)。
次いで、格子点生成手段15aは、RGB色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成されるグループ(以下「近距離格子点グループ」という。)を検出するための近距離格子点グループ検出処理を実行する(S127)。
図24は、図4に示す近距離格子点グループ検出処理のフローチャートである。
図24に示すように、格子点生成手段15aは、今回の近距離格子点グループ検出処理より前に生成された格子点のうち、今回の近距離格子点グループ検出処理において未だ対象にしていない1つの格子点のみを対象にする(S451)。
次いで、格子点生成手段15aは、現在の対象の格子点とのRGB色空間におけるユークリッド距離が特定の距離以下である格子点が存在するか否かを判断する(S452)。
格子点生成手段15aは、現在の対象の格子点とのRGB色空間における距離が特定の距離以下である格子点が存在するとS452において判断すると、現在の対象の格子点とのRGB色空間における距離が特定の距離以下である格子点と、現在の対象の格子点との組み合わせを特定する(S453)。
格子点生成手段15aは、現在の対象の格子点とのRGB色空間における距離が特定の距離以下である格子点が存在しないとS452において判断するか、S453の処理が終了すると、今回の近距離格子点グループ検出処理より前に生成された格子点のうち、今回の近距離格子点グループ検出処理において未だ対象にしていない格子点が存在するか否かを判断する(S454)。
格子点生成手段15aは、今回の近距離格子点グループ検出処理より前に生成された格子点のうち、今回の近距離格子点グループ検出処理において未だ対象にしていない格子点が存在するとS454において判断すると、S451の処理を実行する。
格子点生成手段15aは、今回の近距離格子点グループ検出処理より前に生成された格子点のうち、今回の近距離格子点グループ検出処理において未だ対象にしていない格子点が存在しないとS454において判断すると、S453において格子点の組み合わせを特定したか否かを判断する(S455)。
格子点生成手段15aは、S453において格子点の組み合わせを特定したとS455において判断すると、S453において特定した組み合わせに基づいて、近距離格子点グループを検出する(S456)。
格子点生成手段15aは、S453において格子点の組み合わせを特定していないとS455において判断するか、S456の処理が終了すると、図24に示す近距離格子点グループ検出処理を終了する。
図4に示すように、格子点生成手段15aは、S127の近距離格子点グループ検出処理が終了すると、S127の近距離格子点グループ検出処理において近距離格子点グループを検出したか否かを判断する(S128)。
格子点生成手段15aは、S127の近距離格子点グループ検出処理において近距離格子点グループを検出したとS128において判断すると、S127の近距離格子点グループ検出処理において検出した近距離格子点グループのうち、未だ対象にしていない1つの近距離格子点グループのみを対象にする(S129)。
次いで、格子点生成手段15aは、現在の対象の近距離格子点グループに対して、近距離格子点グループの格子点を1つの格子点に集約する格子点集約処理を実行する(S130)。
図25は、図4に示す格子点集約処理のフローチャートである。
図25に示すように、格子点生成手段15aは、RGB色空間における格子点の配置に応じた順位の規則に基づいて、対象の近距離格子点グループの格子点のうち、順位が最も高い格子点を特定する(S471)。なお、格子点生成手段15aは、格子点を生成する場合に、RGB色空間における配置の属性を格子点に付与しても良い。
順位の規則としては、例えば、「RGB色空間の8つの角に対応する格子点」、「グレー軸上格子点」、「角間線分上格子点」、「最外殻面上格子点」、「色域内部格子点」の順に順位が高い規則が考えられる。すなわち、「RGB色空間の8つの角に対応する格子点」が最も順位が高い格子点である。なお、「RGB色空間の8つの角に対応する格子点」、「グレー軸上格子点」、「角間線分上格子点」、「最外殻面上格子点」および「色域内部格子点」の少なくとも1つは、別々の順位が付与された更に細かい区分に分類されても良い。例えば、「角間線分上格子点」は、「最大彩度の線分上の格子点」、「スカイライン上の格子点」および「ボトムライン上の格子点」に分類され、「最大彩度の線分上の格子点」、「スカイライン上の格子点」および「ボトムライン上の格子点」のそれぞれに別々の順位が付与されても良い。
なお、格子点生成手段15aは、色変換の対象の画像に応じて順位の規則を変更しても良い。例えば、格子点生成手段15aは、色変換の対象の画像が自然画像、すなわち、色値分布的に高彩度の色が少なく低彩度の色が多い画像である場合、例えば、「グレー軸上格子点」、「色域内部格子点」、「RGB色空間の8つの角に対応する格子点」、「角間線分上格子点」、「最外殻面上格子点」の順に順位が高い規則を採用しても良い。
格子点生成手段15aは、S471の処理の後、S471において複数の格子点を特定したか否かを判断する(S472)。
格子点生成手段15aは、S471において複数の格子点を特定したとS472において判断すると、S471において特定した複数の格子点に基づいて1点の格子点を特定する(S473)。例えば、格子点生成手段15aは、S471において特定した複数の格子点のいずれか1点をS473において特定しても良いし、S471において特定した全ての格子点を平均した新たな格子点をS473において特定しても良い。格子点生成手段15aは、S471において特定した複数の格子点のいずれか1点をS473において特定する場合、例えば、S471において特定した複数の格子点がvan der Corput列などの数列を用いて生成されているときに、数列の順位が最も若い格子点を特定しても良いし、ランダムに選択された1つを特定しても良い。
次いで、格子点生成手段15aは、対象の近距離格子点グループの格子点のうち、S473において特定した格子点以外の格子点を削除して(S474)、図25に示す格子点集約処理を終了する。
格子点生成手段15aは、S471において複数の格子点を特定しなかったとS472において判断すると、対象の近距離格子点グループの格子点のうち、S471において特定した格子点以外の格子点を削除して(S474)、図25に示す格子点集約処理を終了する。
図4に示すように、格子点生成手段15aは、S130の格子点集約処理が終了すると、S127の近距離格子点グループ検出処理において検出した近距離格子点グループのうち、未だ対象にしていない近距離格子点グループが存在するか否かを判断する(S131)。
格子点生成手段15aは、S127の近距離格子点グループ検出処理において検出した近距離格子点グループのうち、未だ対象にしていない近距離格子点グループが存在するとS131において判断すると、S129の処理を実行する。
格子点生成手段15aは、S127の近距離格子点グループ検出処理において検出した近距離格子点グループのうち、未だ対象にしていない近距離格子点グループが存在していないとS131において判断すると、格子点の集約の回数Nを1増加させる(S132)。
次いで、格子点生成手段15aは、格子点の集約の回数Nが特定の上限値になったか否かを判断する(S133)。
格子点生成手段15aは、格子点の集約の回数Nが特定の上限値になっていないとS133において判断すると、余剰の格子点を重要格子点または色域内部格子点に割り振る近距離格子点グループ検出時割振処理を実行する(S134)。
図26は、図4に示す近距離格子点グループ検出時割振処理のフローチャートである。
図26に示すように、格子点生成手段15aは、図23に示す格子点割振処理のS421〜S439と同様なS491〜S509を実行する。
格子点生成手段15aは、最外殻面上の格子点を追加しないとS507において判断するか、S509の処理が終了すると、余剰数が0より大きいか否かを判断する(S510)。
格子点生成手段15aは、余剰数が0より大きいとS510において判断すると、S123と同様に色域内部格子点生成処理を実行する(S511)。
格子点生成手段15aは、余剰数が0であるとS510において判断するか、S511の処理が終了すると、図26に示す近距離格子点グループ検出時割振処理を終了する。
図4に示すように、格子点生成手段15aは、S134の近距離格子点グループ検出時割振処理が終了すると、S127の近距離格子点グループ検出処理を実行する。なお、この近距離格子点グループ検出処理においては、直前の近距離格子点グループ検出時割振処理において新たに生成した格子点のみをS451およびS454において対象にすれば良い。
格子点生成手段15aは、S127の近距離格子点グループ検出処理において近距離格子点グループを検出しなかったとS128において判断するか、格子点の集約の回数Nが特定の上限値になったとS133において判断すると、図4に示す格子点群生成処理を終了する。
なお、基底がそれぞれ2、3、5である3種類のvan der Corput列が格子点生成手段15aによってS402において生成された場合、S101の格子点群生成処理において格子点生成手段15aによって生成される格子点群は、例えば図27に示す格子点群になる。同様に、基底がそれぞれ2、3、7である3種類のvan der Corput列が格子点生成手段15aによってS402において生成された場合、S101の格子点群生成処理において格子点生成手段15aによって生成される格子点群は、例えば図28に示す格子点群になる。
図27(a)は、基底がそれぞれ2、3、5である3種類のvan der Corput列が生成された場合に生成される格子点群31の斜視図である。図27(b)は、白(white){1,1,1}の点から黒(black){0,0,0}の点に向かう方向に観察した場合の図27(a)に示す格子点群31の斜視図である。
図28(a)は、基底がそれぞれ2、3、7である3種類のvan der Corput列が生成された場合に生成される格子点群31の斜視図である。図28(b)は、白(white){1,1,1}の点から黒(black){0,0,0}の点に向かう方向に観察した場合の図28(a)に示す格子点群31の斜視図である。
S404の処理において格子点の座標のチャンネル情報を交換したことによって、格子点群31は、図27(b)または図28(b)に示すように、赤(red)、緑(green)、青(blue)、シアン(cyan)、マゼンタ(magenta)、イエロー(yellow)からなる基本6色相の各色相面に対して対称に形成される。
なお、基底がそれぞれ2、3、5である3種類のvan der Corput列が格子点生成手段15aによってS402において生成されて300点の格子点が図22に示す色域内部格子点生成処理において生成された場合、RGBを{0,1}で正規化したRGB色空間での距離換算にて、S452における特定の距離が0.0125であるとき、図24に示す近距離格子点グループ検出処理において検出される近距離格子点グループは、図29に示すように、数30に示す6グループのみである。図29は、白(white){1,1,1}の点から黒(black){0,0,0}の点に向かう方向に観察した場合の近距離格子点グループの斜視図である。
Figure 2019118088
図29に示す近距離格子点グループの格子点は、いずれも「色域内部格子点」である。したがって、格子点生成手段15aは、図25に示す格子点集約処理において、図29に示す近距離格子点グループのそれぞれに対して、2つの格子点のいずれかを残しても良いが、2つの格子点が基本6色相の各色相面に対して対称に配置されているので、2つの格子点を平均した新たな格子点を残すことが好ましい。
図3に示すように、制御部15は、S101の格子点群生成処理が終了すると、格子点群生成処理によって生成された格子点群の各格子点が対応する出力値(CMYK値)を算出する(S102)。
格子点群生成処理によって生成された格子点群の各格子点が対応する出力値(CMYK値)は、『事前に測定された色値と測色値の関係を記録したLUT(Lookup Table)』からの逆算、ないし、『事前に作成される細かなメッシュで構成された色変換LUT』から算出される。
まず、格子点群生成処理によって生成された格子点群の各格子点が対応する出力値(CMYK値)を、『事前に測定された色値と測色値の関係を記録したLUT』からの逆算によって求める方法について説明する。
『事前に測定された色値と測色値の関係を記録したLUT』は、様々な色値のCMYK値を設定したカラーパッチ(所定間隔でも良いしランダムでも良いが、大抵はBkで層別できる形でCMYK値を所定の離散間隔で設定したカラーパッチ)をMFP20によって印刷した後、印刷したカラーパッチの色を計測してXYZ値に変換して得られるLUTである(CMYK to XYZ変換)。『事前に測定された色値と測色値の関係を記録したLUT』は、色変換テーブル14aの開発に使用されるLUTであり、MFP20に搭載されるLUTではない。そのため、『事前に測定された色値と測色値の関係を記録したLUT』は、色変換テーブル14aと異なり、自身が記憶されるメモリーの容量に制限が特に無いので、非常に多数のCMYK値に対して、XYZ値との対応関係を含んでいる。
『事前に測定された色値と測色値の関係を記録したLUT』を逆算したLUTは、XYZ値からCMYK値に変換するLUTである(XYZ to CMYK変換)。
ここで、格子点群生成処理によって生成された格子点群の各格子点(RGB値)が対応するXYZ値は、LUTによって認識することが可能である(RGB to XYZ変換)。したがって、『事前に測定された色値と測色値の関係を記録したLUT』を逆算したLUT(XYZ to CMYK変換)と組み合わせることによって、格子点群生成処理によって生成された格子点群の各格子点が対応する出力値(CMYK値)を求めることができる(RGB to CMYK変換)。
次に、格子点群生成処理によって生成された格子点群の各格子点が対応する出力値(CMYK値)を、『事前に作成される細かなメッシュで構成された色変換LUT』によって求める方法について説明する。
『事前に作成される細かなメッシュで構成された色変換LUT』は、MFP20における入力値(RGB値)に対応する出力値(CMYK値)を示すLUTである(RGB to CMYK変換)。『事前に作成される細かなメッシュで構成された色変換LUT』は、色変換テーブル14aの開発に使用されるLUTであり、MFP20に搭載されるLUTではない。そのため、『事前に作成される細かなメッシュで構成された色変換LUT』は、色変換テーブル14aと異なり、自身が記憶されるメモリーの容量に制限が特に無いので、非常に多数のRGB値に対して、CMYK値との対応関係を含んでいる。
『事前に作成される細かなメッシュで構成された色変換LUT』は、図30に示すような複数多段のLUT処理を行うか、これらの中間工程の一部ないし全部をまとめた図31に示すようなLUT処理を行う。
ここで、図30に示すLUT処理について説明する。
図30は、色変換工程の一般的な変換ステップのフローチャートである。
図30に示す色変換工程において、入力される色の色空間は、MFPなどのオフィス機の用途において、稀にCMYK形式であることもあるが、基本的にはRGB形式である。
S601は、F−DM(フォーワード・デバイスモデル)変換工程であり、RGB形式データをCIE−XYZ空間へ変換する工程である。例えば、RGB形式としてsRGB空間が想定されているのであれば、その定義に従って変換すれば良い。
(sRGB to XYZ変換)
S602は、F−CAM(カラーアピアレンスモデル)変換工程であり、例えば、CIE−XYZ空間からCIE−CAM02空間へ変換する工程である。(環境条件を得て)CIE−CAM02の定義に従って変換する。
(XYZ to JCH変換)
S603は、GMA(ガマットマッピングアルゴリズム)変換工程である。既に多くの企業ないし研究者から様々な方法が提案されており、その中から、目的や条件、あるいは好み、出力デバイスの特性などから適したものを選択して適用すれば良い。
(JCH to J’C’H’変換)
S604は、墨量生成工程であり、S603におけるGMA変換後のJCH値に則して墨量が定義されており、演算により決定される。これも既に多くの企業ないし研究者から様々な先例が提案されているので、その中から、目的や条件、あるいは好み、出力デバイスの特性などから適したものを選択して適用すれば良い。
(J’C’H’ to (J’C’H’+K)変換)
S605は、B(バックワード)−CAM変換工程であり、出力あるいは観察環境に応じてパラメーターを設定して変換する。カラーアピアレンス・モデルの定義式に従って変換すれば良い。
((J’C’H’+K) to (XYZ+K)変換)
なお、S604と、S605とは、順番が前後することがあり、そうした変換タイプもある。本発明は、S604と、S605との順番が前後する影響を殆ど受けないので、S604と、S605との順番は何れでも構わない。
S606は、B−DM(バックワード・デバイスモデル)変換工程であり、デバイス非依存値(XYZ)を出力デバイス値へ戻す。
((XYZ+K) to (CMY+K)変換)
S606は、予めCMYKの各チャンネルを例えばm分割することによってm×m×m×m分割したパッチを計測し、K層別した状態のK−CMY to XYZ変換データを得て、これをK層別の状態にて逆算してBK層別 K−XYZ to K−CMY LUTを生成しておけば良い。
図30に示す色変換工程において、出力される色の色空間は、CMYK形式である。
図30には、多段ステップで各工程の変換を行う様子を模式的に示している。しかしながら、図30に示すS601〜S606の各工程の一部を合成あるいは分離することもあるし、S601〜S606の全工程を合成することによって図31に示すように単段ステップ(S621)によって一気にRGB形式からCMYK形式へ変換するLUTとしても良い。
図30に示す色変換工程の生成方法について説明する。
図32に示す色変換工程は、図30に示す色変換工程のS601〜S602と同じ工程によって、「入力デバイスの色空間JCH in」を出力する。
図33に示す色変換工程は、様々な色値のCMYK値を設定したカラーパッチ(所定間隔でも良いしランダムでも良いが、大抵はBkで層別できる形でCMYK値を所定の離散間隔で設定したカラーパッチ)をMFP20によって印刷した後、印刷したカラーパッチの色を計測してXYZ値に変換し(S641)、このXYZ値を環境条件に合わせたカラーアピアランスモデルにて明度・彩度・色相の情報に変換して(S642)、「出力デバイスの色空間JCH out」を出力する。
そして、図32に示す色変換工程を経て得られる「入力デバイスの色空間JCH in」と、図33に示す色変換工程を経て得られる「出力デバイスの色空間JCH out」とを突き合わせて、その対応点を設定しその変換工程を行うLUT(図30のS603)と、その対応点を再現する際のBk値を設定するLUT(図30のS604)とを求める。
一般に、「入力デバイスの色空間JCH in」と、「出力デバイスの色空間JCH out」とは、その大きさや形が異なる。そのため、入力デバイスの色空間内の各点を如何にして出力デバイスの色空間内の点に対応付けるかという点に対しては、過去に多くの方法(GMA:ガマット・マッピング・アルゴリズム)が提案されている。したがって、入力デバイスの色空間内の各点を出力デバイスの色空間内の点に対応付ける場合には、過去に提案されている多くの方法の中から、目的や用途あるいは条件に合わせて適正なものを選択して採用すれば良い(図30のS603)。
墨量生成に関しても、過去、さまざまな方法が提案されているので、目的や用途、あるいは条件に合わせてその中から適正なものを選択して採用すれば良い(図30のS604)。
図32に示す色変換工程(S601およびS602)と、上述のようにして求めたS603およびS604と、図33に示す色変換工程の逆算(逆検索)による逆変換LUT(S605およびS606)とを、入力から出力まで通して図にすれば、図30に示すようになる。
図3に示すように、制御部15は、S102の処理が終了すると、色変換テーブル14aによる色変換前の色域の全体を四面体群に分割する(S103)。
S103において、四面体群の四面体は、格子点群の格子点のうち、隣接する4つの格子点で形成される。特に、選択された4つの格子点の外接球を考えた場合に、その外接球の内部に他の格子点が入らないように、四面体の組を生成して四面体群が形成されると良い。例えば、S103において生成される四面体群は、3次元ドロネー網により構成される四面体群である。ここで、3次元ドロネー網の生成は、既知の生成法の中から適当な方法を利用すれば良い。すなわち、2次元面上でドロネー図を描くのと同様の考え方で、それを3次元空間に展開して四面体群を得れば良い。
例えば、図27に示す格子点群31に対して四面体群をプロットすると、図34に示すようになる。図34(a)、(b)は、それぞれ、図27(a)、(b)における視点と同一の視点から観察した場合の四面体群41の斜視図である。
また、図28に示す格子点群32に対して四面体群をプロットすると、図35に示すようになる。図35(a)、(b)は、それぞれ、図28(a)、(b)における視点と同一の視点から観察した場合の四面体群42の斜視図である。
図3に示すように、制御部15は、S103の処理が終了すると、S101の格子点群生成処理において生成した格子点群と、S102において算出した出力値と、S103において分割した四面体群とを含めた色変換テーブル14aを生成して(S104)、図3に示す動作を終了する。
図3に示す動作において生成された色変換テーブル14aは、例えばネットワークを介した通信など、何らかの方法によって色変換テーブル生成装置10から読み出されてMFP20に色変換テーブル27aとして記憶される。
なお、以上においては、色変換テーブル14aに四面体群が含まれているが、色変換テーブル14aに四面体群を含めなくても良い。色変換テーブル14aに四面体群を含めない場合、色変換テーブル14aに含まれる格子点群に基づいてMFP20がS103と同様の処理によって四面体群を生成しても良い。
次に、MFP20の動作について説明する。
図36は、印刷を実行する場合のMFP20の動作のフローチャートである。
図36に示すように、MFP20の制御部28は、RGB形式の入力画像を、出力デバイスとしてのプリンター24が対応しているCMYK形式の出力画像に変換する色変換処理を実行する(S701)。
図37は、S701における色変換処理のフローチャートである。
図37に示すように、制御部28は、RGB形式の入力画像を形成する色値(RGB値)のうち、未だ対象としていないRGB値を対象にする(S721)。
次いで、制御部28は、S721において対象にしたRGB値と、CMYK値との対応関係を検索する対応関係検索処理を実行する。(S722)。
図38は、S722における対応関係検索処理のフローチャートである。
図38に示すように、制御部28は、対象のRGB値が色変換テーブル27aにおける色変換前の格子点であるか否かを判断する(S741)。
制御部28は、対象のRGB値が色変換テーブル27aにおける色変換前の格子点であるとS741において判断すると、色変換テーブル27aにおける色変換前の格子点のうち、対象のRGB値に対応する格子点に対応付けられた変換値(CMYK値)を、対象のRGB値に対応するCMYK値として特定して(S742)、図38に示す対応関係検索処理を終了する。
制御部28は、対象のRGB値が色変換テーブル27aにおける色変換前の格子点ではない、すなわち、格子点間の点であるとS741において判断すると、対象のRGB値に対応する変換値(CMYK値)を換算する内挿処理を実行する(S743)。
図39は、S743における内挿処理のフローチャートである。
図39に示すように、制御部28は、色変換テーブル27aに含まれる四面体群の中から、対象のRGB値を包含する四面体を検索する包含四面体検索処理を実行する(S801)。
図40は、S801における包含四面体検索処理のフローチャートである。
図40に示すように、制御部28は、色変換テーブル27aに含まれる四面体群のうち、未だ対象にしていない四面体を対象にする(S821)。
次いで、制御部28は、対象の四面体を構成する4点(以下「点A、点B、点C、点D」とする。)のうち、任意の2点(以下、点Aおよび点Bとする。)を選択する(S822)。
次いで、制御部28は、S822において選択した2点(点Aおよび点B)によって形成される線分を底辺とし、対象のRGB値の点(以下、点Xとする。)、対象の四面体を構成する4点のうちS822において選択した2点以外の1点(以下、点Cとする。)、対象の四面体を構成する4点のうちS822において選択した2点以外の残りの1点(以下、点Dとする。)をそれぞれ頂点とする三角形をそれぞれ含む3つの平面の法線ベクトルを算出する(S823)。ここで、三角形を含む平面の法線ベクトルは、この平面を構成する3点(例えば三角形の3つの頂点)のうち、1点を始点して残り2点を終点にした2つのベクトルの外積を計算することによって算出することができる。
次いで、制御部28は、S823において算出した3つの角度のうち、対象のRGB値の点を頂点とした三角形を含む平面の角度が、残りの2つの平面の角度の間にあるか否かを判定する(S824)。
次いで、制御部28は、対象の四面体を構成する4点(点A、点B、点C、点D)のうち、S822において選択しなかった2点(点Cおよび点D)を選択する(S825)。
次いで、制御部28は、S825において選択した2点(点Cおよび点D)によって形成される線分を底辺とし、対象のRGB値の点(点X)、対象の四面体を構成する4点のうちS825において選択した2点以外の1点(以下、点Aとする。)、対象の四面体を構成する4点のうちS825において選択した2点以外の残りの1点(以下、点Bとする。)をそれぞれ頂点とする三角形をそれぞれ含む3つの平面の法線ベクトルを算出する(S826)。
次いで、制御部28は、S826において算出した3つの角度のうち、対象のRGB値の点を頂点とした三角形を含む平面の角度が、残りの2つの平面の角度の間にあるか否かを判定する(S827)。
次いで、制御部28は、S824における判定と、S827における判定との両方の判定において間にあると判定されたか否かを判断する(S828)。
制御部28は、両方の判定の少なくともいずれかにおいて間にないと判定されたとS828において判断すると、S821の処理を実行する。
制御部28は、両方の判定において間にあると判定されたとS828において判断すると、対象のRGB値を包含する四面体として、対象の四面体を特定して(S829)、図40に示す包含四面体検索処理を終了する。
なお、図40に示す包含四面体検索処理は、本実施の形態において、対象のRGB値を包含する四面体を平面同士の角度に基づいて検索する方式を採用している。しかしながら、S801の包含四面体検索処理として、図40に示す方式以外の方式が採用されても良い。例えば、四面体を構成する4つの平面に対して、外積を用いることによって、対象のRGB値の点が各平面の手前側にあるか否かを判定し、全ての平面において手前側にあることを条件にして、対象のRGB値を包含する四面体を特定する方式が採用されても良い。
図39に示すように、制御部28は、S801の包含四面体検索処理の後、S801において検索した四面体を対象のRGB値の点が体積的に分割する比率に基づいて、対象のRGB値に対応する変換値(CMYK値)を算出する(S802)。
例えば、制御部28は、S801において検索した四面体(以下、点E、点F、点Gおよび点Hによって構成されているとする。)を、S801において検索した四面体を構成する4つの三角形の面(△FGH、△EGH、△EFHおよび△EFG)を底面とし、対象のRGB値の点(点X)を頂点とする4つの四面体(三角錐)、すなわち、四面体X‐FGH、X‐EGH、X‐EFHおよびX‐EFGに分割する。四面体X‐FGH、X‐EGH、X‐EFH、X‐EFGの体積をそれぞれVe、Vf、Vg、Vhとし、それらの和、即ち、四面体EFGHの体積をVsとすると、制御部28は、数31によって、対象のRGB値に対応する変換値(CMYK値)を算出することができる。数31において、Xcmykは、対象のRGB値に対応する変換値(CMYK値)である。Ecmyk、Fcmyk、Gcmyk、Hcmyk、は、それぞれ点E、点F、点G、点Hに対応する変換値(CMYK値)である。
Figure 2019118088
なお、Ve、Vf、Vg、Vhは、例えば、それぞれ、数32、数33、数34、数35に示すように求めても良い。また、Vsは、Ve、Vf、VgおよびVhの総和として求めても良いし、例えば、数36に示すように求めても良い。
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
Figure 2019118088
図39に示すように、制御部28は、S802の処理の後、図39に示す内挿処理を終了する。
なお、図39に示す内挿処理は、本実施の形態において四面体補間方式であるが、四面体補間方式以外の方式であっても良い。例えば、内挿処理は、六面体補間方式であっても良いし、三角柱補間方式であっても良い。
図38に示すように、制御部28は、S743の内挿処理の後、図38に示す対応関係検索処理を終了する。
図37に示すように、制御部28は、S722の対応関係検索処理の後、RGB形式の入力画像を形成するRGB値のうち、未だ対象としていないRGB値が存在するか否かを判断する(S723)。
制御部28は、RGB形式の入力画像を形成するRGB値のうち、未だ対象としていないRGB値が存在するとS723において判断すると、S721の処理を実行する。
制御部28は、RGB形式の入力画像を形成するRGB値のうち、未だ対象としていないRGB値が存在しないとS723において判断すると、S722の対応関係検索処理によって検索されたRGB値およびCMYK値の対応関係に基づいて、RGB形式の入力画像をCMYK形式の出力画像に変換して(S724)、図37に示す色変換処理を終了する。
図36に示すように、制御部28は、S701の色変換処理の後、S701において生成したCMYK形式の出力画像に基づいてプリンター24によって記録媒体に印刷を実行して(S702)、図36に示す動作を終了する。
以上に説明したように、色変換テーブル生成装置10は、色空間における互いの距離が特定の距離以下である格子点の組み合わせによって構成される近距離格子点グループが存在する場合(S128でYES)、近距離格子点グループの格子点を1つの格子点に集約した(S130)後、格子点を追加する(S134)ので、色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、色変換テーブル生成装置10は、色変換テーブル14aを介した出力画像における色の再現性を向上することができる。
なお、色変換テーブル生成装置10は、本実施の形態において、RGB色空間における距離に基づいて近距離格子点グループを検出する。しかしながら、色変換テーブル生成装置10は、RGB色空間から変換した、RGB色空間以外の色空間における距離に基づいて近距離格子点グループを検出しても良い。例えば、色変換テーブル生成装置10は、Lab色空間、LCH色空間またはXYZ色空間における距離に基づいて近距離格子点グループを検出しても良い。
色変換テーブル生成装置10は、色空間における格子点の配置に応じた順位の規則に基づいて、近距離格子点グループの格子点のうち、順位が最も高い格子点を特定し(S471)、特定した格子点に基づいた1つの格子点に集約する(S474)ので、色空間における配置の観点で色の再現性の向上に対する影響が小さい格子点を減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、色変換テーブル生成装置10は、色変換テーブル14aを介した出力画像における色の再現性を向上することができる。
色変換テーブル生成装置10は、色空間における格子点の配置に応じた順位の規則を色変換の対象の画像に応じて変更する(S471)ので、色の再現性の向上に対する影響が小さい格子点を適切に減らすことができ、減らした分だけ、色の再現性の向上に対する影響が大きい格子点を増やすことができる。したがって、色変換テーブル生成装置10は、色変換テーブル14aを介した出力画像における色の再現性を向上することができる。
色変換テーブル生成装置10は、本実施の形態において準乱数としてvan der Corput列を使用して格子点を生成するが、van der Corput列以外の準乱数を使用して格子点を生成しても良いし、疑似乱数を使用して格子点を生成しても良い。
MFP20は、本実施の形態において、色変換テーブル27aにおける色変換の対象のRGB値が色変換テーブル27aにおける色変換前の格子点ではない場合、内挿によって色変換後のCMYK値を算出する。MFP20は、色変換テーブル27aにおける色変換の対象のRGB値が色変換テーブル27aにおける色変換前の格子点によって構成される四面体の内部に存在しない場合には、対象のRGB値の近傍の格子点によって構成される四面体による外挿によって色変換後のCMYK値を算出すれば良い。
MFP20は、色変換テーブル生成装置10の機能を備えても良い。
色変換テーブル生成装置10によって生成された色変換テーブル14aを使用する画像形成装置は、本実施の形態においてMFPであるが、プリンター専用機など、MFP以外の画像形成装置であっても良い。
10 色変換テーブル生成装置(格子点群生成装置、コンピューター)
14a 色変換テーブル
14b 格子点群生成プログラム
15a 格子点生成手段
27a 色変換テーブル
31、32 格子点群(格子点の群)

Claims (5)

  1. 色を変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成方法であって、
    準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成ステップを備え、
    前記格子点生成ステップは、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加するステップであることを特徴とする格子点群生成方法。
  2. 前記格子点生成ステップは、色空間における前記格子点の配置に応じた順位の規則に基づいて、前記近距離格子点グループの前記格子点のうち、順位が最も高い前記格子点を特定し、特定した前記格子点に基づいた1つの前記格子点に集約するステップであることを特徴とする請求項1に記載の格子点群生成方法。
  3. 前記格子点生成ステップは、色変換の対象の画像に応じて前記規則を変更するステップであることを特徴とする請求項2に記載の格子点群生成方法。
  4. 色を変換するための色変換テーブルにおける色変換前の格子点の群を生成するための格子点群生成プログラムであって、
    準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成手段をコンピューターに実現させ、
    前記格子点生成手段は、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加することを特徴とする格子点群生成プログラム。
  5. 色を変換するための色変換テーブルにおける色変換前の格子点の群を生成する格子点群生成装置であって、
    準乱数および疑似乱数の少なくとも一方を使用して前記格子点を生成する格子点生成手段を備え、
    前記格子点生成手段は、色空間における互いの距離が特定の距離以下である前記格子点の組み合わせによって構成される近距離格子点グループが存在する場合、前記近距離格子点グループの前記格子点を1つの前記格子点に集約した後、前記格子点を追加することを特徴とする格子点群生成装置。
JP2017252711A 2017-12-27 2017-12-27 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置 Pending JP2019118088A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017252711A JP2019118088A (ja) 2017-12-27 2017-12-27 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017252711A JP2019118088A (ja) 2017-12-27 2017-12-27 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置

Publications (1)

Publication Number Publication Date
JP2019118088A true JP2019118088A (ja) 2019-07-18

Family

ID=67305430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017252711A Pending JP2019118088A (ja) 2017-12-27 2017-12-27 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置

Country Status (1)

Country Link
JP (1) JP2019118088A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021003278A (ja) * 2019-06-26 2021-01-14 京楽産業.株式会社 遊技機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021003278A (ja) * 2019-06-26 2021-01-14 京楽産業.株式会社 遊技機

Similar Documents

Publication Publication Date Title
JP3960694B2 (ja) 色信号変換方法、色信号変換装置、記録媒体、デバイスドライバ及び色変換テーブル
CN107211073A (zh) 彩色打印查找表
JP2003110864A (ja) カラー画像処理方法及び装置
JP2012049823A (ja) ガマット形状予測方法、ガマット形状予測プログラム、当該ガマット形状予測方法により予測されたガマットを用いて作成された色変換テーブルを搭載した印刷装置
US8451521B2 (en) Finding a locus of colorant formulations that produces a desired color
JP2015231198A (ja) プロファイル作成方法、プロファイル作成プログラム、および記録媒体
JP3912486B2 (ja) 色処理方法、記憶媒体、色処理装置、色変換装置、および画像形成装置
JP2019118088A (ja) 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置
JP2019118089A (ja) 色変換方法、色変換プログラムおよび色変換装置
JP6354706B2 (ja) 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置
JP4618683B2 (ja) 画像処理装置、ガマット補正方法、画像処理方法、プログラム及び記録媒体
JP6734566B2 (ja) 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置
JP6734565B2 (ja) 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置
JP6354707B2 (ja) 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置
US10091397B2 (en) System including image forming apparatus and lattice point group generating device that generates group of pre-color conversion lattice points to be contained in color conversion table used for conversion of colors in RGB color space to colors in CMYK color space in the image forming apparatus
JP2009071715A (ja) 色域作成方法、色域作成装置、プログラム及び記憶媒体
JP6825353B2 (ja) 色変換プロファイル生成方法、色変換プロファイル生成装置、及び、色変換プロファイル生成プログラム
JP2008271233A (ja) 画像処理装置、プログラム及び方法
JP5966661B2 (ja) 墨定義ファイル生成装置、デバイスリンクプロファイル作成装置、墨定義ファイル生成方法、墨定義ファイル生成プログラム
JP2007336081A (ja) 色域外郭作成装置、色域外郭作成方法、及び色域外郭作成プログラム
JP2018133668A (ja) 画像処理装置と色変換テーブルの調整方法、及びそのプログラム
JP6617637B2 (ja) 色変換テーブル作成プログラム、色変換テーブル作成装置、および色変換テーブル作成方法
JP6740729B2 (ja) データ変換装置、データ変換方法およびデータ変換プログラム
JP6565761B2 (ja) 色変換テーブル作成プログラム、色変換テーブル作成装置、および色変換テーブル作成方法
JP5962551B2 (ja) 色処理装置、画像形成装置及びプログラム