(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-07
(45)【発行日】2022-02-16
(54)【発明の名称】3値論理を用いるベクトル化マルチレベルハーフトーン処理
(51)【国際特許分類】
H04N 1/405 20060101AFI20220208BHJP
B41J 2/52 20060101ALI20220208BHJP
G06F 9/38 20060101ALI20220208BHJP
G06F 9/305 20060101ALI20220208BHJP
G06F 9/308 20060101ALI20220208BHJP
G06F 9/345 20060101ALI20220208BHJP
【FI】
H04N1/405
B41J2/52
G06F9/38 370A
G06F9/305 C
G06F9/308 A
G06F9/345
(21)【出願番号】P 2020208523
(22)【出願日】2020-12-16
【審査請求日】2020-12-16
(32)【優先日】2019-12-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ウォルター エフ ケイリー
(72)【発明者】
【氏名】トマシュ ルトコフスキ
(72)【発明者】
【氏名】デイヴィッド ワード
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2001-277493(JP,A)
【文献】特開2007-076306(JP,A)
【文献】特開2009-188985(JP,A)
【文献】特開平11-232450(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/40 - 1/409
B41J 2/52 - 2/525
G06F 9/38
G06F 9/30 - 9/355
(57)【特許請求の範囲】
【請求項1】
ハーフトーンシステムであって、
少なくとも1つのプロセッサと、
前記プロセッサにより実行可能なコンピュータプログラムを含むメモリと、
を含み、前記プロセッサは、前記ハーフトーンシステムに、
ピクセルのアレイを含むラスタ画像を受信させ、
前記ピクセルの1つ以上のブロックに対してマルチレベルハーフトーン処理を実行させ、
前記マルチレベルハーフトーン処理では、
前記プロセッサは、更に、前記ハーフトーンシステムに、異なる強度レベルを区別する閾値を識別させ、
前記1つ以上のブロックのうちの前記ピクセルのブロック毎に、前記プロセッサは、前記ハーフトーンシステムに、
前記ブロックの中の前記ピクセルについてピクセル値セットを識別させ、
前記ピクセル値セットの前記閾値の各々とのベクトル比較を実行させて、比較ビットセットを生成させ、
前記比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行させて、前記ブロックの中の前記ピクセルについて、下位ビットのセットを定義させ、
前記比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、前記ブロックの中の前記ピクセルについて、上位ビットのセットを定義させる、
ハーフトーンシステム。
【請求項2】
前記プロセッサは、更に、前記ハーフトーンシステムに、
第1ビット平面の中に前記下位ビットの1つ以上のセットを配置させ、
第2ビット平面の中に前記上位ビットの1つ以上のセットを配置させる、
請求項1に記載のハーフトーンシステム。
【請求項3】
前記プロセッサは、前記ハーフトーンシステムに、前記第1ビット平面及び前記第2ビット平面の送信を開始させる、請求項2に記載のハーフトーンシステム。
【請求項4】
全シートサイド上の前記ピクセルについて、前記第1ビット平面は前記下位ビットを含み、前記第2ビット平面は前記上位ビットを含む、請求項2に記載のハーフトーンシステム。
【請求項5】
シートサイドの一部の上の前記ピクセルについて、前記第1ビット平面は前記下位ビットを含み、前記第2ビット平面は前記上位ビットを含む、請求項2に記載のハーフトーンシステム。
【請求項6】
前記
下位ビットの1つ以上のセットの各々は8個のピクセル
の各々に対応する8個の下位ビットを含み、
前記
上位ビットの1つ以上のセットの各々は8個のピクセルの
各々に対応する8個の上位ビットを含む、請求項2に記載のハーフトーンシステム。
【請求項7】
前記プロセッサは、前記ハーフトーンシステムに、インターリーブ動作を実行させて、前記第1ビット平面及び前記第2ビット平面の送信を融合させ、ハーフトーン画像のピクセル値を形成させる、請求項2に記載のハーフトーンシステム。
【請求項8】
前記プロセッサは、前記ハーフトーンシステムに、異なる色平面の複数のラスタ画像に対して、前記マルチレベルハーフトーン処理を実行させる、請求項1に記載のハーフトーンシステム。
【請求項9】
前記プロセッサは、単一命令多重データ処理(Single Instruction Multiple Data、SIMD)アーキテクチャを有する中央処理ユニット(Central Processing Unit、CPU)を含む、請求項1に記載のハーフトーンシステム。
【請求項10】
前記プロセッサは、単一命令多重データ処理(Single Instruction Multiple Data、SIMD)アーキテクチャを有するグラフィック処理ユニット(Graphical Processing Unit、GPU)を含む、請求項1に記載のハーフトーンシステム。
【請求項11】
請求項1に記載のハーフトーンシステムを含む画像形成機器。
【請求項12】
前記プロセッサは、前記ハーフトーンシステムに、
前記ピクセル値セットと前記閾値のうちの第1閾値とのベクトル比較を実行させて、第1比較ビットセットを生成させ、
前記ピクセル値セットと前記閾値のうちの第2閾値とのベクトル比較を実行させて、第2比較ビットセットを生成させ、前記閾値のうちの前記第2閾値は、前記閾値のうちの前記第1閾値より大きく、
前記ピクセル値セットと前記閾値のうちの第3閾値とのベクトル比較を実行させて、第3比較ビットセットを生成させ、前記閾値のうちの前記第3閾値は、前記閾値のうちの前記第2閾値より大きく、
前記第1比較ビットセット、前記第2比較ビットセット、及び前記第3比較ビットセットを入力として、前記第1の3値論理演算を実行させて、下位ビットの前記セットを定義させ、
前記第1比較ビットセット、前記第2比較ビットセット、及び前記第3比較ビットセットを入力として、前記第2の3値論理演算を実行させて、上位ビットの前記セットを定義させる、
請求項1に記載のハーフトーンシステム。
【請求項13】
ハーフトーン方法であって、前記方法は、
ピクセルのアレイを含むラスタ画像を受信するステップと、
前記ピクセルの1つ以上のブロックに対してマルチレベルハーフトーン処理を実行するステップであって、
異なる強度レベルを区別する閾値を識別するステップと、
前記1つ以上のブロックのうちの前記ピクセルのブロック毎に、
前記ブロックの中の前記ピクセルについてピクセル値セットを識別するステップと、
前記ピクセル値セットの前記閾値の各々とのベクトル比較を実行して、比較ビットセットを生成するステップと、
前記比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行して、前記ブロックの中の前記ピクセルについて、下位ビットのセットを定義するステップと、
前記比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、前記ブロックの中の前記ピクセルについて、上位ビットのセットを定義するステップと、
を含む方法。
【請求項14】
第1ビット平面の中に前記下位ビットの1つ以上のセットを配置するステップと、
第2ビット平面の中に前記上位ビットの1つ以上のセットを配置するステップと、
請求項13に記載の方法。
【請求項15】
前記第1ビット平面及び前記第2ビット平面の宛先への送信を開始するステップ、を更に含む請求項14に記載の方法。
【請求項16】
インターリーブ動作を実行して、前記第1ビット平面及び前記第2ビット平面の送信を融合し、ハーフトーン画像のピクセル値を形成するステップ、を更に含む請求項14に記載の方法。
【請求項17】
プログラム命令を実装している非一時的コンピュータ可読媒体であって、前記プログラム命令は、プロセッサにより実行されると、ハーフトーン方法を実行するために動作し、前記方法は、
ピクセルのアレイを含むラスタ画像を受信するステップと、
前記ピクセルの1つ以上のブロックに対してマルチレベルハーフトーン処理を実行するステップであって、
異なる強度レベルを区別する閾値を識別するステップと、
前記1つ以上のブロックのうちの前記ピクセルのブロック毎に、
前記ブロックの中の前記ピクセルについてピクセル値セットを識別するステップと、
前記ピクセル値セットの前記閾値の各々とのベクトル比較を実行して、比較ビットセットを生成するステップと、
前記比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行して、前記ブロックの中の前記ピクセルについて、下位ビットのセットを定義するステップと、
前記比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、前記ブロックの中の前記ピクセルについて、上位ビットのセットを定義するステップと、
を含む、コンピュータ可読媒体。
【請求項18】
前記方法は、
第1ビット平面の中に前記下位ビットの1つ以上のセットを配置するステップと、
第2ビット平面の中に前記上位ビットの1つ以上のセットを配置するステップと、
を更に含む、請求項17に記載のコンピュータ可読媒体。
【請求項19】
前記方法は、前記第1ビット平面及び前記第2ビット平面の宛先への送信を開始するステップ、を更に含む請求項18に記載のコンピュータ可読媒体。
【請求項20】
前記方法は、インターリーブ動作を実行して、前記第1ビット平面及び前記第2ビット平面の送信を融合し、ハーフトーン画像のピクセル値を形成するステップ、を更に含む、請求項18に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像形成の分野に関し、特にラスタ画像のハーフトーン処理に関する。
【背景技術】
【0002】
ハーフトーン処理(Halftoning)は、サイズ及び/又は間隔の変化するドットのパターンにより、2次元媒体上で連続トーン画像をシミュレートする技術である。ハーフトーン画像の再現は、適正な距離から見るとき、多くの色又は階調(gray)で構成されるように見える。例えば、黒及び白色ドットで構成されるハーフトーン画像は、種々のグレイレベルを表示するように見えることがある。前の世代のプリンタは、粗い解像度を有し、2色レベルの画像再現に限定されていた(つまり、ピクセルが色でマークされるか又は空白のままにされる)。これらの種類のプリンタのためのハーフトーン技術は、一般的に2レベルハーフトーン(bi-level halftoning)と呼ばれ、1ビットにより定義されるピクセル値により、ハーフトーン画像を生成する。プリンタは、複数の強度レベルにより、より精細な解像度に対応するよう発展してきた。このようなプリンタでは、マルチレベル又はマルチビットハーフトーン技術が、複数のビット(例えば、2ビット、3ビット、等)により定義されるピクセルによりハーフトーン画像を生成するために使用され得る。マルチレベルハーフトーンは、2レベルハーフトーンと比べて、より低い空間分解能で元の画像に対してより良好な知覚的忠実度を生成する。しかしながら、マルチレベルハーフトーンは、計算コストが高くなり得る。
【発明の概要】
【0003】
本願明細書では、3値論理を用いるマルチレベルハーフトーンのためのハーフトーンシステム、方法、及びソフトウェアが提供される。概要として、本願明細書に記載されるハーフトーンシステムは、ラスタ画像からのピクセルブロックに対して動作する。ハーフトーンシステムは、ピクセルブロックのピクセル値を、複数の強度レベルを区別するために定義された閾値と比較する。例えば、4レベル再現では、ハーフトーンシステムは、ピクセルブロックのピクセル値を3つの閾値と比較する。ピクセル値と閾値の各々との比較は、比較ビットセットを生じる。ハーフトーンシステムは、3値論理演算を用いて、各ピクセルの比較ビットを出力ビットにマッピングする。例えば、ある3値論理演算は、比較ビットをピクセルの下位ビットにマッピングするために使用されてよく、別の3値論理演算は、比較ビットをピクセルの上位ビットにマッピングするために使用されてよい。3値論理演算は、従って、組み合わせによりラスタ画像のハーフトーン画像を定義するビット平面(bit plane)を生成するために使用されてよい。例えば、2ビット(4レベル)出力は、以下の2つのビット平面で構成される:1つは各ピクセルの下位ビット(又は最下位ビット)のための平面、1つは各ピクセルの上位ビット(又は最上位ビット)のための平面である。ある技術的利点は、従来のアプローチよりピクセル当たり又はピクセルブロック当たりの命令数の桁が少ないので、本願明細書に記載されるようなマルチレベルハーフトーンがより計算効率が良いことである。
【0004】
一実施形態は、少なくとも1つのプロセッサと、該プロセッサにより実行可能なコンピュータプログラムコードを含むメモリと、を含むハーフトーンシステムを有する。プロセッサは、ハーフトーンシステムに、ピクセルアレイを含むラスタ画像を受信させ、該ピクセルの1つ以上のブロックに対してマルチレベルハーフトーン処理を実行させる。マルチレベルハーフトーン処理では、プロセッサは、ハーフトーンシステムに、更に、異なる強度レベルを区別する閾値を識別させる。1つ以上のブロックのうちのピクセルのブロック毎に、プロセッサは、ハーフトーンシステムに、
ブロックの中のピクセルについてピクセル値セットを識別させ、
ピクセル値セットと各閾値とのベクトル比較を実行させて、比較ビットセットを生成させ、
比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行させて、ブロックの中のピクセルについて、下位ビットのセットを定義させ、
比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、ブロックの中のピクセルについて、上位ビットのセットを定義させる。
【0005】
別の実施形態は、ハーフトーン方法を含む。方法は、ピクセルアレイを含むラスタ画像を受信するステップと、1つ以上のピクセルブロックに対してマルチレベルハーフトーン処理を実行するステップと、を含む。マルチレベルハーフトーン処理は、異なる強度レベルを区別する閾値を識別するステップを含む。1つ以上のブロックのうちのピクセルのブロック毎に、マルチレベルハーフトーン処理は、
ブロックの中のピクセルについてピクセル値セットを識別するステップと、
ピクセル値セットと各閾値とのベクトル比較を実行して、比較ビットセットを生成するステップと、
比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行して、ブロックの中のピクセルについて、下位ビットのセットを定義するステップと、
比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、ブロックの中のピクセルについて、上位ビットのセットを定義するステップと、を含む。
【0006】
別の実施形態は、プロセッサにより実行されるとハーフトーン方法を実行するよう動作するプログラム命令を実装している非一時的コンピュータ可読媒体を含む。方法は、ピクセルアレイを含むラスタ画像を受信するステップと、1つ以上のピクセルブロックに対してマルチレベルハーフトーン処理を実行するステップと、を含む。マルチレベルハーフトーン処理は、異なる強度レベルを区別する閾値を識別するステップを含む。1つ以上のブロックのうちのピクセルのブロック毎に、マルチレベルハーフトーン処理は、
ブロックの中のピクセルについてピクセル値セットを識別するステップと、
ピクセル値セットと各閾値とのベクトル比較を実行して、比較ビットセットを生成するステップと、
比較ビットセットのうちの3つを入力として、第1の3値論理演算を実行して、ブロックの中のピクセルについて、下位ビットのセットを定義するステップと、
比較ビットセットのうちの3つを入力として、第2の3値論理演算を実行させて、ブロックの中のピクセルについて、上位ビットのセットを定義するステップと、を含む。
【0007】
他の説明のための実施形態(例えば、前述の実施形態に関連する方法及びコンピュータ可読媒体)は以下に説明され得る。議論されている特徴、機能、及び利点は、種々の実施形態において独立に達成でき、又は更なる詳細が以下の説明及び図面を参照して理解できる更なる他の実施形態において結合されてよい。
【図面の簡単な説明】
【0008】
本開示の幾つかの実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。同じ参照符号は、全図において同じ要素又は同じ種類の要素を表す。
【0009】
【
図1】説明のための実施形態における画像形成機器の概略図である。
【0010】
【
図2】説明のための実施形態による、ハーフトーンシステムの概略図である。
【0011】
【0012】
【
図4】SIMD演算を実行するCPU及びGPUを示す。
【
図5】SIMD演算を実行するCPU及びGPUを示す。
【0013】
【
図6A】説明のための実施形態におけるハーフトーン方法を説明するフローチャートを示す。
【
図6B】説明のための実施形態におけるハーフトーン方法を説明するフローチャートを示す。
【0014】
【
図7】行及び列に八治されたピクセルのアレイを含むラスタ画像を示す。
【0015】
【
図8】説明のための実施形態におけるラスタ画像の中のピクセルのブロックを示す。
【0016】
【
図9】説明のための実施形態におけるローカルメモリにロードされたブロックのピクセル値セットを有するプロセッサの概略図である。
【0017】
【
図10】説明のための実施形態におけるベクトル比較を示す。
【
図11】説明のための実施形態におけるベクトル比較を示す。
【
図12】説明のための実施形態におけるベクトル比較を示す。
【0018】
【
図13】説明のための実施形態におけ3値論理演算を示す。
【
図14】説明のための実施形態におけ3値論理演算を示す。
【0019】
【
図15】説明のための実施形態におけるセレクタパラメータの計算を示す。
【0020】
【
図16】説明のための実施形態におけるハーフトーン画像のピクセル値を定義するビット平面を示す。
【
図17】説明のための実施形態におけるハーフトーン画像のピクセル値を定義するビット平面を示す。
【0021】
【
図18】説明のための実施形態におけるマージされたビット平面を有するハーフトーン画像を示す。
【0022】
【
図19】説明のための実施形態における所望の機能を実行するためのプログラム命令を実装しているコンピュータ可読媒体を実行する処理システムを示す。
【発明を実施するための形態】
【0023】
図面及び以下の説明は、本開示の特定の説明のための実施形態を説明する。従って、当業者は、本願明細書に明示的に示され又は説明されないが、本開示の原理を実施し、本開示の範囲に含まれる種々の構成を考案可能であることが理解される。更に、本願明細書に記載されるいかなる例も、本開示の原理を理解する助けとなることを意図しており、このような具体的に引用される例及び条件に限定されることがないものと考えられるべきである。結果として、本開示は、以下に説明する特定の実施形態又は例に限定されず、請求の範囲及びそれらの均等物により限定される。
【0024】
図1は、説明のための実施形態における画像形成機器100の概略図である。画像形成機器100は、記録媒体132に対して画像形成処理(例えば、印刷)を実行する種類の装置である。画像形成機器100は、紙のような連続形式の媒体のウェブに印刷する連続紙用プリンタを有してよい。連続紙用プリンタが議論されるが、本願明細書に記載の概念は、カット紙用プリンタ、ワイドフォーマットプリンタ、3Dプリンタ、等のような代替の印刷システムにも適用されてよい。
【0025】
本実施形態では、画像形成機器100は、デジタルフロントエンド(Digital Front End (DFE))110、1つ以上の印刷エンジン120、及び媒体運搬装置130を含む。DFE110は、印刷データ111を受け付け、印刷データ111を印刷エンジン120に適切なフォーマットに変換するよう構成される装置、回路、及び/又は他のコンポーネントを含む。DFE110は、入力/出力(I/O)インタフェース112、印刷制御部114、印刷エンジンインタフェース116、グラフィカルユーザインタフェース(GUI)118を含む。I/Oインタフェース112は、ソースから印刷データ111を受信するよう構成される装置、回路、及び/又は他のコンポーネントを含む。例えば、I/Oインタフェース112は、パーソナルコンピュータ、サーバ、等のようなホストシステム(図示しない)から、ネットワーク接続を介して印刷データ111を受信してよく、外部メモリ等から印刷データ111を受信してよい。従って、幾つかの実施形態では、I/Oインタフェース112は、ネットワークインタフェースと考えられてよい。印刷データ111は、PostScript、PCL(Printer Command Language)、IPDS(Intelligent Printer Data Stream)等のようなPDL(Page Description Language)でフォーマットされた、ファイル、文書、印刷ジョブ、等を含む。印刷制御部114は、印刷データ111を、インク、トナー、又は別の記録材料により記録媒体132にマークするために印刷エンジン120により使用され得る1つ以上のデジタル画像に変換するよう構成される装置、回路、及び/又は他のコンポーネントを含む。従って、印刷制御部114は、印刷データ111をラスタライズしてデジタル画像を生成するラスタ画像プロセッサ(Raster Image Processor (RIP))115を含む。デジタル画像は、ピクセルの2次元アレイを含む。PDLフォーマットの印刷データ111はコンテンツの上位レベルの説明であるが(例えば、テキスト、グラフィック、ピクチャ、等)、デジタル画像はディスプレイ空間における各ピクセルのピクセル値又は色値を定義する。印刷エンジンインタフェース116は、例えば印刷エンジン120にデジタル画像を送信するために、印刷エンジン120と通信するよう構成される装置、回路、及び/又は他のコンポーネントを含む。印刷エンジンインタフェース116は、通信リンク117(例えば、ファイバリンク、バス、等)を介して印刷エンジン120に通信可能に接続され、デジタル画像を印刷エンジン120へ転送するためにデータ転送プロトコルを使用するよう構成される。GUI118は、人間のオペレータと相互作用するよう構成されるハードウェアコンポーネントである。GUI118は、ディスプレイ、スクリーン、タッチスクリーン、等(例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、等)を含んでよい。GUI118は、キーボード又はキーパッド、トラッキングデバイス(例えば、トラックボール又はトラックバッド)、スピーカ、マイクロフォン、等を含んでよい。人間のオペレータは、GUI118にアクセスして、状態インジケータを閲覧し、設定を閲覧し又は操作し、印刷ジョブをスケジュールする、等してよい。
【0026】
印刷エンジン120は、DFEインタフェース122、印刷エンジン制御部124、及び印刷メカニズム126を含む。DFEインタフェース122は、例えばDFE110からデジタル画像を受信するために、DFEン110と通信するよう構成される装置、回路、及び/又は他のコンポーネントを含む。印刷エンジン制御部124は、DFE110から受信したデジタル画像を処理し及び制御信号を印刷メカニズム126に提供するよう構成される装置、回路、及び/又は他のコンポーネントを含む。印刷メカニズム126は、インク、トナー、等のような記録材料124により、記録媒体132をマークする1つ以上の装置である。印刷メカニズム126は、変化する液滴又はドットサイズについて、複数の強度レベルを再現するよう構成される。これは、ピクセルが「オン」又は「オフ」のいずれかである2レベルメカニズムと異なる。例えば、印刷メカニズム126がインクジェット装置である場合、ピクセル当たりの複数の強度レベルは、1、2、又は幾つかの液滴を同じ位置に印刷することにより、又は液滴のサイズを変化することにより、達成され得る。記録媒体132は、その上に記録材料134が適用される、印刷に適する任意の種類の材料を含み、例えば、紙(ウェブ又はカット紙)、プラスチック、カードストック、透明シート、3D印刷のための基板、布、等である。一実施形態では、印刷メカニズム126は、(例えば、水性、溶剤、油性、又はUV硬化型)インクのような印刷液体の液滴を、複数の穴又はノズルを通じて噴射又は噴出するよう構成される1つ以上のプリントヘッドを含んでよい。穴又はノズルは、インクの種類(例えば、シアン(C)、マゼンダ(M)、イエロー(Y)、キーブラック(K)のような色、又はプレコート、画像及びプロテクタコードのような方式)に従いグループ化されてよく、これは色平面と呼ばれてよい。別の実施形態では、印刷メカニズム126は、帯電粉末インク(トナー)を選択的に収集して、トナーを記録媒体132へ転送するドラムを含んでよい。媒体運搬装置130は、印刷メカニズム126に対して記録媒体132を移動するよう構成される。他の実施形態では、印刷メカニズム126の部分が、記録媒体132に対して移動するよう構成されてよい。
【0027】
画像形成機器100は、
図1に具体的に示されない種々の他のコンポーネントを含んでよい。
【0028】
RIP115が印刷データ111をラスタライズすると、出力は、デジタル連続トーン画像になり、個々のピクセルは比較的大きなピクセル値により定義される。例えば、デジタル連続トーン画像は、8以上のビットのピクセル値を有してよい。RIP115により生成されたデジタル連続トーン画像は、本願明細書で「ラスタ画像」と呼ばれる。8ビットピクセル値は、色の256個の異なる強度を表現し得る。しかしながら、標準的な印刷メカニズム(例えば、印刷メカニズム126)は、256個の異なるレベルで再現することができないことがある。従って、2ビット、3ビット、等のような少ないマルチビット値で個々のピクセルを定義するために、ハーフトーン処理が実行されてよい。
図1は、印刷制御部114に実装されるハーフトーンシステム140も示す。ハーフトーンシステム140は、以下に詳述する1つ以上のラスタ画像に対してマルチレベルハーフトーン処理を実行するよう構成される回路、ロジック、ハードウェア、及び/又は他のコンポーネントを含む。ハーフトーンシステム140はDFE110の印刷制御部114の中に実装されているように示されるが、ハーフトーンシステム140は、画像形成機器100に接続されたホストシステム又は別のシステム或いは他のシステムの中の、印刷エンジン制御部124(
図1に示す)の中に実装されてよい。
【0029】
図2は、説明のための実施形態における、ハーフトーンシステム140の概略図である。ハーフトーンシステム140は、1つ以上のプロセッサ204及びメモリ206を含む。プロセッサ204は、ハーフトーンシステム140の機能を提供する内部回路、ロジック、ハードウェア、等を表す。プロセッサ204は、メモリ206にロードされたソフトウェアの命令208(つまり、コンピュータプログラムコード)を実行するよう構成されてよい。プロセッサ204は、特定の実装に依存して、1つ以上のプロセッサのセットを含んでよく、又はマルチプロセッサコアを含んでよい。メモリ206は、データ、メーレイ208、アプリケーション、等のためのコンピュータ可読記憶媒体であり、プロセッサ204によりアクセス可能である。メモリ206は、一時的及び/又は永久的に情報を格納可能なハードウェア記憶装置である。メモリ206は、揮発性又は不揮発性RAM(Random-Access Memory)、ROM(Read-Only Memory)、FLASH(登録商標)装置、揮発性又は不揮発性SRAM(Static RAM)装置、磁気ディスクドライブ、SSD(Solid State Disk)、又は任意の他の揮発性又は不揮発性記憶装置を有してよい。
【0030】
プロセッサ204は、ベクトル処理210のために構成される。ベクトル処理210は、単一の値に対して作用するのに対して、「ベクトル」と呼ばれる値のセットに対して一度に作用する種類の処理である。
図3は、ベクトル処理演算を示す。プロセッサ204は、例えば、2つのベクトル301~302を入力として受信する。各ベクトルはオペランドのセットを有する。ベクトル301はオペランドセット311を含み、ベクトル302はオペランドセット312を含む。プロセッサ204は、両方のオペランドセット311及び312(各ベクトルから1つのオペランド)に対して一度に同じ演算(OP1)を実行でき、結果314を有するベクトル304を出力する。プロセッサ204は、単一命令多重データ(Single Instruction Multiple Data (SIMD))パラダイムを使用する中央処理ユニット(Central Processing Unit(CPU))又はグラフィック処理ユニット(Graphics Processing Unit (GPU))のようなベクトル処理210を可能にする種々のアーキテクチャを有してよい。SIMDパラダイムでは、単一の命令が複数のデータ点において並列に実行される。
【0031】
図4~5は、それぞれSIMD演算を実行するCPU400及びGPU500を示す。CPU400は、制御ユニット410と、複数の処理要素(processing elements (PE))412(例えば、算術論理ユニット(Arithmetic Logic Unit (ALU)))及び対応するレジスタ414(メモリモジュール(MM)とも呼ばれる)を含む1つ以上の処理クラスタと、を含むSIMDアーキテクチャ402を含む。本例では3つの処理要素412が示されるが、他の例ではより多くの又は少ない処理要素が使用されてよい。制御ユニット410は、クロックサイクルの間に、SIMD命令セット416をフェッチし又は読み出し、及び命令セット416からPE412へ命令を発効するよう構成される。制御ユニット410は、データフェッチ及びデータ記憶を管理するよう更に構成される。PE412は、制御ユニット410からの命令に基づき演算を実行する計算リソースを表す。レジスタ414は、PE412により実行される演算のために一時的にデータを格納するよう構成される。例えば、レジスタ414は、64ビット幅、128ビット幅、256ビット幅、512ビット幅、等であってよい。制御ユニット410は、また、データをレジスタ414にロードする処理を管理してよい。GPU500(
図5を参照)は、スレッド制御ユニット510と、複数のPE512及び対応するレジスタ514を含む1つ以上の処理クラスタと、を含むSIMDアーキテクチャ502を含む。
図4、5は、SIMD演算のためのCPU400及びGPU500の基本構造を示し、ここでは他の構造が検討されることに留意する。
【0032】
図2で、プロセッサ204は、3値論理演算212のためにも構成される。3値論理演算は、3つの入力されたブール値(又は「ビット」)を単一の出力ビットにマッピングする機能である。プロセッサ204は、3つの入力216と1つの出力218とを含む3値論理サブシステム214を含んでよい。3値論理サブシステム214は、複数の3値論理関数を実行するよう構成されてよい。例えば、256個(2
8)の定義された可能な3値論理関数が存在してよい。3値論理関数の間で選択するために、3値論理サブシステム214は、所与の入力216のセットのための所望の3値論理関数を選択するために使用されるセレクタパラメータ219(例えば、8ビットコード)を更に含む。上述のようなCPU400及び/又はGPU500は、本方法で3値論理を実装するために機械レベル命令を提供してよい。
【0033】
マルチレベルハーフトーン処理の一般的な概略として、ハーフトーンシステム140は、ラスタ画像220を入力として受信し、ラスタ画像220をマルチビットハーフトーン画像222へと変換する。マルチビットハーフトーン画像222は、ラスタ画像220より少ないビットでピクセル値を示す。ハーフトーンシステム140は、色平面について、ラスタ画像220からのピクセル値セットを異なる強度レベルを区別するために定義された閾値と比較することを、ラスタ画像220からのピクセルの1つ以上のブロックに渡り繰り返す。ピクセル値セットと閾値の各々との比較は、対応する比較ビットセットを生じる。3値論理演算212は、次に、ピクセルのビット平面224を生成するために、比較ビットに対して実行される。各ビット平面224は、ピクセルのビットのうちの1つを表す。例えば、第1ビット平面はピクセルの下位ビットを表し、第2ビット平面はピクセルの上位ビットを表す、等である。ビット平面224は、組み合わせで、マルチビットハーフトーン画像222を表す。
【0034】
図6A~6Bは、説明のための実施形態におけるハーフトーン方法600を説明するフローチャートを示す。方法600のステップは、
図2のハーフトーンシステム140を参照して説明されるが、当業者は、方法600が他のシステムにより実行されてよいことを理解する。本願明細書に記載のフローチャートのステップは、包括的ではなく、図示されない他のステップを含み得る。本願明細書に記載のステップは、代替的順序で実行されてもよい。
【0035】
図6Aで、プロセッサ204は、RIP115により生成されるような色平面のラスタ画像220を受信する(ステップ602)。
図7は、ラスタ画像220を示す。ラスタ画像220は、マルチビットピクセル値(pixel values (PV))によりピクセルアレイ702を表すデータ構造である。ピクセルは、行710及び列711に配置される。「m+1」個の行、及び「n+1」個の列711がある。説明を目的として、各ピクセル702は、(行、列)識別子(例えば、「(0,0)」)により示される。各ピクセル702は、8ビット、16ビット、等のようなx個のビットにより定義される関連するピクセル値PVを有する。例えば、ピクセル値が8ビットならば、各ピクセル702は、0~255(10進数)の間の任意の値を有してよい。ラスタ画像220は、単一の色平面、例えばシアン(C)、マゼンダ(M)、イエロー(Y)、又はキーブラック(K)のものである。
【0036】
図6Aで、プロセッサ204は、ラスタ画像220のピクセル702の1つ以上のブロックに対してマルチレベルハーフトーン処理を実行する(ステップ604)。2レベルハーフトーン処理と異なり、マルチレベルハーフトーン処理は、複数のビットでピクセル値を定義する出力を生成する。例えば、マルチレベルハーフトーン処理は、2ビット、3ビット、等であるピクセル値を生成してよい。プロセッサ204は、マルチレベル再現の閾値を識別してよい(ステップ606)。マルチレベル再現は、複数の強度レベル、従って異なる強度レベルを区別する複数の閾値を含む。強度レベルの数より1つ少ない閾値がある。例えば、2ビットにより表されるピクセルは、4個の強度レベル(例えば、00、01、10、11)を有してよい。4個の強度レベルを有する2ビットのこの例では、4個の強度レベルを区別する又は分割する3個の閾値がある。従って、プロセッサ204は、例えばメモリ206からこれらの閾値を読み出すことにより、第1閾値、第2閾値、及び第3閾値を識別してよい。3個の強度レベルを有する2ビットの例では、3個の強度レベルを区別する又は分割する2個の閾値がある。8個の強度レベルを有する3ビットの例では、8個の強度レベルを区別する7個の閾値があってよい。プロセッサ204は、後述のようにベクトル処理に対応するために、「集合(set、セット)」の中の閾値を識別する。
【0037】
マルチレベルハーフトーン処理では、ハーフトーンシステム140は、一度に、ピクセルの1つ以上のブロックに対して動作してよい。従って、プロセッサ204は、ブロックの中のピクセル702のピクセル値(PV)のセットを識別してよい。ピクセル702のブロックは、一度に処理される多数の又は一群のピクセルを含む。ブロックは、ラスタ画像220の行710内の連続する多数のピクセル、ある行710から別の行までを覆う(wrap around)多数のピクセル、又は別の所望のピクセルグループであってよい。
図8は、説明のための実施形態におけるラスタ画像220の中のピクセル702のブロック800を示す。本例では、ブロック800は、単一の行の中の8個のピクセル702を含む。しかし、上述のように、ブロック800は、他の例では他の数の又はグループのピクセルを有してよい。プロセッサ204は、ブロック800のピクセル値セットを、レジスタ、ローカルメモリ、又は他のメモリ位置にロードしてよい。
図9は、説明のための実施形態におけるローカルメモリにロードされたブロック800のピクセル値セット902を有するプロセッサ204の概略図である。
【0038】
図9は、ローカルメモリにロードされた、第1閾値(T1)のセット911、第2閾値(T2)のセット912、及び第3閾値(T3)のセット913を更に示す。本例では、第1閾値(T1)のセット911は、第1強度レベル及び第2強度レベルを区別するために使用される。第2閾値(T2)のセット912は、第2強度レベル及び第3強度レベルを区別するために使用される。第3閾値(T3)のセット913は、第3強度レベル及び第4強度レベルを区別するために使用される。4個より多くの強度レベルがある場合には、閾値の追加セットがプロセッサ204にロードされてよい。
図6Aで、プロセッサ204は、ピクセル値(PV)のセット902と、セット911~913のような閾値とのベクトル比較を実行する(ステップ610)。ベクトル比較は、ピクセル値(PV)のセット902が、閾値のセット911~913と一度に比較されることを意味する。ピクセル値(PV)のセット902と、閾値のセット911~913とは、同じ比較動作が両方の値セット(各ベクトルから1つ)に対して同時に実行される場合に「ベクトル」と考えられてよい。更に、ピクセル値(PV)のセット902は、プロセッサ204の能力に依存して同時に、閾値の各セット911~913と比較されてよいことに留意する。
図10~12は、説明のための実施形態におけるベクトル比較を示す。
図10で、プロセッサ204は、ピクセル値(PV)のセット902と、第1閾値のセット911とベクトル比較を実行して、比較ビット(CB)の第1セット1001を生成する。比較ビットのセットは、各ピクセル値と閾値との比較の結果を表す。例えば、ピクセル値が「220」であり、閾値が「64」である場合、該ビットの比較ビットは「1」であってよい。ピクセル値が「50」であり、閾値が「64」である場合、該ビットの比較ビットは「0」であってよい。従って、比較ビットのセットは、閾値のうちの1つに対応し、閾値を超えるピクセル値を示す。一実施形態では、第1閾値は、第1又は最小液滴/ドットサイズのためのものであってよい。これは、第1閾値を超えるピクセル値が、少なくとも最小液滴/ドットサイズ(つまり、最小液滴/ドットサイズ又はそれ以上)に対応することを意味する。
【0039】
図11で、プロセッサ204は、ピクセル値(PV)のセット902と、第2閾値のセット912とベクトル比較を実行して、比較ビット(CB)の第2セット1002を生成する。一実施形態では、第2閾値は、第1液滴/ドットサイズより大きい第2液滴/ドットサイズのためのものであってよい。これは、第2閾値を超えるピクセル値が、少なくとも第2液滴/ドットサイズ(つまり、第2液滴/ドットサイズ又はそれ以上)に対応することを意味する。
図12で、プロセッサ204は、ピクセル値(PV)のセット902と、第3閾値のセット913とベクトル比較を実行して、比較ビット(CB)の第3セット1003を生成する。一実施形態では、第3閾値は、第2液滴/ドットサイズより大きい第3液滴/ドットサイズのためのものであってよい。これは、第3閾値を超えるピクセル値が、少なくとも第3液滴/ドットサイズ(つまり、第3液滴/ドットサイズ又はそれ以上)に対応することを意味する。閾値のベクトル比較が異なる図に示されるが、ベクトル比較はプロセッサ204内で同時に実行されてよいことが理解される。また、ベクトル比較は3個の閾値について示されるが、プロセッサ204は、マルチレベルハーフトーン処理について考慮される強度レベルの数に依存して、より多くの又は少ない閾値についてベクトル比較を実行してよい。
【0040】
図6Aでは、ステップ610のベクトル比較は、複数の比較ビットセット(例えばセット1001~1003)を生じる。マルチレベルハーフトーン処理では、4以上の出力レベルが使用されるときはいつも、3個以上の比較ビットセットが存在する。プロセッサ204は、比較ビットのセット1002~1003に対して3値論理演算を実行する。3値論理は、3個の入力ビット当たり、1個の出力を生成する。従って、3値論理演算のうちの各々が、ハーフトーン画像222のピクセル値の1個のビットを出力する。例えば、プロセッサ204は、第1の3値論理演算を実行してピクセル値の下位ビット(最下位ビット)を定義し(ステップ614)、第2の3値論理演算を実行してピクセル値の次の上位ビットを定義してよい(ステップ616)。これらの3値論理演算は、ブロック800内のピクセル702の下位ビット及び上位ビットを定義するために実行される。
【0041】
図13~14は、説明のための実施形態におけ3値論理演算を示す。
図13で、プロセッサ204は、第1比較ビットセット1001、第2比較ビットセット1002、及び第3比較ビットセット1003を入力として、第1の3値論理演算を実行する。第1の3値論理演算は、ピクセル702のブロック800について、下位ビット(low-order bits (LOB))のセット1301を出力する。
図14で、プロセッサ204は、第1比較ビットセット1001、第2比較ビットセット1002、及び第3比較ビットセット1003を入力として、第2の3値論理演算を実行する。第2の3値論理演算は、ピクセル702のブロック800について、上位ビット(higher-order bits (HOB))のセット1302を出力する。2ビットハーフトーン処理では、上位ビット(HOB)のセット1302は、ピクセル値の最上位ビットを表す。
図13~14に明示的に図示しないが、プロセッサ204は、セット1002~1003の中の比較ビットの各々に対して同時に(例えば、同じクロック周期で)3値論理演算を実行してよい。また、3値論理演算が異なる図に示されるが、3値論理演算はプロセッサ204内で同時に実行されてよいことが理解される。
【0042】
上述のように、3値論理サブシステム214のために定義された256個の可能な3値論理関数が存在してよい。セレクタパラメータ219A/219Bは、3値論理サブシステム214がビット平面毎に所望の3値論理関数を選択するために計算される。セレクタパラメータ219は、ルックアップテーブルと考えられてよい。3個の入力ビットは、0~7の間の数iを形成する。セレクタパラメータのi番目のビットは、入力iの場合の出力ビットを与える。
図15は、説明のための実施形態におけるセレクタパラメータ219A/219Bの計算を示す。入力テーブル1502は、右から左へ、例えばセット1001から1003へと、配置された比較ビットを表す。最小閾値から生じる比較ビットは右にあり、最大閾値から生じる比較ビットは左にある。これらのビットは、0~7の間の2進数として解釈される。良好に設計されたハーフトーン閾値アレイのために0~7の間の必ずしも全部の数が必要ではない。なぜなら、より大きな液滴/ドットサイズの閾値が超えられるときは、より小さな液滴/ドットサイズの閾値は常に超えられるからである。従って、4個の強度レベルが存在する場合、入力テーブル1502内に現れる値は、0、1、3、及び7(つまり、「000」、「001」、「011」及び「111」)である。出力テーブル1512は、入力ビットが入力テーブル1502内に示される通りであるとき、望ましいピクセル値又はピクセルシンボルを示す。例えば、入力「000」はピクセル値「00」にマッピングされてよく、入力「001」はピクセル値「01」にマッピングされてよく、入力「011」はピクセル値「10」にマッピングされてよく、入力「111」はピクセル値「11」にマッピングされてよい。しかしながら、任意のピクセル値は、入力ビットの各々の可能なセットにマッピングされてよい。
【0043】
第1ビット平面の(つまり、下位ビットの)セレクタパラメータ219Aを計算するために、出力テーブル1512の最右列を使用する。セレクタパラメータ219Aは、8ビット値である。最右列に従い、値「0」が入力「000」(十進数の値0)にマッピングされ、従って、セレクタパラメータ219Aのビット0は「0」に設定される。値「1」が入力「001」(十進数の値1)にマッピングされ、従って、セレクタパラメータ219Aのビット1は「1」に設定される。値「0」が入力「011」(十進数の値3)にマッピングされ、従って、セレクタパラメータ219Aのビット3は「0」に設定される。値「1」が入力「111」(十進数の値0)にマッピングされ、従って、セレクタパラメータ219Aのビット7は「1」に設定される。セレクタパラメータ219Aの他のビットは、「don’t care」値(「X」)に設定される。対応する入力ビットパターンは良好に設計されたハーフトーン閾値アレイでは生じないので、これらの値は、ハーフトーン画像に対して影響を与えない。それらは、閾値アレイ内に誤りのある場合に現れる値であると考えられる。
【0044】
第2ビット平面の(つまり、上位ビットの)セレクタパラメータ219Bを計算するために、出力テーブル1512の最左列を使用する。最左列に従い、値「0」が入力「000」(十進数の値0)にマッピングされ、従って、セレクタパラメータ219Bのビット0は「0」に設定される。値「0」が入力「001」(十進数の値1)にマッピングされ、従って、セレクタパラメータ219Bのビット1は「0」に設定される。値「1」が入力「011」(十進数の値3)にマッピングされ、従って、セレクタパラメータ219Bのビット3は「1」に設定される。値「1」が入力「111」(十進数の値0)にマッピングされ、従って、セレクタパラメータ219Bのビット7は「1」に設定される。セレクタパラメータ219Bの他のビットは、「don’t care」値(「X」)に設定される。
【0045】
3値論理演算は、ピクセル702のブロック800について下位ビット(low-order bits (LOB))のセット1301を、ピクセル702のブロック800について上位ビット(higher-order bits (HOB))のセット1302を、出力する。プロセッサ204は、同様の方法で、ラスタ画像220内で定義されたピクセル702の複数のブロックについて、マルチレベルハーフトーン処理を繰り返してよい。例えば、マルチレベルハーフトーン処理がピクセル702の追加ブロック800に対して実行されると決定された場合(ステップ617)、方法600は、ステップ608に戻り、ピクセル702の別のブロック800のピクセル値セットを識別する。
【0046】
プロセッサ204は、ハーフトーン画像222のピクセル値を表す複数のビット平面224を生成するよう構成される。例えば、2ビット(4レベル)出力は、以下の2つのビット平面で構成される:1つは各ピクセルの下位ビットのための平面、1つは各ピクセルの上位ビットのための平面である。
図6Bで、プロセッサ204は、第1ビット平面の中の下位ビットの1つ以上のセット1301を構成する(ステップ618)。第1ビット平面は、従って、ハーフトーン画像222のピクセルの下位ビットを表す。プロセッサ204は、第2ビット平面の中の上位ビットの1つ以上のセット1302も構成する(ステップ620)。第2ビット平面は、従って、ハーフトーン画像222のピクセルの上位ビットを表してよい。プロセッサ204は、ハーフトーン画像222の中でピクセル値を定義するために使用されるビットの数に依存して、1つ以上の追加ビット平面を構成してよい。
【0047】
図16~17は、説明のための実施形態におけるハーフトーン画像222のピクセル値を定義するビット平面を示す。
図16は、1つ以上のピクセルブロックの下位ビット(LOB)を表す第1ビット平面224Aを示す。ビット平面は、1ビットがピクセル702のアレイのマルチビットピクセル値(PV)を表すデータ構造である。プロセッサ204は、第1の3値論理演算を実行すると(ステップ614)、ピクセル702のブロック800について、下位ビット(low-order bits (LOB))のセット1301を生成する。プロセッサ204は、ビット平面224Aの中の下位ビットのセット1301を構成して、下位ビットの各々がその対応するピクセルのピクセル値の部分を定義するようにする。例えば、セット1301は、ピクセルの下位ビット(0,0)、(0,1)、(0,2)、等を含む。下位ビットは、下位ビットがピクセルにどのように対応するかを示すために、行及び列に配置されるように示される。しかしながら、ビット平面は、下位ビットをピクセルにマッピングする任意の所望の構造を有してよい。プロセッサ204は、複数のブロック800についてビット平面224Aの中の下位ビットの複数のセット1301を構成してよい。従って、ビット平面224Aは、シートサイド(sheetside)の一部、N集約(N-up)シートサイド上の論理ページ、全
シートサイド、等に対応するピクセルの下位ビットを含んでよい。標準的に、画像化されるべきページは、印刷のために配置されるとき等しい長さの、印刷ウェブの幅に及ぶ、1つ以上の論理ページで構成される論理的な「シートサイド」に結合される。シートサイドは、記録媒体132のシートの(又はそれに等しい)片側に印刷されるべき画像を表す。
図17は、1つ以上のピクセルブロックの上位ビット(HOB)を表す第2ビット平面224Bを示す。プロセッサ204は、第2の3値論理演算を実行すると(ステップ616)、ピクセル702のブロック800について、上位ビット(higher-order bits (HOB))のセット1302を生成する。プロセッサ204は、ビット平面224Bの中の上位ビットのセット1302を構成して、上位ビットの各々がその対応するピクセルのピクセル値の部分を定義するようにする。例えば、セット1302は、ピクセルの上位ビット(0,0)、(0,1)、(0,2)、等を含む。プロセッサ204は、複数のブロック800についてビット平面224Bの中の上位ビットの複数のセット1302を構成してよい。従って、ビット平面224Bは、シートサイドの一部、N集約シートサイドの論理ページ、全シートサイドに対応するピクセルの上位ビットを含んでよい。一実施形態では、各ビット平面224A/224Bは、1バイトの8個のピクセルのビットを含んでよい。
【0048】
プロセッサ204は、ビット平面224を印刷エンジン120、印刷メカニズム126、又は別のサブシステムへ出力するよう構成されてよい。例えば、印刷エンジン120は、印刷動作のための個々のビット平面を処理するよう構成されてよい。従って、プロセッサ204は、ビット平面(例えば、第1ビット平面224A及び第2ビット平面224B)の、印刷エンジン120、印刷メカニズム126、又は別のサブシステムのような宛先への送信を開始してよい(ステップ622)。例えば、ハーフトーンシステム140が、DFE110(
図1)の印刷制御部114内に実装されるとき、プロセッサ204は、ビット平面224を通信リンク117を介して印刷エンジン120へ送信するために、印刷エンジンインタフェース116にアクセスしてよい。印刷エンジン120は、次に、ビット平面224に基づき印刷動作を開始してよい。ハーフトーンシステム140が印刷エンジン120の印刷エンジン制御部124内に実装されるとき、プロセッサ204は、ビット平面224を印刷メカニズム126へ、又は更なる処理のために印刷エンジン制御部124内の別のサブシステムへ、送信してよい。
【0049】
別の実施形態では、プロセッサ204は、ハーフトーン画像222を出力するよう構成されてよい。この場合、プロセッサ204は、ハーフトーン画像222のビット平面224をマージするためにインターリーブ動作を実行してよい(ステップ624)。
図18は、説明のための実施形態におけるマージされたビット平面224A/224Bを有するハーフトーン画像222を示す。ハーフトーン画像222は、マルチビットピクセル値(pixel values (PV))によりピクセルアレイを表すデータ構造である。ハーフトーン画像222のピクセル値は、y個のビット値であり、ラスタ画像220で使用されるx個のビット値より少ない。インターリーブ動作は、ビット平面224Bから上位ビット(HOB)を、ビット平面224Aから下位ビット(LOB)を取り込み、ハーフトーン画像222内のピクセル値を形成する。プロセッサ204は、次に、印刷エンジン120、印刷メカニズム126、又は別のサブシステムへの、ハーフトーン画像222の送信を開始してよい(ステップ626)。例えば、ハーフトーンシステム140が、DFE110(
図1)の印刷制御部114内に実装されるとき、プロセッサ204は、ハーフトーン画像222を通信リンク117を介して印刷エンジン120へ送信するために、印刷エンジンインタフェース116にアクセスしてよい。印刷エンジン120は、次に、ハーフトーン画像222に基づき印刷動作を開始してよい。ハーフトーンシステム140が印刷エンジン120の印刷エンジン制御部124内に実装されるとき、プロセッサ204は、ハーフトーン画像222を印刷メカニズム126へ、又は更なる処理のために印刷エンジン制御部124内の別のサブシステムへ、送信してよい。
【0050】
上述のマルチレベルハーフトーン処理は、単一の色平面のラスタ画像220について実行される。CMYK色モデルでは、例えば、方法600は、色平面の各々について、ラスタ画像をハーフトーン処理するために繰り返されてよい。上述のインターリーブ動作は、複数の色平面のビット平面に対して実行されてもよい。各色平面のビットのインターリービングは、多色ハーフトーン画像内の色について予約されたビットフィールドを目標とする。この場合、各色平面のビットがインターリーブされるとき、全部の色は、ハーフトーン画像内で既にインターリーブされている。
【0051】
上述の例のうちの幾つかは、4個の強度レベルのハーフトーン処理を説明した。しかしながら、本願明細書に記載の概念は、3個の強度レベル、5個の強度レベル、6個の強度レベル、又はそれ以上に適用される。3個の強度レベルの場合は、第3閾が0に設定されることを除いて、4個の強度レベルと同様に扱われる。8個の強度レベルの場合には、7個の閾値がある。ピクセル値と、第1閾値、第2閾値、及び第3閾値との比較から得られる比較ビットは、1つのビット平面を出力するために、第1の3値論理演算に入力されてよい。ピクセル値と、第5閾値、第6閾値、及び第7閾値との比較から得られる比較ビットは、別のビット平面を出力するために、第2の3値論理演算に入力されてよい。ピクセル値と第4閾値との比較から得られる比較ビットは、更に別のビット平面へ出力されてよい(例えば、最上位ビット)。第4閾値の比較は、どの3値論理の結果が最下位ビット平面に書き込まれるかを選択するために使用されてもよい。5~7個の強度レベルの場合は、未使用閾値がまるで0であるかのように扱われることを除いて、同じ8個の強度レベルとして扱われてよい。
【0052】
本願明細書に記載の実施形態は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの種々の組み合わせの形式をとり得る。1つの特定の実施形態では、ソフトウェアは、機器100を形成する画像の処理システムに、本願明細書に記載の種々の動作を実行するよう指示するために使用される。
図19は、説明のための実施形態における所望の機能を実行するためのプログラム命令を実装しているコンピュータ可読媒体を実行する処理システム1900を示す。処理システム1900は、コンピュータ可読記憶媒体1912上に有形に具現化されたプログラム命令を上述の動作を実行可能である。これに関して、実施形態は、コンピュータ又は任意の他の命令実行システムによる使用のためにプログラムコードを提供するコンピュータ可読媒体1912を介してアクセス可能なコンピュータプログラムの形式を取り得る。この説明を目的として、コンピュータ可読記憶媒体1912は、コンピュータによる使用のためにプログラムを含み又は格納することができる任意のものであり得る。
【0053】
コンピュータ可読記憶媒体1912は、電子、磁気、光、光磁気、赤外線、又は半導体装置であり得る。コンピュータ可読記憶媒体1912の例は,固体メモリ、磁気テープ、取り外し可能コンピュータディスク、RAM(random access memory)、ROM(read-only memory)、剛性磁気ディスク、及び光ディスクを含む。光ディスクの現在の例は、CD-ROM(compact disk-read only memory)、CD-R/W(compact disk-read/write)、及びDVDを含む。
【0054】
プログラムコードを格納し及び/又は実行するのに適する処理システム1900は、システムバス1950を通じてプログラム及びデータメモリ1904に接続された少なくとも1つのプロセッサ1902を含む。プログラム及びデータメモリ1904は、プログラムコードの実際の実行中に利用されるローカルメモリ、バルク記憶装置、コード及び/又はデータが実行中にバルク記憶装置から読み出される回数を削減するために少なくとも一部のプログラムコード及び/又はデータの一時記憶を提供するキャッシュメモリを含み得る。
【0055】
I/O装置1906(限定ではないが、キーボード、ディスプレイ、ポインティング装置、等を含む)は、I/O制御部の仲介を通じて又は直接に接続できる。ネットワークインタフェース1908は、処理システム1900が他のデータ処理システム又は記憶装置に私設又は公衆ネットワークの仲介を通じて接続されるように、システムに統合されてもよい。モデム、ケーブルモデム、IBM Channelアタッチメント、SCSI FIbre Channel、及びイーサネットカードは、現在利用可能なほんの少数の種類のネットワーク又はホストインタフェースアダプタである。ディスプレイ装置インタフェース19010は、プロセッサ1902により生成されたデータの提示のための印刷システム及びスクリーンのような1つ以上のディスプレイ装置とインタフェースするために、システムに統合されてよい。
【0056】
特定の実施形態が本願明細書に記載されたが、本開示の範囲は、これらの特定の実施形態に限定されない。本開示の範囲は、以下の請求の範囲及びその任意の均等物により定義される。
【符号の説明】
【0057】
100 画像形成機器
110 デジタルフロントエンド(DFE)
111 印刷データ
114 印刷制御部
120 印刷エンジン
124 印刷エンジン制御部
126 印刷メカニズム
130 媒体運搬装置
140 ハーフトーンシステム
204 プロセッサ
206 メモリ
208 命令
210 ベクトル処理
212 3値論理演算
220 ラスタ画像
222 ハーフトーン画像
224 ビット平面