JP5891865B2 - 画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム - Google Patents
画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム Download PDFInfo
- Publication number
- JP5891865B2 JP5891865B2 JP2012057354A JP2012057354A JP5891865B2 JP 5891865 B2 JP5891865 B2 JP 5891865B2 JP 2012057354 A JP2012057354 A JP 2012057354A JP 2012057354 A JP2012057354 A JP 2012057354A JP 5891865 B2 JP5891865 B2 JP 5891865B2
- Authority
- JP
- Japan
- Prior art keywords
- mask
- point
- cluster
- image processing
- energy
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/52—Circuits or arrangements for halftone screening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
Description
その他に、非特許文献1〜8に記載の技術がある。これらについては後述する。
請求項1の発明は、画像処理用マスク内の各点におけるクラスタエネルギーを算出する算出ステップと、前記算出ステップによって算出されたクラスタエネルギーの値に基づいて、前記各点に対して昇順又は降順に順位付けを行う順位付ステップと、前記順位付ステップによる処理結果である順位に基づいて、画像処理用マスク内の閾値を割り当てる閾値割当ステップを行い、前記算出ステップによるクラスタエネルギーの算出は、前記各点であってクラスタに隣接する注目点xと、該注目点xを含まないクラスタに属する点yとの間の距離‖x−y‖を変数とする相互影響値fr(‖x−y‖)の総和により定義されることを特徴とする画像処理用マスク生成方法である。
ハーフトーン技術分野において、「ランダム型のクラスタドットハーフトーンマスク」という技術領域がある。ハーフトーン技術におけるこの技術領域の位置づけを、まず説明する。
<1 従来ハーフトーン技術における本技術の位置づけ>
M>N(M、Nは2以上の整数)として、M値の原画像をN値の画像に変換する処理は減色処理と呼ばれる。デジタル文書/画像を印刷する際には、出力デバイスの出力階調数に合わせた減色処理が行われるが、この減色処理はN値の画像で擬似的にM値を表現するもので、特に、(デジタル)ハーフトーン処理(スクリーニング・スクリーン処理)と呼ばれる。例えば、M=256,N=2あるいはN=4などがハーフトーン処理の典型的な例と言える。図3(a)にM=256の原画像の例、図3(b)にこの原画像に対応するN=2の場合のハーフトーン画像の例を図示する。なお、カラーの画像をハーフトーン処理する際には、CMYKあるいはRGBなどの各プレーン毎にハーフトーン処理を行い、デバイスで出力する際に順次重ね合わされる。また、出力デバイスの出力解像度に応じて、多くの場合にはハーフトーン処理前に解像度変換(主に拡大)処理が行われる。
従来のハーフトーン技術の概要については、非特許文献2、非特許文献8などを参考にすることができる。本節では、部分的にこれらの文献も参考にしながら、従来のハーフトーン技術を大局的な観点から整理する。ハーフトーン技術は、歴史的な流れの観点でそれぞれを括って整理するというのが一般的だが、数学的な観点から見ると遠回りになる傾向がある。そこで、ここでは従来のハーフトーン技術を並列に俯瞰して以下の3つの要素を抽出し、数学的に単純な形で全体をまとめて整理・分類する。
・第1要素:処理方法
・第2要素:ハーフトーン画像タイプ
・第3要素:志向モデル(より狭義には評価関数/生成アルゴリズム)
これらの3つの要素は、いずれも画質向上という目的のための異なる要素であり、任意のハーフトーン技術は基本的にこの3つの要素の掛け合わせで表現できる。直感的には、第3要素で決めたモデル(評価関数)を利用して、第2要素で決めたタイプのハーフトーン画像を、第1要素の処理方法で生成する、という見方ができる。以下、簡単のためにM=256のグレー画像に対し、N=2(つまり2値)でハーフトーン処理を行う場合を前提にして、上記3つの要素の詳細について説明する。なお、CMYK画像の場合や、N>2(多値出力)での方法などに関しても、一部には固有の議論が必要だが、基本的には同様のことが当てはまる。
処理方法の観点からは、ハーフトーン技術は以下に大別される。
・単点処理法:原画像の1画素から2値画像の1画素を決定する方法
・適応処理法:原画像の複数画素から2値画像の1画素を決定する方法
単点処理法の代表的な方式としてマスク法がある。マスク法は、離散格子上に記憶したデータで原画像を周期的に覆い、原画像の各点で対応するマスク上の点のデータと一対比較を行って、その大小により出力画像のON/OFFを決定するもので、処理の高速性から広く用いられている。前記の格子上に記憶したデータはハーフトーンマスク(閾値マトリクス/ディザマスク)と呼ばれる。マスク法はディザ(リング法)などとも呼ばれるが、ディザという用語は後述の誤差拡散処理なども含んで使われる場合もあるので注意が必要である。マスク法の派生方式として、濃度毎に(マスク)パターンを定義しておいて使うという方法(multiple bitmap法)もあるが、実用で使われる機会は少ない。また、単点処理法の他の方式として、濃度パターン法と呼ばれる、原画像の1点を複数のドットからなる2値画像で表現するという方式もあるが、これも近年では使われる機会は少ないと考えられる。したがって、現状では単点処理法と言ったらほぼマスク法であると考えてよい。マスク法の場合はマスク生成処理自体が本質的にハーフトーン処理の画質に関わっているので、単にマスク法ではなく、マスクの生成方法自体をこの第1要素に含めて考えてもよい。
適応処理法は、原画像の画素値を2値化する際に周囲の画素の2値化状態を加味する方式であり、一般に単点処理法と比較して処理負荷は掛かるが高画質な画像を得ることができる。代表的な方法に誤差拡散法があり、マスク法と同様に広く用いられている。平均誤差最小法と呼ばれる誤差拡散法と類似のアイデアに基づく方式もある。また、原画像と2値画像の(視覚上の)距離を最小化するという考え方のdirect binary searchと呼ばれる方式も適応処理法に属する(この種の方式は反復計算法として小分類することもある)。
一般に、ハーフトーン技術は、得られる画像の見た目の性質の観点からは、クラスタドット/分散ドットと、規則型/ランダム型という2つの観点の掛け合わせによって、以下に大別できる。
・規則型クラスタドットハーフトーン:格子状にクラスタを配置する
・規則型分散ドットハーフトーン:格子状に孤立点を配置する
・ランダム型分散ドットハーフトーン:ランダムに孤立点を配置する
・ランダム型クラスタドットハーフトーン:ランダムにクラスタを配置する
なお上記4種の並び順は、一応、歴史的に登場してきた順番で並べてある。慣習的に言えば、クラスタドットハーフトーンは、クラスタの面積の増減によって濃淡を表現する方式であり、分散ドットハーフトーンは、孤立点の個数の増減で濃淡を表現する方式である。クラスタドットハーフトーンは網点スクリーンとして古くから知られていたが、これに対して分散ドットハーフトーンが後発で登場してきた経緯から、クラスタドットハーフトーンはAM(Amplitude Modulation:面積変調)スクリーン、分散ドットハーフトーンはFM(Frequency Modulation:周波数変調)スクリーン、と対比的に呼ばれることも多い。後2者のランダム型ハーフトーンについては、確率的(stochastic)スクリーンという呼び名も広く使われている。また慣習的にはランダム型ハーフトーン全体をFMスクリーンと呼ぶ場合もある。前記の単点処理法におけるマスク法についても、上記4種の要素が適用できる。マスク法におけるこれら4つのハーフトーンについては後述する。なお、第1要素における適応処理法は、本質的にランダム型のハーフトーンを志向したものであり、通常は規則型を志向することはない。したがって、実際には第2要素の4種のハーフトーンの全てを志向することができる(考慮する意味がある)のはマスク法だけと考えてよい。
さらに、ハーフトーン技術には、志向モデルという要素がある。代表的なものとしては、以下が挙げられる。
・周波数特性モデルによる方法(ノイズ特性/人間の目の視覚特性/その他数理モデル)
・空間特性モデルによる方法(デバイス出力ドット再現性/デバイス出力歪特性/その他数理モデル)
このような周波数/空間特性といった枠の他にも、デバイス依存/非依存といった観点の枠で見てもよいが、いずれにしても、より下位の要素が本質的な意味を持つ。多くの場合、モデルを特徴付ける評価関数がベースになり、評価関数の値ができるだけ良くなるように、何らかのアルゴリズムを用いて各濃度のパターンを生成してゆくことになる。そのため、この評価関数及びアルゴリズムが第3要素の実体だと考えてよい。また前記のとおり、アルゴリズムの部分は評価関数の適用方法を規定するものであるが、それがハーフトーン処理方法に直結するような場合は、むしろ第1要素の範疇とみなす方が自然かもしれない。また、評価関数についても第1、2要素に直接結びついている場合もあり、逆に第1、2要素に整合するように第3要素のモデルが考えられる場合もある。第3要素自体で複数を組み合わせるような場合も多い。
前述のように、異なる時代に各種のハーフトーン技術が現れてきたという経緯から、かつては、上記の第1要素、第2要素に技術の拠りどころを置くという考え方も多かったが、1990年代後半には、ベースとなる第1、2要素の各領域は実質的にほぼ出揃っており、近年では、第1、第2要素内での何らかの組み合わせや、あるいはこの第3要素の領域に拠りどころを置くことが多くなってきている。
本技術は、前節の3つの要素の観点で言えば、以下で表現できる。
・第1要素:単点処理法におけるマスク法
・第2要素:ランダム型クラスタドットハーフトーン
・第3要素:エネルギー最小化理論
第3要素の「エネルギー最小化理論」(空間的な数理モデルの1つ)が本技術の核心となっている。その説明をする前に、本節ではまず第1要素におけるマスク法の概要を説明する。前述のように、マスク法はハーフトーンマスクにより原画像と画素一対比較をする方法で、得られる画像のタイプに応じて第2要素の4種に分けられる。はじめに、この4種のタイプのマスクの関係を図4に示す。なお、図4の対象領域410内に示した技術例が、本技術における対象となるものである。
また、図5にこれらのハーフトーンマスクで2値化した画像の例を示す。図5(a)の例に示す画像は、規則型クラスタドットハーフトーンマスクを用いて処理した画像である。図5(b)の例に示す画像は、規則型分散ドットハーフトーンマスクを用いて処理した画像である。図5(c)の例に示す画像は、ランダム型分散ドットハーフトーンマスクを用いて処理した画像である。図5(d)の例に示す画像は、ランダム型クラスタドットハーフトーンマスクを用いて処理した画像である。以下、4種のマスクそれぞれを説明してゆく。
規則型クラスタドットハーフトーンマスクは、原画像の濃淡を格子状に並んだクラスタの大小で表現するマスクで、古くから網点スクリーンとして知られてきた。塊状にドットを集めて出力するため出力デバイスの再現性能が低くても比較的安定した再現を得ることができ、印刷/デジタルプリントの領域で古くから用いられてきている。なお、ここで塊状というのは必ずしも円形に近いとは限らず、ライン形状なども可能であり、一般に複数の点を規則的に集合させて再現する場合を指すものとする。塊状に配置するクラスタは通常格子点上に並べられるため、カラー出力時には、例えば、C:15度、M:75度、Y:0度、K:45度などの角度を付けた格子を使用するなど、色間のモアレ(低周波の干渉パターン)が起こりにくくするよう工夫される。各格子の格子点の間隔がクラスタのサイズ、つまり出力時の分解能に対応しており、一般には線数(Line Per Inch)などの単位で分解能が表現され、例えば175線などが使用される。格子は直交格子のほか、直交格子を含む任意の2次元(斜交)格子が利用できる。前述のように塊状にドットを固めて出力するため、安定した出力を得ることができるが、分解能が低く、また色間の干渉としてロゼッタパターンが視覚されるという欠点もある。
規則型分散ドットハーフトーンマスクは、原画像の濃淡を格子状に並んだ孤立点の増減で表現するマスクを指す。孤立点で出力するため、クラスタドットハーフトーンマスクと比較して高分解能な出力が得られるが、格子状のパターンが目立つという欠点がある。なお実際は、この規則型分散ドットハーフトーンマスクは、規則型クラスタドットハーフトーンマスクでクラスタサイズが1である特別な場合として定義できる。そのため、規則型クラスタドットハーフトーンマスクと比較して種類(パラメータ)は少なく、厳密な意味では、Bayerマスク(非特許文献1)のみとも言える、なお、前出の図5(b)に示す例がBayerマスクでの2値化結果である。
ランダム型分散ドットハーフトーンマスクは、ランダムかつ歪が少ないように孤立点を分散させて画像を表現するためのマスクを指す。このマスクは規則型クラスタドットハーフトーンマスクと比較して、高分解能であり、カラー出力時の干渉(モアレ)にも比較的強く、規則型分散ドットハーフトーンのような格子状パターンの心配がない。その反面でザラツキやマスク周期パターンが見えやすいという欠点があるが、近年の出力デバイスの再現性能(主に分解能)の向上によりザラツキやかすれなどの問題が改善傾向にあるため、近年使用される機会が増えてきている。特に、孤立点の再現性のよいインクジェットプリンタでは、第1要素で挙げた誤差拡散法と共に広く使用されている。ブルーノイズマスク(特許文献6)やvoid−and−clusterマスク(非特許文献7)がこのタイプのマスクの例として知られる。なお、単にランダムな孤立点を持ったマスクとして、かつては「砂目スクリーン」などが知られていたが、画質の観点からは現在では対象外の技術と考えてよく、ここでは、ランダム型といったらランダムで低歪であるものとする。また、「ランダムかつ歪が少ない孤立点」という状態を概念的に表す語として、「低周波成分が少ないホワイトノイズ」という意味で、ブルーノイズという語が定着している。
ランダム型クラスタドットハーフトーンマスクは、ランダムかつ歪が少ないようにクラスタを分散させて画像を表現するためのマスクであり、ランダム型分散ドットハーフトーンマスクと同様、モアレに強いという性質を持つ。また、規則型クラスタドットハーフトーンマスク法と同様に、出力デバイスの再現性能が低くても比較的安定な再現性を得ることができる。確率的クラスタドットハーフトーンマスク(非特許文献5,6)やグリーンノイズマスク(特許文献5、非特許文献4)がこのタイプのマスクの例として知られる。また、「ランダムかつ歪が少ないクラスタ」という状態を概念的に表す語として、「低周波/高周波成分が少ないホワイトノイズ」という意味で、グリーンノイズという語が定着している。なお正確には、前述のブルーノイズと共に、パワースペクトルのRAPSD(Radially Averaged Power Spectrum Density:環状平均プロファイル)の形状によって規定される。
以上4種のマスクに加えて、図4に示すように、規則型とランダム型との境界領域に近いタイプのマスクもある。また、クラスタドットがごく少数のドットで形成される場合は分散ドットに近い性質も持ち、これも境界領域と言える。これらにも簡単に言及しておくと、例えば無理正接スクリーンの一部や、Rotatedディザ、さらに特許文献4に記載されたマスクなどもこれらの領域に含めることができる。
マスク法はそれぞれ異なる年代に異なるタイプが登場してきたという経緯があるため、呼び方や概念などが整理されていない側面があるが、歴史的な経緯を除外して数学的な観点から整理すると、上記のように第2要素の形で単純に整理できる。マスクデザインの観点からは、このような第2要素の形を決めた上で、第3要素のモデルをどう決めてゆくか、ということになる。ランダム型分散ドットハーフトーンマスクとランダム型クラスタドットハーフトーンマスクは、前述のブルーノイズ/グリーンノイズという概念的で広義な周波数特性モデルによって、それぞれ広義に第2要素を直接規定しているように見られることもあるが、マスクをデザインする場合に、結果的にこれらの周波数特性モデルに近い特性を持つマスクが得られるにしても、実際には第3要素においてこれらの周波数特性モデルを使用しない方式も数多い。実際に、第1、第2要素と比較して、実質的に第3要素はずっと多くのアプローチが取られており、この部分で本質的に技術/画質の工夫/進展が現れる場合も多い。後述する本技術もこの範疇に属している。
以下、本技術が主眼とする「ランダム型クラスタドットハーフトーンマスク」に議論を移す。なお、規則型クラスタドットハーフトーンマスクがAMスクリーン、ランダム型分散ドットハーフトーンマスクがFMスクリーンと呼ばれてきた経緯から、ランダム型クラスタドットハーフトーンマスクは、場合によってAM−FMハイブリッドスクリーンなどと呼ばれることもある。前述のように、このランダム型クラスタドットハーフトーンマスクには、大きく分けて2つのタイプ、すなわち確率的クラスタドットハーフトーンマスクとグリーンノイズマスクとがある。以下、これらの2つのタイプの性質について述べる。
実用に耐えうるランダム型クラスタドットハーフトーンマスクが初めて発表されたのは、1993年のOstromoukhovによる非特許文献5が初めてと考えられる。ここで提示された技術は、後に改良が加えられて確率的クラスタドットハーフトーンマスク(非特許文献6)として再発表された。この技術では、マスク内にランダムかつ歪が少ないように「核点」を配し、ボロノイ多角形分割を用いることにより各核点を含むクラスタ形状を決定し、後は段階的にクラスタが成長するように閾値を割り当てるという考え方を取っている。特許文献1に提示された技術は、この確率的クラスタドットハーフトーンマスクの領域の技術と言え、Ostromoukhovによる方式に似た考え方により、ボロノイ多角形分割してそれを網点セルとしてボロノイ母点からクラスタ成長させている。また、特許文献2,3に提示された技術もこの領域に入るタイプとみなされるが、周波数特性モデルなども利用している。
ついで、1999年になって前記の確率的クラスタドットハーフトーンマスクとは少し異なるタイプのマスクが、グリーンノイズマスクと名付けられてArce,Lauらによって発表された。この方法は、ランダム型分散ドットハーフトーンマスクの代表であるブルーノイズマスクの考え方を応用したもので、簡単に言えば「ブルーノイズマスクのクラスタ版」のようなものと言える。つまり、ブルーノイズマスクでは孤立点が徐々に点灯していくのに対し、グリーンノイズマスクでは、所定サイズのクラスタが徐々に点灯していく。なお、孤立点=高周波の呼び名であるブルーノイズに比較して、「所定サイズのクラスタ」という概念は周波数特性として広い表現をすると「中周波域」に対応しており、その領域に対応する語としてグリーンノイズという語が充てられている。
前記の確率的クラスタドットハーフトーンマスクとグリーンノイズマスクは、共にランダムかつクラスタ状の構造を持つため視覚的にも類似の結果を与える。実際に、一部の濃度ではほとんど差異がないレベルに近い場合もある。しかし、確率的クラスタドットハーフトーンマスクが「クラスタが成長する」というAMスクリーンの流れをベースにしているのに対して、グリーンノイズマスクは、クラスタを点とみなしてしまえば、「点の個数が増大する」というFMスクリーンの流れをベースにしていると言うことができる。実際に、確率的クラスタドットハーフトーンマスクは、濃度の増大と共にピークとなる周波数成分には基本的な変化はないが、グリーンノイズマスクは、徐々にピークとなる周波数成分は高周波側に移行する、という特徴がある。
ランダム型のハーフトーンマスクのうちでは、クラスタドットの方が分散ドットに比べてマスク生成における調整要素がより広く、画質を安定させやすいという面がある。そのため、クラスタドットの方が分散ドットよりもマスク生成の自由度が高い。しかしそれでも第3要素のモデルが画質に影響を与え、少なくとも上記従来技術は規則型クラスタドットハーフトーンと比較してザラツキやマスク周期のパターン顕在化の懸念がある。よりよいモデル/アルゴリズムでマスク生成することが必要となっている。また、非特許文献5、特許文献1に記載の技術のようにボロノイ母点を核点としてボロノイ多角形を均一に埋めるように等方的にクラスタ成長させる、という概念は自然な考え方だが、核点から等方的にクラスタ成長させるという条件は、少なくとも単色での画質を考慮する上で必要条件でも充分条件でもなく、確率的クラスタドットハーフトーンマスクの技術領域においては、数学的な観点からはより最適な画質を追求し得る可能性が残されている。
本技術では、数学的に正しく定義されたエネルギーを用いて、ランダム型クラスタドットハーフトーンの生成を行う。その説明をする前に、参考のために、エネルギーを用いてランダム型分散ドッハーフトーンマスクを生成する方法について説明する。
以下、エネルギーを用いた、ランダム型分散ドットハーフトーンマスクの生成方法及びエネルギーの定義を簡単に説明する。
ランダム型分散ドットハーフトーンマスクの生成においては、w×hサイズの閾値マトリクス内の全ての点を対象として、以下の工程により、マトリクス内の各点に0,…,l−1の閾値番号を割り当てる。
1.エネルギーが最小となる順に0,…,wh−1までの通し番号を与え、
2.後に各通し番号をwh/lで除算する
ここで、lは要求される階調数で、好適にはl=256などが使われる。閾値マトリクス内から通し番号i∈{0,…,wh−1}を与える点を選択する際には、まだ番号を与えていない点の中で、最もエネルギー値が低い点を選択して番号iを与える。この際に、既に0,…,i−1の通し番号を与えた点をエネルギーの対象とする。各注目点でのエネルギーは、注目点と他の対象点との距離を変数とする関数の総和平均として定義される値であり、直感的な説明をすれば、注目点からより遠くにある点ほど値が小さい(影響が小さい)という性質を持つ。図6の例に示すとおり、従来方式であるvoid−and−cluster法(図6(a)の例参照)と本技術による方法で生成した分散ドットハーフトーンマスク(図6(b)の例参照)でそれぞれ2値化した画像を比較すると、本方式の方がザラツキの少ないことが確認できる。第3要素の観点で言えば、void−and−cluster法はガウシアンフィルタによるvoid/cluster判別モデルに基づいており、画質上もランダム型分散ドットハーフトーンマスクの標準的な方式とみなされている。
前節、ランダム型分散ドットハーフトーンマスク生成時に使用しているエネルギーについて説明する。なお、このエネルギーは後述の本技術におけるランダム型クラスタドットハーフトーンマスク生成においても使用され、そこでは便宜的に点エネルギーと呼んでいる。これは、ランダム型クラスタドットハーフトーンマスク生成において主に使用されるエネルギーがクラスタエネルギーと名付けるエネルギーであり、これと区別するためである。
2次元平面の部分集合[0,w)×[0,h)上の点集合をXとして、点x∈Xにおける点エネルギーI(X,x,fr)を以下の(1)式で定義する。なお、以下の説明で点x,y,zなどは全て2次元ベクトルであり、例えばx=(x1,x2)などの座標値により特定される。
|X|は点集合Xの点の総数を意味する。また、距離‖・‖は、空間[0,w)×[0,h)上の周期境界距離であり、以下の(2)式で定義される。
H1:hはC2級で単調減少凸関数
H2:h(1)=limx→1h’(x)=limx→1h’’(x)=0
H3:(h’’(x1/2)/(x1/2))pが凸関数(暫定的にはp=1/2)
このような条件を満たすhとしては、例えば以下の(4)式が挙げられる。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
閾値割当モジュール130は、順位付モジュール120、出力モジュール140と接続されている。閾値割当モジュール130は、順位付モジュール120による処理結果である順位に基づいて、画像処理用マスク内の閾値を割り当てる。
出力モジュール140は、閾値割当モジュール130と接続されている。出力モジュール140は、閾値割当モジュール130によって閾値が割り当てられた画像処理用マスクを出力する。ここで、画像処理用マスクを出力するとは、例えば、他の画像処理装置(プリンタ等の印刷装置等)へ渡すこと、記憶装置(メモリーカード等の記憶媒体等を含む)へ書き込むこと等が含まれる。
画像形成装置200は、図2の例に示すように、画像受付モジュール210、マスク処理モジュール220、出力モジュール230、マスク生成装置100を有している。画像形成装置200は、多階調画像を対象として、画像処理用マスクを用いてハーフトーン化するものである。なお、画像形成装置200は、マスク生成装置100の替わりに、マスク生成装置100が生成した画像処理用マスクを記憶しているマスク記憶モジュールを有していてもよい。
本実施の形態に用いる技術は、ランダム型クラスタドットハーフトーンマスクの2つのタイプの方式のうち、確率的クラスタドットハーフトーンマスクのタイプに属するマスクを生成する技術であり、以下のような特徴を備える。
・確率的クラスタドットハーフトーンマスクで通常行われる、ボロノイ多角形などのクラスタの形状(網点セル)の指定を行わない
・クラスタの成長を数学的に正しいエネルギーを用いて行う
クラスタ形状の指定を行わないことにより、マスク内でのクラスタ成長の自由度が高くなり、さらに数学的に正しいエネルギーの効果によって、画質の点でもより最適な結果を得ることができる。また、セル分割や周波数変換を行わないで、マスク生成を行い得る。
以下、本技術におけるランダム型クラスタドットハーフトーンマスクの生成方法を説明してゆく。閾値マトリクス内の各データ(以下、点あるいは画素と呼ぶ)として、ランダム型分散ドットハーフトーンマスクと同様、0からwh−1までの通し番号を一意に与え、例えば最後にwh/lで各データ値を除算すれば、0からl−1までの閾値番号がマスク内の各画素に割り振られ、閾値マトリクスが生成される。通し番号順に点を点灯させたときに、歪がないランダムなクラスタ分布を実現するために、エネルギーの概念を使用する。
はじめに、マスク生成に必要なパラメータやメモリの準備/初期化を行う。
まず、パラメータとして、以下を定める
・(w,h):マスク縦横サイズ(各単位:ピクセル)
・Ld:出力デバイスの分解能(単位:dpi)
・Lo:出力相当線数(単位:lpi)
・K=INT(wh・(Lo/Ld)2+1):総核点数(単位:個)
・r:エネルギー勢力半径(単位:ピクセル)
・fr:相互影響値関数(条件H1−H3を満たす関数hにより(3)式で定義)
・BLACK=0,WHITE=1,EMPTY=2と定義
・D={0,…,w−1}×{0,…,h−1}:マスク定義域(メモリサイズ)
・v(i):通し番号i=0,…,wh−1に対応するD上の点(x,y座標)
→ 初期化不要
・cnum(x):各点x∈Dが属するクラスタ番号
→ 全てのx∈Dに対してcnum(x)=−1で初期化
・patt(x):各点x∈Dの2値パターン
→ 全てのx∈Dに対してpatt(x)=EMPTYで初期化
・th(x):各点x∈Dに対する閾値マトリクスの閾値
→ 初期化不要
なお本技術では、次のステップ2において、上記の相互影響値関数frにより定義される2種類のエネルギー値J1、J2を算出して使用するが、説明上の混乱を避けるために、便宜的に、
・J1:点エネルギー ((5)式)
・J2:クラスタエネルギー ((7)式:後述)
と呼ぶこととする。J1については前記のランダム型分散ドットハーフトーンマスクの生成における(5)式で既に説明している。J2の定義については後述する。なお一般に「エネルギー」という用語はこれらを含めた全体の概念としても使用するので注意する。
次に、全ての点に対して、一意な通し番号0,…,wh−1を与える。そのための準備として、以下に示すような内部パラメータ/メモリを準備する。
・sa:クラスタサイズ遊び
・s(j):クラスタ番号j=0,…,K−1のクラスタを構成する総点数
→ s(j)=0で初期化
・smin:現在の最小クラスタ構成点数
→ smin=0で初期化
クラスタサイズ遊びsaは、核点からクラスタ成長させる際に、クラスタを構成する総点数にどれくらいの差異を許容するかであり、通常はsa=1とするが、場合によってより大きな値に変えてもよい。通し番号の割り付けは図7に例示する工程により行う。
本ステップ2の核心は、D上の点に通し番号0からi−1までがそれぞれ一意に与えられた状態で、既に配置済みのクラスタに接する点の中でクラスタエネルギー最小となる点に次の通し番号iを与える方法にある。概念的な理解として、ある点xにおけるクラスタエネルギーとは、x(後述の図10での×)と「xが所属しないクラスタ(図10での黒点)上にある点y」との間の距離を変数とする相互影響値の総和で定義される。そこで、概念的な理解の下でまず全体のフローを説明した後に、次節で実際のクラスタエネルギーの詳細な定義について説明する。
まずS702においてi=0と初期化する。S704において、D内で通し番号がまだ与えられていない点のうち、既に配置したクラスタに接する点の中でエネルギーが最小となる点xを選択する。なお、このエネルギー最小点の選択の詳細は図8のフローチャート1a、図9のフローチャート1bを用いて説明する。(ここで、「既に配置したクラスタに接する点」というのは大局的な意味であって、i=0,…,K−1の場合、つまりクラスタの始めの1点目が生成されていない段階では、この接触条件はつけない。これも図8、図9で説明する。)S704においてエネルギー最小点xを選択したら、S706に進んで、次の通し番号i+1を決める際に必要な更新処理を行う。具体的には、S706では、以下のように更新する。
・patt(x)=BLACK:現時点での2値パターン(通し番号0,…,i−1が付された点を点灯させたパターン)に、通し番号iを与えた点を新たに更新する
・v(i)=x:通し番号iを与えた点(の座標)を記憶
・cnum(x)=j:通し番号iを与えた点が所属するクラスタの番号を登録
・s(j)=s(j)+1:通し番号iを与えた点が所属するクラスタを構成する総点数の更新
・smin=min{s(i):i=0,…,K−1}:通し番号iを与えた時点での最小クラスタ構成総点数を更新
以上により、与えられたD上に通し番号i=0,…,wh−1が一意的に定められる。
この通し番号を後述するステップ3において閾値0,…,l−1に割りつけることで、最終的な閾値マトリクスが決定するが、その説明を行う前に、前記S704において、エネルギー最小点を選択する際の具体的な処理について、以下に説明する。
図8に例示するフローチャート1aを参照しながら、D内で通し番号がまだ与えられていない点の中から、既に配置したクラスタに接する点の中でクラスタエネルギーが最小となる点xを選択する方法を説明する。
まず、S802において、Jminを充分大なる値で初期化する。例えばJmin=1000000などである。S804に進んで、D内で通し番号がまだ与えられていない点yを取る。例えば、D上を左上から右下に順に操作して順次設定してもよい。
・クラスタを構成する始めの1点目がまだ全ては配置されておらず、点yがいずれの配置済みクラスタとも接しない場合、つまり、yについてj=−1かつsmin=0である場合
・点yが既に配置したクラスタと接し、かつそのクラスタを構成する画素数が許容範囲内にある、つまり、yについてj≧0,s(j)≧smin,s(j)≦smin+saの場合
続くS812においてJcurrent<Jminであれば選択した点yの方がエネルギーがより小さいと判断し、S814に進んでJminをJcurrentに更新するとともに、最小エネルギー候補点xをx:=yと更新する。
一方、S816においてsmin≠0であれば、S820に進み、全てのK個のクラスタは少なくとも1点は配置されているので、新たなクラスタ番号を与えずに、yが接触しているクラスタのクラスタ番号jを取って、j=jと割り当てる。
S822において、D上の全ての画素について処理が終了している場合、最小エネルギー点x及びその点が属するクラスタ番号jが求められる。ただし、まれにiの値がwhに近いような大きな値になると、s(j)≧sminかつs(j)≦smin+saというクラスタサイズの制約を満たす中で最小エネルギー点が選択できない場合がある。このような場合を考慮して、S824において、Jmin値が更新されているかどうかを判定し、Jmin値が更新されていない場合は、例外的にs(j)≧sminかつs(j)≦smin+saというクラスタサイズの制約を外した状態でクラスタエネルギーが最小となる点を求めなおすか、あるいは図9に説明するフローチャート1bへ進んで(S826)、単純に点エネルギーが最小となる点を求めなおすかしてx及びjを決定する。なお、上記においてJmin値が更新されているということは、少なくとも一つ最小エネルギー候補点xが定義されているということであり、逆にJmin値が更新されていない場合のみ、最小エネルギー候補点が決まっていないということに注意する。
最後にS828に進み、求めたx及びjを元の図7の例に示すフローチャート1に返して、S706以降の通し番号iを与える処理に進む。これについては前述した。
なお、このように最小クラスタエネルギー点が取得できない場合に最小点エネルギー点を取得しなおす構成にしているのは、ほとんどの場合に最小クラスタエネルギー点が取得できるため、僅かに失敗した場合に限って最小点エネルギー点を選択しなおすという方が効率的なためである。例えば図8と図9のフローチャートで共通な部分は共通化してもよい。その場合、効率は悪くなるが機能面には変わりはない。
図10を参照しながら、前記クラスタエネルギーJ2計算の詳細を説明する。i番目の点を選択する際には、具体的には、便宜的に
・Xi={x∈D:patt(x)=BLACK}
(既に通し番号0,…,i−1が与えられた点全体)と定義して、前記ステップ2で、
・まだ通し番号が割り振られていない点y∈D\Xiであって、
・yの上下左右に接触する4点T(y)のどれかがいずれかのクラスタ(番号j)に属していて、
・クラスタ(番号j)を構成する点数が、現状の最小クラスタ構成点数からの差分が高々saであること
を満たすような点の中で、クラスタエネルギーJ2(Xi,y,fr,i)が最小の点を選択する。
・Ci(x)={y∈Xi:cnum(x)=cnum(y)}
つまり、Ci(x)は0,…,i−1までの通し番号が付された点全体のうちで、現在の注目点xが属するクラスタを構成する点全体を指す(図10の1020内、斜め線で示した点全体)。従って、Xi\Ci(x)は、既に通し番号0,…,i−1が与えられた点であって、注目点xが接触するクラスタに属さない点全体を表す(図10の黒点全体)。またD\Xiはまだ通し番号が与えられていない点全体(図10の空白領域の点全体)を指す。距離r以上離れれば、fr=0だから、yは‖x−y‖≦rの範囲に限定してよい。したがって、(7)式における2つの和は、それぞれ以下のような意味を持つ。
・「注目点xにおいて、xを含まないクラスタ上の全ての点(既に通し番号が与えられた点であって注目点xが属するクラスタに属さない点)yとの間の相互影響値総和」:
説明の都合上、2値パターンpatt(x)=BLACKなる点集合をXiと置いたが、実際にはこのようなXiを定義/計算する必要はなく、注目点においてpatt値を参照してXiに属するかどうかを判断すればよい。なお、重みp(i)は上記においてはp(i)=i/whと定めているが、p(i)=0で固定したり、その他の取り方をしても良い。p(i)=0とすると、(9)式に示す空白領域との相互影響値が無視され、純粋にクラスタ間のみの相互影響値が考慮される。
ここまでの工程で、X上の各点には0,…,wh−1までの通し番号が一意に与えられている。最後に、必要に応じて通し番号を0,…,l−1に割り付けることにより、閾値マトリクス内の各点xに閾値th(x)∈{0,…,l−1}を割り当てることができる。例えば、各通し番号をwh/lで除算することにより、各i=0,…,wh−1に対して、
一般に、TRCなどをマスクデータに埋め込む際には、このように線形に割り付ける(均等割り)のではなく、任意のテーブルを利用したマッピング処理を行えば細かい制御ができる。このようにTRCなどをマスクデータに埋め込む処理は、出力機器の特性に応じて行われることであるため細かい説明は省略する。なお、以上の説明では通し番号iを与えた点の座標をv(i)に記憶してきたが、vを持たずにth(x)=iで設定する構成にしてもよい。ただし、閾値データは通常は8ビット値で記憶されることが多いため、通し番号を記憶するにはより大きなビット値のメモリを使用する必要があり、また通し番号iを与えた点を逆引きできる方が便利でもあるため、本技術ではv(i)に記憶している。
w=h=160,K=278,l=256として、以上のステップにより生成したマスクデータ(閾値マトリクス)の例を図11に画像として示す。ここではステップ3として(10)式による256階調均等割りを用いている。本節の冒頭で述べたように、本技術では、確率的クラスタドットハーフトーンマスクで通常行われる、ボロノイ多角形などのクラスタの形状の指定を行わず、直接核点を成長させてゆく。したがって、従来のボロノイ多角形分割によりクラスタの成長形状を規定する方法や周波数変換して周波数特性を評価する方法と比較して、クラスタの成長の自由度が著しく高くなる上に、数学的に正しい関数frを用いているため、分散性の観点で見て最良の状態にクラスタ成長させることができる。その結果、ザラツキやマスク周期のパターン顕在化を極力抑えることができる。またこのような特徴により、より小さいマスクサイズで実用に耐えうる品質のマスクを生成することも可能となる。
また、図12にこのマスクで2値化した画像の例を示す(2400dpi出力時に250線相当)。図13(a)、13(b)には、本技術による方法で生成した別のマスクで2値化した自然画像の例を示す(それぞれ2400dpi出力時に300線相当及び400線相当)。
ステップ2において、新しい通し番号iを与える点を選択するのに、マスク内の全ての未処理点(通し番号を与えていない点)のうちでエネルギー最小の点を選択している。このエネルギー計算を高速化すると処理時間の短縮効果が高い。エネルギー計算を高速化する方法として、注目点xに対して所定距離r1離れた点yとの間のエネルギー値fr(‖x−y‖)=fr(r1)は常に一定であり、離散空間の特徴から、ここで出てくる距離r1は格子点間の距離のみとなることに注意すると、fr(r1)値をテーブル化して記憶しておいて参照することで余計な計算を省略できる。具体的には、与えられたエネルギー勢力半径rに対して、
・rint=INT(r+1)
・d=2rint+1
と置いて、Dd={0,…,d−1}として、テーブルt(x)(x∈Dd)を、原点から距離r以下の格子点xに対して、
・t(x+(rint,rint)t)=fr(‖x‖)
のように定義すればよい(上付き文字tは転置を意味する)。注目点xに対して距離r以下にある点yでの点xからのエネルギー値は、
・fr(x−y)=t(x−y+(rint,rint)t)
により参照できる。また、このテーブルt(x)は2次元テーブルだが、これを1次元テーブル化することでも高速化できる(この場合、アドレス計算での乗算が減るほか、半径r以内の点だけを記憶することで、2次元テーブル時のような矩形領域を参照しなくて済むため高速化される)。
このような高速化の他に、プログラム上の自明な高速化や、ステップ2での構成の工夫などでも高速化することができる。しかしながら、次に説明する例2はこれら全ての高速化よりもずっと効果が大きい。
前記の一連のアルゴリズムでランダム型クラスタドットハーフトーンマスクが生成されるが、これには様々なバリエーションがある。ここでは、4.1.6節に説明したものとは本質的に異なる高速化について説明する。端的には、ある点xに通し番号iを決めた後で、エネルギー値の変化はその点から半径rの以内の各点のみに限られ、さらに各点でのその変位量はその点xとの間の相互影響値のみであるから、通し番号i+1を決める際に候補点でエネルギー値を全て計算しなおすのは効率が悪く、各点でのエネルギー値をメモリに記憶し、変位量のみ更新してゆくことで計算量を大幅に低減できる。
ステップ2のアルゴリズムにおいて、Jcurrent=J2(Xi,y,fr,i)あるいはJcurrent=J1(Xi,y,fr,i)を計算するが、この計算をメモリ参照のみで済ますようにすると、マスク内の全ての通し番号未決定点のエネルギーを計算することなくメモリ参照で済むので、大きく高速化できる。本高速化の処理の流れは、「ステップ1→ステップ2A→ステップ3」となり、ステップ1とステップ3は、上記例1に説明したものと同じであるが、ステップ1においては、以下のメモリを追加で準備して初期化する。
・eapart(x)(xとxが属さないクラスタとのエネルギー値):各点x∈Dで(8)式の値を更新するために使用する
→ eapart(x)=0で初期化
・etouch(x)(xとxが属するクラスタとのエネルギー値):各点x∈Dで(9)式の値を更新するために使用する
→ etouch(x)=0で初期化
etotal=Σy∈Dfr(‖y‖) (定数)
とする。各点でエネルギーを計算する際には、注目点に対して(7)式及び図10で示したように、それぞれ対非接触クラスタ(図10の黒)、対空白(図10の白)とのエネルギー値を算出する必要があるため、これらを記憶するために上記メモリを準備する。このとき、各点x∈Dについて、成立する関係式:
Σy∈Dfr(‖x−y‖)=Σy∈Dfr(‖y‖)
により、
eempty=etotal−eapart(x)−etouch(x)
と置けば、(7)式及び(11)式より
したがって、通し番号i−1を生成した時点で、全ての点でeapart(x),etouch(x)が更新されていれば、通し番号iを割り付ける最小エネルギー点を探索する際に、上記(13)式によるメモリ参照でエネルギー値を求めることができる。
ステップ2Aでは、S1404において、通し番号iに対してメモリ参照でエネルギー計算を行いながらエネルギー最小点xを求めて、S1406以下の更新処理を行う。エネルギー最小点は、候補点(cnum(y)≠−1である点y)の中からクラスタエネルギー最小点を選択する。候補点とはステップ2と同じく既に配置したクラスタに接する点全体に他ならず、本ステップ2Aでは、通し番号i−1を生成した段階において後述の更新処理によってそのような候補点が更新登録されている。なお、クラスタエネルギー最小点の選択は、例1におけるステップでは、図8に示したフローチャート1a及び図9に示したフローチャート1bに進んで行った。本例2では、図15に示したフローチャート2a及び図16に示したフローチャート2bに進んで、メモリ参照による方法で行う。このことについては後述する。
S1404において、通し番号iを与える点xを決めて、S1406における、ステップ2のS706と同じ更新処理が終わった後に、次の通し番号i+1に進むための前処理として、S1408とS1410において2つの更新処理を行う。これらも後述する。
点yでの点エネルギーJ1及びクラスタエネルギーJ2は、ステップ2でのように逐次計算する必要はなく、それぞれ(12)式及び(13)式で説明したように、eapart(y),etouch(y)値を参照して決定できるから、S1510あるいはS1610において、それらをJcurrentに代入すればよい。
通し番号iに対応する点x=v(i)を新たに設定したことにより、残りの未処理点y∈D\(Xi∪{x})のエネルギー値は、点xとの間に働く項のみ値が変わる(逆に言えば、その他の点とyとの関係は変わらない)。したがって、図17に示すフローチャート2cで、この変更分だけを計算してエネルギー値記憶メモリを更新する。
これによって、通し番号iを点xに与えたことによる未処理点(まだ通し番号を与えていない点)yでのエネルギー値の変動分が計算/更新される。なお、未処理点の判定処理は、S1712において型通りに行われる。
・X={x∈D:patt(x)=BLACK}∩{x∈D:cnum(x)=j}
と定義して、S1808でJtouch=J1(X,y,fr)と定義される。さらに、S1810においては、yのクラスタ番号をxと同じ番号jに設定する。なお、未処理点の判定処理は、S1812において型通りに行われる。
以上で通し番号iの付与に関わる全ての更新処理が終わる。
前記のステップ2又はステップ2Aにおいては、K個のクラスタを構成する始めの点(核点)、つまり、i=0からwh−1までの通し番号の生成工程のうち、始めのi=0,…,K−1までの番号は、「既に配置済みのクラスタに接触するように」という制約を外した上で、点エネルギー最小順に順次選択されている。この、始めのK個の点について通し番号を与える際には、別の方法を用いてもよい。例えば、予めランダムにK個の点を配置した上で、エネルギー降下によって最適配置に収束させた上で、それらの点についてエネルギー最小順に通し番号を与えてもよい。ここでは、そのような方法について説明する。なお、K個の点を配置してエネルギー降下によって最適配置に収束させる方法自体は、例えば非特許文献3に記載されている。また、i=0からK−1までの通し番号生成工程は、前述の例1とほぼ同様に行うことができる。従って、いずれもフローチャートは省略して説明する。以下の説明においては、記号や用語は例1,2と同じものであるとする。
はじめに、例1の4.1.1節(ステップ1:準備)と同様にして初期化を行う。次に、D内からランダムに選択したK個の点を点集合Xとして、各x∈Xに対して、patt(x)=BLACKと定める。次に、各点xをXの他の点と重複しない様に局所的に移動させて、(1)式に示した各点の点エネルギーI(X,x,fr)が最も低い状態に移動させる。その移動先をxとして、patt(x)=WHITE、patt(x)=BLACKと更新する。この工程を全ての点x∈Xについて、よりエネルギーを低下できる点が存在しなくなるまで反復する。こうして最もエネルギーの低い状態に収束させたK個の点が核点に相当する。この工程においては、閾値t≧0を設け、各点を移動させた際のエネルギー悪化がt未満の場合に常に移動を許容し、移動と共にtを小さくしてゆくという方法を取っても良い。この方法によれば、単純に各点を最もエネルギーが低い点に移動する山登り法よりもよりエネルギーが低い状態に収束させることができる場合がある。なお上記において初めからt=0で固定すれば、この山登り法に一致する。例として、図19に、前記のw=h=160,K=278の場合の初期ランダム配置(図19(a)参照(エネルギー降下前))と、上記工程による収束結果(図19(b)参照(エネルギー降下後))を図示する(patt(x)=BLACKとなる点xを図示したもの)。なおこの図19では、エネルギーを完全に最小化していない状態で止めている。
次に、K個の核点について、最もエネルギーが低い点から順に通し番号0,…,K−1を与える。つまり、通し番号iに対して、既に与えたれた通し番号j=0,…,i−1を持つ全ての点を点灯させたときに、まだ点灯してない核点のうち最も点エネルギーが最小の核点を選択して通し番号iを与える処理を行う。以下具体的に説明する。まず、各点の集合Xを、
・X={x∈D:patt(x)=BLACK}
と置き、各点x∈Xに対してpatt(x)=EMPTYと一旦リセットする。i=0として、
・Xi={x∈X:patt(x)=BLACK}
と置いて、y∈X\Xi中でJcurrent=J1(Xi,y,fr,i)が最小となるyを取って、x=yと置く。更にフローチャート1のS706と同様に、
・patt(x)=BLACK
・v(i)=x
・cnum(x)=i
・s(j)=s(j)+1
・smin=min{s(i):i=0,…,K−1}
と更新する。なおこれらの意味については例1の4.1.2節(ステップ2)に前述している。このようにして更新が終わったら、i:=i+1と更新して、上記Xiの定義以降の処理を繰り返し、i=K−1まで更新処理を行う。
なお、ステップ2で通し番号0,…,wh−1を得た後に、ステップ2において例えば(10)式によりwh/lで除算して、閾値マトリクス内の各点に閾値0,…,l−1を割り当てると、本工程で決めた0,…,K−1の番号は最終的には閾値0,…,(K−1)・l/(wh)に相当する。上記のw=h=160,K=278の場合で、l=256とすると、0,…,2.77に相当するから、256階調のうちのハイライト側3階調目までに相当する。この範囲はクラスタが形成される前の段階であって、核点が順次点灯してゆく段階に対応している。一般には例1(2)の方法で充分な画質が得られるが、ハイライト側の画質が特に重視されるような場合には本例3の方法を用いても良い。
前述の例1〜例3では、ハイライト側(通し番号0)からシャドー側(通し番号wh−1)にクラスタ成長している(通し番号を割り付けている)が、例えば任意の中間濃度(通し番号p)を用意して、
・i=0,1,…,p−1,wh−1,wh−2,…,pの順、あるいは
・i=0,wh−1,1,wh−2,2,wh−3,…,p−1,pの順
でクラスタ成長させることも可能である。
・黒ドット用:etouchb,eapartb,cnumb,sminb
・白ドット用:etouchw,eapartw,cnumw,sminw
として、注目画素patt(x)がBLACKかWHITEかに応じてこれらのメモリをポインタで切り替えて使えばよい。(ステップ1において2値パターンメモリpatt用に“WHITE”も定義してあるのはこのクラスタ成長順の制御を行う場合のためである。)通し番号の順番やこれらの注目画素色に応じたポインタ切り替え以外にステップ2Aの処理フロー自体に代わりはなく、そのまま使える。これにより、それぞれBLACKとWHITEに着目して最小エネルギー点を選択して通し番号を与えることができる。
図20に、w=h=160,K=278,l=256でp=wh/2、つまり濃度50%を境にしてハイライト側(0%)とシャドー側(100%)からそれぞれ50%に向けてi=0,wh−1,1,wh−2,2,wh−3,…,p−1,pの順により黒クラスタと白クラスタをそれぞれクラスタ成長させて生成したマスクで2値化した画像の例を示す。
2.3節で説明したように、ランダム型クラスタドットハーフトーンマスクには、概念として確率的クラスタドットハーフトーンマスク(非特許文献5,6)とグリーンノイズマスク(特許文献5、非特許文献4)とがある。本節では、本技術が前者タイプに属する技術であるということを確認する。
図21に分散ドットハーフトーンマスクと本技術の方法で生成されるマスクについて、閾値24での2値パターンとRAPSDを取った結果例を示す。図21(a)は、分散ドットマスク(非特許文献3(前記、<2.1 ランダム型分散ドットハーフトーンマスクの生成>で説明した方法で生成したマスク))による閾値24でのハーフトーンパターンの例であり、図21(b)は該パターンのRAPSDを表している。一方、図21(c)は本技術により生成したマスクによる閾値24でのハーフトーンパターンの例であり、図21(d)はこの該パターンのRAPSDを表している。同様に、図22(a)(c)は、それぞれ、図21(a)(c)と同じマスクによる閾値80でのハーフトーンパターンの例であり、図22(b)(d)はそれぞれ、それらパターンのRAPSDを表している。
分散ドットハーフトーンマスクは濃度の増減と共にRAPSDのピーク周波数が高周波側に移動していくのが確認できる。この性質は、定義からグリーンノイズマスクでも同様である。一方で、本技術によるランダム型クラスタドットハーフトーンマスクでは、確率的クラスタドットハーフトーンマスクと同様に、濃度の増減に関わらずRAPSDのピーク周波数は固定されることが確認できる。
図23を参照して、本実施の形態のマスク生成装置100、画像形成装置200のハードウェア構成例について説明する。図23に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部2317と、プリンタなどのデータ出力部2318を備えたハードウェア構成例を示している。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…エネルギー算出モジュール
120…順位付モジュール
130…閾値割当モジュール
140…出力モジュール
200…画像形成装置
210…画像受付モジュール
220…マスク処理モジュール
230…出力モジュール
Claims (9)
- 画像処理用マスク内の各点におけるクラスタエネルギーを算出する算出ステップと、
前記算出ステップによって算出されたクラスタエネルギーの値に基づいて、前記各点に対して昇順又は降順に順位付けを行う順位付ステップと、
前記順位付ステップによる処理結果である順位に基づいて、画像処理用マスク内の閾値を割り当てる閾値割当ステップ
を行い、
前記算出ステップによるクラスタエネルギーの算出は、前記各点であってクラスタに隣接する注目点xと、該注目点xを含まないクラスタに属する点yとの間の距離‖x−y‖を変数とする相互影響値fr(‖x−y‖)の総和により定義される
ことを特徴とする画像処理用マスク生成方法。 - 前記クラスタエネルギーはさらに、注目点xと未だ順位付けされていない点によって構成されている空白領域に属する点yとの間の距離‖x−y‖を変数とする相互影響値fr(‖x−y‖)の負総和との、重み付き平均で定義される
ことを特徴とする請求項1に記載の画像処理用マスク生成方法。 - 前記関数frは、予め定められた強度の凸性を有する2階微分可能関数により定められている
ことを特徴とする請求項1又は2に記載の画像処理用マスク生成方法。 - 前記順位付ステップは、順位iを与える際に、
昇順に順位付けを行う場合には、より上位の順位が付された点全体を前記算出ステップにおけるクラスタエネルギー算出の対象とし、
降順に順位付けを行う場合には、より下位の順位が付された点全体を前記算出ステップにおけるクラスタエネルギー算出の対象とし、
前記いずれの場合も、まだ順位付けがされてない点について前記算出ステップによりクラスタエネルギーを算出し、クラスタエネルギーが最小である点に順位iを与える
ことを特徴とする請求項1から3のいずれかに記載の画像処理用マスク生成方法。 - 前記算出ステップは、K個のクラスタの核点を画像処理用マスク内にランダムに配置し、該クラスタをエネルギー降下によって最適配置に収束させ、
前記順位付ステップは、前記K個の核点にクラスタエネルギーの昇順に通し番号0〜K−1を与える
ことを特徴とする請求項1から4のいずれか一項に記載の画像処理用マスク生成方法。 - 前記算出ステップは、クラスタの形成を画像の黒色側から白色側又は白色側から黒色側へと成長させ、予め定められた濃度で白色側から黒色側又は黒色側から白色側へと成長を反転させる
ことを特徴とする請求項1から5のいずれか一項に記載の画像処理用マスク生成方法。 - コンピュータを、
画像処理用マスク内の各点におけるクラスタエネルギーを算出する算出手段と、
前記算出手段によって算出されたクラスタエネルギーの値に基づいて、前記各点に対して昇順又は降順に順位付けを行う順位付手段と、
前記順位付手段による処理結果である順位に基づいて、画像処理用マスク内の閾値を割り当てる閾値割当手段
として機能させ、
前記算出手段によるクラスタエネルギーの算出は、前記各点であってクラスタに隣接する注目点xと、該注目点xを含まないクラスタに属する点yとの間の距離‖x−y‖を変数とする相互影響値fr(‖x−y‖)の総和により定義される
ことを特徴とする画像処理用マスク生成プログラム。 - 画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像を対象として、該画像内の画素値と前記請求項1から6のいずれか一項に記載の画像処理用マスク生成方法、又は前記請求項7の画像処理用マスク生成プログラムによって生成された画像処理用マスク内の閾値とを比較するマスク処理を行うことによって、ハーフトーン画像を生成するマスク処理手段と、
前記マスク処理手段によって生成されたハーフトーン画像を出力する出力手段
を具備することを特徴とする画像処理装置。 - 画像処理装置を、
画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像を対象として、該画像内の画素値と前記請求項1から6のいずれか一項に記載の画像処理用マスク生成方法、又は前記請求項7の画像処理用マスク生成プログラムによって生成された画像処理用マスク内の閾値とを比較するマスク処理を行うことによって、ハーフトーン画像を生成するマスク処理手段と、
前記マスク処理手段によって生成されたハーフトーン画像を出力する出力手段
として機能させることを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057354A JP5891865B2 (ja) | 2012-03-14 | 2012-03-14 | 画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム |
US13/585,479 US8744212B2 (en) | 2012-03-14 | 2012-08-14 | Image processing mask creating method, non-transitory computer-readable recording medium having image processing mask creating program recorded thereon, image processing device, and non-transitory computer-readable recording medium having image processing program recorded thereon |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057354A JP5891865B2 (ja) | 2012-03-14 | 2012-03-14 | 画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013192072A JP2013192072A (ja) | 2013-09-26 |
JP5891865B2 true JP5891865B2 (ja) | 2016-03-23 |
Family
ID=49157725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012057354A Expired - Fee Related JP5891865B2 (ja) | 2012-03-14 | 2012-03-14 | 画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8744212B2 (ja) |
JP (1) | JP5891865B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5896207B2 (ja) * | 2011-11-24 | 2016-03-30 | 富士ゼロックス株式会社 | 分布評価装置、分布決定装置、画像処理装置およびプログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5111310A (en) | 1990-12-04 | 1992-05-05 | Research Technologies Corporation, Inc. | Method and apparatus for halftone rendering of a gray scale image using a blue noise mask |
US5535020A (en) * | 1992-10-15 | 1996-07-09 | Digital Equipment Corporation | Void and cluster apparatus and method for generating dither templates |
US5696602A (en) * | 1995-08-31 | 1997-12-09 | Lexmark International, Inc. | Method for halftoning using stochastic dithering with minimum density variance |
US5963715A (en) * | 1996-08-15 | 1999-10-05 | Seiko Epson Corporation | Color stochastic screening with optimal color dot placement for display devices having arbitrary aspect ratios |
US6088512A (en) * | 1997-07-09 | 2000-07-11 | Seiko Epson Corporation | Void-and-cluster dither-matrix generation for better half-tone uniformity |
US6493112B1 (en) | 1998-01-16 | 2002-12-10 | University Of Delaware | Method and apparatus for producing halftone images using green-noise masks having adjustable coarseness |
US6304340B1 (en) * | 1998-11-18 | 2001-10-16 | Xerox Corporation | Composite halftone screens with stochastically distributed clusters or lines |
US6917443B1 (en) * | 1998-11-18 | 2005-07-12 | Xerox Corporation | Composite halftone screens with stochastically distributed clusters or lines |
US6433891B1 (en) * | 1998-12-14 | 2002-08-13 | Oak Technology, Inc. | Stochastic screening method with dot pattern regularity control and dot growth |
JP3427026B2 (ja) * | 1999-12-24 | 2003-07-14 | 大日本スクリーン製造株式会社 | 網点形成方法および装置 |
JP4010097B2 (ja) | 2000-07-21 | 2007-11-21 | 富士ゼロックス株式会社 | 画像処理装置および画像処理方法、ならびにハーフトーン画像生成用閾値マトリックスの作成方法 |
US6710778B2 (en) * | 2001-02-12 | 2004-03-23 | Lexmark International, Inc. | Method for halftoning using a difference weighting function |
US6724501B2 (en) * | 2001-06-22 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Apparatus and method for dither matrix design for color halftoning using dispersed dot clusters |
JP4143560B2 (ja) | 2004-03-05 | 2008-09-03 | 富士フイルム株式会社 | 閾値マトリクスの作成方法及びその装置 |
JP2006005926A (ja) * | 2004-06-14 | 2006-01-05 | Oce Technol Bv | ディザマスクを生成する方法 |
JP4168033B2 (ja) | 2005-01-19 | 2008-10-22 | 富士フイルム株式会社 | 閾値マトリクスの作成方法及びその閾値マトリクス |
JP2007129441A (ja) * | 2005-11-02 | 2007-05-24 | Canon Inc | 閾値マトリクス作成法および画像処理方法 |
EP1916624B1 (en) * | 2006-10-25 | 2016-11-23 | Agfa HealthCare NV | Method for segmenting a digital medical image. |
US20100034444A1 (en) * | 2008-08-07 | 2010-02-11 | Helicos Biosciences Corporation | Image analysis |
JP5326670B2 (ja) * | 2009-03-05 | 2013-10-30 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
-
2012
- 2012-03-14 JP JP2012057354A patent/JP5891865B2/ja not_active Expired - Fee Related
- 2012-08-14 US US13/585,479 patent/US8744212B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013192072A (ja) | 2013-09-26 |
US8744212B2 (en) | 2014-06-03 |
US20130243350A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6649750B2 (ja) | 画像処理装置、画像処理方法 | |
JP5887770B2 (ja) | 画像処理装置及び画像処理プログラム | |
US7760400B2 (en) | Creating multiple threshold matrices to be used in error diffused multilevel halftoning | |
JP4381360B2 (ja) | 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体 | |
Goyal et al. | Clustered-dot halftoning with direct binary search | |
US7885486B2 (en) | Image processing system, method for processing image and computer readable medium | |
JP2016058879A (ja) | 画像処理装置及び画像処理方法 | |
JP5891865B2 (ja) | 画像処理用マスク生成方法、画像処理用マスク生成プログラム、画像処理装置及び画像処理プログラム | |
US8385635B2 (en) | Image processing apparatus for performing AM screen processing and FM screen processing, image processing method, computer-readable medium | |
JP2012114523A (ja) | 画像処理装置及びその制御方法、並びにプログラム及び記憶媒体 | |
JP4570534B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、及びコンピュータプログラム | |
JP6486082B2 (ja) | 画像処理装置及び画像処理方法、プログラム | |
JP6765103B2 (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
JP6745185B2 (ja) | 閾値マトリクスの作成方法及び閾値マトリクス作成装置並びにプログラム | |
JP4080252B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、プログラムおよび記録媒体 | |
JP5458969B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4027300B2 (ja) | 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体 | |
JP4549306B2 (ja) | 画像処理方法、画像処理装置、画像形成装置、及びコンピュータプログラム | |
JP4589887B2 (ja) | 画像処理装置 | |
JP2006033643A (ja) | 画像処理装置、画像形成装置、画像処理方法及びコンピュータプログラム | |
JP6547738B2 (ja) | 画像処理装置、ハーフトーンスクリーン生成装置、ハーフトーンスクリーン生成方法、及びハーフトーンスクリーン生成プログラム | |
JP4650945B2 (ja) | 画像処理方法、画像処理装置、画像記録装置、プログラムおよび記録媒体 | |
JP4470789B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2010191931A (ja) | 画像処理装置、画像形成装置、コンピュータプログラム、記録媒体及び画像処理方法 | |
JP3950871B2 (ja) | 画像処理方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151225 |
|
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: 20160126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5891865 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |