(57)【要約】【課題】大きなブロックの専用のＲＥＴハードウェアを実装しなくても、高品質で解像度が強化された印刷用画像を生成する技術を提供する。【解決手段】本発明は、レーザ印刷装置を提供する。この装置は、複数のピクセルを含むマルチビット画像を記憶するメモリを含む。各ピクセルはＮビット値によって表され、Ｎは１より大きい。変調コードジェネレータは３つの隣接するピクセルを分析する。３つの隣接するピクセルは、左ピクセルと、中央ピクセルと、右ピクセルとを含む。変調コードジェネレータは、中央ピクセルの値に基づいてパルス幅値を生成し、左ピクセルの値と右ピクセルの値に基づいて位置調整値を生成するように構成される。レーザ印刷エンジンは、パルス幅値と位置調整値に基づいて出力ピクセルを媒体上に形成する。【選択図】図１Ａ
2004243771.tif 000002
【特許請求の範囲】
【請求項１】
レーザ印刷装置であって、
マルチビット画像を記憶するためのメモリであって、該マルチビット画像は複数のピクセルを含み、該各ピクセルはＮビット値で表されており、Ｎは１より大きい数である、メモリと、
３つの隣接するピクセルを分析するための変調コードジェネレータであって、該３つの隣接するピクセルは左ピクセルと、中央ピクセルと、右ピクセルとを含み、該変調コードジェネレータは、該中央ピクセルの値に基づいてパルス幅値を生成し、該左ピクセルの値と該右ピクセルの値に基づいて位置調整値を生成するように構成される、変調コードジェネレータと、
前記パルス幅値と前記位置調整値とに基づいて媒体上で出力ピクセルを形成するレーザ印刷エンジンと、
を有するレーザ印刷装置。
【請求項２】
前記レーザ印刷エンジンが、
前記出力ピクセルに関して変調されるように構成されるレーザであって、該レーザは、前記ピクセルの位置調整値に対応して出力、遮断され、前記ピクセルのパルス幅値に対応する期間の間は出力のままであるように変調される、レーザ
を有する、請求項１に記載のレーザ印刷装置。
【請求項３】
前記３つの隣接するピクセルを前記変調コードジェネレータに出力する先入れ先出し（ＦＩＦＯ）装置をさらに有する、請求項１に記載のレーザ印刷装置。
【請求項４】
前記変調コードジェネレータが、
前記中央ピクセルの少なくとも１つの最上位ビットを、前記中央ピクセルの値の最下位端に連結することによってパルス幅値を生成するパルス幅コードジェネレータ
を有する、請求項１に記載のレーザ印刷装置。
【請求項５】
前記変調コードジェネレータが、
前記中央ピクセルの値に整数をかけることによってパルス幅値を生成するパルス幅コードジェネレータ
を有する、請求項１に記載のレーザ印刷装置。
【請求項６】
前記変調コードジェネレータが、
前記右ピクセルの値を前記左ピクセルの値から引いて第１の差を生成する第１の減算器と、
前記左ピクセルの値を前記右ピクセルの値から引いて第２の差を生成する第２の減算器と、
前記左ピクセルの値と前記右ピクセルの値を足して合計を生成する加算器と、
を有する、請求項１に記載のレーザ印刷装置。
【請求項７】
前記変調コードジェネレータが、
前記第１の差を第１の閾値と比較し、前記第２の差を第２の閾値と比較し、前記合計を第３の閾値と比較する少なくとも１つのコンパレータと、
前記少なくとも１つのコンパレータが行った比較の結果に基づいて位置調整値を生成する位置調整コードジェネレータと、
をさらに有する、請求項６に記載のレーザ印刷装置。
【請求項８】
前記変調コードジェネレータが、
前記左ピクセルの値と、前記中央ピクセルの値と、前記右ピクセルの値を入力アドレスとして受信し、対応する変調コードを出力するルックアップテーブルを有し、
前記変調コードは前記パルス幅値と前記位置調整値とを含む、
請求項１に記載のレーザ印刷装置。
【請求項９】
前記変調コードジェネレータが、
前記左ピクセルの値と前記右ピクセルの値を入力アドレスとして受信し、対応する位置調整値を出力する第１のルックアップテーブルと、
前記中央ピクセルの値を入力アドレスとして受信し、対応するパルス幅値を出力する第２のルックアップテーブルと、
を有する、請求項１に記載のレーザ印刷装置。
【請求項１０】
レーザ印刷装置内のレーザを変調する変調データを生成する方法であって、
印刷用データを、複数のピクセルを含むマルチビット画像にレンダリングするステップであって、該各ピクセルはマルチビット値で表される、レンダリングするステップと、
前記マルチビット画像内の３つの連続した位置にある第１のピクセル、第２のピクセル、および第３のピクセルの値を調べるステップと、
前記第２のピクセルの値に基づいて第１のパルス幅値を生成するステップと、
前記第１のピクセルの値と前記第３のピクセルの値に基づいて第１の位置調整値を生成するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にレーザプリンタに関し、より具体的には、マルチビット画像内のピクセルに基づいてパルス幅値と位置調整値を生成するレーザ印刷装置に関する。
【背景技術】
【０００２】
カラーのデジタル画像とグレー値のデジタル画像はどちらも画素（ピクセル）から構成され、各ピクセルは色またはグレーレベルを定義する多数のバイナリビットによって表される。このような画像をバイナリレベル（白黒）プリンタで表すために、ピクセルデータがまだグレーレベルではない場合は、ピクセルデータをグレーレベルのマルチビット値（たとえば１ピクセルあたり８ビット）に変換するのが一般的である。ついで個別のグレーレベルピクセルを、デジタルハーフトーン処理プロセスを使用してバイナリレベルのピクセルに変換するのが一般的である。
【０００３】
デジタルハーフトーン処理は、バイナリ画素を注意深く構成することによって、連続トーン画像を、元の連続トーン画像のような錯覚を有するバイナリ画像に変換するプロセスである。このプロセスはまた、空間ディザリング（dithering）とも呼ばれる。カラー画像の場合、カラーの連続トーン画像はまずカラーチャネルに分割されるのが一般的である。ついで各カラーチャネルについて別々にハーフトーンを形成する。
【０００４】
これまで、ハーフトーン処理アルゴリズムが生成した１ビットのデータをスムージングするために、解像度強化技術（ＲＥＴ）が使用されてきた。ＲＥＴは、大きなブロックの専用ハードウェアで実装され、いくつかのデータラインをバッファするのが一般的である。ＲＥＴは、１ビットデータをとり、解像度を低くすると目立つようになる粗い縁を低減するハードウェア集約型技術である。ＲＥＴは１ビットデータに一致するテンプレートを使用して、本質的に、画像の特徴の元の滑らかな形状はグレースケールの画像ではどのようになるかを推測する（すなわちハーフトーン処理の前に）。ＲＥＴは典型的には、１ビットデータのウィンドウ（たとえば７×９ピクセル）を何百ものテンプレートと比較して、ウィンドウ内の特徴を識別する（たとえば対角線、「Ｏ」という文字の一番上など）。ウィンドウは１ビット画像全体を移動し、画像全体の特徴を識別する。テンプレート一致の結果に基づいてレーザ変調コードが生成される。レーザ変調コードを使用して、印刷された出力において粗い縁を除去するか低減する結果になるように、プリンタ内のレーザを変調する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、大きなブロックの専用のＲＥＴハードウェアを実装しなくても、高品質で解像度が強化された印刷用画像を生成する技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の１形態は、レーザ印刷装置を提供する。この装置は、複数のピクセルを含むマルチビット画像を記憶するメモリを含む。各ピクセルはＮビット値によって表され、Ｎは１より大きい。変調コードジェネレータは３つの隣接するピクセルを分析する。３つの隣接するピクセルは、左ピクセルと、中央ピクセルと、右ピクセルとを含む。変調コードジェネレータは、中央ピクセルの値に基づいてパルス幅値を生成し、左ピクセルの値と右ピクセルの値に基づいて位置調整値を生成するように構成される。レーザ印刷エンジンは、パルス幅値と位置調整値に基づいて出力ピクセルを媒体上に形成する。
【発明を実施するための最良の形態】
【０００７】
次の好ましい実施形態の詳細な説明では、付随する図面を参照する。付随する図面は本明細書の一部を形成しており、本発明を実施する特定の実施形態を説明するために示されている。本発明の範囲から離れることなく他の実施形態を使用することもできるし、構造的または論理的な変更も行えることを理解されたい。したがって次の詳細な説明は限定的な意味でとるべきではなく、本発明の範囲は付随する請求項によって定義される。
【０００８】
図１Ａは、本発明の１実施形態による印刷システム１００Ａの主な構成要素を示す構成図である。印刷システム１００Ａはコンピュータ１０２とプリンタ１２０を含む。１実施形態では、プリンタ１２０はレーザプリンタまたはレーザ印刷装置である。
【０００９】
コンピュータ１０２はプロセッサ１０４と、メモリ１０８と、入力／出力（Ｉ／Ｏ）インタフェース１１６とを含み、これらは、バス１０６を介して通信するように結合されている。ドライバ１１０と、印刷用データ１１２と、マルチビット画像データ１１４とはメモリ１０８内に記憶される。１実施形態では、ドライバ１１０はプロセッサ１０４によって実行され、印刷用データ１１２をマルチビット画像データ１１４にレンダリングする。印刷用データ１１２は、画像ファイル、ワードプロセッサのファイルなど、任意のタイプの印刷可能なデータであってよい。本発明の１形態では、マルチビット画像データ１１４は複数のピクセルを含み、各ピクセルはマルチビット値で表される（すなわち、各ピクセルはＮビット値で表され、この式でＮは１より大きい）。１実施形態では、マルチビット画像データ１１４内の各ピクセルは２ビット値で表される（たとえば黒と、白と、２つのグレーレベル）。別の実施形態では、マルチビット画像データ１１４内の各ピクセルは４ビット値で表される。
【００１０】
プリンタ１２０はプロセッサ１２２と、Ｉ／Ｏインタフェース１２６と、メモリ１２８と、レーザ印刷エンジン１３０とを含み、これらはバス１２４を介して通信するように結合されている。プリンタ１２０のＩ／Ｏインタフェース１２６とコンピュータ１０２のＩ／Ｏインタフェース１１６は、通信リンク１１８を介して結合される。１実施形態では、Ｉ／Ｏインタフェース１１６と１２６は、ユニバーサルシリアルバス（ＵＳＢ）インタフェースなどのシリアルインタフェースであり、通信リンク１１８はＵＳＢケーブルである。別の実施形態では、Ｉ／Ｏインタフェース１１６と１２６はネットワークインタフェースであり、通信リンク１１８はローカルエリアネットワークなどのネットワークである。別の実施形態では、他のタイプのインタフェースと通信リンクを使用することができ、その中にはワイヤレス通信用のインタフェースと通信リンクも含まれる。
【００１１】
データ１１２をマルチビット画像データ１１４にレンダリングした後、コンピュータ１０２はマルチビット画像データ１１４を通信リンク１１８を介してプリンタ１２０に出力する。図１Ａに示されるように、受信されたマルチビット画像データ１１４はプリンタ１２０のメモリ１２８内に記憶され、ここで、レーザ印刷エンジン１３０によって検索され処理される。これについては図２から図５を参照して以下に詳細に説明する。
【００１２】
図１Ｂは、本発明の別の実施形態による印刷システム１００Ｂの主な構成要素を示す構成図である。図示された実施形態では、印刷システム１００Ｂは印刷システム１００Ａと同じハードウェアを含む。しかしシステム１００Ｂでは、マルチビット画像データ１１４はコンピュータ１０２ではなくプリンタ１２０の中でレンダリングされる。１実施形態では、ドライバ１４０は印刷用データ１１２を記述ファイル（description file）１４２に変換する。本発明の１形態では、ドライバ１４０は、データ１１２をデータと高レベルコマンドを含む記述ファイル１４２に変換するための、プリンタコマンド言語（ＰＣＬ）ドライバである（たとえば、ヘルベティカ（Helvetica）１２ポイントの文字「Ｑ」をページのｘ、ｙの位置に置く）。コンピュータ１０２は記述ファイル１４２を通信リンク１１８を介してプリンタ１２０に転送し、プリンタ１２０は記述ファイル１４２をメモリ１２８内に記憶する。ついで、プロセッサ１２２は記述ファイル１４２をマルチビット画像ファイル１１４にレンダリングする。１実施形態では、プリンタ１２０は記述ファイル１４２をマルチビット画像ファイル１１４にレンダリングするためのＰＣＬファームウェアを含む。マルチビット画像ファイル１１４はプリンタ１２０のメモリ１２８内に記憶され、ここで、レーザ印刷エンジン１３０によって検索され処理される。これについては図２から図５を参照して以下に詳細に説明する。
【００１３】
図２は、本発明の１実施形態による、図１Ａと図１Ｂに示されたレーザ印刷エンジン１３０の主な構成要素を示す構成図である。レーザ印刷エンジン１３０はダイレクトメモリアクセス（ＤＭＡ）ハードウェア２０２と、ｐコードジェネレータ２０６と、パルス幅変調器（ＰＷＭ）２１０と、レーザ２１４を含む。ＤＭＡ２０２はマルチビット画像データ１１４をプリンタメモリ１２８から読み出し、データ信号２０４Ａとラッチ（latch）信号２０４Ｂをｐコードジェネレータ２０６に出力する。ＤＭＡ２０２はまた、ラッチ信号２０４Ｂをパルス幅変調器２１０に出力する。１実施形態では、ＤＭＡ２０２はマルチビット画像データ１１４をストリップ状でメモリ１２８から読み出し（たとえば、全ページ幅の細長い切れ端（strip）による１インチの長さの画像データ）、１度に１ピクセルのデータ（たとえば４ビット）をｐコードジェネレータ２０６に出力する。本発明の１形態では、マルチビット画像データ１１４は圧縮され、ついでストリップに解凍されるので、生のマルチビット画像フォーマットで実際にメモリ内１２８に１度にあるのはページの小さな一部だけになる。
【００１４】
ｐコードジェネレータ２０６は、ＤＭＡ２０２から受信したデータ２０４Ａに基づいて「ｐコード」２０８を生成する。ｐコード２０８（また「レーザ変調コード」とも呼ばれる）は次に詳細に説明する。ｐコードジェネレータ２０６はｐコード２０８をパルス幅変調器２１０に出力する。パルス幅変調器２１０は、ｐコードジェネレータ２０６から受信したｐコード２０８と、ＤＭＡ２０２から受信したラッチ信号２０４Ｂに基づいてパルス幅変調されたレーザ駆動信号２１２を生成する。レーザ駆動信号２１２はビデオ信号とも呼ばれる。レーザ２１４は、レーザ駆動信号２１２に基づいて、変調されたレーザ光ビーム２１６を（たとえば、オン／オフバイナリ変調）出力する。
【００１５】
当業者であれば、レーザ印刷エンジン１３０の１実施形態は、図２に示された要素に追加して、媒体上に画像を形成する従来のレーザプリンタ要素（図示せず）も含むことを理解されるであろう。このようなレーザプリンタ要素には、レーザビーム２１６を屈折させる回転式多面鏡、光伝導ドラム、トナーディスペンサ、媒体ハンドラ、その他の要素が含まれる。
【００１６】
１実施形態によれば、媒体上に画像を形成するには、レーザ印刷エンジン１３０はレーザ駆動信号２１２に応答して従来の電子写真印刷プロセスを行う。信号２１２は、任意の特定の時にレーザ２１４がビーム２１６を提供しているか提供していないかを識別する。このような連続的な特定の時間は、媒体上に形成すべき画像のドット（出力ピクセル）を画定する。１実施形態では、プリンタ１２０は１インチあたり６００ドット（ｄｐｉ）を出力するので、６００分の１インチごとに１ドットが出力できる。別の実施形態では、プリンタ１２０は１２００ｄｐｉを出力するので、１２００分の１インチごとに１ドットが出力できる。
【００１７】
各出力ピクセルに固定量の空間が割り付けられる（たとえば６００分の１インチまたは１２００分の１インチ）。これに対応して、レーザビーム２１６がドラム全体でスキャンされると、ビーム２１６は各出力ピクセルを左から右にスキャンするために所定の時間を費やす。これはピクセル時間と呼ばれる。その結果生じるドットの外見はレーザ２１４がピクセル時間の間に出力および遮断した回数の影響を受け、ピクセル時間の間レーザ２１４の出力の合計時間の影響も受ける。
【００１８】
１実施形態では、ｐコードジェネレータ２０６は媒体上に形成すべき画像内の各出力ピクセルに対してｐコード２０８を生成する。本発明の１形態では、各ｐコード２０８はレーザ２１４が所与の出力ピクセル位置上で出力していた時間の長さを示すパルス幅値と、所与の出力ピクセル位置内のレーザパルスの位置に対応する位置調整値とを含む。パルス位置は所与の出力ピクセルのスキャンの開始時に設定することもできるし（左位置調整）、出力ピクセルに割り付けられた時間の中央で設定することもできるし（中央位置調整）、出力ピクセルのスキャンの終わりに設定することもできるし（右位置調整）、または、出力ピクセルのスキャンの開始時と終了時の間で分割することもできる（分割位置調整）。１実施形態では、レーザ２１４は所定のタイプの位置調整に関して、１つの出力ピクセルから次の出力ピクセルへ遷移する間、出力のままである（たとえば、出力ピクセルを右位置調整または分割位置調整し、次の出力ピクセルを左位置調整または分割位置調整する）。
【００１９】
１実施形態では、各ｐコード２０８は６４の異なるパルス幅のうち１つを識別するための６ビットパルス幅値と、４つの異なる位置調整（たとえば左位置調整、右位置調整、中央位置調整、分割位置調整）のうち１つを識別するための２ビット位置調整値とを含む。６ビットパルス幅値では、各出力ピクセルは本質的に６４分の１のインクリメントで分割されるので、パルス幅値は、レーザ２１４が出力すべき出力ピクセルの分数を示す（たとえば、出力ピクセルの６４分の１、出力ピクセルの６４分の２７、出力ピクセルの６４分の６３など）。他の実施形態では、６よりも多いビットか少ないビットを有するパルス幅値を使用してもよい。
【００２０】
図３は、マルチビット画像データ１１４からの３つの隣接するピクセル３００Ａから３００Ｃを示す図である。図３に示されるように、左ピクセル３００Ａは４という１０進値（バイナリでは０１００）、中央（または「現在の」）ピクセル３００Ｂは９という１０進値（バイナリでは１００１）、右ピクセル３００Ｃは１２という１０進値（バイナリでは１１００）を有する。
【００２１】
１実施形態では、ｐコードジェネレータ２０６は、マルチビット画像１１４内のピクセルを、ピクセル３００Ａから３００Ｃなど３つの隣接したピクセルのグループで分析する。ｐコードジェネレータ２０６は図２にブロックの形態で図示されている。ｐコードジェネレータ２０６の４つの実施形態は図４Ａから図４Ｄに示されており、それぞれ、参照番号２０６Ａから２０６Ｄと識別される。
【００２２】
図４Ａは、本発明の１実施形態によるｐコードジェネレータ２０６Ａを示す構成／概念図である。ｐコードジェネレータ２０６Ａは、レジスタ４０２Ａから４０２Ｃ（集合的にレジスタ４０２と示す）と、減算器４１０Ａと４１０Ｂと、加算器４１０Ｃと、コンパレータ４１２Ａから４１２Ｃ（集合的にコンパレータ４１２と示す）と、位置調整ジェネレータ４１６と、パルス幅ジェネレータ４２０とを含む。１実施形態では、これらの３つのレジスタ４０２の各々は、４つのＤタイプのフリップフロップを含み、各フリップフロップはデータ入力Ｄと、クロック入力ＣＬＫと、出力Ｑとを有する。ＤＭＡハードウェア２０２（図２に示す）は、データ信号２０４Ａをレジスタ４０２Ｃの入力Ｄに出力する。レジスタ４０２Ｃの出力Ｑはレジスタ４０２Ｂの入力Ｄに結合され、また、加算器４１０Ｃと減算器４１０Ａと４１０Ｂとに結合される。レジスタ４０２Ｂの出力Ｑはレジスタ４０２Ａの入力Ｄに結合され、また、パルス幅ジェネレータ４２０に結合される。レジスタ４０２Ａの出力Ｑは加算器４１０Ｃと減算器４１０Ａと４１０Ｂとに結合される。
【００２３】
ＤＭＡハードウェア２０２はマルチビット画像データ１１４をプリンタメモリ１２８から読み出し、１度に１ピクセルのデータ（たとえば４ビット）をピクセルレジスタ４０２Ｃの入力Ｄに出力する。ＤＭＡハードウェア２０２はまた、ラッチ信号２０４Ｂを出力し、ラッチ信号２０４Ｂはレジスタ４０２のクロック入力ＣＬＫに結合され、各レジスタ４０２の入力Ｄにおけるデータを各レジスタ４０２の出力Ｑにラッチする。レジスタ４０２はピクセルがＤＭＡハードウェア２０２からクロックアウトされるとピクセルをシフトし保持する先入れ先出し（ＦＩＦＯ）メモリとして構成される。レジスタ４０２Ｂは現在のピクセル３００Ｂを出力する（ピクセルＮとも呼ばれる）。現在のピクセル３００Ｂの右にあるピクセル３００Ｃ（ピクセルＮ＋１とも呼ばれる）はレジスタ４０２Ｃによって出力される。現在のピクセル３００Ｂの左にあるピクセル３００Ａ（ピクセルＮ−１とも呼ばれる）はレジスタ４０２Ａによって出力される。レジスタ４０２は本質的に、マルチビット画像１１４全体で１度に１ピクセル移動し、ウィンドウの各位置で左ピクセル３００Ａと、現在のピクセル３００Ｂと、右ピクセル３００Ｃを表す、３ピクセル幅のスライディングウィンドウとして機能する。
【００２４】
パルス幅ジェネレータ４２０はレジスタ４０２Ｂから現在のピクセル（current pixel）３００Ｂを受信し、現在のピクセル３００Ｂに対して対応するパルス幅値４２２を生成する。１実施形態では、パルス幅ジェネレータ４２０は、現在のピクセル３００Ｂの２つの最上位ビットを、現在のピクセル３００Ｂの４ビットのうち最下位の端に連結して、６ビットパルス幅値４２２を生成する。たとえば、図３に示されたピクセル３００Ｂの値「１００１」を使用すると、このピクセルに対応するパルス幅４２２は「１００１１０」になる。これは、ピクセル値をスケーリングする効果を有し、これによって、４ビットピクセル値と６ビットパルス幅値の間の線形マッピングが提供される。
【００２５】
１実施形態による現在のピクセル３００Ｂからのパルス幅値（pulse width）４２２の生成は、次の擬似コード例Ｉの中で擬似コードによって表すことができる。
【００２６】
擬似コード例Ｉ
pulse width = current pixel [3-0] & current pixel [3-2]
別の実施形態では、乗算器を使用してピクセル値３００Ｂに整数などの倍率をかけることによってパルス幅値４２２を生成する。たとえば、６ビットのパルス幅値４２２を４ビットのグレースケールピクセル値３００Ｂから生成するには、パルス幅ジェネレータ４２０はピクセル値３００Ｂに４をかける。本発明の別の形態では、倍率として分数を使用する（たとえば６３／１５）。
【００２７】
別の実施形態では、パルス幅ジェネレータ４２０は、４ビットピクセル値３００Ｂ（テーブルへの入力アドレス）と、６ビットパルス幅値４２２（テーブルからの出力）との間のマッピングを保持するルックアップテーブル（たとえば１６Ｘ６ランダムアクセスメモリ（ＲＡＭ）または１６個の６ビットレジスタ）を含む。１６Ｘ６ＲＡＭは、各々が４ビット入力アドレスによって一意的にアドレス可能な１６個の６ビット幅の記憶場所を提供する。各６ビット幅の記憶位置は、６４のパルス幅のうち１つを識別する６ビットパルス幅値を記憶する。受信した４ビットの入力アドレスに基づいて、ルックアップテーブルは現在のピクセル３００Ｂに対する６ビットパルス幅値４２２を出力する。このようなルックアップテーブルにより、ルックアップテーブルにロードされるパルス幅の値に応じて、グレースケールピクセル値３００Ｂからパルス幅値４２２への線形マッピングまたは非線形マッピングが可能になる。プリンタの非線形性と平均的な人間の視覚の感度の非線形性を補償するために、適切な量のトナーを提供するためには、レーザ駆動パルス幅に線形比例増加よりも多くが必要となる可能性があるため、非線形マッピングのほうが望ましい。
【００２８】
減算器４１０Ａは右ピクセル（right pixel）３００Ｃの値を左ピクセル（left pixel）３００Ａの値から引き、この差（左ピクセル−右ピクセル）をコンパレータ４１２Ａに出力する。コンパレータ４１２Ａは差の十進値が６より大きいかどうかを決定し、差が６より大きい場合、左位置調整信号（LEFT JUSTIFY）４１４Ａを位置調整ジェネレータ４１６に出力する。
【００２９】
減算器４１０Ｂは左ピクセル３００Ａの値を右ピクセル３００Ｃの値から引き、この差（右ピクセル−左ピクセル）をコンパレータ４１２Ｂに出力する。コンパレータ４１２
Ｂは差の十進値が６より大きいかどうかを決定し、差が６より大きい場合、右位置調整信号（RIGHT JUSTIFY）４１４Ｂを位置調整ジェネレータ４１６に出力する。
【００３０】
加算器４１０Ｃは右ピクセル３００Ｃの値を左ピクセル３００Ａの値に足し、この合計（左ピクセル＋右ピクセル）をコンパレータ４１２Ｃに出力する。コンパレータ４１２Ｃは、合計の十進値が２４より大きいかどうかを決定し、合計が２４より大きい場合、分割位置調整信号（SPLIT JUSTIFY）４１４Ｃを位置調整ジェネレータ４１６に出力する。
【００３１】
位置調整ジェネレータ４１６はコンパレータ４１２Ａから４１２Ｃがそれぞれ出力した信号４１４Ａから４１４Ｃに基づいて、現在のピクセル３００Ｂに対して２ビット位置調整値４１８を生成し出力する。左位置調整信号４１４Ａをコンパレータ４１２Ａから受信すると、位置調整ジェネレータ４１６は左位置調整に対応する２ビット値４１８を出力する（たとえば「１０」）。右位置調整信号４１４Ｂをコンパレータ４１２Ｂから受信すると、位置調整ジェネレータ４１６は右位置調整に対応する２ビット値４１８を出力する（たとえば「０１」）。分割位置調整信号４１４Ｃをコンパレータ４１２Ｃから受信すると、位置調整ジェネレータ４１６は分割位置調整に対応する２ビット値４１８を出力する（たとえば「１１」）。位置調整ジェネレータ４１６がコンパレータ４１２Ａから４１２Ｃから信号を受信しないと、位置調整ジェネレータ４１６は中央位置調整に対応する２ビット値４１８を出力する（たとえば「００」）。分割位置調整信号４１４Ｃと左位置調整信号４１４Ａの両方を受信すると、位置調整ジェネレータ４１６は左位置調整に対応する２ビット値４１８を出力する。分割位置調整信号４１４Ｃと右位置調整信号４１４Ｂの両方を受信すると、位置調整ジェネレータ４１６は右位置調整に対応する２ビット値４１８を出力する。
【００３２】
１実施形態による、左ピクセル３００Ａと右ピクセル３００Ｃからの位置調整値４１８の決定は、次の擬似コード例ＩＩの擬似コードによって表すことができる。
【００３３】
擬似コード例ＩＩ
if (left pixel - right pixel) > 6  then LEFT JUSTIFY
else if (right pixel - left pixel) > 6  then RIGHT JUSTIFY
else if (right pixel + left pixel) > 24  then SPRIT JUSTIFY
else CENTER JUSTIFY（中央位置調整信号）
６ビットパルス幅値４２２と２ビット位置調整値４１８の組み合わせはパルスコード２０８と呼ばれ、パルスコード２０８はパルス幅変調器２１０に出力される（図２に示す）。別の実施形態では、パルスコード２０８はルックアップテーブルから生成される。これについては図４Ｂから図４Ｄに示し、次に説明する。
【００３４】
１実施形態では、ＤＭＡ２０２は、印刷されている各ラインの開始時と終了時において、レジスタ４０２を介していくつかの「０」ピクセル値をクロックするので、レーザ２１４はマージン領域で出力しない。ＤＭＡ２０２から見れば、レジスタ４０２は１ピクセル遅れている（すなわち、第２のピクセルがＤＭＡ２０２からストローブされるまで、第１のピクセルはレジスタ４０２Ｂに現れない）。本発明の１形態では、各ラインの開始と終了は値「０」のいくつかのピクセルで埋まっているため、上記の点は問題とはならない。１実施形態では、ＤＭＡ２０２は起動中レジスタ４０２を介して値「０」のピクセルをクロックする。別の実施形態では、レジスタ４０２は起動中リセットされ、レジスタ４０２の内容を消去する。
【００３５】
図４Ｂは、本発明の第２の実施形態による、ｐコードジェネレータ２０６Ｂを示す構成／概念図である。ｐコードジェネレータ２０６Ｂはレジスタ４０２Ａから４０２Ｃ（集合的にレジスタ４０２と示す）と、ルックアップテーブル（ＬＵＴ）４３２を含む。示された実施形態では、レジスタ４０２は図４Ａと同様に先入れ先出し（ＦＩＦＯ）メモリとして構成され、ピクセルがＤＭＡハードウェア２０２からクロックアウトされるとピクセルをシフトし保持する。左ピクセル３００Ａの値（レジスタ４０２Ａが出力する）、現在のピクセル３００Ｂの値（レジスタ４０２Ｂが出力する）、右ピクセル３００Ｃの値（レジスタ４０２Ｃが出力する）がルックアップテーブル４３２に提供される。これらの３つのピクセル３００Ａから３００Ｃの各々に対する４ビットの組み合わせの結果、ルックアップテーブル４３２への１２ビットの入力アドレス４３０が生成される。１実施形態では、ルックアップテーブル４３２は４０９６Ｘ８  ＲＡＭであり、各々が１２ビットの入力アドレス４３０によって一意的にアドレス可能な４０９６の８ビット幅の記憶場所を提供する。各８ビット幅の記憶場所は８ビットｐコード２０８を記憶する。受信した１２ビット入力アドレス４３０に基づいて、ルックアップテーブル４３２は、現在のピクセル３００Ｂに関する８ビットｐコード２０８をパルス幅変調器２１０に出力する。ルックアップテーブル４３２にロードされたｐコード２０８の値に依存して、ピクセル値からパルス幅への線形マッピングが提供されるか、または、非線形マッピングが提供されて印刷プロセスの非線形性を補償する。
【００３６】
図４Ｃは、本発明の第３の実施形態による、ｐコードジェネレータ２０６Ｃを示す構成／概念図である。ｐコードジェネレータ２０６Ｃはレジスタ４０２Ａから４０２Ｃ（集合的にレジスタ４０２と示す）と、ルックアップテーブル（ＬＵＴ）４４２とを含む。示された実施形態では、レジスタ４０２は図４Ａと図４Ｂと同様に先入れ先出し（ＦＩＦＯ）メモリとして構成され、ピクセルがＤＭＡハードウェア２０２からクロックアウトされるとピクセルをシフトし保持する。左ピクセル３００Ａの２つの最上位ビット（レジスタ４０２Ａが出力する）と、現在のピクセル３００Ｂの４つのビット（レジスタ４０２Ｂが出力する）と、右ピクセル３００Ｃの２つの最上位ビット（レジスタ４０２Ｃが出力する）がルックアップテーブル４４２に提供される。これらの３つのピクセル３００Ａから３００Ｃの各々のビットの組み合わせにより、ルックアップテーブル４４２への８ビットの入力アドレス４４０が生成される。１実施形態では、ルックアップテーブル４４２は２５６Ｘ８  ＲＡＭであり、各々が８ビットの入力アドレス４４０によって一意的にアドレス可能な２５６の８ビット幅の記憶場所を提供する。各８ビット幅記憶場所は８ビットのｐコード２０８を記憶する。受信した８ビットの入力アドレス４４０に基づいて、ルックアップテーブル４４２は現在のピクセル３００Ｂに関する８ビットのｐコード２０８をパルス幅変調器２１０に出力する。図４Ｂに示された実施形態で行われたように左ピクセル３００Ａと右ピクセル３００Ｃの４つのビットすべてを使用するのではなく、左ピクセル３００Ａと右ピクセル３００Ｃの２つの最上位ビットを使用してルックアップテーブル４４２をアドレスするので、解像度が低減するが、ルックアップテーブル４４２に、より小さな（そして価格の安い）ＲＡＭを使用することができる。より高い解像度が望ましい場合は、ピクセル３００Ａと３００Ｃからより多いビットを使用して、ルックアップテーブルをアドレスする。ルックアップテーブル４４２にロードされたｐコード２０８の値に依存して、ピクセル値からパルス幅への線形マッピングが提供されるか、または非線形マッピングが提供されて印刷プロセスの非線形性を補償する。
【００３７】
図４Ｄは、本発明の第４の実施形態による、ｐコードジェネレータ２０６Ｄを示す構成／概略図である。ｐコードジェネレータ２０６Ｄはレジスタ４０２Ａから４０２Ｃと（集合的にレジスタ４０２と示す）、ルックアップテーブル（ＬＵＴ）４５２と４５８とを含む。示された実施形態では、レジスタ４０２は図４Ａから図４Ｃと同様に先入れ先出し（ＦＩＦＯ）メモリとして構成され、ピクセルがＤＭＡハードウェア２０２からクロックアウトされるとピクセルをシフトし保持する。左ピクセル３００Ａの値（レジスタ４０２Ａが出力する）と右ピクセル３００Ｃの値（レジスタ４０２Ｃが出力する）が位置調整ルックアップテーブル４５２に提供される。これら２つのピクセル３００Ａと３００Ｃの各々に関する４つのビットの組み合わせによって、ルックアップテーブル４５２への８ビットの入力アドレス４５０が生成される。１実施形態では、ルックアップテーブル４５２は２５６Ｘ２  ＲＡＭであり、各々が８ビットの入力アドレス４５０によって一意的にアドレス可能な２５６の２ビット幅の記憶場所を提供する。各２ビット幅の記憶場所は、４つの位置調整（たとえば左位置調整、右位置調整、中央位置調整、分割位置調整）のうち１つを識別する２ビットの位置調整値を記憶する。受信した８ビットの入力アドレス４５０に基づいて、ルックアップテーブル４５２は現在のピクセル３００Ｂに関して対応する２ビットの位置調整値４５４を出力する。
【００３８】
現在のピクセル３００Ｂの値（レジスタ４０２Ｂが出力する）は、４ビットの入力アドレスとしてパルス幅ルックアップテーブル４５８に提供される。１実施形態では、ルックアップテーブル４５８は１６Ｘ６  ＲＡＭであり、４ビットの入力アドレスによって各々が一意的にアドレス可能な１６の６ビット幅の記憶場所を提供する。各６ビット幅の記憶場所は６４のパルス幅のうち１つを識別する６ビットのパルス幅値を記憶する。受信した４ビットの入力アドレスに基づいて、ルックアップテーブル４５８は現在のピクセル３００Ｂに対する６ビットのパルス幅値４５６を出力する。ルックアップテーブル４５８にロードされたパルス幅の値に応じて、ピクセル値からパルス幅への線形マッピングが提供されるか、または非線形マッピングが提供されて印刷プロセスの非線形性を補償する。
【００３９】
ルックアップテーブル４５２が出力する２ビット位置調整２５４と、ルックアップテーブル４５８が出力する６ビットパルス幅４５６の組み合わせは、現在のピクセル３００Ｂに対する８ビットのｐコード２０８であり、これがパルス幅変調器２１０に提供される。
【００４０】
図５は、本発明の１実施形態による、マルチビット画像データ１１４からｐコード２０８を生成する方法５００を説明するフロー図である。１実施形態では、コンピュータ１０２とプリンタ１２０は方法５００を実行するように構成される。ステップ５０２では、プリンタ１２０が印刷用データ１１２はマルチビット画像データ１１４にレンダリングされる。１実施形態では、印刷用データ１１２はコンピュータ１０２によってマルチビット画像データ１１４にレンダリングされ、ついでプリンタ１２０に出力される。別の実施形態では、印刷用データ１１２はプリンタ１２０によってマルチビット画像データ１１４にレンダリングされる。
【００４１】
ステップ５０４では、マルチビット画像データ１１４の中の現在のピクセル３００Ｂについてパルス幅値が生成される。１実施形態では、パルス幅値は現在のピクセル３００Ｂの少なくとも１つの最上位ビットと、現在のピクセル３００Ｂのビットの最下位端を連結して生成される。別の実施形態では、パルス幅値は、現在のピクセル３００Ｂの値に整数をかけることによって生成される。さらに別の実施形態では、パルス幅値はピクセルのグレースケール値をパルス幅値と関連づけるルックアップテーブルから得られる。本発明の１形態では、３つの隣接するピクセル３００Ａから３００Ｃの組の中の中央ピクセル３００Ｂの値に基づいてパルス幅値を生成するのではなく、ピクセル３００Ｂのパルス幅値は３つのピクセル３００Ａから３００Ｃのすべての値に基づいて生成される。
【００４２】
ステップ５０６では、現在のピクセル３００Ｂの左のピクセル３００Ａの値と、現在のピクセル３００Ｂの右のピクセル３００Ｃの値が比較される。ステップ５０８では、ステップ５０６で行われた左と右の隣接するピクセルの比較に基づいて位置調整値が生成される。１実施形態では、位置調整値は左ピクセルの値と右ピクセルの値に算術演算を行い、この算術演算の結果を閾値と比較することによって生成される。別の実施形態では、位置調整値はピクセルグレースケール値を位置調整値と関連づけるルックアップテーブルから得られる。
【００４３】
ステップ５１０では、ｐコード２０８はパルス幅変調器２１０に出力される。１実施形態では、ｐコード２０８はステップ５０４で生成されたパルス幅値と、ステップ５０８で生成された位置調整値を含む。ステップ５１２ではプリンタ１２０のレーザ２１４が、ステップ５１０で出力されたｐコード２０８に基づいて変調される。
【００４４】
上記のように、レジスタ４０２は本質的に、マルチビット画像１１４全体で一度に１ピクセル移動し、各ピクセル位置で左ピクセル３００Ａと、現在のピクセル３００Ｂと、右ピクセル３００Ｃを表す、３ピクセル幅のスライディングウィンドウとして機能する。方法５００のステップ５１４では、スライディングウィンドウは１ピクセル右の位置に移動して方法はステップ５０４に戻る。したがって、以前の左ピクセル３００Ａはウィンドウの外に出てしまい、以前の現在のピクセル３００Ｂは新しい左ピクセル３００Ａになり、以前の右ピクセル３００Ｃは現在のピクセル３００Ｂになり、以前の右ピクセル３００Ｃの右にあったピクセルが新しい右ピクセル３００Ｃになる。スライディングウィンドウが移動するたびに、ステップ５０４から５１２が繰り返されて、ウィンドウ内の中央ピクセル３００Ｂに対してｐコード２０８を生成する。
【００４５】
当業者であれば、コンピュータ１０２またはプリンタ１２０が実行する機能はハードウェア、または、ソフトウェア、ファームウェア、これらの任意の組み合わせで実装できることが理解されるであろう。この実装はマイクロプロセッサ、またはプログラマブル論理デバイス、ステートマシンのいずれを介してもよい。本発明の構成要素は、１つまたは複数のコンピュータ読み取り可能媒体上のソフトウェア内に常駐させてもよい。本明細書では、コンピュータ読み取り可能媒体という用語は、任意の種類の揮発性メモリまたは不揮発性メモリ、フロッピーディスク、ハードディスク、ＣＤ−ＲＯＭ、フラッシュメモリ、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリを含む。
【００４６】
本発明の１形態は、大きなブロックの専用の解像度強化技術（ＲＥＴ）ハードウェア、または、テンプレートをｐコードの置き換えと一致させるＲＥＴに似た機能を実装しなくても、高品質で解像度が強化された印刷用画像を生成する方法を提供する。１実施形態では、位置調整情報は、周囲のピクセルに基づいてピクセルのグレースケールデータからプリンタによって迅速に導出されるので、１ビットのハーフトーンデータを生成し、このハーフトーンデータをＲＥＴの特定用途向け集積回路（ＡＳＩＣ）に転送する必要性がなくなる。本発明の１形態では、現在のピクセルの位置調整情報は、２つの隣接ピクセル（つまり現在のピクセルの左ピクセルと右ピクセル）に基づいて導出されるので、データのラインをバッファする必要はない。
【００４７】
好ましい実施形態を説明する目的で特定の実施形態を示し、説明したが、当業者であれば本発明の範囲から離れることなく、本明細書に示されて説明された特定の実施形態の代わりに幅広い種類の代替の実装および／または等価な実装を使用できることが理解されるであろう。機械業界、電子機械業界、電気業界、コンピュータ業界の当業者であれば、本発明は非常に幅広い種類の実施形態で実装できることが容易に理解されるであろう。本出願は、本明細書に論じられた好ましい実施形態の任意の適応例または変形例をカバーすることを目的とする。したがって、本出願は本発明が請求項および請求項の等価物によってのみ限定されることを明確に意図するものである。
【図面の簡単な説明】
【００４８】
【図１Ａ】本発明の１実施形態による印刷システムの主な構成要素を示す構成図である。
【図１Ｂ】本発明の別の実施形態による印刷システムの主な構成要素を示す構成図である。
【図２】本発明の１実施形態による、図１Ａと図１Ｂに示されたレーザ印刷エンジンの主な構成要素を示す構成図である。
【図３】マルチビット画像データファイルからの３つの隣接するピクセルを示す図である。
【図４Ａ】本発明の１実施形態によるｐコードジェネレータを示す構成／概略図である。
【図４Ｂ】本発明の第２の実施形態によるｐコードジェネレータを示す構成／概略図である。
【図４Ｃ】本発明の第３の実施形態によるｐコードジェネレータを示す構成／概略図である。
【図４Ｄ】本発明の第４の実施形態によるｐコードジェネレータを示す構成／概略図である。
【図５】本発明の１実施形態による、マルチビット画像データからｐコードを生成する方法を示すフロー図である。
【符号の説明】
【００４９】
１００Ａ、１００Ｂ  印刷システム
１０２  コンピュータ１０２
１２０  プリンタ
１０４  プロセッサ
１０６  バス
１０８  メモリ
１１０  ドライバ
１１２  印刷するデータ
１１４  マルチビット画像データ
１１６  Ｉ／Ｏインタフェース
１１８  通信リンク
１２０  プリンタ
１２２  プロセッサ
１２４  バス
１２６  Ｉ／Ｏインタフェース
１２８  メモリ
１３０  レーザ印刷エンジン
１４０  ドライバ
１４２  記述ファイル
２０２  ＤＭＡ  ハードウェア
２０４Ａ  データ信号
２０４Ｂ  ラッチ信号
２０６Ａ、２０６Ｂ、２０６Ｃ、２０６Ｄ  ｐコードジェネレータ
２０８  ｐコード
２１０  パルス幅変調器
２１２  レーザ駆動信号
２１４  レーザ
２１６  ビーム
２５４  位置調整
３００Ａ  左ピクセル
３００Ｂ  中央ピクセル
３００Ｃ  右ピクセル
４０２Ａ、４０２Ｂ、４０２Ｃ  レジスタ
４１０Ａ、４１０Ｂ  減算器
４１０Ｃ  加算器
４１２Ａ、４１２Ｂ、４１２Ｃ  コンパレータ
４１４Ａ  左位置調整信号
４１４Ｂ  右位置調整信号
４１４Ｃ  分割位置調整信号
４１６  位置調整ジェネレータ
４１８  位置調整値
４２０  パルス幅ジェネレータ
４２２  パルス幅
４３０  入力アドレス
４３２  ルックアップテーブル
４４０  入力アドレス
４４２  ルックアップテーブル
４５０  入力アドレス
４５４  位置調整値
４５２、４８２  ルックアップテーブル
４５６  パルス幅
４５８  ルックアップテーブル
【図１Ａ】
2004243771.tif 000003
【図１Ｂ】
2004243771.tif 000004
【図２】
2004243771.tif 000005
【図３】
2004243771.tif 000006
【図４Ａ】
2004243771.tif 000007
【図４Ｂ】
2004243771.tif 000008
【図４Ｃ】
2004243771.tif 000009
【図４Ｄ】
2004243771.tif 000010
【図５】
2004243771.tif 000011