(58)【調査した分野】(Int.Cl.,DB名)
前記第1のFMからAMへの遷移閾値の値と第2のFMからAMへの遷移閾値の値との間の距離が短くなると、前記透かしを埋め込んだハーフトーン画像の前記透かしの点が、人間の目には見えにくくなるよう、前記FMからAMへの遷移閾値の値は調整可能である、請求項1に記載の方法。
請求項1に記載の方法を行うためのコンピュータが実行可能な命令を実行するよう構成されたプロセッサであって、前記命令はコンピュータ可読媒体に記憶される、プロセッサ。
【発明を実施するための形態】
【0007】
データを埋め込むための第2世代のハーフトーンのドットの種の空間分布を適用したハーフトーン処理方法を提供する。この方法では、透かしの有無に基づいて、順応的にハーフトーンのスクリーンのFMからAMへの遷移閾値を決定する。閾値を変更する量により、透かしが見えるかどうかが決定される。
【0008】
図1は、第2世代ハーフトーン内の種の位置空間分布を操作して、画像への可視データ及び不可視データの組込み、及び/又は符号化を、ハーフトーン処理及び印刷処理の一部として実現する、第2世代のハーフトーン処理方法を示すフローチャートである。ある第2世代ハーフトーン処理方法では、密度変調(FM)の確率的な方法により特定なグレーレベルに達するまで核(種)を設け、次いで、その特定なレベルより上のレベルでは、大きさ変調(AM)の方法で、それらの核を大きく成長させる。本明細書に記載の方法では、所与の空間的位置での透かしの有無により、順応的にFMからAMへの遷移閾値が決定される。
【0009】
ステップ10、コントーンの画像データ(
図3A)及び透かしデータ(
図3B)を受け取る。ステップ12で、ハーフトーン画像の生成に関する種密度を決定する。透かし有無及び画像内の所与の位置における入力画像のグレーレベルに基づいて、種の位置(種の密度)を決定する。ステップ14で、種を置く、即ち配置する。ステップ16で、種を三角分割して、種を頂点として含む複数の三角形を形成する。ステップ18で、種の位置により決定した三角形分割に基づいて、ハーフトーン処理のスポット関数を計算する。ステップ20で、閾値アルゴリズムを実行する。つまり、スポット関数の閾値を画像に適用して、透かしを埋め込んだハーフトーンを生成する。ステップ22で、原画像データ及び透かしデータを含むハーフトーン画像を生成し出力する。FMからAMへの閾値を決定する量により、可透かしの視度が判定される。つまり、閾値の間隔が大きいことは、可視度が高いことを意味する。一実施形態では、画像の透かし領域と、非透かし領域とに関する、異なるFMからAMへの閾値を有する2つのスポット関数を用いて、2つの閾値配列を生成する。透かし位置と非透かし位置とを2つの閾値配列の間のスイッチとして用いることで、閾値を画像に適用する。高密度配列を発生させる種の集合は、低い密度配列を種の集合の上位集合である。すなわち、両方の配列は同じ集合の種を共有する。すなわち、種から低い密度配列が計算され、高い密度配列には追加の種が含まれ、これにより、種と種との間の距離が短くなり、透かし領域と非透かし領域との間の遷移が確保され、2進画像がスムーズになる。別の実施形態では、透かし位置及び非透かし位置に応じて種が生成され、それらの種に基づいて、スポット関数及び閾値が生成される。
【0010】
一実施形態では、透かし領域に関して1つ、非透かし領域に関して1つの合計2つの透かしをスイッチとして用いる閾値配列を用いて、ハーフトーン処理を実行する。種スポット関数を用いて2つの閾値配列を生成する。種を用いて1方の配列を生成し、その種の上位集合の種を用いてもう1方の配列を生成する。上位集合で生成された配列は、高い方のFMからAMへの遷移閾値を有する。別の実施形態では、単一の確率的(FM)スクリーン処理を用いて、種を生成することができる。FM内の画素を用いて、低い方のFMからAMへの閾値を有する配列に対する種を、特定なグレーレベルの閾値まで生成する。FM内の画素を用いて、高い方のFMからAMへの閾値を有する配列に関する種を、グレーレベルの高い方の閾値まで生成する。同じFMスクリーンを用いて2つの集合の種を生成することにより、ハーフトーン処理される画像内の、透かし領域と非透かし領域との間の遷移が滑らかとなる。閾値に関する種を考慮して、上記のスポット関数のうち1つが適用されて、配列の範囲に閾値が生成される。印刷装置及び印刷特性のグレーの範囲に合わせるために、これらの閾値を補正又は調整等を行うことができる。所与の種の周りの複数の画素が同一の閾値を持たないように、第2の基準を用いて所与の閾値を上下させることできる。タイル状に配列を画像の範囲に埋め、配列に基づくハーフトーン処理を行う。画像内の各画素は、関連する同じ位置の閾値を配列内に有する。透かしのスイッチに基づいて、1方の配列、又はもう1方の配列のうちの1方から、閾値が選択される(即ち、閾値が選択された画素が、透かし領域内に存在するか、又は非透かし領域内に存在するか)。
【0011】
別の実施形態では、第2世代の確率的ハーフトーン処理を用いて、透かしが埋め込まれたハーフトーン画像を生成して画像を2進化する。第1の主要密度の種の集合、及び第2の主要密度の種の集合をそれぞれ有するコントーン入力画像及び透かし画像データを、(例えば、プロセッサにより)受け取る。次いで、プロセッサは第1の集合及び第2の集合からの種を、それぞれ透かし画像データの領域内及び非透かし画像データの領域内に配置し、それによりもたらされる種の集合に関する三角形分割を決定し、それによりもたらされる三角形分割に対応するハーフトーンのスポット関数を計算する。次いで、プロセッサは、画素値と、同じ位置に存在するハーフトーンのスポット関数の値とを比較して、2進画素の値を生成し、(例えば、印刷するために)透かしが埋め込まれたハーフトーン画像を出力する。
【0012】
図1による方法は、コンピュータ30により実行することができ、このコンピュータ30は、本明細書に記載の種々の機能を提供するためのコンピュータ可読命令を実行する(
図12プロセッサ304等の)プロセッサ及び、それを記憶する(
図12のメモリ306等の)メモリを含むことは言うまでもない。
【0013】
コンピュータ30は、本明細書に記載のシステム及び方法をサポートするための、ハードウェアの構成の1つの選択肢として用いることができる。独立型のアーキテクチャを示しているが、本実施形態により、好適な全てのコンピュータ環境を用いることができることは言うまでもない。例えば、独立型、マルチプロセッサ、分散型、クライアント/サーバ、ミニコンピュータ、メインフレーム、スーパーコンピュータ、デジタル式及びアナログ式等を含むコンピュータアーキテクチャを用いることができるが、それらには限定しない。
【0014】
コンピュータ30は、処理装置(例えば、
図12を参照)、システムメモリ(例えば、
図12を参照)、システムバス(図示せず)を含むことができ、このシステムバスは、システムメモリを含む種々システム構成要素と処理装置とを接続する。処理装置は、種々の全ての市販のプロセッサでよい。またダブルマイクロプロセッサ、及びその他のマルチプロセッサのアーキテクチャも処理装置として用いることができる。
【0015】
一般にコンピュータ30は、少なくとも何らかの形態のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータのアクセスが可能な、市販の全ての媒体でよい。例えば、コンピュータ可読媒体には、コンピュータ記憶媒体及び通信媒体が含まれ得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータ等の情報を記憶するための、全ての方法又は技術で実行される、揮発性媒体及び不揮発性媒体と、取外し可能媒体及び非取外し可能媒体とが含まれる。
【0016】
一般に通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータを具体化し、これらは搬送波又はその他の搬送機構等の変調データ信号内に含まれる。また通信媒体には、全ての情報発信媒体が含まれる。用語「変調データ信号」とは、その信号内の情報を符号化するために、その特性のうちの1つ以上の設定又は変更する信号のことを指す。例として、通信媒体には、有線ネットワーク又は直接有線接続等の有線媒体と、音響、RF、赤外線及びその他の無線媒体等の無線媒体と、が含まれるが、それらに限定されるわけではない。全ての上記の組合せも、コンピュータ可読媒体の範囲に含むことができる。
【0017】
キーボード、ポインティングディバイス、マウス、スタイラスペン、音声入力、又はグラフィカルタブレット等の入力装置(図示せず)を介してユーザは、命令及び情報をコンピュータに入力することができる。コンピュータ30は、1つ以上の遠隔コンピュータ(複数)と論理接続、及び/又は物理接続するネットワーク環境で動作することができる。上記の論理接続には、ローカル・エリア・ネットワーク(LAN)及びワイド・エリア・ネットワーク(WAN)が含まれる。
【0018】
引き続いて
図1を参照すると、
図2には、透かしの埋め込まれた画像部分、及び透かしの埋め込まれていない画像部分に対する単位面積ごとの種の数を、グレーレベルの関数として示すグラフ40が示される。T
1及びT
2は、画像と透かしのそれぞれのFMからAMへの遷移を判定する閾値を示す。但し、2本の曲線は互いに置換え可能である、即ち、透かしに、担体画像よりも高い(T
2>T
1)種密度、又は担体画像よりも低い(T
1>T
2)種密度を割り当てることができる。T
1とT
2との間の距離を調整することで、透かしの可視度を制御することができる。即ち、閾値の値の間の距離、即ち差を小さくすることで、透かしの可視度を下げられるように、T
1とT
2の閾値の値を調整して、透かしの可視度を制御することができ、またその逆も同じである。
【0019】
図3Aには、透かしが埋め込まれる透かし領域52を有する入力コントーン画像50が示される。
図3Bには、ハーフトーン画像50の透かし領域52に埋め込まれる透かし画像60が示される。
図3Bの透かし画像60は、異なる種密度間を選択するマスクのように用いられる。図面3C及び
図3Dには、本明細書に記載のアルゴリズムにより、
図3Bからの透かし画像60を
図3Aからの画像に埋め込むことで、生成された透かし領域52の2進バージョンが拡大表示される。文字「A」は、2つの異なる種密度を有する透かしとして用いられ、アルゴリズムにより行われる可視度の制御の様子を示している。
図3Cでは、透かしが簡単に見える程(例えば、T
1=6%、及びT
2=15%)、透かしの密度と、画像密度との間の差が大きい。
図3Dで用いられる閾値の差は、これより小さく、平均的な人間の知覚閾値(T
1=12% T
2=15%)の近くまで縮み、その中の透かし画像60は人間の目で見ることが難しくなっている。
【0020】
図4には、
図1の方法で符号化された2進画像を復号する方法が示される。この方法は、コンピュータ30により実行することができる。用語「ドット」及び「ホール」は、8連結構成要素の集合であるON画素及びOFF画素をそれぞれ示す。この方法では、異なる主要密度を有する、異なる2つの第2世代の確率的スクリーン処理を用いて、画像の復号化を容易にする。ステップ80で、受け取った透かしを埋め込んだハーフトーン画像に関する局所的なドット及びホールの総数を決定する。例えば、この局所的なドット及びホールの総数の決定は、受け取った画像内の画素のブロック即ち「ウィンドウ」(例えば、所定の最低ドット数(例えば、5ドット〜10ドット等)を包含するのに十分な大きさを有する、画素の50×50ブロック、又はその他の好適な大きさの画素のブロック)を分析することで実現される。ウィンドウ、即ちブロックの大きさは1つ以上の因数の関数であり、それらの因数には印刷装置の解像度、分析するスクリーンの主要密度等が含まれるが、それらに限定されるわけではない。
【0021】
ステップ82で、ドット数がホール数より多いかどうかの判定が行われる。ドット数がホール数より多くない場合、ステップ84で、形態学的拡張動作が必要かどうかに関する判定が行われる。必用でないと判定された場合、ステップ86で、透かしに対応した総数かどうかが判定される。透かしに対応する総数の場合、次いで、復号された画像を出力する。
【0022】
ステップ82での判定により、ドット数がホール数より多いことが示された場合、ステップ88で、形態学的浸食動作が必要かどうかに関する判定が行われる。必要でない場合、ステップ86で、透かしに対応する総数かどうかに関する判定が行われる。透かしに対応する総数の場合、復号された画像を出力する。浸食処理が必要な場合、ステップ90で、画像に対して浸食動作を行う。ステップ92で、浸食される画像に関する局所的ドット総数を決定する。ステップ86で、透かしに対応した総数かどうかが判定される。透かしに対応する総数の場合、次いで、復号された画像を出力する。
【0023】
ステップ84の判定で、形態学的拡張動作が必要であることが示された場合、ステップ94で、拡張処理を行う。ステップ96で、拡張された画像に関するホール総数が実行される。ステップ86で、透かしに対応した総数かどうかが判定される。透かしに対応する総数の場合、次いで、復号された画像を出力する。
【0024】
引き続いて
図4を参照すると、
図5には、第2世代のスクリーンに関するカバー領域(グレーレベル)の関数としてのドット数及びホール数(結合構成要素)を表すグラフが示されており、TはFMモードからAMモードへの遷移閾値を示す。カバー領域が0%から増加すると、FM領域内で種の数の増加に伴ってドット数が閾値まで着実に増加し、AMモードが開始されるTの位置からの平坦部112上においては、ドットどうしが接触を開始する位置まで一定であり、このドットどうしが接触を開始する位置から、スクリーン内の全ての画素がONになるまで着実に減少する。カバー領域が0%から増加すると、白の結合領域が分離構成要素に区分し始めるのに十分な程、ドットどうしの接触が、拡散する位置までホールの数は一定であり、その位置から分離構成要素の数が増え始める。影、即ち大きなカバー領域を有する領域では、OFFの画素の数がゼロになるまで、着実に、ホールで埋まり始める。
図5に示された形状は、特定なスクリーンに関するシグネチャであり、スクリーンに対して用いられる遷移閾値Tの選別に依存する。
【0025】
図6には、異なる2つの遷移閾値を用いた2つの第2世代スクリーンに関するシグネチャを示すグラフ120が示され、第1のシグネチャは、実線で表され、第2のシグネチャは点線で表されている。グラフ120には、2つのスクリーンのシグネチャが示され、
図4のステップ86に関して記載したような、局所的なドット総数が透かしに対応しているかどうかの判定に、これらのスクリーンのシグネチャを用いることができる。例えば、
図4の方法のステップ80、ステップ92、及び/又はステップ96で行われた局所的なドットのカウントで検出されたドット数が、第1のシグネチャの平坦部132のドット数と同じ場合、ドット総数は受け取った画像の背景画像領域と一致していると判定される。しかし、局所的な総数が用語第2のスクリーンのシグネチャの平坦部134のドット数と同じと判定された場合、局所的な総数は、受け取った画像の透かしを埋め込んだ領域と一致していると判定される。
【0026】
図6では、T
1で第1のスクリーンのシグネチャがFMモードからAMモードに移り、T
2で第2のスクリーンのシグネチャがFMモードからAMモードに移る。第2のスクリーンは第1のスクリーンよりも長い時間FMモードを維持するため、より多い数の結合構成要素が実現され、第2のシグネチャの平坦部122の長さは、第1のシグネチャの平坦部112の長さより短くなる。より大きな遷移閾値が使用されると、可能な限り多くの結合構成要素が形成されるため、これにより、ドット及びホール総数は変化する。ハーフトーン及び影の部分のドット数とホール数とをそれぞれ用いて、両方のスクリーンの間を識別することができ、グレーレベルがT
1より下の間、明るい影(小さいカバー領域又は低いグレーレベルを有する領域)、及び非常に暗い影(大きなカバー領域又は高いグレーレベルを有する領域)は復号目的で用いることはできないことが、
図6の検証により判明している。形態学的浸食により、明るい影内のドット間の接触位置を止めることにより、及び形態学的拡張を介して、影をホールで埋めることにより、使用可能なグレースケールの範囲を広げることができる。浸食及び拡張を用いるかどうかの決定は、推定カバー領域の情報、又は局所的なドット及びホールの総数と、事前に規定された閾値との間の比較に基づいて行われる。
【0027】
例えば、第1のスクリーンのシグネチャでは、グレーレベル50からグレーレベル200まで平坦部が延在することができる。第2のスクリーンのシグネチャでは、グレーレベル70からグレーレベル170まで平坦部が延在することができる。第2のスクリーンのシグネチャのグレーレベルの平坦部は、第1のスクリーンのシグネチャのグレーレベル平坦部に包含された、グレーレベルのより短い間隔に沿って延在しているため、第2のスクリーンのシグネチャは、第1のスクリーンのシグネチャより高い密度を有していると判定される。即ち、FMモードからAMモードへの第2のスクリーンの遷移は、より高いグレーレベルで行われるため、面積単位の結合構成要素のより高い密度が得られる。高い密度のスクリーンは、透かしシグネチャに対応し、低い密度のスクリーンは背景画像に対応する。
【0028】
図7には、暗い影の領域及び明るい領域でそれぞれ、形態学的浸食動作及び形態学的拡張動作を行った後の、異なる遷移閾値を有する第2世代のスクリーンに関するシグネチャの曲線のグラフ130が示される。図示するように、T
1で始まる平坦部132は、第1のスクリーンのシグネチャに関して延在する。同様に、T
2で始まる平坦部134は、第2のシグネチャに関して延在する。
【0029】
図8には、
図4の方法等により、
図3Dの画像内の目に見えない透かしを復号することで、生成された復号画像140が示される。白の画素により、透かしと識別されたデータが示されている。透かしのいくつかの部分は使用できないグレースケールの範囲に配置されるため、透かしの復号は完璧ではない可能性がある。
【0030】
第2世代の確率的スクリーンを作るために、「種」又はクラスターの中心の位置を確率的に決定する。次いで、種の位置に基づいて、三角形の三角形分割を決定する。次いで、三角形分割の結果に基づいて、ハーフトーンのスポット関数を三角形ごとに計算する。次いで、完成した第2世代の確率的スクリーンに関する正規化した閾値配列を演算する。この透かしを埋め込むアプリケーションにおいて、一実施形態では、FMからAMへの異なる閾値を有する2つのスポット関数を用いて2つの閾値配列を生成する。透かし位置と非透かし位置とを2つの閾値配列の間のスイッチとして用いた閾値が画像に適用される。別の実施形態では、透かし位置及び非透かし位置によって、種が生成され、これらの種に基づいて、スポット関数及び閾値が生成される。
【0031】
本明細書に記載の第2世代の確率的スクリーンの生成の理解を容易にするために、
図9〜
図11を参照して以下の説明を行う。
図9には、「活性した」即ち「on」として規定された入力位置、即ち種212の配列210の一例が示され、これらの種212は、例えば、ステップ12(
図1)で決定され、ステップ14(
図1)で設置、即ち配置され得る。種212は、スポット関数の増加に関する核を規定する位置である。これらの種は、第2世代の確率的スクリーンに関して用いられる規則的な格子上の位置、又は不規則的な位置でよい。これらの種は、画素格子の活性した(「on」)画素として規定することができる、又は一般的な空間座標として表すことができる。一実施形態では、確率的スクリーンのハーフトーン処理を用いて、目標のグレーレベル、例えば、15%のカバー領域、又はその他の所望されるグレーレベル、に達するまで、活性した画素として種が生成され、スポット関数により、それらの各種の周りで各ハーフトーンのドットが増加する。これらの種に関して用いられる確率的スクリーンの最適化として、従来行われているように、全てのグレー範囲に対して密度変調を用いるよりはむしろ、狭い範囲(例えば、0から15%までのカバー領域、又はその他の所望される範囲)で密度変調(FM)を用いることができる。上記の方法を用いてハーフトーンのセルを生成するとき、種の分布が境界の周りで乱れがないように、これらのセルはハイパータイルとして処理される。
【0032】
図10には、本明細書に記載の1つ以上の態様に従って、ステップ16(
図1)で生成することができる、点の集合に関する三角形の三角形分割220の一例が示される。種212を考察すると、三角形の三角形分割は、種の位置に基づいて、規定される、又は生成される。3つの高さ等の三角形のパラメータを、各三角形222に関して決定する。ある実施例によれば、種の位置を含む画素領域を、三角形222に分割する。三角形の頂点は、ドットの種212である。全てのドットの種212を頂点として用いる。三角形分割を規定することで、三角形により空間が完全に埋められ、重なることはない。六角格子等の特定な周期的構造を種が形成する場合、三角形分割は、規則正しく、合同の三角形から形成され得る。不規則的な格子の場合、三角形分割は不規則で非合同三角形から形成される。
【0033】
三角形の三角形分割の形成に関して複数の選択肢がある。例えば、ドロネー三角分割アルゴリズム又は技術を用いることができ、この分割法では、全ての三角形の外接円は、その他の三角形の頂点を含まない。ドロネー三角分割法では、頂点間の最小角度を最大限大きくし、これにより細い三角形が生成されることを避ける。ドロネー三角分割アルゴリズムは、上記の理由からハーフトーン処理のアプリケーションで用いることができる。ドロネー三角分割とは、ボロノイ分割の双対グラフであり、上記の方法は、元来2つのドロネー表示を用いて操作するのに適している。ドロネー三角分割法の最小角度は、それ以外の全ての頂点の三角分割と比較して、少なくとも、それ以外の最小角度と同じ大きさの角度となる。しかし、ドロネー三角分割法では、必ずしも最大角度を最小とはしない。
【0034】
例えば、欲張り三角分割アルゴリズム又は技術が用いられ、これにより、各ステップにおいて、最も短い内側の対角線を三角分割法に加えることで、生成されるトータルの三角分割の辺の長さを最小限にする。別の態様によれば、ポリゴン三角分割アルゴリズム又は技術を用い、これにより、空間を効果的に三角分割可能な単調な多角形に分割する。さらに別の実施例では、径方向スイープアルゴリズム又は技術が用いられ、これにより、集合の中央の点をその他の点と放射状に接続する。次いで、これらの放射端を結ぶことにより三角形を形成する。
【0035】
図11には、本明細書に記載の種々の態様による、頂点P
1、P
2、P
3を有し、画素Pを包含する三角形222が示される。この三角形は、高さH
1、H
2、H
3、及び画素と交差する高さh
1、h’
1、h
2及びh
3を有する。所与の画素Pに関して、その画素Pの駐在する三角形を決定する。包含する三角形を決めた後、比較的簡単な幾何学的関係を用いて三角形の高さH
1、H
2、H
3等の使用可能な三角形のパラメータを決定することができることは、当業者なら理解されよう。
【0036】
包含する三角形を識別するとき、交点数技術又はアルゴリズムを用いることができ、これにより、画素を通過する放射線を辿り、その辺が放射線に辺ごとに1度の2度交差する画素Pの三角形を識別する。別の態様によると、巻き数技術又はアルゴリズムを用い、これにより、三角形が画素の周りを巻く回数をカウントする。巻き数が0の場合、その点は、三角形の外側になり、それ以外は三角形の内側になる。
【0037】
画素が存在する画素格子と必ずしも一致しない空間座標を有する種の位置に関してではなくはむしろ、画素(例えば、「on」「活性した」画素)上に存在する種の位置に関して、随意的に、包含する三角形を決定するステップを省くことができる。即ち、1つ以上の三角形の頂点上に存在する画素を包含する三角形を決定する必要はない。
【0038】
画素ごとに、包含する三角形の頂点からの距離を判定する。三角形の高度を投影して判定する、又は同様に、各底辺への距離を判定する。三角形の高度とは、一頂点を通り、その頂点と反対の辺と垂直な直線であり、高度の全長は、所与の頂点に対する高さである。その反対側の辺を高度の底辺と呼ぶ。距離h
1、h
2、h
3は、画素Pからのそれぞれの頂点P
1、P
2、及びP
3の反対側の各底辺までの距離である。互換性のある(例えば、制御成長と共に細分化しない)スポット関数を実行するために、上記の方法では、正規化された高さ(距離):h
1/H
1、h
2/H
2及びh
3/H
3が用いられる。
【0039】
判定された距離を用いて、スポット関数の値を決定して、ハーフトーンの閾値を生成する。即ち、
図1のステップ18に関して議論した通り、判定された距離をスポット関数に入力する。スポット関数は、パラメータを有し、そのパラメータを調整して、ハーフトーンの鮮明さ、及びその勾配を制御することができる。例えば、スポット関数は、それぞれが3つの距離の関数である、3つの余弦の加重和である。距離を代数的累乗することにより、隣接するドットとの各ドットの接触位置の鮮明さが制御される。隣接するドットどうしの接触が、異なるグレーレベルで起こるように、一連の接触は、余弦の重みにより制御され、これにより、同時に接触することで生じる不安定性を解消する。スポット関数それ自体を用いて、画像をハーフトーン処理することができる。又は、印刷装置内に効率的に実装するためにスポット関数のサンプルバージョンを閾値配列として適用することができる。全ての6つの距離の値が計算されると、画素PのQ値は、下記の式で計算することができる。
【数1】
ここで「a
i」は、「H
i」により規定された方向に沿ったドットの伸張を制御するパラメータである。余弦は、「π」の周りの対称関数であるため、距離「h
i」が、三角形の辺に対して計算されたものか、又はその辺と平行の反対の頂点を通過する線に対して計算されたものかに関係なく、このQの値は同じである。例えば、「h
1」の代わりに「h’
1=H
1−h
1」が使われても、Qの値は同じである。
【0040】
ドットの辺の丸み、及びコーナーとの接触点の鮮明さに対する制御を所望する場合、一連の新しいパラメータγ
iを取り入れることができる。
【数2】
【0041】
いくらかの「i」に関し「γ
i≠0」のとき、「h
i」に対するQの対称性が失われるため、「h
i」をどのように測定するかは、もはや任意ではないことに留意されたい。この場合の選択の範囲は、その点と、その点に最も近い線との間の距離に制限される、つまり、三角形の辺、又は、反対側の三角形の頂点を通過する架空の平行な複製線である。
【0042】
下記の式のように、スポット関数を反転させることにより、別のレベルの制御が、可能となる。
【数3】
反転させることにより、暗い画像の対象物に対して所望される「ホール」の十分な制御が可能となる。
【0043】
その他の態様によると、データを正規化するステップが追加され、この正規化をスポット関数に伴って実行することができる。マトリックス内の全ての画素が処理された後、もたらされた入力値を変更・調整して、8ビットのシステムに関する[0,255]、又は10ビット画像パスに関する[0,1023]等のデータ範囲に適合させる。
【0044】
ドット内の複数の画素に対してスポット関数が同一の出力値又はほぼ同一の出力値を有する関連する態様によると、複数の画素の順番は、全て第2の基準の数により判定される。例えば、プロセスを通して、又はドットの辺の走査の最初、又はドットの辺の走査の終わりにレーザ撮像器が走査する方向に対して移動するとき、ドットの先端又はドットの後端等の辺に対して優先的に画素が加えた場合、マーキングプロセス又は撮像器は、より均一に画素をマークすることができる。例えば、画素を順に並べるとき、角度を考慮することができる。即ち、グレーレベルから、グレーレベルのドットの中心の移動を最小にするために、四分円(又は六分円等)のステップでドットの周りを回転することにより、ほぼ同一のドットの形状関数の値を有する画素を選択するときもある。別の実施例では、垂直方向、又は水平方向に優先的にドットを増加させ、ほぼ同一のスポット関数値を有する画素を並べて、好ましい方向をより増加させることで、印刷されたドットの均一性を実現するときもある。場合によっては、ほとんど同一のスポット関数値の画素を不規則に並べる、又は、複数の別の基準のうちのどれかにより選択するという要求を満たしてもよい。
【0045】
図12には、本明細書に記載の種々の方法の実行を簡単にするシステム300が示される。このシステムは、本明細書に記載の種々の機能、方法、技術、ステップ等を行うための、コンピュータが実行可能な命令を実行するプロセッサ304と接続する印刷エンジン302と、それらの命令を記憶するメモリ306とを含む。これらのプロセッサ304及びメモリ306は、互いに組み合わせることも、又は分離させることもできるが、それらは互いに動作可能に接続する。別の実施形態では、プロセッサ104及びメモリ306は印刷装置302と一体型である。別の実施形態では、プロセッサ及びメモリは、印刷装置302に操作可能に接続するコンピュータ(例えば、
図1のコンピュータ30)内にある。
【0046】
上述した通り、システム300は、本明細書に記載の種々の機能、方法、手順等を行うための、1つ以上のコンピュータが実行可能なモジュール(例えば、プログラム、コンピュータが実行可能な命令等)を実行するプロセッサ304と、それらのモジュールを記憶するメモリ306を含む。さらに、当業者なら理解されようが、本明細書で使用される「モジュール」とは、一連のコンピュータが実行可能な命令、ソフトウェアコード、プログラム、ルーチン、又はその他のコンピュータが実行可能な上記の機能等を行うための手段のことを示す。さらに又はあるいは、1つ以上のモジュールに関する本明細書に記載の機能を手動で実行することもできる。
【0047】
メモリは、ディスク、ハードドライブ等の制御プログラムを記憶するコンピュータ可読媒体でよい。不揮発性のコンピュータ可読媒体の一般的な形態には、プロセッサが読み込み、実行することができる、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ又はその他の磁気記憶媒体、CD−ROM、DVD又はその他の光媒体、RAM、ROM、PROM、EPROM、FLASH−EPROM、それら変化形、その他のメモリチップ又はカートリッジ、又はその他の有形的表現媒体が含まれる。このことに関連して、本明細書に記載のシステムは、1つ以上の汎用コンピュータ、専用コンピュータ、プログラム済みマイクロプロセッサ又はマイクロコントローラ、及び周辺集積回路素子、ASIC又はその他の集積回路、デジタルシグナルプロセッサ、個別素子回路等の配線電子回路又は配線理論回路、PLD、PLA、FPGA、グラフィックカードCPU(GPU)、又はPAL等のプログラマブル理論装置を用いて、またそれ自体として実行可能である。
【0048】
入力点即ち「種」308の集合は、確率的スクリーン309等の1次供給源から受け取られる。あるいは、入力点即ち「種」308の集合は、印刷装置302により走査された入力画像から、又はその他のいくつかの好適な供給源からプロセッサ304により生成された規則的な格子等内に配列した種位置を、不規則にばらばらにすることにより、生成される(即ち、種を入力画像から受け取る必要はない)。入力位置308及び確率的スクリーンをメモリ306は記憶される。プロセッサ304は、三角形の三角形分割モジュール310を実行して、種の位置に基づいて三角形の三角形分割を生成する。例えば、入力点即ち種308は、不規則に、即ち非均一的な格子状の模様に配列され得る。三角形分割モジュール310には、ドロネー三角分割モジュール312、欲張り三角分割モジュール314、ポリゴン三角分割モジュール316、径方向スイープ三角分割モジュール318、又はその他の好適な三角分割モジュールのうちの1つ以上のモジュールが含まれる。
【0049】
例えば、ドロネー三角分割モジュール312用いることにより、全ての三角形の外接円は、その他の全ての位置の種に外接することなく、三角形を形成する3つの入力位置の種を通過するよう制限される。ドロネー三角分割法により、頂点の最小角度を最大限大きくし、これにより細長い三角形の生成が避けられる。別の実施例では、欲張り三角分割モジュール314が用いされ、これにより、各ステップにおいて最も短い内側の対角線を三角分割に加えることにより、生成される三角分割法のトータルの辺の長さを最小限にする。別の態様によれば、ポリゴン三角分割モジュール316が実行され、これにより、空間を効果的に三角分割可能な単調な多角形に分割する。さらに別の実施例では、径方向スイープモジュール318を用い、これにより、集合の中央点をその他の点と放射状に接続する。次いで、これらの放射端を結ぶことにより三角形を形成する。
【0050】
プロセッサ304は、包含三角形識別モジュール320を含み、このモジュールは、画素が1個ずつ駐在する「包含する」三角形を識別する。例えば、交点数モジュール322を実行することができ、これにより、所与の画素を通過する放射線を辿り、その辺が放射線に辺ごとに1度の2度交差する画素Pの三角形を識別する。別の態様によると、巻き数モジュール324を実行し、これにより、三角形が画素の周りを巻く回数をカウントする。巻き数が0の場合、その点は、三角形の外側になり、それ以外は三角形の内側になる。
【0051】
プロセッサ304は、距離判定モジュール326を実行し、これにより、その包含する三角形の底辺からの画素までの距離を判定又は計算する。即ち、各画素から各底辺、即ちその包含する三角形の辺までの距離を判定又は計算する。距離判定モジュール326は、各頂点からその反対の底辺即ち辺までの高さを含む三角形ごとの3つの高さも計算又は判定する。このように、3つの画素の高さh
1、h
2、h
3と、3つの三角形の高さH
1、H
2、H
3との6つの高さの値、又は距離の値を計算する。
【0052】
画素ごとに6つの高さの値を判定した後、プロセッサは、画素ごとに高さ値をスポット関数(例えば、上記の図面に関する式(1)、(2)、及び/又は(3)を参照)に入力して、出力値を決定し、この出力値を用いてハーフトーンの閾値を生成する。一実施例では、画素ごとに高さの値が判明すると、すぐにスポット関数が実行される。別の実施例では、全ての画素の高さの値が判定された後、全ての画素に対して一度にスポット関数が実行される。次いで、プロセッサ304は、ハーフトーンモジュール330を実行し、随意的に1つ以上の第2の基準を使って、即ち考慮して、画素ごとのスポット関数の出力値を用いて、画像のハーフトーン処理を行う。メモリ306に記憶される画像データ332には、入力位置の種の格子を生成する入力画像データ、上記のプロセス中に様々な位置において生成される中間画像データ、ハーフトーン画像データ等の出力画像データ等が含まれ得る。出力画像データが印刷モジュール334に供給され、プロセッサ304が、このモジュール334を実行すると、一連の命令即ち指令が生成され、この命令をプロセッサ304及び/又は印刷装置302が実行して、ハーフトーン画像を印刷する。別の実施形態では、出力ハーフトーン画像は、グラフィカル・ユーザ・インターフェース336に画像で表示される。このグラフィカル・ユーザ・インターフェースには、印刷装置302と一体型のもの、分離しているが操作可能に接続するもの、又は
図1のコンピュータ30等のコンピュータに駐在するものが含まれ得る。このように、システム300を用いて、画像を直接ハーフトーン処理することができる。即ち、システム300を用いて、種の集合に関するスポット関数のサンプルバージョンを生成して、デジタルハーフトーンセルを作り出し、これを用いて画像のハーフトーン処理を行うことができる。
【0053】
さらに、
図1に関して記載した方法を行うためのデータ及びコンピュータが実行可能な命令をメモリが記憶する。そのデータには、コントーン入力画像データ338(
図3Aを参照)、及び透かしデータ339(
図3Bを参照)が含まれるが、これらには限定しない。種密度分析モジュール340が、コントーン入力画像に関する種密度を判定する。この種密度は、透かしを埋め込むハーフトーン画像を生成するときに、種を配置する際に用いられる。透かしの有無及び画像内の所与の位置での入力画像のグレーレベルに基づいて、種の位置(種密度)を判定する。三角形分割モジュール310が、種を三角分割して、これらの種を頂点として有する複数の三角形を形成する。種の位置により決定された三角形分割に基づいて、ハーフトーン処理のスポット関数328が計算される。閾値モジュール342を、透かしを埋め込むハーフトーンの出力画像に対して実行する。即ち、スポット関数の閾値を画像に適用して、透かしを埋め込んだハーフトーンを作成する。原画像データ及び透かしデータを含む、透かしを埋め込んだ出力ハーフトーン画像344もメモリに記憶されて、印刷、又はユーザに表示される。閾値モジュール342により、変動されるFMからAMへの閾値を量で、透かしの可視度が決定する。つまり、閾値の差が大きいほど、より人間の目には見やすくなる。
【0054】
透かしを埋め込んだ画像を復号する、
図4に関して記載した方法を実行する復号モジュール346もメモリに記憶される。例えば、この復号モジュールは、様々なドット及びホールの総数(即ち、最初の総数、浸食後の総数、拡張後の総数等)をカウントし画像内に透かしが存在するかどうかを識別するために、浸食動作、又は拡張動作を画像に対して行うべきかどうかを判定する。このためには、メモリは復号モジュール346により起動されると、プロセッサ304により実行される浸食モジュール348及び拡張モジュール350を記憶する。このように、復号モジュールは、画像内に透かしが存在するかどうかを識別し、復号された画像を出力する。