(57)【要約】【課題】高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理のためのプログラム、及び画像処理方法を提供すること。【解決手段】ＲＧＢデータに対して色補正を含む色変換を行ってＣＭＹＫデータを得る。このＣＭＹＫデータに対して、印刷対象の描画種を示す情報を含む属性情報に基づいてＣＭＹＫデータに対してランダムノイズを選択的に付加して出力する。描画種が文字やグラフィックのときノイズを付加せず、イメージのときノイズを付加させる。あるいは、描画種が文字のときはノイズを付加せず、グラフィックやイメージのときノイズを付加する。その後、ノイズ付加されたＣＭＹＫデータ又はノイズなしのＣＭＹＫデータに対してハーフトーン処理を行い、階調表現を再現する。そして、圧縮して出力する。プリンタは圧縮データを解凍して、パルス幅変調等の所定の動作により印刷出力を得る。これにより、全体としての圧縮効率を高めつつ、高画質の印刷出力を得ることができる。【選択図】図３
2004295765.tif 000002
【特許請求の範囲】
【請求項１】
複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて前記複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加処理と、
前記ノイズ付加処理から出力された前記複数色データが入力されて、当該複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理と、
前記階調処理された前記データが入力されて、当該データを圧縮して出力する圧縮処理と、
をコンピュータに実行させることを特徴とする画像処理のためのプログラム。
【請求項２】
前記ノイズ付加処理は、
前記描画種を示す属性情報が、文字またはグラフィックのときは前記複数色データにノイズを付加させず、イメージのときは前記複数色データにノイズを付加して出力することを特徴とする請求項１記載の画像処理のためのプログラム。
【請求項３】
前記ノイズ付加処理は、
前記描画種を示す属性情報が、文字のときは前記複数色データにノイズを付加させず、グラフィック又はイメージのときは前記複数色データにノイズを付加して出力する、ことを特徴とする請求項１記載の画像処理のためのプログラム。
【請求項４】
前記圧縮処理は、
前記データの中で出現確率の高い符号に符号長の短い別の符号を割り当て、出現確率の低い符号に符号長の長い別の符号を割り当てることで前記データを圧縮する、ことを特徴とする請求項１記載の画像処理のためのプログラム。
【請求項５】
前記描画種は、入力された複数色データが文字データか、グラフィックデータか、イメージデータかのいずれかを示す情報である、ことを特徴とする請求項１記載の画像処理のためのプログラム。
【請求項６】
前記階調処理は、複数の階調処理テーブルから前記属性情報に基づいて選択された一の階調テーブルを用いて、前記複数色データから各色の階調が表現されたデータを生成して出力する、
ことを特徴とする請求項１記載の画像処理のためのプログラム。
【請求項７】
複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて前記複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加ステップと、
前記ノイズ付加ステップから出力された前記複数色データが入力されて、当該複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理ステップと、
前記階調処理ステップから出力された前記データが入力されて、当該データを圧縮して出力する圧縮ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷オブジェクトの種類（描画種）に応じた最適な印刷を行うための画像処理プログラムおよびその画像処理方法に関する。
【０００２】
【従来の技術】
従来から、カラープリンタにおいては、印刷データとしてＲＧＢ（レッド、グリーン、ブルー）色データに対して、色補正を含む色変換を行ってＹＭＣＫ（イエロー、マゼンダ、シアン、ブラック）の色データを生成し、そのデータに対してハーフトーン処理を行うことで階調性を表現して、印刷を行っている。
【０００３】
しかしながら、例えば、１枚の印刷用紙に文字やイメージ、グラフィックスなど複数のオブジェクトが混在している場合に、各オブジェクトに対してすべて同じ色変換やハーフトーン処理を行うと、イメージに対しては自然な階調表現で自然な色表現となっているものの文字に対しては細い線が欠け鮮やかな色になっていなかったり、あるいは、文字の表現は鮮やかな色表現となり細い部分まで再現されているものの、イメージに対しては自然な色表現でなく自然な階調表現ができていないなどの問題点があった。
【０００４】
そのため、オブジェクトの種類を示す属性情報に応じて、ハーフトーン処理や色補正で使用されるテーブルを異なるように処理を行う点が開示されている（例えば、特許文献１、特許文献２）。
【０００５】
一方、ハーフトーン処理で使用される閾値マトリックスでの閾値や、ＹＭＣＫ色データにランダムノイズ付加させて、トーンジャンプを抑える技術も開示されている（例えば特許文献３）。
【０００６】
【特許文献１】特許公報  特許第３２２５５０６号公報
【０００７】
【特許文献２】公開特許公報  特開２０００−１６５６９０号公報
【０００８】
【特許文献３】特許出願番号２００２−２００３２９
【０００９】
【発明が解決しようとする課題】
ところが、昨今プリンタのコストダウンを図る目的で、かかる色変換処理やハーフトーン処理をプリンタに接続されたホスト側（例えばパーソナルコンピュータ）で処理を行い、プリンタは２値化（ハーフトーン処理）後のデータを受信して、パルス幅変調等の処理を行うだけで印刷を行うようになされることが提案されている。
【００１０】
このような処理を行うホスト側のドライバは、高品質な印刷をプリンタで行わせるように、上述したランダムノイズを付加した色データにハーフトーン処理を行わせ、処理後のデータを圧縮してプリンタに転送している。
【００１１】
しかし、圧縮処理に際し出現確率の高いデータに短い符号長を割り当て、確率の低いデータに長い符号長を割り当てるように処理を行うため、ランダムノイズが付加されたデータは、その出現確率はバラバラで圧縮率が悪くなってしまう。
【００１２】
すなわち、高画質性を確保するためノイズを付加すると、圧縮効率をかせぐことができずに、圧縮後のデータ量が少なくならずに、データ転送に時間がかかってしまう問題点があった。一方で、ノイズを付加させないと圧縮率はよくなり、データ転送量が少なくなるのでデータの転送に時間はかからないものの、印刷時の高品質性を確保できないことになる。
【００１３】
そこで、本発明の目的は、高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理のためのプログラム、及び画像処理方法を提供することにある。
【００１４】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、複数色データが入力されて印刷対象の描画種を示す情報を含む属性情報に基づいて色変換後のＣＭＹＫデータに対してランダムノイズを選択的に付加して出力するノイズ付加処理と、ノイズ付加処理から出力された複数色データが入力されて複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理と、階調処理されたデータが入力されてデータを圧縮して出力する圧縮処理と、をコンピュータに実行させる画像処理のためのプログラムであることを特徴としている。これにより、例えば、高画質な印刷出力を得ることができるとともに、プリンタへの転送時間を減らして印刷出力の待ち時間を減らすことができる。
【００１５】
さらに、上記画像処理のためのプログラムにおいて、前記ノイズ付加処理は、描画種を示す属性情報が文字またはグラフィックのときは複数色データにノイズを付加させず、イメージのときは複数色データにノイズを付加して出力することを特徴としている。これにより、例えば、イメージは階調性を増した高画質の印刷出力を得ることができ、また全体としてデータ転送時間を減らすことができる。
【００１６】
さらに、上記画像処理のためのプログラムにおいて、上記ノイズ付加処理は、描画種を示す属性情報が文字のときは複数色データにノイズを付加させず、グラフィック又はイメージのときは複数色データにノイズを付加して出力する、ことを特徴としている。これにより、例えば、イメージとグラフィックは階調性を増した高画質の印刷出力を得ることができ、全体としてデータ転送時間を減らすことができる。
【００１７】
さらに、上記画像処理のためのプログラムにおいて、上記圧縮処理は、データの中で出現確率の高い符号に符号長の短い別の符号を割り当て出現確率の低い符号に符号長の長い別の符号を割り当てることでデータを圧縮する、ことを特徴としている。これにより、圧縮効率の良いデータ圧縮を行うことができ、データ転送量が減少してデータ転送のための時間を減らすことができる。
【００１８】
さらに、上記画像処理のためのプログラムにおいて、上記描画種は、入力された複数色データが文字データかグラフィックデータかイメージデータかのいずれかを示す情報である、ことを特徴としている。これにより、例えば、１ページに複数の描画種がある場合でも、描画種の特徴に応じた高画質の印刷出力を得ることができる。
【００１９】
さらに、上記画像処理のためのプログラムにおいて、上記階調処理は、複数の階調処理テーブルから属性情報に基づいて選択された一の階調テーブルを用いて複数色データから各色の階調が表現されたデータを生成して出力する、ことを特徴としている。これにより、例えば、１ページに複数の描画種がある場合でも、その描画種に最適な色補正、階調処理を行うことができ、高品質の印刷出力を得ることができる。
【００２０】
上記の目的を達成するために、本発明の一つの側面は、複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加ステップと、ノイズ付加ステップから出力された複数色データが入力されて、複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理ステップと、階調処理ステップから出力されたデータが入力されてデータを圧縮して出力する圧縮ステップと、を有する画像処理方法であることを特徴としている。これにより、例えば、高画質な印刷出力を得ることができるとともに、プリンタへの転送時間を減らして印刷出力の待ち時間を減らすことができる。
【００２１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。
【００２２】
図１は、本発明が適用されるホストコンピュータ１とプリンタ２の構成の一例を示す図である。
【００２３】
ホストコンピュータ１は、全体としてアプリケーション１０と、ドライバ１９とから構成される。
【００２４】
アプリケーション１０は、印刷動作や処理を行わせるために種々のアプリケーションプログラムから構成されている。かかるプログラムを実行することで、ドライバ１９に印刷対象となるデータの印刷を行わせるため、種々のコマンドやデータをドライバ１９に出力するようになされている。具体的には、アプリケーション１０からは、印刷対象であるオブジェクトの種類（描画種）に応じたコマンドやデータが生成され、ドライバ１９に出力される。
【００２５】
例えば、オブジェクトが文字の場合には、ビットマップ形式の文字データ（印刷対象の文字）の他に、その文字の書体などを示す文字コード、文字の色、印刷用紙上での位置を示す位置情報などが示されたコマンドが出力される。また、印刷オブジェクトがグラフィックスの場合には、グラフィック画像そのもののデータの他に、その位置情報、グラフィックの線幅、形状特性などの設定情報を示すコマンドが出力される。さらに、イメージの場合は、イメージのデータそのものの他、その位置情報、パターン（後述するバンドメモリへの格納の仕方を示す情報、上書きか、書き込まれた情報との論理和で格納かなどの情報）、形状、塗りつぶし等の情報を示すコマンドが出力される。
【００２６】
なお、これら描画のためのコマンドは、ホストコンピュータ１に実装されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によってそのコマンド名など異なることがある。そこで、アプリケーション１０から出力されるコマンドを以後の処理で統一的に扱うために、描画コマンドの変換を行う処理をアプリケーション１０とコマンド解析部１１との間で行わせている。ただし、かかる処理を行ったとしてもコマンドが示す種々の情報の中身は変わらない。
【００２７】
ドライバ１９は、コマンド解析部１１と、中間コード生成部１２と、画像展開部１３と、バンドメモリ１４と、色処理部１５、及び圧縮部１６とから構成される。
【００２８】
コマンド解析部１１は、アプリケーション１０から出力されるコマンドやデータを解析して、ホストコンピュータ１内に格納されたライブラリ関数を呼び出して、各種指示情報等を作成する。具体的には、アプリケーション１０からビットマップ形式の文字データが出力されたとき、文字データ用のライブラリ関数を呼び出して、アプリケーション１０からの描画コマンドの情報から、文字のサイズ、フォントの選択、スケール等を示すフォントの生成指示や、文字コード等を示す印字指示等を生成する。生成した指示情報は、印刷対象の文字データとともに中間コード生成部１２に出力される。
【００２９】
また、アプリケーション１０から、グラフィック画像が出力されてコマンド解析部１１に入力されたときは、同様にライブラリ関数を呼び出して、アプリケーション１０からのコマンドで示された位置情報、グラフィックの線幅、形状特性などの設定情報をもとに、グラフィック画像のためのパラメータを設定し、その線幅や形状等を示すグラフィック生成指示情報等を生成して、グラフィック画像とともに中間コード生成部１２に出力する。
【００３０】
中間コード生成部１２は、コマンド解析部１１から出力された各種指示情報や印刷データが入力されて、中間コードを生成する。中間コードは主としてバンドメモリ１４に印刷対象のデータを格納させるための指示コードであって、ホストコンピュータ１のＣＰＵが実行できる形式に変換されたコードとなっている。
【００３１】
印刷対象が文字データの場合は、ビットマップ形式でコマンド解析部１１から入力された文字データのほかに、入力されたフォント生成指示情報、印字指示情報等からバンドメモリ１４内で格納されるべき座標情報、大きさ（スケール）等を示す中間コードを生成する。
【００３２】
また、グラフィックの場合は、グラフィック画像そのもののほかに、上述した指示情報から座標情報、バンドメモリ１４内で格納されるべき矩形情報、スキャンすべき方向の指定等を示す中間コードが生成される。
【００３３】
さらに、イメージの場合は、イメージそのものデータの他、上述した指示情報から座標情報、パターン情報、イメージの拡大縮小情報等の中間コードを生成する。
【００３４】
これら中間コードは例えば、各情報ごとにＩＤコードが付加されどのような情報を示す情報なのかを識別できるようになされている。そして、中間コード生成部１２で生成された中間コードは、画像展開部１３に出力される。
【００３５】
画像展開部１３は、この中間コードに基づいて、文字や、グラフィック、画像のビットマップデータをバンドメモリ１４の所定の領域内に展開する処理を行う。
【００３６】
例えば、文字の場合は、バンドメモリ１４のどの領域に格納すべきかを示す座標情報、やその大きさを示す中間コードがあるため、これによりバンドメモリ１４の所定領域にビットマップ形式の文字データを格納する。グラフィックやイメージも同様であるが、イメージの場合はパターン情報があるため、すでに書き込まれたデータに上書きして格納したり、論理和や論理積等を演算して格納させるようになされている。
【００３７】
また、この画像展開部１３は、その描画の種別（オブジェクトの種別）を示す属性情報Ｘを生成する。コマンド解析部１１より印刷対象の描画種が文字であるのか、グラフィックであるのか、イメージであるのかの情報を得ることができ、かかる情報は中間コード生成部１２で所定の中間コードとして表現されており、この中間コードにより、描画種を示す属性情報Ｘを生成し、バンドメモリ１４に各画素あるいはドットごとにＲＧＢデータとともに格納する。
【００３８】
バンドメモリ１４に文字やグラフィック、イメージが格納された例を図２に示す。例えば画素単位やドット単位でレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）、属性情報Ｘが格納される。ＲＧＢデータは、各々０から２５５までの２５６種類の値を有しているため、夫々８ビットの領域が確保される。
【００３９】
また、属性情報Ｘとして、印刷オブジェクトの種類（描画種）を示す情報のほかに、描画種に応じて、色変換処理やハーフトーン処理で選択すべきテーブル情報や、どれだけ同じ階調値が連続するかを示す色の連続情報も有することも考えられる。
【００４０】
図１に戻り、色処理部１５は、バンドメモリ１４からそれぞれ８ビットの情報からなるＲＧＢＸデータが入力されて、色補正やノイズ付加、さらにハーフトーン処理を行って、かかる処理後の多値データが出力される。
【００４１】
色処理部１５の具体的構成を図３に示す。
【００４２】
色処理部１５は、色変換部１５０とノイズ付加部１５４、及びハーフトーン処理部１５８とから構成される。色処理部１５０は、ＲＧＢデータを色補正テーブルを用いてＣＭＹＫデータに変換する処理を行う。ノイズ付加部１５４は、色変換後のＣＭＹＫデータに対して属性情報に基づいてノイズを付加したり、ノイズを付加しなかったり、選択的に付加処理を行いＣＭＹＫデータを出力する。ハーフトーン処理部１５８は、所定の画素数で構成された閾値マトリックスを用いて、階調表現を再現する処理を行う。ハーフトーン処理後のＣＭＹＫデータは圧縮部１６に出力される。
【００４３】
色変換部１５０は、色変換処理部１５１と、スイッチング部１５２と、色補正テーブル１５３Ａ、１５３Ｂとから構成される。
【００４４】
バンドメモリ１４から読み出されたＲＧＢデータが色変換処理部１５１に入力されて、選択された色補正テーブル１５３Ａ、１５３Ｂを用いて、ＲＧＢデータからＣＭＹＫデータに変換して出力する。
【００４５】
一般にＲＧＢ色空間とＹＭＣＫ色空間とでは、実際には若干の色ずれが存在し、例えば、ＲＧＢの混合により求められる理論上の黄色（Ｙ）とプリンタ２のトナーによる黄色とでは、色が異なる。そのため、忠実にＲＧＢ色空間で作成された色を再現するためには、黄色（Ｙ）のトナーにマゼンダ（Ｍ）のトナーを混合する色合わせを行う。しかし、文字やグラフィックの場合は、できるだけ印刷文字や印刷グラフの鮮やかさを強調したい。そのためには、複数の色の混合を伴う色補正はできるだけ避けた方が賢明である。一方、イメージの場合はその色の鮮やかさよりも、入力されたイメージに忠実に自然色で色合わせを行った方がよい。
【００４６】
図４に、印刷対象の例を示す。１ページ分の印刷領域に文字、グラフィック、イメージが混在している例である。文字、グラフィックはできるだけ、色を強調させて印刷出力できれば、文字等の線の表現が強調され快適な印刷出力を得ることが可能である。一方、イメージの場合は、できるだけ図４に示すように表現されたイメージそのままの自然な色表現が再現できれば快適な印刷出力を得ることが可能である。１ページの印刷領域にすべて同じ色補正テーブルを用いて色変換するのは印刷オブジェクトの上述した特性を考慮して必ずしも好ましいこととは言えない。
【００４７】
そこで、属性情報Ｘをもとに印刷オブジェクトの種類（描画種）によって、使用されるテーブルを変更するようにしている。例えば図２に示すように、属性情報Ｘからオブジェクトが文字やグラフィックの場合は、鮮やかさを重視したテーブルを有する色補正テーブル１（１５３Ａ）を選択するようにし、属性情報Ｘからオブジェクトがイメージの場合は、自然色に合わせたテーブルを有する色補正テーブル２（１５３Ｂ）を選択するようにする。
【００４８】
この選択されたテーブルを用いて色変換処理部１５１では、入力されたＲＧＢデータに対して演算を行って、ＣＭＹＫデータ（各々８ビットからなるデータ）に変換して出力する。なお、本実施例では補正テーブルの数は２つとしたが、本発明は、もちろんこれに拘泥せず３種類、４種類とその他複数種類であってもよいし、また、属性情報Ｘにより文字の場合は、テーブル１（１５３Ａ）を選択して、グラフィックやイメージの場合はテーブル２（１５３Ｂ）を選択するようにしてもよい。
【００４９】
ノイズ付加部１５４は、加算器１５５と、スイッチング部１５６と、ノイズ生成部１５７とから構成される。色変換部１５０から出力されたＣＭＹＫデータは、加算器１５５に入力される。ここで、ノイズ生成器１５７で生成したランダムノイズを入力されたＣＭＹＫデータに加算器１５５にて重畳させる処理を行うことになる。
【００５０】
一般にランダムノイズをＣＭＹＫデータに付加させた後ハーフトーン処理すると、成長する各ドットの幅が一定とならずに階調（明るさ）が増えた印刷出力を得ることができる。例えば、一定の階調値を有する画素が連続した領域でノイズを付加させると、ハーフトーン処理で所定数の画素から構成される閾値マトリックスにより、ある画素では閾値を超える量が大きいためその大きい幅のドットの生成を行うが、ある画素では閾値を超える量が小さいため小さい幅のドットを生成することになる。しかもランダムに発生するノイズであるため、ドットの幅がまちまちで、結果的に階調性がよい、高品質の印刷出力を得ることができる。一方、ノイズを入れない場合では、閾値を超えた部分で常に同じ幅のドットが生成されるため、入力階調値に忠実な階調表現となる。結果的にノイズを付加させた場合と比較して印刷出力は、高品質とはならない。
【００５１】
しかし、かかるノイズを付加させたデータは、ハーフトーン処理後のデータの連続性がくずれるために、その処理後のデータを圧縮すると圧縮率が悪くなる。すなわち、ランダムなノイズをＣＭＹＫデータに付加させているためにその階調値の量がまちまちで、例えばある画素の階調値は大きく、他は小さく、一定の階調値の画素を有する場合と比較して、その連続性が途切れることになる。その後の圧縮部１６での圧縮処理は、出現率の高い階調値には短い符号長を割り当て、出現率の低い階調値には長い符号長を割り当て全体として平均符号長を短くする圧縮方法により処理が行われる。よって、ランダムなノイズを付加すると各階調値はまちまちで出現率の高い階調値の発生が少なくなり圧縮率が悪くなる。一方で、ノイズを付加させずにハーフトーン処理を行うと、連続性はノイズを付加させた場合と比較して失われないため、圧縮率はよい。
【００５２】
本来ならすべての印刷オブジェクトに対してノイズを付加させてハーフトーン処理を行い圧縮してプリンタ２に転送すべきであるが、それでは上述の理由により、圧縮率がよくないため転送すべきデータ量が増え、転送時間がかかってしまう。
【００５３】
そこで、本発明では、属性情報Ｘに基づいて印刷オブジェクトの種類（描画種）に応じて、ノイズ付加するか、或いは付加せずにそのままハーフトーン処理を行うかを選択するようにしている。これにより、図４に示すような１ページの印刷領域にイメージや文字が混在する印刷データに対して、すべてノイズを付加してハーフトーン処理を行いデータを圧縮する場合と比較して、全体としてデータ転送量が減少し、データ転送時間を少なくすることができるのである。
【００５４】
属性情報Ｘによる選択は、属性情報Ｘがイメージの場合はノイズを付加すべく、スイッチング１５６を加算器１５５とノイズ１５７とが接続するようにし、文字とグラフィックの場合は逆にノイズ生成部１５７と加算器１５５とが接続されないようにする。これにより、ノイズ付加することによる階調表現を増えたようにするという本来の効果がイメージのオブジェクトに対して得ることができる。もちろん、スイッチング１５７の切換は、例えば属性情報Ｘが文字の場合は、ノイズを付加させずに、グラフィックと画像の場合はノイズを付加させるようにすることでもよい。かかるノイズが付加、或いは付加されないＣＭＹＫデータは、ハーフトーン処理部１５８に出力される。
【００５５】
なお、ノイズ生成部１５７は、例えば擬似乱数発生回路などにより生成することが考えられる。この場合、平均採中法、混合型線形合同法、Ｆｉｂｏｎａｃｃｉ生成法、Ｍ系列、Ｇｏｌｄ系列など周知の擬似乱数を用いることができる。このような生成回路の回路規模（サイズ）を考慮すると、特にＭ系列は、シフトレジスタにより構成できるため好ましいといえる。一例としては、特性多項式が、
ｆ（ｘ）＝ｘ３１＋ｘ３＋１
であるものを使用すれば、３１ビットシフトレジスタと１つの排他的論理和で構成できる。なお、Ｍ系例による乱数の発生方法については、例えば、「計測自動制御学会論文集２−４、２８３−２８８項、１９６６年」などに示されている。
【００５６】
ノイズハーフトーン処理部１５８は、ハーフトーン処理１５９と、スイッチング部１６０と、ハーフトーンテーブル１（１６１Ａ）、２（１６１Ｂ）とから構成される。このハーフトーン処理も属性情報Ｘに基づいて、使用されるハーフトーンテーブルを選択できるようになっている。
【００５７】
一般に、文字やグラフィックは、比較的細い線で表現される場合が多く、自然の階調（明るさ）を含まない画像と考えることができる。したがって、ハーフトーン処理においてできるだけ、網点の大きさを小さくしてスクリーン線数を大きくすることが望ましい。スクリーン線数が小さいと文字やグラフィックに表現されている細い線が欠けてしまうからである。網点が小さくなることで、その自然な階調の変化を再現できなくなるが、文字やグラフィックでは階調性がそれほど重要ではないと考えられる。
【００５８】
一方、イメージの場合は、網点の大きさを大きくしてスクリーン線数を小さくすることが望ましい。網点が大きいと階調表現がそれだけ増え、自然な階調の変化を再現することが可能だからである。スクリーン線数はそれだけ小さくなるが、細い線まで正確に再現することはイメージの場合それほど重要なこととはいえない。
【００５９】
このように、印刷オブジェクトの種類によってハーフトーンの処理を異なるようにすることが望ましい。そこで、属性情報Ｘによって、ハーフトーン処理で使用するハーフトーンテーブル１（１６１Ａ）、２（１６１Ｂ）を切り換えるようになされている。ここで、ハーフトーンテーブル１（１６１Ａ）は、細かい網点でスクリーン線数は少なく、ハーフトーンテーブル２（１６１Ｂ）は、粗い網点でスクリーン線数は大きいテーブルとする。この場合に、属性情報Ｘが文字やグラフィックを表した情報のときは、スクリーン線数が多いテーブル２（１６１Ｂ）を選択するようにスイッチング１６０で切り換え、イメージの場合は、細かい網点から構成されるテーブル１を選択するように切り換えるようにする。もちろん、テーブルの種類も３種類以上あってもよく、また文字の場合だけテーブル２（１６１Ｂ）を選択し、グラフィックやイメージの場合にテーブル１（１６１Ａ）を選択するようにしてもよい。
【００６０】
ハーフトーン処理後のＣＭＹＫデータは、色処理部１５から圧縮部６へ出力される。
【００６１】
圧縮部１６は、ハーフトーン処理後のＣＭＹＫデータに対して圧縮処理を行い、圧縮後のデータをプリンタ２に出力する。転送データ量を少なくして、転送に時間をかけないようにするためである。ここで、圧縮処理はハフマン符号化を用いている。ハフマン符号化とは、出現率の高いコードに少ないビットを割り当て、出現率の低いコードにより多いビットを割り当てることで全体として平均符号長を短くする符号化である。プリンタ側で符号化したデータが確実に再現できるように可逆圧縮（ｌｏｓｓｌｅｓｓ  ｃｏｄｉｎｇ）の一つであるハフマン符号化を用いている。もちろん、割り当てる符号長を可変にするような他の圧縮方法でも本発明は実現できる。
【００６２】
プリンタ２は、全体としてコントローラ２５と印刷エンジン２７とから構成される。
【００６３】
コントローラ２５は、解凍部２０とパルス幅変調部２１とから構成される。解凍部２０は、ホスト１から出力されたハーフトーン処理後の圧縮データが入力されて、圧縮データを解凍、伸長する。解凍部２０からは、ホスト１の圧縮前のデータ（各画素ごとに８ビットの階調値）に伸長されたデータが出力されることになる。パルス幅変調部２１は、解凍部２０から出力されたデータに対して、例えば各画素ごとにドット生成のためのパルスを生成する。本実施例のプリンタはページプリンタを想定しているため、各画素ごとにハーフトーン処理後の多値データに対応するパルス幅を生成することになる。変調後の駆動パルス信号は、印刷エンジン２７に出力される。
【００６４】
印刷エンジンは、レーザーダイオード２２と、ドラム２３とから構成される。レーザーダイオード２２は、パルス幅変調部２１からの駆動パルス信号に基づいてレーザービームを発生する。そして、発生したレーザービームがドラム２３上を走査し、トナーが付着することで各画素内にドットが形成され、その後印刷用紙に転写され印刷が行われるようになっている。
【００６５】
次に図５を参照して、本発明の画像処理の動作について詳細に説明することにする。図５は、その画像処理の動作を示すフローチャートを示す図である。
【００６６】
まず、ドライバ１９において、画像処理のための動作が開始される（ステップＳ１０）と、ＤＤＩ描画の解析を行う（ステップＳ１１）。これは、アプリケーション１０（図１参照）からドライバ１９に出力される描画コマンドを解析する処理である。描画コマンドは、上述したように印刷オブジェクト（描画種）が文字の場合は、文字コートや位置情報、文字の書体、文字の色等を指定するコマンドを解析することになる。グラフィックの場合は、描画コマンドに位置情報やバイト数、線の幅等を指定するコマンドを解析し、イメージの場合は、位置情報、パターン、形状の指定等を指定するコマンドを解析することになる。
【００６７】
次いで、ドライバ１９は、描画レコードの生成を行う（ステップＳ１２）。これは、アプリケーション１０から出力される上述のコマンドは、ホストコンピュータ１に実装されるＯＳによってコマンド名の相違等があるため、これを吸収し、どのようなＯＳからの描画コマンドであっても、ドライバ１９で処理できるコマンドに変換する処理をするものである。
【００６８】
次いで、ドライバ１９は、ＲＧＢ中間コードの生成を行う（ステップＳ１３）。ステップＳ１２で生成した描画コマンドを解析して、上述した文字フォントの生成指示（フォントの選択、サイズなど）、イメージのバンドメモリ１５への確保や格納の指示、グラフィックの設定指示等が生成される。この各種指示情報から、印刷対象のデータについてのバンドメモリ１５への格納を指示するコード（中間コード）を生成するためである。例えば中間コードの例としては、上述したようにバンドメモリ１４の格納位置を示す座標情報、パターン情報、拡大縮小情報などが所定のコードとして表現されている。
【００６９】
次いで、ドライバ１９は、生成した中間コードに基づいて印刷対象の文字やグラフィック、イメージのＲＧＢデータをバンドメモリ１５へ展開（格納）を行う（ステップＳ１４）。また、ドライバ１９は、印刷対象がどのような描画種であるかを示す属性情報Ｘも生成する。生成した属性情報Ｘは、各ＲＧＢデータとともにバンドメモリ１４に格納される（図２参照）。
【００７０】
次いで、ドライバ１９は、バンドメモリ１４からＲＧＢＸデータを読み出し、属性情報Ｘを用いてＹＭＣＫデータに色変換の処理を行う（ステップＳ１５）。上述したように、色補正テーブル１（１５３Ａ）が他の色を混合する色合わせが少ない（色が鮮やかに表現できる）補正テーブルで、色補正テーブル２（１５３Ｂ）が色表現に忠実に色合わせを行う（自然色に合わせた表現ができる）補正テーブルであるとき、属性情報Ｘから描画種が文字やグラフィックの場合は、色の鮮やかさを強調すべく補正テーブル１を選択し、イメージの場合は自然色を強調すべく補正テーブル２を選択するようにする（図２参照）。そして、このテーブルを参照してＲＧＢデータをＹＭＣＫデータに変換する。このように属性情報Ｘを参照するだけで設定されたテーブルのうちどれを選択すべきか知ることができる。
【００７１】
次いで、ドライバ１９は、ＣＭＹＫデータにノイズ付加するか否か判断する（ステップＳ１６）。属性情報Ｘを元に、例えば、イメージの場合はランダムノイズを付加させ、文字やグラフィックの場合はノイズ付加させないようにする。ノイズが付加されたイメージは、生成されるドット幅もランダムとなり階調性が増し、高画質な印刷出力を得る。一方、ノイズが付加されない文字やグラフィックは、階調性が増えるわけではないのでそれほど高画質ではない印刷出力を得ることができるが、ランダムノイズが付加されない分、同じ階調値を有するデータが出現し易く圧縮効率を増やすことが可能である。このように、属性情報Ｘを利用して描画種によってノイズの付加したり、付加しなかったりすることで、印刷出力全体として高画質性を保ちながら、圧縮率の高い出力を得ることが可能となる。したがって、転送時間もかからず、待ち時間なくすぐに高画質の印刷出力を得ることが可能になるのである。
【００７２】
図５に戻って、属性情報Ｘが文字やグラフィックの場合は、ステップＳ１６で“ＮＯ”が選択されステップＳ１８に移行する。属性情報Ｘがイメージの場合は、ステップＳ１６で“ＹＥＳ”が選択されてノイズの付加が行なわれる。もちろん、上述したように文字の場合だけ、ノイズ付加せずにステップＳ１８に移行し、グラフィックやイメージの場合はノイズを付加すべくステップＳ１７に移行するようにしてもよい。図４に示すように文字、グラフィック、画像が混在している印刷対象であれば、この場合でも圧縮率を高め、かつ、高画質の印刷出力を得ることが可能だからである。
【００７３】
属性情報Ｘからノイズを付加する場合（ステップＳ１６で“ＹＥＳ”の場合）、色変換後のＣＭＹＫデータに対して実際にノイズを付加する処理を行う（ステップＳ１７）。
【００７４】
そして、ドライバ１９は、ノイズを付加した後、又はステップＳ１６でノイズ付加しない場合（“ＮＯ”の場合）、処理はステップＳ１８へ移行し、属性情報Ｘを利用してハーフトーン処理を行う。これも上述したように、細かい網点スクリーンを有するテーブル１と粗い網点スクリーンを有するテーブル２とを属性情報Ｘによって選択して、選択したテーブルを用いてハーフトーン処理を行う。例えば、文字やグラフィックの場合は、テーブル１を使用して細い線など欠けることなく再現でき、イメージの場合はテーブル２を使用して階調性を増やして自然な階調の変化を再現できるようになる。文字の場合のみテーブル１を使用して、グラフィックやイメージの場合はテーブル２を使用するようにしてもよい。
【００７５】
次いで、ドライバ１９は、圧縮処理を行う（ステップＳ１９）。上述したように、出現確率の高いデータに短い符号長を与え、出現確率の低いデータに長い符号長を与え、圧縮効率を高める可逆圧縮を行なう。本実施例では、ハフマン符号化を用いている。
【００７６】
次いで、ドライバ１９は、プリンタ２へ圧縮後のデータを出力し（ステップＳ２０）、データの処理がすべて終了すると（ステップＳ２１で“ＹＥＳ”の場合）、処理は終了し、データの処理がまだあれば（ステップＳ２１で“ＮＯ”の場合）、再び処理は、ステップＳ１１へ移行し、上述の処理を印刷データの処理が終了するまで繰り返すことになる。
【００７７】
上述の例では、ホストとしてパーソナルコンピュータを例にして説明したが、かかる画像処理を行うドライバが実装された情報端末、例えばデジタルカメラ、や携帯電話、ＰＤＡなどであっても本発明を実現することは可能である。
【００７８】
以上説明したように、本発明によれば、属性情報Ｘによってノイズ付加又は付加しないを選択して、ハーフトーン処理を行い圧縮転送しているので、高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理を行うことができる。また、プリンタは、ハーフトーン処理後のデータを用いて印刷出力を行うだけなので、プリンタのハードウェアのコストダウンを達成することもできる。
【図面の簡単な説明】
【図１】ホストコンピュータ１とプリンタの全体構成図を示す。
【図２】バンドメモリ１４の具体的構成を示す。
【図３】色処理部１５の具体的構成を示す。
【図４】印刷画像の例を示す。
【図５】画像処理の動作を示すフローチャートである。
【符号の説明】
１  ホストコンピュータ  ２  プリンタ  １０  アプリケーション  １１  コマンド解析部  １２  中間コード生成部  １３  画像展開部  １４  バンドメモリ１５  色処理部  １５０  色変換部  １５３Ａ  色補正テーブル１  １５３Ｂ色補正テーブル２  １５４  ノイズ付加部  １５７  ノイズ生成部  １５９  ハーフトーン処理部  １６１Ａ  ハーフトーンテーブル１  １６１Ｂ  ハーフトーンテーブル２  １６  圧縮部  ２０  解凍部  ２１  パルス幅変調部  ２２  レーザーダイオード（ＬＤ）  ２３  ドラム
【図１】
2004295765.tif 000003
【図２】
2004295765.tif 000004
【図３】
2004295765.tif 000005
【図４】
2004295765.tif 000006
【図５】
2004295765.tif 000007