(57)【要約】      （修正有）【課題】３Ｄ印刷方法において、層毎にハーフトーンノイズスクリーン層をｉｎ−ｓｉｔｕ作成するための方法およびシステムを提供する。【解決手段】生成される各層は、一様ノイズ関数によって生成されるものと統計的に同様の、ホワイトノイズ一様分布スクリーンである。各層の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される。生成されるスクリーンのセットは互いに独立していない。隣接する層は逆相関しており、隣接しない層は完全に無相関である。【効果】このスクリーン生成の結果は、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されるスクリーン面によって生成される変動よりも小さい。このアルゴリズムは計算コストが低く、複数のスクリーンをメモリに記憶する必要がない。【選択図】なし【特許請求の範囲】
【請求項１】
多面ランダムスクリーンを生成するための方法であって、前記方法は、
複数の層の内の少なくとも１つの層を生成することであって、前記少なくとも１つの層は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、
前記少なくとも１つの層の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成することと、
ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、
前記ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、前記複数の層の内の隣接する層は逆相関されており、前記複数の層の内の隣接していない層は無相関である、生成することと、
任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、前記少なくとも１つの層が生成され、前記ホワイトノイズ一様分布スクリーンのセットが生成された後に、少なくとも１つのハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成することとを含む、方法。
【請求項２】
前記複数の層に基づき、前記少なくとも１つのハーフトーンノイズスクリーンを使用して３Ｄオブジェクトをレンダリングすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記複数の層の内の各層において、状態は、実際の閾値と、前記少なくとも１つの層に対するすべての先行する層の平均閾値との間の累積差分を構成するすべての位置と関連付けられる、請求項１に記載の方法。
【請求項４】
多面ランダムスクリーンを生成するためのシステムであって、前記システムは、
少なくとも１つのプロセッサと、
コンピュータプログラムコードを具現化するコンピュータ使用可能媒体であって、前記コンピュータ使用可能媒体は前記少なくとも１つのプロセッサと通信することが可能であり、前記コンピュータプログラムコードは、前記少なくとも１つのプロセッサによって実行可能であり、
複数の層の内の少なくとも１つの層を生成することであって、前記少なくとも１つの層は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、
前記少なくとも１つの層の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成することと、
ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、
前記ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、前記複数の層の内の隣接する層は逆相関されており、前記複数の層の内の隣接していない層は無相関である、生成することと、
任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、前記少なくとも１つの層が生成され、前記ホワイトノイズ一様分布スクリーンのセットが生成された後に、少なくとも１つのハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成することとを行うように構成されている命令を含む、コンピュータ使用可能媒体とを備える、システム。
【請求項５】
前記命令は、前記複数の層に基づき、前記少なくとも１つのハーフトーンノイズスクリーンを使用して３Ｄオブジェクトをレンダリングするようにさらに構成されている、請求項４に記載のシステム。
【請求項６】
前記複数の層の内の各層において、状態は、実際の閾値と、前記少なくとも１つの層に対するすべての先行する層の平均閾値との間の累積差分を構成するすべての位置と関連付けられる、請求項４に記載のシステム。
【請求項７】
多面ランダムスクリーンを生成するためのシステムであって、前記システムは、
少なくとも１つのプロセッサと、
コンピュータプログラムコードを具現化するコンピュータ使用可能媒体であって、前記コンピュータ使用可能媒体は前記少なくとも１つのプロセッサと通信することが可能であり、前記コンピュータプログラムコードは、前記少なくとも１つのプロセッサによって実行可能であり、
複数の層の内の少なくとも１つの層を生成することであって、前記少なくとも１つの層は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、
前記少なくとも１つの層の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成することと、
ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、
前記ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、前記複数の層の内の隣接する層は逆相関されており、前記複数の層の内の隣接していない層は無相関である、生成することと、
任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、前記少なくとも１つの層が生成され、前記ホワイトノイズ一様分布スクリーンのセットが生成された後に、少なくとも１つのハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成することと、
前記複数の層に基づき、前記少なくとも１つのハーフトーンノイズスクリーンを使用して３Ｄオブジェクトをレンダリングすることとを行うように構成されている命令を含む、コンピュータ使用可能媒体とを備える、システム。
【請求項８】
前記３Ｄオブジェクトの前記レンダリングのための３Ｄプリンタをさらに備える、請求項７に記載のシステム。
【請求項９】
前記複数の層の内の各層において、状態は、実際の閾値と、前記少なくとも１つの層に対するすべての先行する層の平均閾値との間の累積差分を構成するすべての位置と関連付けられ、
少なくとも１つの位置について、前記少なくとも１つの位置におけるスクリーン位置は、前記少なくとも１つの位置の状態の関数である範囲を有するランダムな一様分布によって決定される、請求項７に記載のシステム。
【請求項１０】
前記命令は、定常状態への収束の遅延を回避するために２つの独立した一様分布ランダム変数の加算を利用して前記複数の層の内の初期層に対して状態を生成するようにさらに構成されている、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、一般に、３Ｄ（３次元）印刷に関する。実施形態はまた、３Ｄ印刷に使用されるハーフトーンノイズスクリーンおよびホワイトノイズ一様分布スクリーンならびに一様ノイズ関数のｉｎ−ｓｉｔｕ作成にも関する。
【背景技術】
【０００２】
標準的な画像化は、ベクトルハーフトーニングまたはマルチスカラーハーフトーニングのいずれかを利用して、コントーン画像を複数色の２値ピクセルに変換する。３Ｄ印刷において、ハーフトーニングは、複数の（場合によっては多数の）層で実施されなければならない。１つの自然な拡張は、別個に複数のスクリーンを作成し、すべての層において固有のものを適用することである。結果もたらされるハーフトーニングされた層状オブジェクトは、所望よりも多い色の変動を有する可能性がある。変動を回避するためのより複雑な代替策は、複数層においてスクリーンをともに最適化しようとする計算コストが高いオフライン最適化である。しかし、これでは、相当な計算能力が必要となり、スクリーンの数が事前に分かっていることが必要となる。
【０００３】
３Ｄ印刷オブジェクトの画像を生成するための処理は、紙画像（２Ｄ）上の画像を生成するのと相当の共通性を有している。両方とも、コントーン（すなわち、各色１ピクセル当たり１ビットを超える）画像の、シアン、マゼンタ、イエロー、およびブラック（ＣＭＹＫ）のインク滴の集合への変換を必要とする。主要な違いは、紙上の標準的な画像の場合においては、画像の各位置が、ＣＭＹＫ２値レシピに変換され、一方で３Ｄ印刷の場合においては、複数のインク面があることである。しかしながら、各面は、せいぜいＣＭＹまたはＫの１つだけの液滴を有することができるだけである。複数の面の作成は、内部オブジェクト層に所望の表面画像を拡散させることによって実施され得る。そのような面の２値形式への変換は、各ピクセルにおけるＣＭＹＫを１００％の面積被覆率（Ｃ＋Ｍ＋Ｙ＋Ｋ≦１００）に限定し、その後、標準的なベクトルハーフトーニングを適用することによって行うことができる。［１−４］
【０００４】
ベクトルハーフトーニングを実施するために、各面は、それに関連付けられるスクリーン（すなわち、閾値アレイ）を有しなければならない。一般的に、設計されたスクリーンは、それに対する確率論的な性質を有しており、これは標準的なクラスタ化ドット設計ではない。２Ｄ画像の確率論的スクリーンを生成するための技術が存在することを前提とすると、公知の方法を使用して、層毎に固有のスクリーンを作成することによってその方法論を３Ｄに拡張することは自然である。
【０００５】
各層が独立して設計され、一様に分布する（閾値１〜Ｎが等しく起こりうる）場合、３Ｄの場合において、予測され得る、結果もたらされる変動を判定することは容易である。任意の所与のグレーレベルについて、所与の位置（堆積高さ）におけるインクピクセルの数の分布は、式（１）に示す２項分布によって記述される確率分布を有することになる。
ｐ（ｋ）＝ｎＣｋａｋ（１−ａ）ｎ−ｋ  （１）
【０００６】
上記式（１）において、ｐ（ｋ）は３Ｄ画像のｎ個の層が所与のｘ、ｙ位置に所定の色のｋ個のインク滴を有する確率を表し、ａは任意の所与の液滴が所与の色のインク滴である確率を表し（たとえば、８ビットシステム｛最大コントーンレベルが２５５｝においてコントーングレーレベルが１２７である場合、ａ＝１２７／２５５）、ｎＣｋ（「ｎチューズｋ」）は、ｎ個から成る集合からｋ個のオブジェクトを選択する方法の数を表す。
【０００７】
２項分布において、以下の統計がよく知られている。
ｍｅａｎ（μ）＝ｎ  ａ
ｓｔｄ  ｄｅｖ（ｓ）＝｛ｎ  ａ（１−ａ）｝０．５  （２）
上記の等式（２）の式において、ｎは層の数を表す。層の数が十分に大きい（たとえばｎ≧１０）場合、２項分布は、式（２）の統計的特性を有するガウス分布によって近似することができる。たとえば、１０個の層および５０％の面積被覆率を有する３Ｄオブジェクトは、図１のグラフ１０にあるような分布を有する堆積高さを有することになる。図１は、独立したスクリーン層を用いてレンダリングされるときの、インク滴高さ（ｘ軸）対確率（ｙ軸）および５０％ハーフトーンのインク滴高さ（または堆積高さ）の分布を示すデータを図示している従来技術のグラフ１０を示す。
【０００８】
明らかに、すべてのコントーングレーレベルが、堆積高さ分布関数においてより小さい分散をなお有しながら、各層中に一様に分布する（すなわち、各層が、有効な２Ｄスクリーンである）スクリーンセットを作成することが望ましい。この結果として、より滑らかに見える表面画像がもたらされる。
【０００９】
以下の概要は、開示される実施形態に特有の発明的な特徴のいくつかの理解を容易にするために提供され、完全な説明であることを意図していない。本明細書において開示される実施形態の様々な態様の完全な理解は、本明細書全体、特許請求の範囲、図面、および要約書を全体として考慮することによって得ることができる。
【発明の概要】
【課題を解決するための手段】
【００１０】
それゆえ、開示される実施形態の一態様は、多面ランダムスクリーンの隠れマルコフモデル生成のための方法およびシステムを提供することである。
【００１１】
開示される実施形態の別の態様は、改善された３Ｄ印刷方法およびシステムを提供することである。
【００１２】
開示される実施形態のまた別の態様は、複数の層を生成することを可能にし、各層は、ホワイトノイズ一様分布スクリーンを構成する。
【００１３】
ここで、上述の態様、ならびに他の目的および利点を、本明細書で説明するように達成することができる。層毎にハーフトーンノイズスクリーン層をｉｎ−ｓｉｔｕ作成するための方法およびシステムが開示される。生成される各層は、一様ノイズ関数によって生成されるものと統計的に同様の、ホワイトノイズ一様分布スクリーンである。しかしながら、各層の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される。この方法を使用して生成されるスクリーンのセットは互いに独立していない。隣接する層は逆相関しており、隣接しない層は完全に無相関である。このスクリーン生成の結果は、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されるスクリーン面によって生成される変動よりも小さいことである。このアルゴリズムは計算コストが低く、複数のスクリーンをメモリに記憶する必要がなくなる。
【００１４】
本明細書に組み込まれ、本明細書の一部分を形成する添付の図面は、本発明をさらに例示し、本発明の詳細な説明とともに、本発明の原理を説明する役割を果たす。図面において、同様の参照番号は、同一または機能的に類似の要素を参照する。
【図面の簡単な説明】
【００１５】
【図１】独立したスクリーン層を用いてレンダリングされるときの、インク滴高さ（ｘ軸）対確率（ｙ軸）および５０％ハーフトーンのインク滴高さ（または堆積高さ）の分布を示すデータを図示している従来技術のグラフ図である。
【図２】図２は、好ましい実施形態による、２５５のＴｍａｘを有する８ビットシステムおよび三角関数を構成する密度関数を示すグラフ図である。
【図３】図３は、好ましい実施形態による、開示される方法によって生成されるスクリーンを使用して生成されるインク滴高さを示すデータを示すグラフ図である。
【図４】図４は、代替的な実施例による、１０層スクリーン設計の入力グレーレベルの関数としての堆積高さの標準偏差を示すデータをプロットしたグラフ図である。
【図５】図５は、好ましい実施形態による、多面ランダムスクリーンのＨＭＭ生成のための方法の論理演算ステップを示す、動作のフローチャートである。
【図６】図６は、一実施形態による、コンピュータシステムの概略図である。
【図７】図７は、一実施形態による、モジュール、オペレーティングシステム、およびユーザインターフェースを含むソフトウェアシステムの概略図である。
【発明を実施するための形態】
【００１６】
これらの非限定的な例で説明される特定の値および構成は、変更することができ、少なくとも１つの実施形態を例示するために記載されており、本発明の範囲を限定するようには意図されていない。
【００１７】
本開示の全般的な理解のために、図面が参照される。図面において、同様の参照符号は全体を通じて同一の要素を指定するために使用されている。本開示を説明するにあたって、以下の用語（複数可）が、その説明に使用されている。
【００１８】
「データ」という用語は、本明細書においては、情報を示すまたは含む物理信号を指す。物理的な光のパターンあるいは物理的な光を表すデータの集合としての「画像」は、文字、単語、および、テキスト、ならびに、グラフィックスのような他の特徴を含む場合がある。「デジタル画像」は、拡張による、デジタルデータの集合により表される画像である。画像は、その各々がそれ自体画像である「セグメント」に分割することができる。画像のセグメントは、最大で画像全体までであるか、または画像全体を含む、任意のサイズのものであってもよい。本明細書で使用される場合、「画像オブジェクト」または「オブジェクト」という用語は、当技術分野において一般に、用語「セグメント」と等価であると考えられ、本明細書において交換可能に使用される。
【００１９】
物理的な光を表すデータから構成されるデジタル画像において、データの各要素は、当該技術分野における一般的な用法であり、画素を指す「ピクセル」と呼ばれる場合がある。各ピクセルは位置および値を有する。各ピクセル値は「２値形式」の画像におけるビット、「グレースケール形式」の画像におけるグレースケール値、または、「色座標形式」の画像における色空間座標のセットであり、２値形式、グレースケール形式、および色座標形式は各々画像を定義する２次元アレイである。本明細書においては連続階調処理として説明されるが、本発明は、色画像の処理にも同様に適用され、ここで、各分離は、実質的に、グレースケールまたは連続階調画像として処理される。したがって、本明細書において連続階調（コントーン）またはグレースケール画像の処理が参照される場合、これは、色画像分離の処理も含むことが意図されている。動作は、画像の一部に関するデータアイテムに作用するときに「画像処理」を実施する。
【００２０】
堆積高さ分布を最小にするためには、その位置における以前の閾値の関数である、所与の位置における閾値を選択する必要がある。閾値の選択は、所与の位置において依然としてランダムであり得、これは、変化する、その位置の閾値の確率密度関数（ｐｄｆ）であり、したがって、依然として、各層における閾値の一様な分布をもたらす。
【００２１】
ある位置の現在の閾値の分布を決定するパラメータは、以前のスクリーンの累積平均誤差として選択される。スクリーン層ｋについて、蓄積平均誤差Ｅｓは、式（３ａ）および（３ｂ）によって示されるように定義される。
【００２２】
【数１】
2016146177.tif 000002
【００２３】
式（３ａ）および（３ｂ）において、Ｓ（Ｉ，ｘ，ｙ）は、位置（ｘ，ｙ）におけるｉ番目のスクリーン閾値を表し、ｍは平均閾値（たとえば、８ビット閾値についてｍ＝１２８）を表す。累積誤差Ｅｓは、閉形式または反復のいずれかで表すことができる。ｉｎ−ｓｉｔｕ用途に最も有用であるのは、反復形式である。
【００２４】
平均閾値の誤差をゼロに駆動するためには、後続の層の閾値を決定する制御として負帰還を使用することが望ましい。たとえば８ビットシステムにおいて、スクリーン位置（ｘ０，ｙ０）における誤差Ｅｓ（ｋ，ｘ０，ｙ０）＝３３である場合、誤差は、次の層（同じ位置）における閾値を、式（４）に示すような以下に設定することによって、ゼロに駆動することができる
Ｓ（ｋ，ｘ０，ｙ０）＝１２８−Ｅｓ（ｋ，ｘ０，ｙ０）＝１２８−３３＝９５  （４）
【００２５】
明らかに、これは所与の位置における累積誤差をなくすが、誤差が第２の層の後のどこでも０になるため、スクリーン内の任意のランダム性を除去し、第１のランダムスクリーンの後の任意の追加のスクリーン値を提供することができない。ｋ番目の層内のｘ０，ｙ０における閾値が、｛１２８−Ｅｓ（ｋ，ｘ０，ｙ０）｝（または本発明の上記の例では９５）の平均を有する一様乱数生成器から生成されるようにすることが有用である。
【００２６】
ランダムに生成された閾値の平均が９５に設定され、数が均一に分布するものとした場合、数は、スクリーンが独立して作成されている場合と等しく０〜２５５に及び得ない。代わりに、所望の平均（９５）を中心とし、最大範囲を有するように選択される乱数生成器を作成することができる。この例では、乱数生成器は、式（５）に示すような以下の確率密度関数を有する。
ｐｄｆ（ｔ）＝｛１≦ｔ≦１８９である場合１／１８９，  それ以外の場合０｝（５）
【００２７】
言い換えれば、閾値は、１と１８９の間に一様に分布するように選択することができる（すなわち、９５の平均値）。式（６）において下記に示すように、この範囲内の閾値は、次の累積誤差（（３ａ）を使用した）が、｛３３＋（１−１２８）｝と｛３３＋（１８９−１２８）｝との間になることを意味することに留意されたい。
−９４＜＝Ｅｓ（ｋ＋１，ｘ，ｙ）＜＝９４  （６）
【００２８】
一般的に、平均が１２８−Ｅｓであり、最大変動を有する一様な分布のこの発見的問題解決を使用した累積誤差の関数としての、所与の層における閾値のｐｄｆが、結果として以下をもたらすことが示され得る。
ｐｄｆ（ｔ）＝｛Ｅｓ≧０の場合１／（Ｔｍａｘ−２＊Ｅｓ），１≦ｔ≦（Ｔｍａｘ−２＊Ｅｓ），それ以外の場合０｝
｛ＥＳ＜０の場合１／（Ｔｍａｘ＋２＊Ｅｓ），（１−２＊Ｅｓ）≦ｔ≦Ｔｍａｘ，それ以外の場合０｝  （７）
【００２９】
上記の等式（７）の式において、Ｔｍａｘは最大閾値（たとえば、８ビット閾値については２５５）を表す。この反復方法は必ず、所望の範囲（１〜Ｔｍａｘ）内の閾値を生成するｐｄｆという結果になる。また、式（７）および（３ｂ）を使用して、累積誤差が常に、式（８）によって示される以下の範囲内になるように制約されることが示され得る。
【００３０】
【数２】
2016146177.tif 000003
【００３１】
明らかに、スクリーンを生成し、累積誤差を更新する反復プロセスは、繰り返し（すなわち、複数層）実行することができ、結果として以下の累積誤差の定常状態分布をもたらす。
【００３２】
【数３】
2016146177.tif 000004
【００３３】
より簡潔に言えば、密度関数は、たとえば、図２に示すような三角関数であり、図２は、２５５のＴｍａｘを有する８ビットシステムと関連付けられるデータを示すグラフ２０を示す。
【００３４】
要約すると、開示されている手法は、システム測度Ｅｓ（累積誤差）を利用して後続の層における閾値の確率を駆動することができる。この方法を使用して、Ｅｓの初期条件に関わらず、各層における閾値の分布が非常に近似的に一様であり、白色であることが示され得る。
【００３５】
方法全体は、隠れマルコフモデル（ＨＭＭ）システムとして説明することができる。ＨＭＭについて、システム状態は、各反復において出力を生成（放出）する。この事例において、状態は累積誤差であり、放出は各層におけるスクリーンである。状態遷移および放出確率は式（７）によって定義される。連続する状態の間の差は、放出されたスクリーン層である。それゆえ、状態（すなわち累積誤差）を見ることは不可能であり、そのためこれはＨＭＭになるが、状態間の差は観測可能である。
【００３６】
たとえ連続する状態（累積誤差）が無相関であっても、生成されるスクリーンは無相関ではない。隣接しあうスクリーン層は、−０．５の相関係数で逆相関しており、一方、隣接していないスクリーンは無相関である。大きな利点を提供するのが相関であり、独立して生成された層と比較して、任意の所与の入力グレーレベルについての堆積高さの変動が低減される。たとえば、図１のグラフ１０が、独立したスクリーン層でレンダリングされたときの、５０％のハーフトーンのインク滴高さ（堆積高さ）の分布を示していることを想起されたい。このインク滴高さ分布はスクリーン層度数分布とは無関係である。ホワイトノイズスクリーンまたはブルーノイズスクリーンについても同様になる。スクリーン層が、ともにではなく独立して設計されることが、この変動（すなわち、インク滴高さ分布）の根本的な原因である。
【００３７】
図３は、好ましい実施形態による、開示される方法によって生成されるスクリーンを使用して生成されるインク滴高さを示すデータを示すグラフ３０を示す。図１と比較すると、平均インク滴高さの周囲での変動が大幅に低減されていることに留意されたい。
【００３８】
標準偏差として測定すると、１０層５０％被覆率の事例について、独立して設計されたスクリーンは１．５８の標準偏差を有する液滴高さの変化をもたらし、一方で、ＨＭＭで設計されたスクリーンは、０．８８の標準偏差を有する液滴高さ変動をもたらす。一般的に、層の数が増大すると、５０％面積被覆率における変動は、ＨＭＭで設計されたスクリーンでは、独立して生成されたスクリーンと比較して、約１／２の大きさになる。図４は、代替的な実施例による、１０層スクリーン設計の入力グレーレベルの関数としての堆積高さの標準偏差を示すデータをプロットしたグラフ４０を示す。
【００３９】
開示されている実施形態の主な利点の１つは、そのような実施形態、代替形態および好ましい形態を、所与に適用されるスクリーンを決定するために、製品内でリアルタイムで実装することができることである。開示されている手法は、いくつかの事例において、その計算の簡略化のため、スクリーンを生成するリアルタイムアルゴリズムとして実装することができる。開示されている方法およびシステムは、累積誤差Ｅｓが、層間で保持されていることしか必要とせず、スクリーン毎の完全な履歴は必要ない。加えて、所与の層におけるスクリーン閾値を生成するのに必要なすべては、実質的にすべてのソフトウェア言語で容易に利用可能である、一様乱数生成器である。
【００４０】
実施される分析のほとんどは、ＨＭＭが定常状態に達したとき、たとえば、すなわち、図２のグラフ２０に示すように、累積誤差Ｅｓが三角分布を有するときに行われることに留意されたい。ゼロ累積誤差開始点から数回反復することによって、ＨＭＭの定常状態に迅速に達することが可能である。定常状態に達するより効率的な方法は、既知の定常状態分布を使用して生成される開始Ｅｓを生成することである。三角分布は、各々が一様に分布している２の独立した乱数を加算することによって得ることができる。前述したように、一様乱数生成器は、実質的にすべてのプログラミング言語に利用可能である。それゆえ、この反復プロセスの「シード」は、スクリーン位置毎に２つの乱数をただ加算することによって開始する。
【００４１】
プロセス全体は、以下のように要約することができる。
１）２つの乱数を加算することによって、開始累積誤差Ｅｓを生成する
ａ．各数は、−Ｔｍａｘ／４〜Ｔｍａｘ／４に一様に分散される
ｂ．最も近い整数に結果を丸める
２）スクリーン層を生成する
ａ．−０．５〜０．５の一様乱数（ｒａｎｄ−０．５）を生成する
ｂ．（ａ）の乱数にＴｍａｘ−２＊｜Ｅｓ｜を乗算する
【数４】
2016146177.tif 000005
ｄ．最も近い整数に丸める
ｅ．（ｄ）の結果をスクリーンの閾値に割り当てる
３）累積誤差を更新する
【数５】
2016146177.tif 000006
４）次の層について（２）に進む
【００４２】
図５は、好ましい実施形態による、多面ランダムスクリーンのＨＭＭ生成のための方法５０の論理演算ステップを示す、動作のフローチャートを示す。ブロック５２に示すように、プロセスを開始することができる。その後、ブロック５４に示すように、ステップまたは論理演算を実施して、２つの乱数を加算することによって累積誤差Ｅｓを生成することができる。ブロック５４において示される動作において、各数が−Ｔｍａｘ／４〜Ｔｍａｘ／４に一様に分散され、その結果が最も近い整数に丸められる。次に、ブロック５６に示すように、スクリーン層を作成するためのステップまたは論理演算が処理され得る。ブロック５６に示すステップまたは論理演算は、−０．５〜０．５の一様乱数（ｒａｎｄ−０．５）を生成すること、および、乱数にＴｍａｘ−２＊｜Ｅｓ｜を乗算することを含む。また、
【００４３】
【数６】
2016146177.tif 000007
【００４４】
が加算され（すなわち、その平均をそこに移動する）、最も近い整数への丸めを行い、その結果がスクリーンの閾値に割り当てられる。次に、ブロック５８に示すように、累積誤差を更新するためのステップまたは論理演算を実施することができる。新たな累積誤差＝古い累積誤差＋（ブロック５６）のスクリーン−
【００４５】
【数７】
2016146177.tif 000008
【００４６】
。その後試験は、次の層に進むべきか否かを判定するための試験を行うことができる。進むべきである場合、ブロック６０に示す動作が実施される。その後、プロセスは、ブロック６２に示すように終了することができる。
【００４７】
開示されている実施形態は新規であり、いくつかの利点を提供することが諒解され得る。たとえば、開示されている実施形態は、状態変数を使用した反復スクリーン生成を可能にする。そのような実施形態はまた、乱数（複数可）の範囲修正およびセンタリングを含む、状態変数からの閾値のＰＤＦの動的作成についても可能にされる。加えて、そのような実施形態は、反復プロセスのシーディングを可能にして始動計算をなくす。システム状態は、所望の三角分布を有するサンプルに設定することができる。
【００４８】
開示されている実施形態の利点は、独立したスクリーンの設計よりも低い、３Ｄオブジェクトの表面色の変動を生成することを含め、多様である。層は逆相関され、結果として、インク滴高さがより蜜に分布すること、および、オブジェクト法線方向において低周波数変動が減衰されることの両方に起因して色変動がより小さくなる。開示されている実施形態は、オフラインモードにおいてではなく、リアルタイムでのスクリーン生成も可能にする。これは、無限の数の層について機械において達成することができる。開示されている手法はまた、良好なスクリーンセットを生成するために層の数が予め分かっていることを必要としない。単にスクリーンセットが有効であるだけでなく、各面が有効なハーフトーンスクリーンである。各層が一様に分散されている。各層はまた、本質的に確率論的でもある。開示されている実施形態は、隣接する層が−０．５の相関で逆相関されるが、隣接していない層は無相関であるため、管理可能でもある。
【００４９】
当業者であれば理解できるように、実施形態は、方法、データ処理システム、またはコンピュータプログラム製品のコンテキストにおいて実施することができる。したがって、実施形態は、すべて全般に「回路」または「モジュール」として本明細書で参照されている、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、またはソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形態をとることができる。さらに、実施形態は、いくつかの事例において、コンピュータ使用可能プログラムコードを内部に具現化されているコンピュータ使用可能記憶媒体上のコンピュータプログラム製品の形態をとることができる。ハードディスク、ＵＳＢフラッシュドライブ、ＤＶＤ、ＣＤ−ＲＯＭ、光学式記憶デバイス、磁気記憶デバイス、サーバ記憶装置、データベースなどを含む、任意の適切なコンピュータ可読媒体が利用されてもよい。
【００５０】
本発明の動作を実行するためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語（たとえば、Ｊａｖａ（登録商標）、Ｃ＋＋等）で記述することができる。しかしながら、特定の実施の形態の動作を実行するためのコンピュータプログラムコードは、「Ｃ」プログラミング言語のような従来の手続き型プログラミング言語、または、たとえば、Ｖｉｓｕａｌ  Ｂａｓｉｃのような視覚指向型プログラミング環境で記述されてもよい。
【００５１】
プログラムコードは、全体をユーザのコンピュータ上で実行してもよく、部分的にユーザのコンピュータ上で実行してもよく、独立型ソフトウェアパッケージとして実行してもよく、部分的にユーザのコンピュータ上で、かつ部分的に遠隔コンピュータ上で実行してもよく、または全体を遠隔コンピュータ上で実行してもよい。後者のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）、無線データネットワーク、たとえば、Ｗｉ−Ｆｉ、ＷｉＭａｘ、８０２．ｘｘ、および携帯電話ネットワークを通じユーザのコンピュータに接続することができ、または接続は、第三者によってサポートされるネットワークを介して（たとえば、インターネットサービスプロバイダを利用してインターネットを通じて）外部コンピュータに対して行うことができる。
【００５２】
実施形態は、本明細書において少なくとも部分的に、本発明の実施形態による方法、システム、ならびにコンピュータプログラム製品およびデータ構造フローチャート図ならびに／またはブロック図を参照して記載されている。図の各ブロックおよびブロックの組み合わせは、コンピュータプログラム命令によって実装することができることが理解されるであろう。これらのコンピュータプログラム命令は、機械を生成するために汎用コンピュータ、専用コンピュータ、または、他のプログラム可能データ処理装置のプロセッサに提供することができ、それによって、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、１つまたは複数のブロックにおいて指定されている機能／動作を実装するための手段を生成する。
【００５３】
これらのコンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能データ処理装置に、特定の様式で機能するよう指示することができるコンピュータ可読メモリに記憶することもでき、それによって、コンピュータ可読メモリに記憶されている命令は、様々な１つまたは複数のブロック、フローチャート、および、本明細書に図示および記載されている他のアーキテクチャにおいて指定される機能／動作を実施する命令手段を含む製造品を生成する。
【００５４】
コンピュータプログラム命令はまた、一連の動作ステップがコンピュータまたは他のプログラム可能装置上で実行されるようにして、コンピュータによって実施されるプロセスを生成するために、コンピュータまたは他のプログラム可能データ処理装置上にロードすることもでき、それによって、コンピュータまたは他のプログラム可能装置上で実行する命令は、１つまたは複数のブロック内で指定される機能／動作を実施するためのステップを提供する。
【００５５】
図６〜図７は、実施形態が実施され得るデータ処理環境の例示的な図としてのみ示されている。図６〜図７は例示に過ぎず、開示されている実施形態の態様または実施例が実施され得る環境に関する何らかの限定を主張または暗示することは意図されていないことが諒解されるべきである。開示されている実施形態の精神および範囲から逸脱することなく、図示されている環境に対する多くの修正を行うことができる。
【００５６】
図６に示すように、いくつかの実施形態は、プロセッサ２０１のような１つまたは複数のプロセッサと、メモリ２０２と、入出力コントローラ２０３と、周辺ＵＳＢ−ユニバーサルシリアルバス接続２０８と、キーボード２０４と、入力デバイス装置２０５（たとえば、ポインティングデバイス、マウス、トラックボール、ペンデバイス等）と、ディスプレイ２０６と場合によって大容量記憶装置２０７とを含むことができるデータ処理システム２００のコンテキストにおいて実施することができる。いくつかの実施形態において、データ処理システム２００は、３Ｄのオブジェクトをレンダリングするために、たとえば、３Ｄプリンタ２０９のようなレンダリングデバイスと通信することができる。
【００５７】
図示のように、データ処理システム２００の様々な構成要素は、システムバス２１０または同様のアーキテクチャを通じて電子的に通信することができる。たとえば、システムバス２１０は、たとえばデータ処理システム２００内のコンピュータ構成要素の間で、または、他のデータ処理デバイス、構成要素、コンピュータ等とやりとりしてデータを転送するサブシステムであってもよい。データ処理システム２００は、たとえば、クライアントサーバベースのネットワーク（たとえば、インターネット）内のサーバとして実施されてもよく、または、クライアントおよびサーバのコンテキストにおいて実施することができる（すなわち、ここで諸態様は、クライアントおよびサーバ上で実践される）。データ処理システム２００は、たとえば、独立型デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、コンピューティングデバイス等であってもよい。
【００５８】
図７は、図６に示したデータ処理システム２００の動作を指示するためのコンピュータソフトウェアシステム２５０を示す。たとえば、メモリ２０２に記憶されているソフトウェアアプリケーション２５４は、一般的に、カーネルまたはオペレーティングシステム２５１およびシェルまたはインターフェース２５３を含む。ソフトウェアアプリケーション２５４のような１つまたは複数のアプリケーションプログラムは、データ処理システム２００によって実行されるために「ロード」（すなわち、たとえば、大容量記憶装置２０７または他の記憶場所からメモリ２０２に転送）することができる。データ処理システム２００は、インターフェース２５３を通じてユーザコマンドおよびデータを受信することができる。これらの入力は、その後、オペレーティングシステム２５１および／またはソフトウェアアプリケーション２５４からの命令にしたがって、データ処理システム２００によって作用され得る。いくつかの実施形態におけるインターフェース２５３は、結果を表示する役割を果たすことができ、それを受けて、ユーザ２４９は、追加の入力を供給するかまたはセッションを終了することができる。ソフトウェアアプリケーション２５４は、たとえば、図５に示され本明細書の他の箇所に記載されているような命令または動作を実施することができるモジュール（複数可）２５２を含むことができる。いくつかの実施形態において、モジュール２５２は、画像処理モジュールとして機能することができる。
【００５９】
以下の説明は、システムおよび方法を実装することができる適切なコンピューティング環境の簡潔で一般的な説明を提供するように意図されている。必須ではないが、開示されている実施形態は、単一のコンピュータによって実行されているプログラムモジュールのような、コンピュータ実行可能命令の一般的なコンテキストにおいて説明される。ほとんどの事例において、「モジュール」は、ソフトウェアアプリケーションを構成する。
【００６０】
一般的に、プログラムモジュールは、限定ではないが、特定のタスクを実行し、または特定の抽象データ型および命令を実施するルーチン、サブルーチン、ソフトウェアアプリケーション、プログラム、オブジェクト、コンポーネント、データ構造等を含む。その上、当業者には、開示されている方法およびシステムが、たとえば、ハンドヘルドデバイス、マルチプロセッサシステム、データネットワーク、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、サーバ等のような他のコンピュータシステム構成を用いて実践されてもよいことが諒解されよう。
【００６１】
本明細書において利用される場合、モジュールという用語は、特定のタスクを実行するか、または、特定の抽象データ型を実装するルーチンおよびデータ構造の集合を参照し得ることに留意されたい。モジュールは、２つの部分、すなわち、定数、データタイプ、変数、および、他のモジュールまたはルーチンによってアクセスすることができるルーチンをリストするインターフェースと、一般的には秘密（すなわちそのモジュールにとってのみアクセス可能である）であり、モジュール内のルーチンを実際に実施するソースコードを含む実施部とから構成され得る。モジュールという用語は、単に、ワードプロセッシング、会計、在庫管理等のような特定のタスクの実行を支援するように設計されているコンピュータプログラムのようなアプリケーションも参照し得る。
【００６２】
図６〜図７は一例として意図されており、開示されている実施形態のアーキテクチャ上の限定としては意図されていない。加えて、そのような実施形態は、いかなる特定のアプリケーションまたはコンピューティング環境もしくはデータ処理環境にも限定されない。そうではなく、当業者であれば、開示されている方法は、様々なシステムおよびアプリケーションソフトウェアに有利に適用することができることを諒解するであろう。その上、開示されている実施形態は、Ｍａｃｉｎｔｏｓｈ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）等を含む様々な異なるコンピューティングプラットフォーム上で具現化することができる。
【００６３】
上記に基づいて、多くの好ましい、および代替の実施の形態が開示されていることが諒解され得る。たとえば、一実施形態において、多面ランダムスクリーンを生成するための方法を実施することができる。このような方法は、たとえば、複数の層の内の１つまたは複数の層を生成するステップまたは論理演算であって、層（複数可）は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、層（複数可）の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成するステップまたは論理演算と、ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、複数の層の内の隣接する層は逆相関されており、複数の層の内の隣接していない層は無相関である、生成するステップまたは論理演算と、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、層（複数可）が生成され、ホワイトノイズ一様分布スクリーンのセットが生成された後に、１つまたは複数のハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成するステップまたは論理演算とを含むことができる。
【００６４】
別の実施形態において、複数の層に基づき、ハーフトーンノイズスクリーン（複数可）を使用して３Ｄオブジェクトをレンダリングするためのステップまたは論理演算を提供することができる。また別の実施形態において、各層において、状態は、実際の閾値と、層（複数可）に対するすべての先行する層の平均閾値との間の累積差分を構成するすべての位置と関連付けることができる。なお別の実施形態において、１つまたは複数の位置について、スクリーン位置は、位置（複数可）の状態の関数である範囲を有するランダムな一様分布によって決定することができる。
【００６５】
また別の実施形態において、定常状態への収束の遅延を回避するために２つの独立した一様分布ランダム変数の加算を利用して複数の層の内の初期層に対して状態を生成するためのステップまたは論理演算を実施することができる。複数の層の各々における１つまたは複数の状態は独立していることに留意されたい。
【００６６】
別の実施形態において、複数の層の内の隣接するスクリーン層は−０．５の係数で逆相関されて、より密なインク分布を生成し、表面に垂直な方向において高周波変動を生成して、表面からのインク距離に起因する色変動をより少なくすることを可能にすることができる。また別の実施形態において、複数の層のすべてについて生成されたスクリーンは、一様に分散されている。
【００６７】
別の実施形態において、多面ランダムスクリーンを生成するためのシステムを実装することができる。そのようなシステムは、たとえば、少なくとも１つのプロセッサと、コンピュータプログラムコードを具現化するコンピュータ使用可能媒体であって、コンピュータ使用可能媒体は、プロセッサ（複数可）と通信することが可能である、コンピュータ使用可能媒体とを含むことができる。コンピュータプログラムコードは、プロセッサ（複数可）によって実行可能であり、複数の層の内の１つまたは複数の層を生成することであって、層（複数可）は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、層（複数可）の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成することと、ホワイトノイズ一様分布スクリーンのセットを生成することであって、ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、複数の層の内の隣接する層は逆相関されており、複数の層の内の隣接していない層は無相関である、生成することと、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、層（複数可）が生成され、ホワイトノイズ一様分布スクリーンのセットが生成された後に、１つまたは複数のハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成するステップまたは論理演算とを含むことができる。
【００６８】
いくつかのシステムの実施形態において、このような命令は、複数の層に基づき、ハーフトーンノイズスクリーン（複数可）を使用して３Ｄオブジェクトをレンダリングするようにさらに構成することができる。なお別の実施形態において、複数の層の内の各層において、状態は、実際の閾値と、層（複数可）に対するすべての先行する層の平均閾値との間の累積差分を構成するすべての位置と関連付けることができる。また別の実施形態において、少なくとも１つの位置について、その位置（複数可）におけるスクリーン位置は、位置（複数可）の状態の関数である範囲を有するランダムな一様分布によって決定することができる。
【００６９】
別のシステムの実施形態において、そのような命令は、定常状態への収束の遅延を回避するために２つの独立した一様分布ランダム変数の加算を利用して複数の層の内の初期層に対して状態を生成するようにさらに構成することができる。別のシステムの実施形態において、複数の層の各々における１つまたは複数の状態は独立している。なお別のシステムの実施形態において、複数の層の内の隣接するスクリーン層は−０．５の係数で逆相関されて、より密なインク分布を生成し、表面に垂直な方向において高周波変動を生成して、表面からのインク距離に起因する色変動をより少なくすることを可能にすることができる。加えて、いくつかのシステムの実施形態において、複数の層のすべてについて生成されたスクリーンは、一様に分散されている。
【００７０】
なお別の実施形態において、多面ランダムスクリーンを生成するためのシステムを実装することができる。そのようなシステムは、たとえば、少なくとも１つのプロセッサと、コンピュータプログラムコードを具現化するコンピュータ使用可能媒体であって、コンピュータ使用可能媒体はプロセッサ（複数可）と通信することが可能であり、コンピュータプログラムコードは、プロセッサ（複数可）によって実行可能であり、複数の層の内の少なくとも１つの層を生成することであって、層（複数可）は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、層（複数可）の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動することができる、生成することと、ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、複数の層の内の隣接する層は逆相関されており、複数の層の内の隣接していない層は無相関である、生成するステップまたは論理演算と、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、層（複数可）が生成され、ホワイトノイズ一様分布スクリーンのセットが生成された後に、少なくとも１つのハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成することと、複数の層に基づき、ハーフトーンノイズスクリーン（複数可）を使用して３Ｄオブジェクトをレンダリングすることとを行うように構成されている命令を含む、コンピュータ使用可能媒体とを含むことができる。いくつかのシステムの実施形態において、３Ｄオブジェクトをレンダリングするために、３Ｄプリンタを設けることができる。そのような３Ｄプリンタの一例は、図６に示す３Ｄプリンタ２０９として示されている。
【００７１】
いくつかの実施形態において、図７に示すモジュール２５２は、複数の層の内の１つまたは複数の層を生成することであって、層（複数可）は、一様ノイズ関数によって生成される層と統計的に同様であるホワイトノイズ一様分布スクリーンを含み、層（複数可）の生成は、平均スクリーン閾値に対する誤差ベースの測定基準であるスクリーン状態によって駆動される、生成するステップまたは論理演算と、ホワイトノイズ一様分布スクリーンのセットを生成するステップまたは論理演算であって、ホワイトノイズ一様分布スクリーンのセットの各スクリーンは、互いに独立しておらず、複数の層の内の隣接する層は逆相関されており、複数の層の内の隣接していない層は無相関である、生成するステップまたは論理演算と、任意の色について、見える表面にわたる被覆率の変動が、ランダムに生成されたスクリーン面によって生じる変動よりも小さくなるように、層（複数可）が生成され、ホワイトノイズ一様分布スクリーンのセットが生成された後に、１つまたは複数のハーフトーンノイズスクリーンをｉｎ−ｓｉｔｕ作成するステップまたは論理演算とを含むことができる。モジュール２５２は、上述したもののようなさらなる命令（たとえば、複数の層に基づき、ハーフトーンノイズスクリーン（複数可）を使用して３Ｄオブジェクトをレンダリングすること等）をも含むことができる。
【図１】
2016146177.tif 000009
【図２】
2016146177.tif 000010
【図３】
2016146177.tif 000011
【図４】
2016146177.tif 000012
【図５】
2016146177.tif 000013
【図６】
2016146177.tif 000014
【図７】
2016146177.tif 000015