(57)【要約】【課題】画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する場合に、前記処理系の前段におけるデータ生成速度による前記処理系の処理速度に対する影響を防止しつつ、前記連続処理を遅滞させず、且つ前記処理系に入力される画像データの階調表現での不連続性を目立たなくする。【解決手段】画像データＤの各色下位所定数ビットを冗長化してそのビット数情報を画像データＤに含ませ、冗長化後の画像データを圧縮してメモリに記録する圧縮部２３と、ＲＡＭ３１に記録された画像データが所定量に達するとバス２９を介して取得して伸張する伸張部２４と、伸張後の画像データの下位所定数ビットを非冗長データに置換してＰＷＭ部に入力するスクリーン処理部２５と、を具備する。【選択図】図３
2010041193.tif 000002
【特許請求の範囲】
【請求項１】
画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する画像処理コントローラであって、
前記画像データの階調値における下位所定数ビットを冗長化して、冗長化したビット数情報を前記画像データに含ませる第１置換手段と、
前記冗長化後の画像データを圧縮してメモリに記録する圧縮手段と、
前記メモリに記録された画像データが前記所定量に達すると前記バスを介して取得して伸張する伸張手段と、
伸張後の画像データから前記ビット数情報を取得し、前記伸張後の画像データの前記下位所定数ビットを非冗長データに置換して前記処理系に入力する第２置換手段と、
を具備することを特徴とする画像処理コントローラ。
【請求項２】
前記画像データの各画素は、各画素が構成するオブジェクト種類を示す情報を有しており、前記第１置換手段は、前記オブジェクト種類に応じて、前記冗長化するビット数を変更する請求項１記載の画像処理コントローラ。
【請求項３】
前記画像データの各画素は、各画素が構成するオブジェクト種類を示す情報を有しており、
前記第１置換手段は、前記オブジェクト種類が絵画像を構成する画素よりも文字画像を構成する画素において、前記冗長化するビット数を多くする請求項１又は請求項２に記載の画像処理コントローラ。
【請求項４】
前記画像データの各画素は、各画素が構成するオブジェクト種類を示す情報を有しており、
前記第１置換手段は、前記オブジェクト種類が絵画像を構成する画素については下位所定数ビットを冗長化し、文字画像を構成する画素は冗長化しない請求項１〜請求項３の何れか一項に記載の画像処理コントローラ。
【請求項５】
前記第１置換手段は、前記ビット数情報を前記画像データの属性情報記述用ビットに含ませる請求項１〜請求項４の何れか一項に記載の画像処理コントローラ。
【請求項６】
画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する画像処理コントローラであって、
前記画像データの階調値における下位所定数ビットを冗長化する第１置換手段と、
前記冗長化後の画像データを圧縮してメモリに記録する圧縮手段と、
前記メモリに記録された画像データが前記所定量に達すると前記バスを介して取得して伸張する伸張手段と、
前記伸張後の画像データの前記下位所定数ビットを非冗長データに置換して前記処理系に入力する第２置換手段と、
を具備することを特徴とする画像処理コントローラ。
【請求項７】
画素毎に階調表現した画像データを所定量ずつ連続処理する処理系を備え、該処理系に対し所定転送速度のバスを介して前記画像データを入力する画像処理装置であって、
前記画像データの階調値における下位所定数ビットを冗長化して、冗長化したビット数情報を前記画像データに含ませる第１置換手段と、
前記冗長化後の画像データを圧縮してメモリに記録する圧縮手段と、
前記メモリに記録された画像データが前記所定量に達すると前記バスを介して取得して伸張する伸張手段と、
伸張後の画像データから前記ビット数情報を取得し、前記伸張後の画像データの前記下位所定数ビットを非冗長データに置換して前記処理系に入力する第２置換手段と、
を具備することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理コントローラおよび画像処理装置に関し、特に、画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する画像処理コントローラおよび画像処理装置に関する。
【背景技術】
【０００２】
レーザプリンタの感光体においては、所定量データ（１ページ分の印刷データ）を途切れることなくまとめて所定転送速度（ドラムの回転速度に対応する速度）で信号入力する必要がある。このような処理系に対する信号入力には、複数の律速段階が存在し、例えば、入力された印刷ジョブのＰＤＬ言語に基づいて行うラスタデータ作成処理や、前記処理系に対するバス転送速度が、該当する。
【０００３】
そこで、レーザプリンタにおいては、出力速度が非一定なラスタデータ作成処理が信号入力速度に影響しないように、一旦、所定量データをバッファして該バッファから逐次読み出しすることで一定速度での安定転送することが知られている。また、一般に、バス転送速度よりもＩＣ等における演算速度の方が高速であるため、バッファする際に予めデータ圧縮しておき、バス転送速度を高速化することも知られている。
【特許文献１】特開２００４−４２３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、近年、画像データの高解像度化に影響されて、転送速度をさらに向上する必要が出てきている。その解決方法として、前記特許文献１において、高解像度データに対する圧縮率を上げる方法が提案されている。具体的には、圧縮前データの低階調データを欠損させて（例えば、データを０にしたり１にしたりする）、符号化しやすくするのである。ただし、前記方法のように低階調データを欠損させると、画像データに連続的な階調表現（グラデーション）が含まれる場合に細かな階調表現が失われてしまい、階調表現に不連続性が発生してしまう。
【０００５】
本発明は前記課題に鑑みてなされたものであり、画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する場合に、前記処理系の前段におけるデータ生成速度による前記処理系の処理速度に対する影響を防止しつつ、前記連続処理を遅滞させず、且つ前記処理系に入力される画像データの階調表現での不連続性を目立たなくすることが可能な画像処理コントローラ、画像処理装置およびレーザプリンタの提供を目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明の画像処理コントローラは、画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する画像処理コントローラであって、第１置換手段と、圧縮手段と、伸張手段と、第２置換手段とを備える構成としてある。
【０００７】
前記構成において、画像データはメモリに記録される前に、前記圧縮手段によって圧縮され、メモリに記録された画像データが前記所定量に達した時点で、前記伸張手段が取得して伸張する。該伸張の演算速度は前記バスの転送速度よりも速く、前記伸張手段の演算速度が前記処理系へのデータ入力における律速段階となることは無い。すなわち、バス転送速度以上の速度で、画像データが前記処理系へ入力可能になる。
【０００８】
また、前記画像データは、圧縮される前に、前記第１置換手段によって前記画像データの階調値における下位所定数ビットを冗長化されており、本来の画像データよりも冗長度を高められている。そのため、前記圧縮手段の圧縮によって、１画素当りのデータ量が低減されており、所定のバス転送速度でデータ転送されると、画像データ単位量あたりの転送速度がさらに高まる。無論、画像データの単位量あたりの圧縮率が向上するのでメモリ容量の節約にもなる。
【０００９】
さらに、前記第１置換手段は、冗長化されたビット数についての情報を各画素に付加しており、前記第２置換手段は、伸張された画像データの各画素から該ビット数についての情報を得る。そして、前記第１置換手段が冗長化したビットを非冗長データに置換して、前記画像データの階調性を回復させる。ここで言う非冗長データとは、いわゆる情報エントロピーを高めた情報であり、例えばノイズ等のようにランダム性の高いデータである。非常長データは、ノイズを利用して作成されてもよいし、擬似乱数発生アルゴリズムで発生した擬似ランダムデータを利用してもよい。よって、画像データの単位量当りの転送速度を高めて、より高解像度の画像データに対応しつつ、画像データにおける階調表現の不連続性を目立たなく出来る
【００１０】
前記所定量とは、前記処理系における処理単位であり、処理の性質上途中で一時停止できない一まとまりのデータである。例えば、レーザプリンタの印刷処理においては、１ページ単位の印刷データがこれに該当する。前記連続処理とは、一定の処理速度を維持することであり、所定量ずつ連続処理するとは、所定量のデータに対する処理継続中は、処理が遅滞しないことを意味する。前記バスとは、回路と回路の間を繋いで信号の伝送に使う通信経路（伝送路）であり、一般に、バス転送速度は演算処理速度よりも遅く、前記バスの所定転送速度は前記処理系における演算処理速度よりも遅い。前記冗長化とは、圧縮等によって符号化した場合に情報エントロピーが低下するデータで置換することであり、冗長化した結果、画像データの圧縮率が高まる。画像データに含ませるとは、画像データの空きビットに、ビット数を示す情報を記述することを言い、例えば、Ｘチャンネルやαチャンネル等のように、付加情報を記録するチャンネルに記録することが出来る。無論、新たにビット数を示す情報を記録するデータチャンネルを追加して、このチャンネルに記録しても構わない。前記非冗長データとは、例えばランダム（もしくは擬似ランダム）なデータやノイズのように不規則なデータ等であり、欠損データを非冗長データで置換することにより、前記第１置換手段によって低下された情報エントロピーを上昇させることになる。
【００１１】
本発明の選択的な一側面として、前記画像データの各画素は、各画素が構成するオブジェクト種類を示す情報を有しており、前記第１置換手段は、前記オブジェクト種類に応じて、前記冗長化するビット数を変更する構成としてもよい。オブジェクト種類とは、イメージ画像、文字画像、写真画像等である。階調性の維持の重要度は、オブジェクト種類に応じて異なっており、例えば、写真画像において階調性が損なわれると、階調の不連続性がトーンジャンプとして顕在化するが、文字等のようにベタ塗りであれば階調が多少ずれても目立つことはない。すなわち、対象画素がどのような種類のオブジェクトを構成するかによって、冗長化するビット数を変えることにより、トーンジャンプが目立たないような冗長化が可能となる。
【００１２】
より具体的には、階調性の低下によってトーンジャンプが顕在化するオブジェクトを構成する画素データについては、冗長化するビット数を所定値よりも少なめにし（例えば冗長化自体をしない）、階調性が低下してもトーンジャンプが目立たないオブジェクトを構成する画素データについては、冗長化するビット数を所定値よりも多めに設定する（例えば２ビット等）ことが考えられる。なお、階調性の低下によってトーンジャンプが顕在化しやすいオブジェクトとしては、イメージ画像や写真画像等の絵画像が例示され、トーンジャンプが目立たないオブジェクトとしては文字画像が例示される。
【００１３】
本発明の選択的な一側面として、前記第１置換手段は、前記ビット数情報を前記画像データの属性情報記述用ビットに含ませる構成としてもよい。画像データは、画像の明度や彩度に関する情報以外に、各画素がどのようなオブジェクトに帰属するかを示す情報等の属性情報を格納するために、Ｘチャンネル等の情報チャンネルを備える場合がある。Ｘチャンネルは、一般に画像データを構成する各色の階調値を格納するチャンネルと同じビット数が確保されており、空きビットを有する。また、画像データがラスタデータに変換された後に未使用になるビットもある。空きビットや未使用ビットは、他のデータを記述しても構わない。すなわち、前記第１置換手段の前段で使用されるが第２置換手段では未使用になるビットに前記ビット数情報を格納させることが出来る。また、画像データは、通常、各画素の透過率を格納する情報チャンネルとしてαチャンネルを備えており、このαチャンネルも、画像データをラスタデータに変換した後は未使用になるので前記ビット数情報の格納に利用できる。よって、本来画像データに備わったチャンネルを有効利用して前記ビット数情報を後段に伝送できる。
【００１４】
また、前記課題を解決するために、本発明の画像処理コントローラは、画素毎に階調表現した画像データを所定量ずつ連続処理する処理系に対し、所定転送速度のバスを介して前記画像データを入力する画像処理コントローラであって、前記画像データの階調値における下位所定数ビットを冗長化する第１置換手段と、前記冗長化後の画像データを圧縮してメモリに記録する圧縮手段と、前記メモリに記録された画像データが前記所定量に達すると前記バスを介して取得して伸張する伸張手段と、前記伸張後の画像データの前記下位所定数ビットを非冗長データに置換して前記処理系に入力する第２置換手段と、を具備する構成とすることも可能である。すなわち、予め冗長化するビット数を定めておけば、前記第１置換手段から後段の第２置換手段へと冗長化したビット数を示す情報を伝達する必要も無い。
【００１５】
上述した画像処理コントローラは、他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は前記画像処理コントローラを備える印刷装置、該印刷装置を備えた印刷システム、上述した画像処理コントローラの構成に対応した工程を有する制御方法、上述した画像処理コントローラの構成に対応した機能をコンピュータに実現させるプログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体、等としても実現可能である。これら印刷装置、印刷システム、画像処理方法、画像処理プログラム、該プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。むろん、請求項２〜５に記載した構成も、前記システムや前記方法や前記プログラムや前記記録媒体に適用可能である。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態を説明する。本実施形態においては、本発明に係る画像処理コントローラを備えた画像処理装置の一例としてレーザプリンタを例に取って説明を行う。無論、このレーザプリンタはコピー機等に組み込んで実現しても構わないし、他の機器に組み込まれて実現されても構わない。図１は本実施形態にかかるレーザプリンタの概略構成を示すブロック図である。同図においてレーザプリンタ２０には、インターフェース（Ｉ／Ｆ）２８を介してホストコンピュータ１０が接続されており、ホストコンピュータ１０から送信される印刷データに基づいて紙などの印刷媒体に印刷を実行する。
【００１７】
ホストコンピュータ１０は、アプリケーションプログラム（ＡＰＬ）１１とプリンタドライバ（ＰＲＴＤＲＶ）１２とを備えており、ＡＰＬ１２で作成した文字データ、図形データ、ビットマップデータ等をＰＲＴＤＲＶ１２に入力する。ＰＲＴＤＲＶ１２は、画像データＤを生成し、該画像データＤを印刷ジョブに含めてレーザプリンタ２０に出力する。
【００１８】
画像データＤは、ページ記述言語（ＰＤＬ）で作成される場合も有る。ＰＤＬとは、コンピュータ上で作成された文書や画像などを印刷する際に、プリンタへの出力イメージを記述してプリンタに対して指示する言語（例えば、PostScript（登録商標）等）であり、文字や図形の位置情報、書式情報等で構成される、ＰＤＬからは、プリンタの解像度に依存しないビットマップイメージが作成可能である。無論、ＡＰＬ１２から入力される画像データＤはＰＤＬで記述されたものに限られず、例えば、各々階調表現した複数画素を格子状やハニカム状に並べたＲＧＢデータやＣＭＹＫデータ等のビットマップイメージデータであってもよい。ただし、以下では、画像データＤがページ記述言語で作成されている場合について説明する。
【００１９】
レーザプリンタ２０は、第１制御部Ｃ１と、第２制御部Ｃ２と、Ｉ／Ｆ２８と、ＣＰＵ３０と、ＲＡＭ３１と、ＲＯＭ３２と、印刷エンジン２７と、これらを通信可能に接続するバス２９とを備える。第１制御部Ｃ１は、色変換部２２と圧縮部２３とを備える。第２制御部Ｃ２は、伸張部２４と、スクリーン処理部２５と、ＰＷＭ部２６とを備える。ＣＰＵ３０は、ＲＯＭ３２に記録された制御プログラムをＲＡＭ３１をワークエリアとして利用しつつ適宜実行し、バス２９を介して、第１制御部Ｃ１と第２制御部Ｃ２と印刷エンジン２７とを、制御してレーザプリンタ２０全体を統御する。
【００２０】
ＡＰＬ１２から入力された画像データＤは、ＣＰＵ３０，ＲＡＭ３１，ＲＯＭ３２で構成される演算処理系に供給される。まず、画像データＤはＲＡＭ３１に格納され、ＣＰＵ３０がＲＡＭ３１から適宜データを取得しつつＰＤＬに基づいて書式・図形・文字等のベクトルデータをラスタデータに展開することになる。展開後の色空間は、入力ファイルの内容次第であり、一般に、ＲＧＢ色空間やＣＭＹＫ色空間である。展開されたラスタデータは、色変換部２２に入力される。なお、後述の色変換についても該演算処理系で行ってもよく、この場合、展開されたラスタデータは圧縮部２３に入力されることになる。逆に、ＰＤＬ解釈についても前記演算処理系で実行しなくともよく、例えばＰＤＬ解釈を専門に実行する処理部（論理演算回路等）を第１制御部に設けてＰＤＬ解釈してもよい。
【００２１】
ラスタデータは、格子状やハニカム状に並んだ画素の集合体を現しており，画素毎に色情報と画像属性情報とを有する。色情報は、カラーであればＲＧＢそれぞれ８ビットの階調データまたはＣＭＹＫそれぞれ８ビットの階調データである。画像属性情報は、いわゆるＸチャンネルやαチャンネル等の属性データである。Ｘチャンネルであれば対応する画素データがいずれのオブジェクト種類（文字画像・グラフィック画像・イメージ画像等）を構成するかを示す識別情報が記述されている。αチャンネルであれば対応する画素データの透過情報が記述されている。画像属性情報は、例えばハーフトーン処理におけるスクリーンの選択に利用される。または、画像属性情報は、色変換テーブルの選択にも利用される場合がある。以下の説明においては、ラスタデータとしてＲＧＢＸデータが入力された場合を例にとって説明する。
【００２２】
色変換部２２は、ラスタデータをレーザプリンタ２０の色空間（例えばＣＭＹＫ色空間）に変換する。すなわち、ＲＧＢＸ形式で表現された画素毎のデータをＣＭＹＫＸ形式に変換する。色変換部２２においては、基本的に、入力で定義された色をプリンタの出力色と一致させる色変換を実行するが、非線形性への対応や、入出力色域の差を吸収する色域圧縮処理、トータルカバレッジ制限等の解消を実行するため、必ずしも入力と出力との色が一致するわけではない。作成されたＣＭＹＫデータは、圧縮部２３に出力される。
以下、レーザプリンタ２０の色空間に変換されたラスタデータをＣＭＹＫデータと記載することにする。
【００２３】
圧縮部２３は、ＣＭＹＫデータに対し、冗長性を低下させる（情報エントロピーを低下させる）圧縮処理を行ってＣＭＹＫデータのファイルサイズを低下させる。この圧縮処理に先立ち、圧縮部２３は、ＣＭＹＫデータの下位数ビットを所定の規則に従って冗長化し、圧縮率を向上させる処理を行う。
【００２４】
図２は冗長化の手法を説明する図である。冗長化は、例えば、ＣＭＹＫデータの下位ビットを数ビット分欠損させる（０に置換する）ことにより行われる。そして、圧縮部２３は、冗長化したビット数を画像属性情報のデータ領域に記載した上で、圧縮処理を実行する。なお、冗長化したビット数を記録する際に、以降の処理で未使用になるデータを画像属性情報から削除し、更にデータを冗長化してもよい。例えば、後述のスクリーン処理において、画像属性毎に異なる処理を行わない場合には画像属性情報の全ビットを欠損させた上で冗長ビット数を記録すればよい。
【００２５】
また、Ｘチャンネルを持たない画像データであっても、αチャンネル（画像の透過情報）を持つ画像データであれば、αチャンネルに冗長化ビット数を記載しても同様の作用効果を得られる。なお、αチャンネルも色変換終了後は未使用になるので、冗長ビット数を記録できる。
欠損させるビット数は、データ量に応じて変更することが考えられる。すなわち解像度が高い画像データが入力された場合が１ページ当りのデータ量も上昇するので、圧縮率を高める必要がある。従って、ビット欠損量を増加させないと、データ転送が間に合わず、後段の印刷エンジンでオーバーランを発生してしまう。よって、高解像度のデータは欠損ビット数を多くし、低解像度のデータは欠損ビット数を少なくすると好適である。なお、欠損ビット数の案配は、主にバス転送速度に応じて決定することになるが、メモリ容量や後述の伸張部における処理速度を考慮して決定してもよい。
【００２６】
また、解像度が同じであっても、データのビット数に合わせて欠損させるビット数を変更することも考えられる。すなわち、８ビットデータであれば下位２ビットを欠損させ、７ビットデータであれば下位１ビットを欠損させ、６ビット以下のデータであれば欠損させない等が考えられる。無論、どのようなビット数であっても必ず２ビット欠損させる等のように、一律な数で下位ビット欠損を行うことも可能である。このように、入力されるデータに依存しないビット欠損数であれば、冗長ビット数記録せずとも後段で欠損ビット数を把握可能なので、ビット数の後段への伝送は不要となる。
【００２７】
また、画像属性情報に基づいて、冗長化するビット数を変更してもよい。例えば、文字画像を示す画像属性情報が付加された画素に対しては、冗長化するビット数を多くし（例えば下位４ビット等）、イメージ画像を示す画像属性情報が付加された画素に対しては、冗長化するビット数を少なめにする（例えば、下位２ビット等）。すなわち、連続階調（多階調での表現）を必要としないオブジェクトを構成する画素については、冗長化の度合を高め、連続階調を必要とするオブジェクトを構成する画素については、冗長化の度合を低下させる。無論、連続階調を必要とするオブジェクトを構成する画素については、冗長化を行わない選択肢も有効である。
【００２８】
圧縮部２３の出力する圧縮データは、バス２９を介してＲＡＭ３１にバッファされる。バッファに１ページ分の印刷データが蓄積されると、第２制御部Ｃ２における印刷処理が印刷エンジンの動作と同期しつつ開始され、伸張部２４へ圧縮データの転送が開始される。このように印刷データを一旦バッファすることにより、１ページ毎に所定速度で途切れることなく印刷エンジンへデータ転送可能となる。
【００２９】
ここでバッファする際の転送速度と圧縮や伸張に要する演算速度について比較する。一般に、演算処理と通信速度とを比較した場合、通信速度の方が遅く、本実施形態においても同様であるものとする。すなわち、バス２９の転送速度は、第２制御部Ｃ２における演算処理速度（例えば、伸張部２４の伸張速度）よりも遅く、ＲＡＭ３１から印刷エンジン２７へ印刷データが転送される過程において、データ転送速度の律速段階はバス２９の転送速度である。すなわち、データの圧縮率が高ければ高いほど、印刷エンジン２７への印刷データ転送速度は上昇する。
【００３０】
伸張部２４は、圧縮されたデータを伸張し、スクリーン処理部２５に出力する。無論、伸張部２４の伸張処理と圧縮部２３の圧縮処理とは、同一の圧縮アルゴリズムに基づいている。
【００３１】
スクリーン処理部２５は、圧縮部２３において欠損させたビットを補完する欠損ビット補完処理と、８ビットの画像データを３ビットの駆動パルス幅データに変換するγ補正処理と、網点を形成するハーフトーン処理と、を実行する。より具体的には、スクリーン処理部２５は、画像データを複数の閾値Ｔｈ１〜Ｔｈ７とそれぞれ比較して比較結果に応じた値に変換してハーフトーン処理を実行し、閾値Ｔｈ１〜Ｔｈ７の間隔を調整することでγ補正を実行する。
【００３２】
図３は欠損ビット補完処理を説明する図である。同図に示すように、Ｘチャンネルを参照して欠損ビット数を確認し、欠損ビット数に合わせたビット数分のノイズを生成し、生成したノイズを画素データの下位ビットに加算する。すなわち、圧縮時に欠損されて丸められた下位４階調の範囲に値を配置し、階調の不連続性を緩和することにで、トーンジャンプを抑制できる。そして、欠損ビットが補完されたデータにγ補正処理とハーフトーン処理とが行われる。
【００３３】
図４〜図６は、閾値と、閾値を利用したγ補正テーブルの例を入出力カーブとして示した図である。これらの図に示すγ補正テーブルは、８ビット２５６階調のデータを３ビット８階調の駆動パルスデータに変換するものであり、入力データが各閾値を超える毎に出力データが１階調上昇していく。
【００３４】
図４で示されるγ補正テーブルは、閾値Ｔｈ１〜Ｔｈ７が全体的に低く設定されている例であり、いわゆるγカーブとしては、破線で示すように入力値に対して出力値を全体的に上昇させるカーブに相当する。図５に示すγ補正テーブルは、閾値Ｔｈ１〜Ｔｈ７が全体的に高く設定されている例であり、いわゆるγカーブとしては、破線で示すように入力値に対して出力値を全体的に下降させるカーブに相当する。そして図６に示すγ補正カーブは、閾値Ｔｈ１〜Ｔｈ７が非等間隔に設定された例であり、いわゆるγカーブとしては低階調領域を強調しつつ高階調領域を弱めるＳ字カーブに相当する。
【００３５】
以上のようなγ特性を備えたγ補正テーブルを用いてデータ変換するにあたり、スクリーン処理部２５は、各閾値Ｔｈ１〜Ｔｈ７にランダムなノイズを重畳して、変換後の駆動パルス幅データを不規則性に変動させる。よって、入力データが同一値であっても、出力値はノイズ幅の範囲内にランダムに分散されることになる。すなわち、ハーフトーンにより発生する階調の不連続性を緩和した上で駆動パルス幅データに変換することにで、トーンジャンプを抑制目立たなくできる。
【００３６】
ここでノイズ発生の仕方について説明する。欠損ビットに補完するノイズや閾値に重畳するノイズは、ランダムなノイズを画素の位置（ｘ、ｙ）に対応して出力するノイズマトリクスを用いたり、擬似乱数発生回路を用いたりして生成できる。擬似乱数を発生する場合、平均採中法、混合型線形合同法、Lagged Fibonacci生成法、Knuthのアルゴリズム（例えば「The artof computer programming」第３版（1997年）参照」、メルセンヌ素数を用いる方法、Ｍ系列、Ｇｏｌｄ系列などの周知の擬似乱数を用いることができる。このような発生回路のサイズを考慮すると、乗算を用いる平均採中法、混合型線形合同法などよりは、それ以外の方法のほうが好ましい。特に、シフトレジスタにより構成できるＭ系列は、回路化が容易で回路サイズも小さくて済みながら、乱数の周期が長いため繰り返しが目立たないという点で好ましい。一例としては、特性多項式が
ｆ（ｘ）＝ｘ３１＋ｚ３＋１
であるものを使えば、３１ビットのシフトレジスタと１つの排他的論理和回路で構成できる。なお、Ｍ系列に基づく乱数の発生方法については、例えば、「計測自動制御学会論文集2-4、283-288頁、1966年」などに示されている。
【００３７】
図７は、スクリーン処理において、欠損ビット補完処理を実現する具体的な構成の一例である。同図において、スクリーン処理部は２５は、Ｘチャンネルの欠損ビット数情報が入力されるノイズ発生器Ｆ０〜Ｆ３、ＣＭＹＫ各色８ビットのデータが入力されるレジスタＧ１〜Ｇ４を備えている。ノイズ発生器Ｆ０〜Ｆ３のうち、入力された欠損ビットに対応するノイズ発生器がノイズを発生し、対応するレジスタに欠損ビットを入力する。このときレジスタＧ１〜Ｇ４にはノイズ発生器Ｆ０〜Ｆ３に入力されたＸチャンネルに対応するＣＭＹＫ値が記憶されているので、これらのＣＭＹＫ値の欠損ビットにノイズが吹かされることになる。このようにして欠損ビットが補完されたＣＭＹＫデータにガンマ補正やハーフトーン処理が行われる。同図においては、ノイズ付加するビット数を、レジスタの下位４ビットとしてあるが、無論、このビット数は１〜６までの間で適宜変更可能であり、これに合わせてノイズ発生器の数も増減される。
【００３８】
図８は、γ補正処理とハーフトーン処理を実現する具体的な構成の一例である。図７において、スクリーン処理部は、ノイズ発生器Ａ、閾値発生器Ｂ、加算器Ｄ０〜Ｄ７、比較器Ｅ０〜Ｅ７、加算器Ｆ、を備えている。ノイズ発生器Ａは、擬似ランダムノイズを、画素の位置Ｘ、Ｙに対応して出力する。閾値発生器Ｂは、閾値Ｖｔｈ１〜Ｖｔｈ７を、画素の位置Ｘ、Ｙに対応して出力する。加算器Ｄ１〜Ｄ７は、閾値発生器Ｂの発生した閾値Ｖｔｈ１〜Ｖｔｈ７に、ノイズ発生器Ａの発生したノイズを加算する。比較器Ｅ１〜Ｅ７は、加算器Ｄ１〜Ｄ７Ｂの出力する各値（ノイズ付加された各閾値）と画素データとを比較し、比較結果を出力する（例えば、閾値よりも大きければ１、閾値よりも小さければ０等）。そして加算器Ｅが比較器Ｄ１〜Ｄ７の比較結果を加算することにより、パルス幅データの何れかの階調値に対応するデータとなり、これがＰＷＭ部に出力される。
【００３９】
ＰＷＭ部は、スクリーン処理部から入力されるパルス幅データから駆動パルス信号を生成する。更にパスル幅変調素子にてその駆動パルスデータに基づく駆動パスル信号が生成される。
【００４０】
印刷エンジンでは、レーザダイオードが駆動パルス信号に従って、レーザビームを発生し、そのレーザビームは感光ドラム上を走査する。各画素内のレーザビームが照射された仮想ドットに、トナーが付着し、各画素内にドットが形成され、そのドットが印刷用紙などの印刷媒体に転写される。現像されたドットは網点を形成し、その網点の面積によりハーフトーンが表現される。
【００４１】
以上説明したように、本実施形態においては、画像データＤの各色下位所定数ビットを冗長化してそのビット数情報を画像データＤに含ませ、冗長化後の画像データを圧縮してメモリに記録する圧縮部２３と、ＲＡＭ３１に記録された画像データが所定量に達するとバス２９を介して取得して伸張する伸張部２４と、伸張後の画像データの下位所定数ビットを非冗長データに置換してＰＷＭ部に入力するスクリーン処理部２５と、を具備するように構成してある。従って、ＰＤＬ解釈部２１におけるデータ生成速度が第２制御部Ｃ２や印刷エンジンの処理速度に影響しないようにし、印刷エンジン２７の連続処理を遅滞させず、且つ第２制御部Ｃ２に入力される画像データの階調性を改善した。
【００４２】
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
【図面の簡単な説明】
【００４３】
【図１】本実施形態にかかるレーザプリンタの概略構成を示すブロック図である。
【図２】冗長化の手法を説明する図である。
【図３】欠損ビット補完処理を説明する図である。
【図４】γ補正テーブルの一例を入出力カーブとして示した図である。
【図５】γ補正テーブルの一例を入出力カーブとして示した図である。
【図６】γ補正テーブルの一例を入出力カーブとして示した図である。
【図７】欠損ビット補完部の具体的な構成の一例である。
【図８】γ補正処理部とハーフトーン処理部の具体的な構成の一例である。
【符号の説明】
【００４４】
１０…ホストコンピュータ、１１…アプリケーションプログラム、１２…プリンタドライバ、２０…レーザプリンタ、２１…ＰＤＬ解釈部、２２…色変換部、２３…圧縮部、２４…伸張部、２５…スクリーン処理部、２６…ＰＷＭ部、２７…印刷エンジン、２８…Ｉ／Ｆ、２９…バス、３０…ＣＰＵ、３１…ＲＡＭ、３２…ＲＯＭ、Ａ…ノイズ発生器、Ｂ…閾値発生器、Ｄ１〜Ｄ７…加算器、Ｅ１〜Ｅ７…比較器、Ｆ…加算器、Ｇ１〜Ｇ４…ノイズ発生器、Ｒ１〜Ｒ４…レジスタ、Ｃ１…第１制御部、Ｃ２…第２制御部
【図１】
2010041193.tif 000003
【図２】
2010041193.tif 000004
【図３】
2010041193.tif 000005
【図４】
2010041193.tif 000006
【図５】
2010041193.tif 000007
【図６】
2010041193.tif 000008
【図７】
2010041193.tif 000009
【図８】
2010041193.tif 000010