閾値配列を用いたハーフトーンスクリーン
前ブログでは、AM や FM スクリーニングの話をしたが、PostScript では閾値配列(スレッショルド配列)を用いて独自のハーフトーンスクリーンを簡単かつ柔軟に構築できる。この閾値配列を用いる事により、希望するサイズのハーフトーンセルの中で、ハイライトからシャドーにかけ、ピクセルを置く順番をピクセル単位で設定できる。ただし、1度置いたピクセルは取り消すことができないという制約がある。閾値データは、8 ビットもしくは 16 ビットのデータを取り、それぞれ 256 階調もしくは 65,536 階調までを表現する能力を持つ。閾値データは、PostScript の配列形式、もしくはファイルとして保存される。ファイルを使用すれば、PostScript の配列表記の実装上の制限を回避できる。また、角度を持ったハーフトーンスクリーンも構築することができる。PDF は、PostScript のファイル形式の閾値配列と同等のハーフトーン辞書をサポートするが、ファイルではなくストリームとして閾値データを取り込む。
この閾値配列を用いて、多くのハーフトーンスクリーンが開発され、印刷ディバイス内で使用されている。閾値配列を開発する場合、ハーフトーンセルがタイリングで敷き詰められるため、四方八方で隣接する他のハーフトーンセル内のピクセルからの影響を考慮することが必要となり、ハーフトーンセルのサイズが大きくなると最適なピクセル位置を計算するのに膨大な計算が必要となる。しかしながら、コンピューターが計算で選び出したピクセル位置が必ずしも人間の目にとって最適な位置とはならないことが悩ましい。コンピュータースクリーン上で完璧に見えるスクリーンは、往々にして印刷すると縞模様が現れるのである。適切なノイズを加えることがとても重要である。
1つ、大変面白いハーフトーン辞書を遊びで作成したので例として紹介する。このハーフトーン辞書は、HarlftoneType 3 のハーフトーン辞書であり、32 x 32 の閾値配列で構成されている。この閾値配列では、32 x 32 のハーフトーンセルの中に星型の優先領域を儲け、その輪郭に沿った内側から優先的にピクセルを割り当て、星の内部をピクセルが埋め尽くした後に、外側領域にピクセルを広げていく様に閾値配列が設計されている。勿論、周辺のハーフトーンセル内のピクセルが考慮されている。このように、閾値配列を用いたハーフトーンスクリーンは柔軟性が高い。
コメント