JP2004295765A - 画像処理のためのプログラム、及び画像処理方法 - Google Patents

画像処理のためのプログラム、及び画像処理方法 Download PDF

Info

Publication number
JP2004295765A
JP2004295765A JP2003090166A JP2003090166A JP2004295765A JP 2004295765 A JP2004295765 A JP 2004295765A JP 2003090166 A JP2003090166 A JP 2003090166A JP 2003090166 A JP2003090166 A JP 2003090166A JP 2004295765 A JP2004295765 A JP 2004295765A
Authority
JP
Japan
Prior art keywords
data
noise
color
image
gradation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003090166A
Other languages
English (en)
Inventor
Tetsuya Suzuki
哲也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003090166A priority Critical patent/JP2004295765A/ja
Publication of JP2004295765A publication Critical patent/JP2004295765A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

【課題】高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理のためのプログラム、及び画像処理方法を提供すること。
【解決手段】RGBデータに対して色補正を含む色変換を行ってCMYKデータを得る。このCMYKデータに対して、印刷対象の描画種を示す情報を含む属性情報に基づいてCMYKデータに対してランダムノイズを選択的に付加して出力する。描画種が文字やグラフィックのときノイズを付加せず、イメージのときノイズを付加させる。あるいは、描画種が文字のときはノイズを付加せず、グラフィックやイメージのときノイズを付加する。その後、ノイズ付加されたCMYKデータ又はノイズなしのCMYKデータに対してハーフトーン処理を行い、階調表現を再現する。そして、圧縮して出力する。プリンタは圧縮データを解凍して、パルス幅変調等の所定の動作により印刷出力を得る。これにより、全体としての圧縮効率を高めつつ、高画質の印刷出力を得ることができる。
【選択図】図3

Description

【0001】
【発明の属する技術分野】
本発明は、印刷オブジェクトの種類(描画種)に応じた最適な印刷を行うための画像処理プログラムおよびその画像処理方法に関する。
【0002】
【従来の技術】
従来から、カラープリンタにおいては、印刷データとしてRGB(レッド、グリーン、ブルー)色データに対して、色補正を含む色変換を行ってYMCK(イエロー、マゼンダ、シアン、ブラック)の色データを生成し、そのデータに対してハーフトーン処理を行うことで階調性を表現して、印刷を行っている。
【0003】
しかしながら、例えば、1枚の印刷用紙に文字やイメージ、グラフィックスなど複数のオブジェクトが混在している場合に、各オブジェクトに対してすべて同じ色変換やハーフトーン処理を行うと、イメージに対しては自然な階調表現で自然な色表現となっているものの文字に対しては細い線が欠け鮮やかな色になっていなかったり、あるいは、文字の表現は鮮やかな色表現となり細い部分まで再現されているものの、イメージに対しては自然な色表現でなく自然な階調表現ができていないなどの問題点があった。
【0004】
そのため、オブジェクトの種類を示す属性情報に応じて、ハーフトーン処理や色補正で使用されるテーブルを異なるように処理を行う点が開示されている(例えば、特許文献1、特許文献2)。
【0005】
一方、ハーフトーン処理で使用される閾値マトリックスでの閾値や、YMCK色データにランダムノイズ付加させて、トーンジャンプを抑える技術も開示されている(例えば特許文献3)。
【0006】
【特許文献1】特許公報 特許第3225506号公報
【0007】
【特許文献2】公開特許公報 特開2000−165690号公報
【0008】
【特許文献3】特許出願番号2002−200329
【0009】
【発明が解決しようとする課題】
ところが、昨今プリンタのコストダウンを図る目的で、かかる色変換処理やハーフトーン処理をプリンタに接続されたホスト側(例えばパーソナルコンピュータ)で処理を行い、プリンタは2値化(ハーフトーン処理)後のデータを受信して、パルス幅変調等の処理を行うだけで印刷を行うようになされることが提案されている。
【0010】
このような処理を行うホスト側のドライバは、高品質な印刷をプリンタで行わせるように、上述したランダムノイズを付加した色データにハーフトーン処理を行わせ、処理後のデータを圧縮してプリンタに転送している。
【0011】
しかし、圧縮処理に際し出現確率の高いデータに短い符号長を割り当て、確率の低いデータに長い符号長を割り当てるように処理を行うため、ランダムノイズが付加されたデータは、その出現確率はバラバラで圧縮率が悪くなってしまう。
【0012】
すなわち、高画質性を確保するためノイズを付加すると、圧縮効率をかせぐことができずに、圧縮後のデータ量が少なくならずに、データ転送に時間がかかってしまう問題点があった。一方で、ノイズを付加させないと圧縮率はよくなり、データ転送量が少なくなるのでデータの転送に時間はかからないものの、印刷時の高品質性を確保できないことになる。
【0013】
そこで、本発明の目的は、高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理のためのプログラム、及び画像処理方法を提供することにある。
【0014】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、複数色データが入力されて印刷対象の描画種を示す情報を含む属性情報に基づいて色変換後のCMYKデータに対してランダムノイズを選択的に付加して出力するノイズ付加処理と、ノイズ付加処理から出力された複数色データが入力されて複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理と、階調処理されたデータが入力されてデータを圧縮して出力する圧縮処理と、をコンピュータに実行させる画像処理のためのプログラムであることを特徴としている。これにより、例えば、高画質な印刷出力を得ることができるとともに、プリンタへの転送時間を減らして印刷出力の待ち時間を減らすことができる。
【0015】
さらに、上記画像処理のためのプログラムにおいて、前記ノイズ付加処理は、描画種を示す属性情報が文字またはグラフィックのときは複数色データにノイズを付加させず、イメージのときは複数色データにノイズを付加して出力することを特徴としている。これにより、例えば、イメージは階調性を増した高画質の印刷出力を得ることができ、また全体としてデータ転送時間を減らすことができる。
【0016】
さらに、上記画像処理のためのプログラムにおいて、上記ノイズ付加処理は、描画種を示す属性情報が文字のときは複数色データにノイズを付加させず、グラフィック又はイメージのときは複数色データにノイズを付加して出力する、ことを特徴としている。これにより、例えば、イメージとグラフィックは階調性を増した高画質の印刷出力を得ることができ、全体としてデータ転送時間を減らすことができる。
【0017】
さらに、上記画像処理のためのプログラムにおいて、上記圧縮処理は、データの中で出現確率の高い符号に符号長の短い別の符号を割り当て出現確率の低い符号に符号長の長い別の符号を割り当てることでデータを圧縮する、ことを特徴としている。これにより、圧縮効率の良いデータ圧縮を行うことができ、データ転送量が減少してデータ転送のための時間を減らすことができる。
【0018】
さらに、上記画像処理のためのプログラムにおいて、上記描画種は、入力された複数色データが文字データかグラフィックデータかイメージデータかのいずれかを示す情報である、ことを特徴としている。これにより、例えば、1ページに複数の描画種がある場合でも、描画種の特徴に応じた高画質の印刷出力を得ることができる。
【0019】
さらに、上記画像処理のためのプログラムにおいて、上記階調処理は、複数の階調処理テーブルから属性情報に基づいて選択された一の階調テーブルを用いて複数色データから各色の階調が表現されたデータを生成して出力する、ことを特徴としている。これにより、例えば、1ページに複数の描画種がある場合でも、その描画種に最適な色補正、階調処理を行うことができ、高品質の印刷出力を得ることができる。
【0020】
上記の目的を達成するために、本発明の一つの側面は、複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加ステップと、ノイズ付加ステップから出力された複数色データが入力されて、複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理ステップと、階調処理ステップから出力されたデータが入力されてデータを圧縮して出力する圧縮ステップと、を有する画像処理方法であることを特徴としている。これにより、例えば、高画質な印刷出力を得ることができるとともに、プリンタへの転送時間を減らして印刷出力の待ち時間を減らすことができる。
【0021】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。
【0022】
図1は、本発明が適用されるホストコンピュータ1とプリンタ2の構成の一例を示す図である。
【0023】
ホストコンピュータ1は、全体としてアプリケーション10と、ドライバ19とから構成される。
【0024】
アプリケーション10は、印刷動作や処理を行わせるために種々のアプリケーションプログラムから構成されている。かかるプログラムを実行することで、ドライバ19に印刷対象となるデータの印刷を行わせるため、種々のコマンドやデータをドライバ19に出力するようになされている。具体的には、アプリケーション10からは、印刷対象であるオブジェクトの種類(描画種)に応じたコマンドやデータが生成され、ドライバ19に出力される。
【0025】
例えば、オブジェクトが文字の場合には、ビットマップ形式の文字データ(印刷対象の文字)の他に、その文字の書体などを示す文字コード、文字の色、印刷用紙上での位置を示す位置情報などが示されたコマンドが出力される。また、印刷オブジェクトがグラフィックスの場合には、グラフィック画像そのもののデータの他に、その位置情報、グラフィックの線幅、形状特性などの設定情報を示すコマンドが出力される。さらに、イメージの場合は、イメージのデータそのものの他、その位置情報、パターン(後述するバンドメモリへの格納の仕方を示す情報、上書きか、書き込まれた情報との論理和で格納かなどの情報)、形状、塗りつぶし等の情報を示すコマンドが出力される。
【0026】
なお、これら描画のためのコマンドは、ホストコンピュータ1に実装されるOS(Operating System)によってそのコマンド名など異なることがある。そこで、アプリケーション10から出力されるコマンドを以後の処理で統一的に扱うために、描画コマンドの変換を行う処理をアプリケーション10とコマンド解析部11との間で行わせている。ただし、かかる処理を行ったとしてもコマンドが示す種々の情報の中身は変わらない。
【0027】
ドライバ19は、コマンド解析部11と、中間コード生成部12と、画像展開部13と、バンドメモリ14と、色処理部15、及び圧縮部16とから構成される。
【0028】
コマンド解析部11は、アプリケーション10から出力されるコマンドやデータを解析して、ホストコンピュータ1内に格納されたライブラリ関数を呼び出して、各種指示情報等を作成する。具体的には、アプリケーション10からビットマップ形式の文字データが出力されたとき、文字データ用のライブラリ関数を呼び出して、アプリケーション10からの描画コマンドの情報から、文字のサイズ、フォントの選択、スケール等を示すフォントの生成指示や、文字コード等を示す印字指示等を生成する。生成した指示情報は、印刷対象の文字データとともに中間コード生成部12に出力される。
【0029】
また、アプリケーション10から、グラフィック画像が出力されてコマンド解析部11に入力されたときは、同様にライブラリ関数を呼び出して、アプリケーション10からのコマンドで示された位置情報、グラフィックの線幅、形状特性などの設定情報をもとに、グラフィック画像のためのパラメータを設定し、その線幅や形状等を示すグラフィック生成指示情報等を生成して、グラフィック画像とともに中間コード生成部12に出力する。
【0030】
中間コード生成部12は、コマンド解析部11から出力された各種指示情報や印刷データが入力されて、中間コードを生成する。中間コードは主としてバンドメモリ14に印刷対象のデータを格納させるための指示コードであって、ホストコンピュータ1のCPUが実行できる形式に変換されたコードとなっている。
【0031】
印刷対象が文字データの場合は、ビットマップ形式でコマンド解析部11から入力された文字データのほかに、入力されたフォント生成指示情報、印字指示情報等からバンドメモリ14内で格納されるべき座標情報、大きさ(スケール)等を示す中間コードを生成する。
【0032】
また、グラフィックの場合は、グラフィック画像そのもののほかに、上述した指示情報から座標情報、バンドメモリ14内で格納されるべき矩形情報、スキャンすべき方向の指定等を示す中間コードが生成される。
【0033】
さらに、イメージの場合は、イメージそのものデータの他、上述した指示情報から座標情報、パターン情報、イメージの拡大縮小情報等の中間コードを生成する。
【0034】
これら中間コードは例えば、各情報ごとにIDコードが付加されどのような情報を示す情報なのかを識別できるようになされている。そして、中間コード生成部12で生成された中間コードは、画像展開部13に出力される。
【0035】
画像展開部13は、この中間コードに基づいて、文字や、グラフィック、画像のビットマップデータをバンドメモリ14の所定の領域内に展開する処理を行う。
【0036】
例えば、文字の場合は、バンドメモリ14のどの領域に格納すべきかを示す座標情報、やその大きさを示す中間コードがあるため、これによりバンドメモリ14の所定領域にビットマップ形式の文字データを格納する。グラフィックやイメージも同様であるが、イメージの場合はパターン情報があるため、すでに書き込まれたデータに上書きして格納したり、論理和や論理積等を演算して格納させるようになされている。
【0037】
また、この画像展開部13は、その描画の種別(オブジェクトの種別)を示す属性情報Xを生成する。コマンド解析部11より印刷対象の描画種が文字であるのか、グラフィックであるのか、イメージであるのかの情報を得ることができ、かかる情報は中間コード生成部12で所定の中間コードとして表現されており、この中間コードにより、描画種を示す属性情報Xを生成し、バンドメモリ14に各画素あるいはドットごとにRGBデータとともに格納する。
【0038】
バンドメモリ14に文字やグラフィック、イメージが格納された例を図2に示す。例えば画素単位やドット単位でレッド(R)、グリーン(G)、ブルー(B)、属性情報Xが格納される。RGBデータは、各々0から255までの256種類の値を有しているため、夫々8ビットの領域が確保される。
【0039】
また、属性情報Xとして、印刷オブジェクトの種類(描画種)を示す情報のほかに、描画種に応じて、色変換処理やハーフトーン処理で選択すべきテーブル情報や、どれだけ同じ階調値が連続するかを示す色の連続情報も有することも考えられる。
【0040】
図1に戻り、色処理部15は、バンドメモリ14からそれぞれ8ビットの情報からなるRGBXデータが入力されて、色補正やノイズ付加、さらにハーフトーン処理を行って、かかる処理後の多値データが出力される。
【0041】
色処理部15の具体的構成を図3に示す。
【0042】
色処理部15は、色変換部150とノイズ付加部154、及びハーフトーン処理部158とから構成される。色処理部150は、RGBデータを色補正テーブルを用いてCMYKデータに変換する処理を行う。ノイズ付加部154は、色変換後のCMYKデータに対して属性情報に基づいてノイズを付加したり、ノイズを付加しなかったり、選択的に付加処理を行いCMYKデータを出力する。ハーフトーン処理部158は、所定の画素数で構成された閾値マトリックスを用いて、階調表現を再現する処理を行う。ハーフトーン処理後のCMYKデータは圧縮部16に出力される。
【0043】
色変換部150は、色変換処理部151と、スイッチング部152と、色補正テーブル153A、153Bとから構成される。
【0044】
バンドメモリ14から読み出されたRGBデータが色変換処理部151に入力されて、選択された色補正テーブル153A、153Bを用いて、RGBデータからCMYKデータに変換して出力する。
【0045】
一般にRGB色空間とYMCK色空間とでは、実際には若干の色ずれが存在し、例えば、RGBの混合により求められる理論上の黄色(Y)とプリンタ2のトナーによる黄色とでは、色が異なる。そのため、忠実にRGB色空間で作成された色を再現するためには、黄色(Y)のトナーにマゼンダ(M)のトナーを混合する色合わせを行う。しかし、文字やグラフィックの場合は、できるだけ印刷文字や印刷グラフの鮮やかさを強調したい。そのためには、複数の色の混合を伴う色補正はできるだけ避けた方が賢明である。一方、イメージの場合はその色の鮮やかさよりも、入力されたイメージに忠実に自然色で色合わせを行った方がよい。
【0046】
図4に、印刷対象の例を示す。1ページ分の印刷領域に文字、グラフィック、イメージが混在している例である。文字、グラフィックはできるだけ、色を強調させて印刷出力できれば、文字等の線の表現が強調され快適な印刷出力を得ることが可能である。一方、イメージの場合は、できるだけ図4に示すように表現されたイメージそのままの自然な色表現が再現できれば快適な印刷出力を得ることが可能である。1ページの印刷領域にすべて同じ色補正テーブルを用いて色変換するのは印刷オブジェクトの上述した特性を考慮して必ずしも好ましいこととは言えない。
【0047】
そこで、属性情報Xをもとに印刷オブジェクトの種類(描画種)によって、使用されるテーブルを変更するようにしている。例えば図2に示すように、属性情報Xからオブジェクトが文字やグラフィックの場合は、鮮やかさを重視したテーブルを有する色補正テーブル1(153A)を選択するようにし、属性情報Xからオブジェクトがイメージの場合は、自然色に合わせたテーブルを有する色補正テーブル2(153B)を選択するようにする。
【0048】
この選択されたテーブルを用いて色変換処理部151では、入力されたRGBデータに対して演算を行って、CMYKデータ(各々8ビットからなるデータ)に変換して出力する。なお、本実施例では補正テーブルの数は2つとしたが、本発明は、もちろんこれに拘泥せず3種類、4種類とその他複数種類であってもよいし、また、属性情報Xにより文字の場合は、テーブル1(153A)を選択して、グラフィックやイメージの場合はテーブル2(153B)を選択するようにしてもよい。
【0049】
ノイズ付加部154は、加算器155と、スイッチング部156と、ノイズ生成部157とから構成される。色変換部150から出力されたCMYKデータは、加算器155に入力される。ここで、ノイズ生成器157で生成したランダムノイズを入力されたCMYKデータに加算器155にて重畳させる処理を行うことになる。
【0050】
一般にランダムノイズをCMYKデータに付加させた後ハーフトーン処理すると、成長する各ドットの幅が一定とならずに階調(明るさ)が増えた印刷出力を得ることができる。例えば、一定の階調値を有する画素が連続した領域でノイズを付加させると、ハーフトーン処理で所定数の画素から構成される閾値マトリックスにより、ある画素では閾値を超える量が大きいためその大きい幅のドットの生成を行うが、ある画素では閾値を超える量が小さいため小さい幅のドットを生成することになる。しかもランダムに発生するノイズであるため、ドットの幅がまちまちで、結果的に階調性がよい、高品質の印刷出力を得ることができる。一方、ノイズを入れない場合では、閾値を超えた部分で常に同じ幅のドットが生成されるため、入力階調値に忠実な階調表現となる。結果的にノイズを付加させた場合と比較して印刷出力は、高品質とはならない。
【0051】
しかし、かかるノイズを付加させたデータは、ハーフトーン処理後のデータの連続性がくずれるために、その処理後のデータを圧縮すると圧縮率が悪くなる。すなわち、ランダムなノイズをCMYKデータに付加させているためにその階調値の量がまちまちで、例えばある画素の階調値は大きく、他は小さく、一定の階調値の画素を有する場合と比較して、その連続性が途切れることになる。その後の圧縮部16での圧縮処理は、出現率の高い階調値には短い符号長を割り当て、出現率の低い階調値には長い符号長を割り当て全体として平均符号長を短くする圧縮方法により処理が行われる。よって、ランダムなノイズを付加すると各階調値はまちまちで出現率の高い階調値の発生が少なくなり圧縮率が悪くなる。一方で、ノイズを付加させずにハーフトーン処理を行うと、連続性はノイズを付加させた場合と比較して失われないため、圧縮率はよい。
【0052】
本来ならすべての印刷オブジェクトに対してノイズを付加させてハーフトーン処理を行い圧縮してプリンタ2に転送すべきであるが、それでは上述の理由により、圧縮率がよくないため転送すべきデータ量が増え、転送時間がかかってしまう。
【0053】
そこで、本発明では、属性情報Xに基づいて印刷オブジェクトの種類(描画種)に応じて、ノイズ付加するか、或いは付加せずにそのままハーフトーン処理を行うかを選択するようにしている。これにより、図4に示すような1ページの印刷領域にイメージや文字が混在する印刷データに対して、すべてノイズを付加してハーフトーン処理を行いデータを圧縮する場合と比較して、全体としてデータ転送量が減少し、データ転送時間を少なくすることができるのである。
【0054】
属性情報Xによる選択は、属性情報Xがイメージの場合はノイズを付加すべく、スイッチング156を加算器155とノイズ157とが接続するようにし、文字とグラフィックの場合は逆にノイズ生成部157と加算器155とが接続されないようにする。これにより、ノイズ付加することによる階調表現を増えたようにするという本来の効果がイメージのオブジェクトに対して得ることができる。もちろん、スイッチング157の切換は、例えば属性情報Xが文字の場合は、ノイズを付加させずに、グラフィックと画像の場合はノイズを付加させるようにすることでもよい。かかるノイズが付加、或いは付加されないCMYKデータは、ハーフトーン処理部158に出力される。
【0055】
なお、ノイズ生成部157は、例えば擬似乱数発生回路などにより生成することが考えられる。この場合、平均採中法、混合型線形合同法、Fibonacci生成法、M系列、Gold系列など周知の擬似乱数を用いることができる。このような生成回路の回路規模(サイズ)を考慮すると、特にM系列は、シフトレジスタにより構成できるため好ましいといえる。一例としては、特性多項式が、
f(x)=x31+x+1
であるものを使用すれば、31ビットシフトレジスタと1つの排他的論理和で構成できる。なお、M系例による乱数の発生方法については、例えば、「計測自動制御学会論文集2−4、283−288項、1966年」などに示されている。
【0056】
ノイズハーフトーン処理部158は、ハーフトーン処理159と、スイッチング部160と、ハーフトーンテーブル1(161A)、2(161B)とから構成される。このハーフトーン処理も属性情報Xに基づいて、使用されるハーフトーンテーブルを選択できるようになっている。
【0057】
一般に、文字やグラフィックは、比較的細い線で表現される場合が多く、自然の階調(明るさ)を含まない画像と考えることができる。したがって、ハーフトーン処理においてできるだけ、網点の大きさを小さくしてスクリーン線数を大きくすることが望ましい。スクリーン線数が小さいと文字やグラフィックに表現されている細い線が欠けてしまうからである。網点が小さくなることで、その自然な階調の変化を再現できなくなるが、文字やグラフィックでは階調性がそれほど重要ではないと考えられる。
【0058】
一方、イメージの場合は、網点の大きさを大きくしてスクリーン線数を小さくすることが望ましい。網点が大きいと階調表現がそれだけ増え、自然な階調の変化を再現することが可能だからである。スクリーン線数はそれだけ小さくなるが、細い線まで正確に再現することはイメージの場合それほど重要なこととはいえない。
【0059】
このように、印刷オブジェクトの種類によってハーフトーンの処理を異なるようにすることが望ましい。そこで、属性情報Xによって、ハーフトーン処理で使用するハーフトーンテーブル1(161A)、2(161B)を切り換えるようになされている。ここで、ハーフトーンテーブル1(161A)は、細かい網点でスクリーン線数は少なく、ハーフトーンテーブル2(161B)は、粗い網点でスクリーン線数は大きいテーブルとする。この場合に、属性情報Xが文字やグラフィックを表した情報のときは、スクリーン線数が多いテーブル2(161B)を選択するようにスイッチング160で切り換え、イメージの場合は、細かい網点から構成されるテーブル1を選択するように切り換えるようにする。もちろん、テーブルの種類も3種類以上あってもよく、また文字の場合だけテーブル2(161B)を選択し、グラフィックやイメージの場合にテーブル1(161A)を選択するようにしてもよい。
【0060】
ハーフトーン処理後のCMYKデータは、色処理部15から圧縮部6へ出力される。
【0061】
圧縮部16は、ハーフトーン処理後のCMYKデータに対して圧縮処理を行い、圧縮後のデータをプリンタ2に出力する。転送データ量を少なくして、転送に時間をかけないようにするためである。ここで、圧縮処理はハフマン符号化を用いている。ハフマン符号化とは、出現率の高いコードに少ないビットを割り当て、出現率の低いコードにより多いビットを割り当てることで全体として平均符号長を短くする符号化である。プリンタ側で符号化したデータが確実に再現できるように可逆圧縮(lossless coding)の一つであるハフマン符号化を用いている。もちろん、割り当てる符号長を可変にするような他の圧縮方法でも本発明は実現できる。
【0062】
プリンタ2は、全体としてコントローラ25と印刷エンジン27とから構成される。
【0063】
コントローラ25は、解凍部20とパルス幅変調部21とから構成される。解凍部20は、ホスト1から出力されたハーフトーン処理後の圧縮データが入力されて、圧縮データを解凍、伸長する。解凍部20からは、ホスト1の圧縮前のデータ(各画素ごとに8ビットの階調値)に伸長されたデータが出力されることになる。パルス幅変調部21は、解凍部20から出力されたデータに対して、例えば各画素ごとにドット生成のためのパルスを生成する。本実施例のプリンタはページプリンタを想定しているため、各画素ごとにハーフトーン処理後の多値データに対応するパルス幅を生成することになる。変調後の駆動パルス信号は、印刷エンジン27に出力される。
【0064】
印刷エンジンは、レーザーダイオード22と、ドラム23とから構成される。レーザーダイオード22は、パルス幅変調部21からの駆動パルス信号に基づいてレーザービームを発生する。そして、発生したレーザービームがドラム23上を走査し、トナーが付着することで各画素内にドットが形成され、その後印刷用紙に転写され印刷が行われるようになっている。
【0065】
次に図5を参照して、本発明の画像処理の動作について詳細に説明することにする。図5は、その画像処理の動作を示すフローチャートを示す図である。
【0066】
まず、ドライバ19において、画像処理のための動作が開始される(ステップS10)と、DDI描画の解析を行う(ステップS11)。これは、アプリケーション10(図1参照)からドライバ19に出力される描画コマンドを解析する処理である。描画コマンドは、上述したように印刷オブジェクト(描画種)が文字の場合は、文字コートや位置情報、文字の書体、文字の色等を指定するコマンドを解析することになる。グラフィックの場合は、描画コマンドに位置情報やバイト数、線の幅等を指定するコマンドを解析し、イメージの場合は、位置情報、パターン、形状の指定等を指定するコマンドを解析することになる。
【0067】
次いで、ドライバ19は、描画レコードの生成を行う(ステップS12)。これは、アプリケーション10から出力される上述のコマンドは、ホストコンピュータ1に実装されるOSによってコマンド名の相違等があるため、これを吸収し、どのようなOSからの描画コマンドであっても、ドライバ19で処理できるコマンドに変換する処理をするものである。
【0068】
次いで、ドライバ19は、RGB中間コードの生成を行う(ステップS13)。ステップS12で生成した描画コマンドを解析して、上述した文字フォントの生成指示(フォントの選択、サイズなど)、イメージのバンドメモリ15への確保や格納の指示、グラフィックの設定指示等が生成される。この各種指示情報から、印刷対象のデータについてのバンドメモリ15への格納を指示するコード(中間コード)を生成するためである。例えば中間コードの例としては、上述したようにバンドメモリ14の格納位置を示す座標情報、パターン情報、拡大縮小情報などが所定のコードとして表現されている。
【0069】
次いで、ドライバ19は、生成した中間コードに基づいて印刷対象の文字やグラフィック、イメージのRGBデータをバンドメモリ15へ展開(格納)を行う(ステップS14)。また、ドライバ19は、印刷対象がどのような描画種であるかを示す属性情報Xも生成する。生成した属性情報Xは、各RGBデータとともにバンドメモリ14に格納される(図2参照)。
【0070】
次いで、ドライバ19は、バンドメモリ14からRGBXデータを読み出し、属性情報Xを用いてYMCKデータに色変換の処理を行う(ステップS15)。上述したように、色補正テーブル1(153A)が他の色を混合する色合わせが少ない(色が鮮やかに表現できる)補正テーブルで、色補正テーブル2(153B)が色表現に忠実に色合わせを行う(自然色に合わせた表現ができる)補正テーブルであるとき、属性情報Xから描画種が文字やグラフィックの場合は、色の鮮やかさを強調すべく補正テーブル1を選択し、イメージの場合は自然色を強調すべく補正テーブル2を選択するようにする(図2参照)。そして、このテーブルを参照してRGBデータをYMCKデータに変換する。このように属性情報Xを参照するだけで設定されたテーブルのうちどれを選択すべきか知ることができる。
【0071】
次いで、ドライバ19は、CMYKデータにノイズ付加するか否か判断する(ステップS16)。属性情報Xを元に、例えば、イメージの場合はランダムノイズを付加させ、文字やグラフィックの場合はノイズ付加させないようにする。ノイズが付加されたイメージは、生成されるドット幅もランダムとなり階調性が増し、高画質な印刷出力を得る。一方、ノイズが付加されない文字やグラフィックは、階調性が増えるわけではないのでそれほど高画質ではない印刷出力を得ることができるが、ランダムノイズが付加されない分、同じ階調値を有するデータが出現し易く圧縮効率を増やすことが可能である。このように、属性情報Xを利用して描画種によってノイズの付加したり、付加しなかったりすることで、印刷出力全体として高画質性を保ちながら、圧縮率の高い出力を得ることが可能となる。したがって、転送時間もかからず、待ち時間なくすぐに高画質の印刷出力を得ることが可能になるのである。
【0072】
図5に戻って、属性情報Xが文字やグラフィックの場合は、ステップS16で“NO”が選択されステップS18に移行する。属性情報Xがイメージの場合は、ステップS16で“YES”が選択されてノイズの付加が行なわれる。もちろん、上述したように文字の場合だけ、ノイズ付加せずにステップS18に移行し、グラフィックやイメージの場合はノイズを付加すべくステップS17に移行するようにしてもよい。図4に示すように文字、グラフィック、画像が混在している印刷対象であれば、この場合でも圧縮率を高め、かつ、高画質の印刷出力を得ることが可能だからである。
【0073】
属性情報Xからノイズを付加する場合(ステップS16で“YES”の場合)、色変換後のCMYKデータに対して実際にノイズを付加する処理を行う(ステップS17)。
【0074】
そして、ドライバ19は、ノイズを付加した後、又はステップS16でノイズ付加しない場合(“NO”の場合)、処理はステップS18へ移行し、属性情報Xを利用してハーフトーン処理を行う。これも上述したように、細かい網点スクリーンを有するテーブル1と粗い網点スクリーンを有するテーブル2とを属性情報Xによって選択して、選択したテーブルを用いてハーフトーン処理を行う。例えば、文字やグラフィックの場合は、テーブル1を使用して細い線など欠けることなく再現でき、イメージの場合はテーブル2を使用して階調性を増やして自然な階調の変化を再現できるようになる。文字の場合のみテーブル1を使用して、グラフィックやイメージの場合はテーブル2を使用するようにしてもよい。
【0075】
次いで、ドライバ19は、圧縮処理を行う(ステップS19)。上述したように、出現確率の高いデータに短い符号長を与え、出現確率の低いデータに長い符号長を与え、圧縮効率を高める可逆圧縮を行なう。本実施例では、ハフマン符号化を用いている。
【0076】
次いで、ドライバ19は、プリンタ2へ圧縮後のデータを出力し(ステップS20)、データの処理がすべて終了すると(ステップS21で“YES”の場合)、処理は終了し、データの処理がまだあれば(ステップS21で“NO”の場合)、再び処理は、ステップS11へ移行し、上述の処理を印刷データの処理が終了するまで繰り返すことになる。
【0077】
上述の例では、ホストとしてパーソナルコンピュータを例にして説明したが、かかる画像処理を行うドライバが実装された情報端末、例えばデジタルカメラ、や携帯電話、PDAなどであっても本発明を実現することは可能である。
【0078】
以上説明したように、本発明によれば、属性情報Xによってノイズ付加又は付加しないを選択して、ハーフトーン処理を行い圧縮転送しているので、高品質の印刷出力を確保しつつ、プリンタへのデータ転送量を減らして、データの転送時間を少なくする画像処理を行うことができる。また、プリンタは、ハーフトーン処理後のデータを用いて印刷出力を行うだけなので、プリンタのハードウェアのコストダウンを達成することもできる。
【図面の簡単な説明】
【図1】ホストコンピュータ1とプリンタの全体構成図を示す。
【図2】バンドメモリ14の具体的構成を示す。
【図3】色処理部15の具体的構成を示す。
【図4】印刷画像の例を示す。
【図5】画像処理の動作を示すフローチャートである。
【符号の説明】
1 ホストコンピュータ 2 プリンタ 10 アプリケーション 11 コマンド解析部 12 中間コード生成部 13 画像展開部 14 バンドメモリ15 色処理部 150 色変換部 153A 色補正テーブル1 153B色補正テーブル2 154 ノイズ付加部 157 ノイズ生成部 159 ハーフトーン処理部 161A ハーフトーンテーブル1 161B ハーフトーンテーブル2 16 圧縮部 20 解凍部 21 パルス幅変調部 22 レーザーダイオード(LD) 23 ドラム

Claims (7)

  1. 複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて前記複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加処理と、
    前記ノイズ付加処理から出力された前記複数色データが入力されて、当該複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理と、
    前記階調処理された前記データが入力されて、当該データを圧縮して出力する圧縮処理と、
    をコンピュータに実行させることを特徴とする画像処理のためのプログラム。
  2. 前記ノイズ付加処理は、
    前記描画種を示す属性情報が、文字またはグラフィックのときは前記複数色データにノイズを付加させず、イメージのときは前記複数色データにノイズを付加して出力することを特徴とする請求項1記載の画像処理のためのプログラム。
  3. 前記ノイズ付加処理は、
    前記描画種を示す属性情報が、文字のときは前記複数色データにノイズを付加させず、グラフィック又はイメージのときは前記複数色データにノイズを付加して出力する、ことを特徴とする請求項1記載の画像処理のためのプログラム。
  4. 前記圧縮処理は、
    前記データの中で出現確率の高い符号に符号長の短い別の符号を割り当て、出現確率の低い符号に符号長の長い別の符号を割り当てることで前記データを圧縮する、ことを特徴とする請求項1記載の画像処理のためのプログラム。
  5. 前記描画種は、入力された複数色データが文字データか、グラフィックデータか、イメージデータかのいずれかを示す情報である、ことを特徴とする請求項1記載の画像処理のためのプログラム。
  6. 前記階調処理は、複数の階調処理テーブルから前記属性情報に基づいて選択された一の階調テーブルを用いて、前記複数色データから各色の階調が表現されたデータを生成して出力する、
    ことを特徴とする請求項1記載の画像処理のためのプログラム。
  7. 複数色データが入力されて、印刷対象の描画種を示す情報を含む属性情報に基づいて前記複数色データに対してランダムノイズを選択的に付加して出力するノイズ付加ステップと、
    前記ノイズ付加ステップから出力された前記複数色データが入力されて、当該複数色データに対して各色の階調が表現されたデータを生成して出力する階調処理ステップと、
    前記階調処理ステップから出力された前記データが入力されて、当該データを圧縮して出力する圧縮ステップと、
    を有することを特徴とする画像処理方法。
JP2003090166A 2003-03-28 2003-03-28 画像処理のためのプログラム、及び画像処理方法 Pending JP2004295765A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003090166A JP2004295765A (ja) 2003-03-28 2003-03-28 画像処理のためのプログラム、及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003090166A JP2004295765A (ja) 2003-03-28 2003-03-28 画像処理のためのプログラム、及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2004295765A true JP2004295765A (ja) 2004-10-21

Family

ID=33403854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003090166A Pending JP2004295765A (ja) 2003-03-28 2003-03-28 画像処理のためのプログラム、及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2004295765A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199733A (ja) * 2009-02-23 2010-09-09 Brother Ind Ltd 画像処理装置及び画像処理プログラム
JP2010199732A (ja) * 2009-02-23 2010-09-09 Brother Ind Ltd 画像処理装置及び画像処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199733A (ja) * 2009-02-23 2010-09-09 Brother Ind Ltd 画像処理装置及び画像処理プログラム
JP2010199732A (ja) * 2009-02-23 2010-09-09 Brother Ind Ltd 画像処理装置及び画像処理プログラム
JP4697316B2 (ja) * 2009-02-23 2011-06-08 ブラザー工業株式会社 画像処理装置及び画像処理プログラム
US8379280B2 (en) 2009-02-23 2013-02-19 Brother Kogyo Kabushiki Kaisha Image processing device and system for generating coded image data

Similar Documents

Publication Publication Date Title
US7692813B2 (en) Image processing apparatus and method, and storage medium
JP4823051B2 (ja) 結合ルックアップテーブルを生成する方法、画像処理装置、画像形成装置
JP4564986B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP7077451B2 (ja) 画像形成装置および画像形成装置の制御方法、ならびにプログラム
JP4356953B2 (ja) 画像処理システム及び画像処理装置及びその制御方法及び記憶媒体
US20100027037A1 (en) Image Processing Controller and Image Processing Apparatus
JP4514168B2 (ja) 画像処理システム及び画像処理方法
JP2004295765A (ja) 画像処理のためのプログラム、及び画像処理方法
JP2007050708A (ja) 画像処理装置及び印刷装置
JP4131205B2 (ja) 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム
JP3550979B2 (ja) 画像処理装置
US7542173B2 (en) Image processing device and image processing program causing computer to execute image processing
JP4428028B2 (ja) 画像処理装置、及び画像処理のためのプログラム
US20060092439A1 (en) Printer controller, image forming apparatus, image forming program
JP2003230020A (ja) 画像処理装置、印刷装置および画像処理方法
JP3829895B2 (ja) 画像処理装置
JP3533657B2 (ja) 印刷システム、プリンタ、プリンタドライバ及びプログラム記録媒体
JP2005065147A (ja) 画像処理装置、画像処理システム、圧縮画像処理用データ生成装置、画像処理方法、圧縮画像処理用データ生成方法および画像処理プログラム
JP2005197993A (ja) 画像形成装置、画像形成方法、及びプログラム
US7675642B2 (en) Print apparatus and print method
JP2004320361A (ja) 画像処理装置及び画像処理方法
JP2008092148A (ja) 画像処理装置及び画像処理方法
JP2011166765A (ja) 画像形成装置及び画像形成方法
JPH09270923A (ja) 画像処理装置及び方法
JP2005151064A (ja) 画像処理装置、及び画像処理のためのプログラム