(57)【要約】【課題】画像データ容量が増大しても高速に転送可能なデータを生成する圧縮方法を提供する。【解決手段】画像データの各画素を当該画像データでの階調数より少ない階調数であって各画素について２桁以上のビット列で表現可能な階調数に減色した疑似中間調データを生成するに際して、上記減色後に最も数の多い階調レベルを全桁同値のビット列で表現しつつ疑似中間調データを生成し、当該疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮する。この結果、高速に転送可能なデータを生成することができる。【選択図】　図４
2004112314.tif 000002
【特許請求の範囲】
【請求項１】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像データの各画素を当該画像データでの階調数より少ない階調数で表現した疑似中間調データに変換するとともに当該疑似中間調データのデータ容量を低減する画像処理装置であって、
上記疑似中間調データは各画素について２桁以上のビット列で階調を表現するデータであるとともに上記変換後に最も数の多い階調レベルを全桁同値のビット列で表現しつつ生成されるデータであり、当該疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮することを特徴とする画像処理装置。
【請求項２】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得する画像データ取得手段と、
所定のアルゴリズムにて上記画像データの各画素を当該画像データでの階調数より少ない階調数であって２桁以上のビット列で表現される階調数に変換する場合の、当該変換後の階調レベル分布を取得する階調レベル分布取得手段と、
上記所定のアルゴリズムによって上記画像データの各画素を変換するとともに変換後の各階調レベルを上記２桁以上のビット列で表現するに当たり、上記階調レベル分布にて最も数の多い階調レベルを全桁同値のビット列で表現した疑似中間調データを生成する疑似中間調データ生成手段と、
同疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮する疑似中間調データ圧縮手段とを具備することを特徴とする画像処理装置。
【請求項３】
上記疑似中間調データはランレングス圧縮によって圧縮されることを特徴とする上記請求項１または請求項２のいずれかに記載の画像処理装置。
【請求項４】
上記階調レベル分布取得手段は、上記画像データの各階調値に対する上記階調レベルの発生率を示す階調レベル発生率データと上記画像データにおける階調値の度数を示す階調値度数データとを取得するとともに上記階調値の度数での画像データについて上記発生率で階調レベルが発生するように変換を行ったときの階調レベル分布を取得することを特徴とする上記請求項２または請求項３に記載の画像処理装置。
【請求項５】
上記階調レベル分布取得手段は、各階調レベル毎に各階調値に対する上記階調レベル発生率データと階調値度数データとを乗じて積算することによって各階調レベル毎の発生分布を取得することを特徴とする上記請求項４に記載の画像処理装置。
【請求項６】
上記階調値度数データは、上記画像データの縮小画像についての階調値の度数を示すデータであることを特徴とする上記請求項４または請求項５のいずれかに記載の画像処理装置。
【請求項７】
上記縮小画像のデータは、ＪＰＥＧ形式で記録された画像データからＤＣ成分を抽出するとともに当該ＤＣ成分を示すデータをドットマトリクス状に並べたデータであることを特徴とする上記請求項６に記載の画像処理装置。
【請求項８】
上記階調レベル分布取得手段は上記所定のアルゴリズムによって変換を実施して得られた階調レベルの分布を計測し、上記疑似中間調データ生成手段は当該階調レベルの分布において最も数の多い階調レベルを全桁同値のビット列で表現するように各階調レベルに対応するビット列を割り当てること特徴とする上記請求項２または請求項３のいずれかに記載の画像処理装置。
【請求項９】
上記階調レベル分布取得手段は上記画像データの縮小画像あるいはその一部について上記所定のアルゴリズムによって変換を実施して得られた階調レベルの分布を計測すること特徴とする上記請求項８に記載の画像処理装置。
【請求項１０】
上記疑似中間調データあるいは圧縮後の疑似中間調データには、各階調レベルと当該階調レベルを指定するビット列との対応関係を示すデータを含むことを特徴とする上記請求項２〜請求項９のいずれかに記載の画像処理装置。
【請求項１１】
上記変換後の各階調レベルは、印刷装置において一回のインク吐出動作で吐出されるインク量を特定することを特徴とする上記請求項２〜請求項１０のいずれかに記載の画像処理装置。
【請求項１２】
上記変換後の各階調レベルは、印刷装置において吐出されるインクの濃度を特定することを特徴とする上記請求項２〜請求項１１のいずれかに記載の画像処理装置。
【請求項１３】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像データの各画素を当該画像データでの階調数より少ない階調数で表現した疑似中間調データに変換するとともに当該疑似中間調データのデータ容量を低減する機能をコンピュータに実現させる画像処理プログラムであって、
上記疑似中間調データは各画素について２桁以上のビット列で階調を表現するデータであるとともに上記変換後に最も数の多い階調レベルを全桁同値のビット列で表現しつつ生成されるデータであり、当該疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮することを特徴とする画像処理プログラム。
【請求項１４】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得する画像データ取得機能と、
所定のアルゴリズムにて上記画像データの各画素を当該画像データでの階調数より少ない階調数であって２桁以上のビット列で表現される階調数に変換する場合の、当該変換後の階調レベル分布を取得する階調レベル分布取得機能と、
上記所定のアルゴリズムによって上記画像データの各画素を変換するとともに変換後の各階調レベルを上記２桁以上のビット列で表現するに当たり、上記階調レベル分布にて最も数の多い階調レベルを全桁同値のビット列で表現した疑似中間調データを生成する疑似中間調データ生成機能と、
同疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮する疑似中間調データ圧縮手段とをコンピュータに実現させることを特徴とする画像処理プログラム。
【請求項１５】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像データの各画素を当該画像データでの階調数より少ない階調数で表現した疑似中間調データに変換するとともに当該疑似中間調データのデータ容量を低減する画像処理方法であって、
上記疑似中間調データは各画素について２桁以上のビット列で階調を表現するデータであるとともに上記変換後に最も数の多い階調レベルを全桁同値のビット列で表現しつつ生成されるデータであり、当該疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮することを特徴とする画像処理方法。
【請求項１６】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得する画像データ取得工程と、
所定のアルゴリズムにて上記画像データの各画素を当該画像データでの階調数より少ない階調数であって２桁以上のビット列で表現される階調数に変換する場合の、当該変換後の階調レベル分布を取得する階調レベル分布取得工程と、
上記所定のアルゴリズムによって上記画像データの各画素を変換するとともに変換後の各階調レベルを上記２桁以上のビット列で表現するに当たり、上記階調レベル分布にて最も数の多い階調レベルを全桁同値のビット列で表現した疑似中間調データを生成する疑似中間調データ生成工程と、
同疑似中間調データにおける同値の連続に所定の符号語を割り当ててデータ容量を圧縮する疑似中間調データ圧縮工程とを具備することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理プログラムおよび画像処理方法に関する。
【０００２】
【従来の技術】
近年、インクジェットプリンタの性能向上に伴って、高速化および高解像度化の要請も高まっている。高解像度での印刷を実現する際には単位面積当たりに多くの画素を形成する必要があり、多数の画素からなる画像について処理を行うことになる。画像の印刷に際しては、通常、画像データを取得して拡大処理や色変換処理，ハーフトーン処理等を行うが、コンピュータとプリンタとが通信回線にて接続された態様においてはコンピュータにおいて上記処理のいずれかを実行し、いずれかの処理段階でデータをプリンタに転送する。画像データを転送するに際して効率よく圧縮する従来の画像処理装置としては、ファクシミリ装置でのデータ転送に際して２値化手法とランレングス手法とを組み合わせる技術が知られている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開平６−１４２０２号公報
【０００４】
【発明が解決しようとする課題】
上述した従来の画像データ転送においては、データ容量が増大するほど転送速度が障害になって高速化の妨げになっていた。すなわち、データ量が増大すると、画像データに対する演算処理時間の他に上記データの転送に際して通信回線がボトルネックになる場合が発生し、印刷開始から印刷終了までの実印刷時間に対してデータ転送が占める時間の割合が大きくなり、高速印刷が困難になっていた。
本発明は、高速転送可能なデータを生成する画像処理装置、画像処理プログラムおよび画像処理方法の提供を目的とする。
【０００５】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、請求項１にかかる発明では、ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像データの各画素を当該画像データでの階調数より少ない階調数に変換した疑似中間調データを生成する処理において、同値が連続するビット列に所定の符号語を割り当てる圧縮で高圧縮率を実現可能なビット列を生成する。２桁以上のビット列で階調を表現する疑似中間調データでは、各画素を３以上の階調数で階調表現可能であり、所定の桁数を単位として各画素の階調を特定する。具体的には、各単位での”０”あるいは”１”の組み合わせによって階調を特定する。
【０００６】
また、同値が連続するビット列に所定の符号語を割り当てる圧縮では、同値の連続数や特定連続数の出現頻度等によって圧縮を行うことができる。さらに、上記変換後の階調レベルを並べてデータを生成する際に、最も数の多い階調レベルは最も連続する確率が高い。そこで、本発明では各画像データを変換して得られる階調レベルのうち、最も数の多い階調レベルを上記単位の全桁が同値のビット列で表現する。この結果、各画像について非常に高率圧縮を行うことができ、この圧縮後のデータを高速に転送することが可能になる。例えば、ランレングス圧縮では同値が連続するビット列をその連続数に変換するので、各桁にて同値のデータが連続する数が多いほど高圧縮になる。また、ハフマン圧縮では出現頻度が高いビット列を短い符号語に変換するので、出現頻度の高い階調レベルが長いビット列であるほど高圧縮になる。
【０００７】
本発明においては画像データを「２桁以上」のビット列で各画素の階調を表現する疑似中間調データに変換する構成において、上述のように階調レベル数の多いものに全桁同値を割り当てている。これは、各画素１ビットで各画素の階調を表現する場合と異なり、２桁以上のビット列であれば各階調レベルに対応する”０”あるいは”１”の組み合わせに任意性が生じるからであり、この組み合わせを決定する際に本発明にかかる構成を採用することによって非常に高率での圧縮を実現できるようになる。
【０００８】
現在の印刷装置ではその機構上１画素について２桁程度のビット列で表現可能な階調レベル数になるので、疑似中間調データにおける典型例としては各画素２ビットであるが、むろん、各画素２ビットに限定されることなく、各画素３ビット以上のデータであっても良い。階調レベルにおいてはレベルの差異で階調の差異を表現することができれば良く、例えば、印刷時の処理の場合、実効明度の異なる複数のインク滴を吐出可能な構成において各画素の実効明度を指定する構成を採用可能である。
【０００９】
また、現在一般的な画像データとしては各色８ビットで各色２５６階調であるが、上述のように印刷データを生成する場合は各画素２桁程度のビット列で階調を表現しており、この状況は請求項に言う画像データの各画素を当該画像データでの階調数より少ない階調数に変換する状況に該当する。むろん、画像データとしては各色２５６階調より多くても少なくても良い。尚、ＲＧＢの各色成分からなるＲＧＢ画像データを入力してＣＭＹＫインク等で印刷を行う場合であっても、ＲＧＢ画像データは一旦ＣＭＹＫの各色成分からなる画像データに変換され、本発明に言う画像データは当該ＣＭＹＫの各色成分からなる画像データに該当する。
【００１０】
上記全桁同値のビット列は２種類存在する。すなわち、全桁”０”，全桁”１”の２種類存在する。本発明では、”０”あるいは”１”のいずれを採用しても良い。さらに、上記変換後に最も数の多い階調レベルを全桁同値の一方のビット列で表現するとともに、上記変換後に２番目に数の多い階調レベルを全桁同値の他方のビット列で表現する構成を採用することも可能である。
【００１１】
また、請求項２にかかる発明においては、所定のアルゴリズムにて上記画像データの各画素を当該画像データでの階調数より少ない階調数であって２桁以上のビット列で表現される階調数に変換した疑似中間調データを生成する構成において、当該所定のアルゴリズムにて変換する場合の、変換後の階調レベル分布を取得する。この階調レベル分布を取得することによって、各画像データに対応した疑似中間調データにおいて最も数の多い階調レベルを把握することができる。この結果、疑似中間調データを生成するに際して最も数の多い階調レベルを全桁同値のビット列で表現した疑似中間調データを生成することが可能になる。
【００１２】
このように、最も数の多い階調レベルを全桁同値のビット列で表現した疑似中間調データを生成することにより、同値が連続するビット列に所定の符号語を割り当てる圧縮で当該疑似中間調データを圧縮したときに非常に高率で圧縮を行うことが可能になる。ここにおいても、本発明にかかる圧縮後のデータを印刷に利用することを想定すれば、疑似中間調データにおける典型例としては各画素２ビットであるが、むろん、各画素２ビットに限定されることなく、各画素３ビット以上のデータであっても良い。階調レベルとしてもレベルの差異で階調の差異を表現することができれば良く、例えば、実効明度の異なる複数のインク滴において各インク滴の明度を指定する構成を採用可能である。さらに、上記全桁同値のビット列として、”０”あるいは”１”のいずれを採用しても良いし、上記変換後に２番目に数の多い階調レベルについても全桁同値のビット列で表現する構成を採用可能である。
【００１３】
上記所定のアルゴリズムとしては、種々のアルゴリズムを採用することができる。すなわち、多階調をそれより少ない階調になるよう変換する手法は公知の種々の手法を採用することができる。例えば、ディザ法や誤差拡散法等を採用可能であり、かかるアルゴリズムによって各画素について２桁以上のビット列で階調を表現する階調レベルを生成する構成に対して本発明を適用することが可能である。ここでも疑似中間調データを圧縮する手法は限定されず、ランレングス圧縮やハフマン圧縮等種々の手法を採用可能である。尚、請求項３に記載した発明のようにランレングス圧縮にて疑似中間調データを圧縮すれば、本発明によって生成されたデータを非常に高率で圧縮することができる。
【００１４】
階調レベル分布は、変換後の階調レベルの分布を示していれば良く種々の手法によって分布を取得することができる。この構成例として請求項４にかかる発明においては、階調レベル発生率データと階調値度数データとに基づいて階調レベル分布を取得するようにしている。すなわち、階調レベル発生データによれば画像データの各階調値に対してどのような確率でどの階調レベルが発生するのかを把握することができ、階調値度数データによれば各画像データの実際の階調値度数を把握することができる。
【００１５】
従って、この階調値度数を有する画像データについて変換を行う場合にいずれの階調レベルがどの程度発生するのかを把握することができ、容易に最も多く発生する階調レベルを把握するとともに当該階調レベルに対して全桁同値のビット列を割り当てることができる。階調レベル発生率データは各階調の発生率を示すデータであれば良く、種々のデータを採用可能である。例えば、疑似中間調データを印刷に利用する場合であって、階調レベルで一回のインク吐出当たりのインク量を指定したり、階調レベルで吐出インク滴の濃度を指定するような場合には、各階調値において単位面積当たりに特定重量のインク滴をどの程度の記録率で記録するのかを示すデータや、各階調値において単位面積当たりに特定の濃度のインク滴をどの程度の記録率で記録するのかを示すデータが階調レベル発生率データに該当する。
【００１６】
階調レベル発生率データは、各画像データに依存するのではなく、疑似中間調データを生成する際のアルゴリズムに依存するので、予め所定の記録媒体に保存しておいて、上記階調レベル分布取得手段が取得できるようにしておくと好ましい。階調値度数データは、各画像データでの階調値レベルの度数を示すデータであればよいので、上記画像データ取得手段にて取得した各画像データについて逐次度数を取得することができればよい。この度数は各画像データに固有の度数であるが、階調値度数データは階調レベルが最も多いものを把握するために利用できれば良く、厳密な度数を取得することは必須ではない。従って、画像データの総ての画素について階調値をヒストグラム化することは必須ではなく、演算処理負担等に応じて適宜簡易な手法を採用することも可能である。
【００１７】
階調レベル発生率データと階調値度数データとを利用して階調レベル毎の発生分布を算出するために請求項５にかかる発明のように、同じ階調値に対する階調レベル発生率と階調値度数とを乗じて階調レベル毎に積算する構成を採用しても良い。すなわち、両者の積を階調レベル毎に積算すると、各画像データにおける階調レベルの相対分布が算出されるので、この積算結果は階調レベル毎の発生分布に該当し、この積算結果を比較することによって最も数の多い階調レベルを容易に把握することができる。
【００１８】
さらに、各画像データにおける階調値度数データを取得する際の構成例として、請求項６にかかる発明のように、縮小画像についての階調値の度数を取得しても良い。すなわち、縮小画像であっても元画像の色の傾向が維持されるなど、元画像の特徴を維持する場合がほとんどであり、この縮小画像について階調値の度数を計数したとしても、元画像の階調値の度数傾向を把握するのに十分である場合がある。かかる構成によれば、非常に高速に階調値度数データを取得することができる。
【００１９】
縮小画像としては種々のものが採用可能であり、元画像がＴＩＦＦフォーマット等であって当該元画像の画像データにサムネイルデータが添付されている場合には等がサムネイルデータを縮小画像データとし、その階調値の度数を取得すればよい。また、元画像の画像データから適宜画素を間引いて（例えば、数画素おきに階調値を取得する）縮小画像データとしてその階調値の度数を取得しても良い。
【００２０】
さらに、各画像データにおける階調値度数データを取得する際の構成例として、請求項７にかかる発明のように、ＪＰＥＧ形式の画像データから抽出したＤＣ成分を利用しても良い。すなわち、ＪＰＥＧ形式の画像データにおいて、ＤＣ成分は基礎をなす最も重要な成分であり、当該ＤＣ成分のみで画像を構成しても画像の階調傾向を把握することが可能である。そこで、ＤＣ成分を抽出して縮小画像のデータとしても、当該データに対して上記変換を施して得られる階調レベルの分布が原画像データでの階調レベル分布を示していると見なすことが可能になり、本発明で利用する階調値度数データとすることができる。
【００２１】
さらに、変換後の階調レベルの分布を示す階調レベル分布を取得する他の構成例として請求項８に記載の発明のように、実際に変換を行った後に得られた階調レベルを計測してその分布を取得しても良い。かかる構成においては、変換後の階調レベルを計測する必要があるものの、階調レベルの実数を的確に把握することができるので、最も数の多い階調レベルに対して確実に全桁同値のビット列を割り当てることができる。
【００２２】
さらに、請求項９に記載の発明のように、階調レベルを計測するために実際に変換を行う対象として縮小画像あるいはその一部を選択しても良い。すなわち、変換後の階調レベル分布は画像データを変換した後の階調レベルの厳密な値である必要はなく、分布の傾向を取得したとしても高率での圧縮を可能にする階調レベルを把握することができる。階調レベルを計測するために実際に変換を行うとしても、縮小画像あるいは一部についてであれば、画像データ全体を変換する場合と比較して高速で処理を行うことができる。尚、ここでは縮小画像の一部として抽出する場所や抽出画素を変更して複数の部位を抽出し、それらに対して実際に変換を行うとともに最も高圧縮率となった場合の階調レベルについて全桁同値のビット列で表現しても良い。
【００２３】
さらに、本発明にかかる圧縮によって圧縮したデータを利用する際に好適な構成例として、請求項１０に記載した発明のように疑似中間調データあるいは圧縮後の疑似中間調データにビット列と階調レベルとの対応関係とを示すデータを含ませても良い。すなわち、本発明においては各階調レベルに対応する”０”と”１”との組み合わせが各画像データ毎に異なるので、いずれの組み合わせがいずれの階調レベルに対応するのかをデータを利用する際に知る必要がある。この対応関係を疑似中間調データあるいは圧縮後の疑似中間調データに含ませておけば、データを利用する際にビット列から適正な階調レベルを把握することが可能になる。例えば、疑似中間調データあるいは圧縮後の疑似中間調データのヘッダに当該対応関係を記述するように構成することが可能である。
【００２４】
さらに、変換後の各階調レベルを２桁以上のビット列で表現する構成としては種々の構成が想定され、その具体例として請求項１１に記載した発明のように、一回のインク吐出動作で吐出されるインク量が３段階以上存在する構成において、各階調レベルで各インク量を特定する構成に対して適用することも可能である。また、請求項１２に記載した発明のように、異なる色のインクタンクからインク供給を可能にして濃度が異なるが同系統の色（例えば、シアンとライトシアン等）でインク滴を吐出可能にした構成において、各階調レベルで各インクの濃度を特定する構成に対して本発明を適用することが可能である。
【００２５】
本発明にかかる画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例として画像処理装置を制御するためのソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるし、当該ソフトウェア自体としても発明は成立する。このため、上記請求項１３，請求項１４にかかる発明は、上記請求項１，請求項２に対応させた機能をコンピュータに実現させる構成としてある。むろん、請求項３〜請求項１２に対応させた機能をコンピュータに実現させる構成も実現可能である。
【００２６】
むろん、このプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。上記媒体とは異なるが、供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２７】
また、このような画像処理装置の制御においては各手段が所定の制御手順で処理を進めていく上で、その根底にはその手順に発明が存在するということは当然であり、方法としても適用可能である。このため、請求項１５，請求項１６にかかる発明は、上記請求項１，請求項２に対応させた工程からなる構成としてある。むろん、請求項３〜請求項１２に対応させた工程を具備する構成も実現可能である。
【００２８】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）本発明の構成：
（２）画像処理：
（２−１）階調レベル分布の取得：
（２−２）疑似中間調データの生成：
（３）他の実施形態：
【００２９】
（１）本発明の構成：
図１は本発明にかかる画像処理装置を構成するシステムの概略ハードウェア構成を示している。コンピュータ１０はＲＯＭ１３やＲＡＭ１４からなるプログラム実行環境を備えており、システムバス１２を介しデータを授受して所定のプログラムを実行可能である。システムバス１２には外部記憶装置としてのハードディスクドライブ（ＨＤＤ）１５とフレキシブルディスクドライブ１６とＣＤ−ＲＯＭドライブ１７とが接続されており、ＨＤＤ１５に記憶されたＯＳ２０やアプリケーションプログラム（ＡＰＬ）２５等がＲＡＭ１４に転送され上記プログラムが実行される。本実施形態においては、このプログラム実行環境にて後述のプリンタドライバが実行されることによりコンピュータ１０が画像処理装置を構成する。従って、このプリンタドライバが画像処理プログラムにも該当する。むろん、他のコンピュータと協同して画像処理を実行する分散処理を行っても良い。
【００３０】
コンピュータ１０にはシリアル通信用Ｉ／Ｏ１９ａを介してキーボード３１やマウス３２等の操作用入力機器が接続されており、図示しないビデオボードを介して表示用のディスプレイ１８も接続されている。さらに、プリンタ４０とは無線Ｉ／Ｏ１９ｂを介して通信可能である。本発明においては、非常に高率で圧縮可能な疑似中間調データを生成しており、圧縮した状態で無線Ｉ／Ｏ１９ｂを介してデータ転送する。従って、高率で圧縮されるほどデータ転送時の負荷が低減し、スループットが向上される。この意味で、本発明はデータ転送線がボトルネックとなりうる構成において速度向上効果が顕著に現れるが、むろん、高速転送可能な転送線を利用する場合であっても圧縮するほど転送速度が速くなることに相違はない。
【００３１】
また、どのような転送線を利用するにしても、画像データの容量が増加するほど転送速度が低下するが、高率で圧縮することができれば大きな容量の画像データであっても高速に転送することが可能になる。尚、本コンピュータ１０は、デスクトップ型コンピュータ、ノート型、モバイル対応型等、どのような形態であっても良く他にも種々の形態で実現可能である。また、上記無線Ｉ／Ｏ１９ｂは有線Ｉ／Ｏと比較して低速の規格が多いことから本発明による効果を発揮しやすいが、むろん、コンピュータ１０とプリンタ４０の接続インタフェースが限定されるわけではなく有線のＵＳＢインタフェースやシリアルインタフェースやＳＣＳＩ接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【００３２】
この例では各プログラムの類はＨＤＤ１５に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フレキシブルディスク１６ａであるとか、ＣＤ−ＲＯＭ１７ａであってもよい。これらの記録媒体に記録されたプログラムはコンピュータ１０にて読み込まれ、ＨＤＤ１５にインストールされる。インストール後にはＨＤＤ１５を介してＲＡＭ１４上に読み込まれてコンピュータを制御することになる。また、記録媒体はこれに限らず、光磁気ディスクなどであってもよい。また、半導体デバイスとしてフラッシュカードなどの不揮発性メモリなどを利用することも可能であるし、モデムや通信回線を介して外部のファイルサーバにアクセスしてダウンロードする場合には通信回線が伝送媒体となって本発明が利用される。
【００３３】
尚、プリンタ４０はいわゆるインクジェットプリンタであり、プリンタ４０に搭載された図示しない印刷ヘッドにはピエゾ素子が内蔵されている。印刷ヘッドには、ＣＭＹＫ（順にシアン，マゼンタ，イエロー，ブラック）の４色のインクが充填されたインクカートリッジが搭載される。さらに印刷ヘッドには各色インクのそれぞれを吐出する４組のノズル列が印刷ヘッドの主走査方向に並ぶように形成され、ノズル列のそれぞれでは複数のノズルが副走査方向に一定の間隔で配置されている。プリンタ４０は、コンピュータ１０から転送される印刷データを展開し、当該展開された印刷データに従って上記ピエゾ素子を駆動してインク室の体積を変化させ、インクを吐出させる。
【００３４】
また、本実施形態におけるプリンタ４０においてはピエゾ素子に対して印加する駆動電圧レベルを３段階に調整することが可能であり、各画素についてインク滴を吐出しない状態と３段階の重量でインク滴を吐出する状態とを形成することができる。むろん、プリンタ４０の構成は上述のものに限られず、より多数色のインクカートリッジを搭載可能であっても良いし、ピエゾ素子ではなくバブルによってインク室の体積を変更する構成であっても良く、種々の構成を採用可能である。
【００３５】
図２はコンピュータ１０にて実現される画像処理系の概略構成図を示している。上記プリンタ４０はコンピュータ１０にインストールされたプリンタドライバに制御されて印刷を実行するようになっており、当該プリンタドライバは本発明にかかる画像処理を実施する。すなわち、プリンタドライバはコンピュータ１０を画像処理装置として機能させる。具体的には、プリンタドライバ（ＰＲＴＤＲＶ）２１と入力機器ドライバ（ＤＲＶ）２２とディスプレイドライバ（ＤＲＶ）２３とがＯＳ２０に組み込まれている。ディスプレイＤＲＶ２３はディスプレイ１８における画像データ等の表示を制御するドライバであり、入力機器ＤＲＶ２２はシリアル通信用Ｉ／Ｏ１９ａを介して入力される上記キーボード３１やマウス３２からのコード信号を受信して所定の入力操作を受け付ける。
【００３６】
ＡＰＬ２５は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該ＡＰＬ２５の実行下において上記操作用入力機器を操作し、ＲＧＢデータ１５ａが示す画像をレタッチするなどして印刷指示を行うことができる。ＡＰＬ２５にて印刷指示がなされると上記ＰＲＴＤＲＶ２１が起動され、後述するＬＵＴ１５ｂを参照して色変換を実行し、さらに各画素の階調数を少なくした後に分布の多い階調レベルに対して単位画素に相当する桁の全桁が同値になるようにしてハーフトーン処理等を実行する。そして、ハーフトーン処理後のデータをランレングス圧縮しつつ印刷データを作成し、上記プリンタ４０に印刷データを送出することによって印刷を実行する。
【００３７】
ＲＧＢデータ取得モジュール２１ａは、上記ＡＰＬ２５で印刷実行が指示されたときにページ単位でＲＧＢデータを取得して色変換モジュール２１ｂに受け渡す。ＬＵＴ１５ｂは、ＲＧＢデータとＣＭＹＫデータとの対応関係を規定するテーブルであり、所定数の参照点についてＲＧＢデータとＣＭＹＫデータとの各色階調値の組み合わせが規定されている。例えば、ＲＧＢデータについて、ＲＧＢの各要素色毎に２５６階調の階調値域を１６分割して参照点を形成し、ＲＧＢ各色について階調値「０，１６，３２，、、、２５５」の総ての組み合わせを規定し、その組み合わせに対応するＣＭＹＫ各色の組み合わせを規定するなどして参照点を決定する。
【００３８】
色変換モジュール２１ｂは当該ＬＵＴ１５ｂの各参照点を参照して補間演算を行い、受け渡されたＲＧＢデータの各画素についてＲＧＢデータをＣＭＹＫデータに変換する。本実施形態においては当該ＣＭＹＫデータが請求項に言う画像データに相当する。むろん、ＬＵＴとしては、プリンタ４０にて使用可能なメディアやインクセット毎に異なるテーブルを作成し、適宜選択可能に構成することもできる。尚、ＬＵＴ１５ｂにおいてはＲＧＢデータの具体的な値をデータとして有する構成の他、予め決められた順番に特定のＲＧＢデータの組について色を規定することとし、ＲＧＢデータの具体的値を記憶しておくことを省いても良い。
【００３９】
色変換モジュール２１ｂが色変換を実施すると画像は各ドットについてＣＭＹＫの各色について２５６階調で色成分を表現したデータとなっている。本実施形態にかかるプリンタ４０においては、上述のように各ドットについてインク滴を記録しない状態とインク滴を記録する状態とを形勢可能であるとともに、インク滴の重量を３段階（以後３段階のインク滴それぞれを小中大ドットとする。）に調整することができる。すなわち、印刷時の各画素について４階調で階調表現している。
【００４０】
そこで、ハーフトーン処理モジュール２１ｃは各画素２５６階調の上記ＣＭＹＫデータをディザ法によって各色毎に各画素４階調の疑似中間調データに変換する処理を行っている。本実施形態においては各画素について２桁のビット列（”００””０１””１０””１１”のいずれか）で階調を表現しており、階調レベルの分布の多少、すなわち上記インク滴を記録しない状態と小中大インク滴の分布の多少によって”００””０１””１０””１１”の割当てを動的に変更しつつ疑似中間調データを生成する。
【００４１】
本実施形態においては、各階調レベルに対するビット列の割当てを動的に変更するために、予めＨＤＤ１５に階調レベル発生率データを記録し、また、上記ＣＭＹＫデータから各画像データの階調値度数を取得可能に構成してある。すなわち、ハーフトーン処理モジュール２１ｃは階調レベル分布取得部２１ｃ１と階調値度数取得部２１ｃ２とを備えており、階調値度数取得部２１ｃ２は上記色変換モジュール２１ｂからＣＭＹＫデータを各色について１ページ相当のデータを受け取り、当該１ページ分のデータにおいて２５６階調の各階調値について度数分布を生成する。
【００４２】
階調レベル発生率データ１５ｃは上記ディザ法によって２５６階調を４階調に変換したときに、ＣＭＹＫデータの各階調値について変換後の４階調レベルのそれぞれが単位面積当たりにどのような確率で発生されるのかを示すデータである。具体的には、ＣＭＹＫデータの各階調値毎にインク滴記録無しという状態の発生率，小ドットの発生率，中ドットの発生率，大ドットの発生率が規定されたデータである。階調レベル分布取得部２１ｃ１はＨＤＤ１５から当該階調レベル発生率データ１５ｃを取得するとともに、上記階調値度数取得部２１ｃ２が取得した階調値度数を取得し、後述するように階調レベル発生率データと階調値度数とを乗じることによって階調レベル分布を算出する。
【００４３】
この結果、ＣＭＹＫデータについてディザ法で変換処理を行った場合に生成される階調レベルの分布を把握することが可能になる。ハーフトーン処理モジュール２１ｃはさらに、この階調レベル分布を参照することによって最も多く分布する階調レベルについて上記単位画素につき全２桁が同値の”００”を割り当てる。最も多く分布する階調レベル以外については残りの”０１””１０””１１”のうちいずれかを割り当てる。むろん、２番目に多く分布する階調レベルについて”１１”を割り当てても良い。このようにして階調レベルに応じた割当てを実施して各画素の階調を表現したデータが疑似中間調データであり、隣り合う画素のデータが並べられて”０”あるいは”１”が連続するビット列をなしている。尚、この疑似中間調データのヘッダには、後述するように、各階調レベルにいずれのビット列を割り当てているかを示すデータが含まれている。
【００４４】
印刷データ生成モジュール２１ｄはランレングス圧縮部２１ｄ１を備えており、上記疑似中間調データに対してランレングス圧縮を行って印刷データとする。また、印刷データ生成モジュール２１ｄは上記無線Ｉ／Ｏ１９ｂを介して当該生成した印刷データをプリンタ４０に転送する。ランレングス圧縮においては、ビット列において同値が連続して並んでいるときにそれらのビット列をその連続数にて表現することによって圧縮を行うので、上述のようにして最も多く出現する階調レベルが全２桁同値のビット列で表現されていることによって上記”００”が連続している確率が非常に高いビット列を非常に高率で圧縮することができる。
【００４５】
プリンタ４０はＣＰＵ，ＲＡＭ，ＲＯＭ等からなる図示しないプログラム実行環境を備えており、そのプログラムの一つとして印刷データ処理モジュール４１を備えている。印刷データ処理モジュール４１においては、上記ランレングス圧縮されたデータを展開し、元の疑似中間調データを取得する。さらに、疑似中間調データにおいては各主走査線毎に各画素の階調レベルを示すデータが連続しているので、このデータについてノズルデータ変換処理を行って印刷を実行する。すなわち、プリンタ４０においては上記ヘッドに上記吐出ノズルが列状に形成されており、当該ノズル列では副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分離れたデータが同時に使用される。そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ４０にて同時にバッファリングされるように順番に並べ替える。このノズルデータ変換の後、プリンタ４０は当該ノズルデータに従って各ノズルのピエゾ素子を駆動しつつ主走査および副走査を行って印刷を実行する。
【００４６】
（２）画像処理：
以上の構成によって、プリンタドライバ２１は本発明にかかる画像処理装置およびプリンタ４０の制御装置として機能し、高スループットでの印刷を実現している。図３は、本実施形態において階調レベル分布を算出する様子を示す説明図であり、図４は、本実施形態において生成される疑似中間調データを説明する説明図であり、図５は印刷実行時にＰＲＴＤＲＶ２１が実施する処理のフローチャートである。以下これらの図に従って本発明による画像処理を説明する。
【００４７】
利用者が上記ＡＰＬ２５にて印刷実行を指示すると、図５のステップＳ１００において上記ＲＧＢデータ取得モジュール２１ａは印刷指示された画像のＲＧＢデータ１５ａを取得する。ステップＳ１１０においては、上記ＲＧＢデータ１５ａの画素数と印刷に必要な画素数が整合しない場合に両者を整合させるための解像度変換を実行する。すなわち、ＡＰＬ２５にて印刷実行するときには、利用者の指示に応じて解像度や印刷モードを予め決定することができ、決定された解像度での印刷に必要な画素数になるように、ＲＧＢデータ１５ａの画素数を増減する。むろん、ＲＧＢデータ１５ａの画素数が元々所望の値になっているときには、このステップＳ１１０をスキップして良い。
【００４８】
解像度変換処理が行われると、ＲＧＢデータ取得モジュール２１ａが上記色変換モジュール２１ｂを起動する。色変換モジュール２１ｂは、ステップＳ１２０にて上記ＨＤＤ１５に記憶されたＬＵＴ１５ｂを取得し、当該ＬＵＴ１５ｂを参照するとともに補間処理によって上記解像度変換後のＲＧＢデータをＣＭＹＫデータに変換する。
【００４９】
（２−１）階調レベル分布の取得：
次にステップＳ１３０〜Ｓ１５０にて、上記ハーフトーン処理モジュール２１ｃがハーフトーン処理を行う。当該ハーフトーン処理においては上述のように階調レベル分布に応じて動的に各画素２桁における”０”あるいは”１”の組み合わせを変更するため、まずステップＳ１３０にて上記ＣＭＹＫデータの階調値度数を計算し階調値度数データとして取得する。図３の左上のグラフはある画像データにおけるシアン階調値ｉに対する度数Ｃｉの例を示している。
【００５０】
階調値度数は同図に示すように各色毎に取得され、当該度数を取得することによって各画像データにおける階調値の分布傾向を各色毎に把握することができ、これによって各画像毎の階調値分布傾向に対応して動的に”０”あるいは”１”の組み合わせを変更することが可能になる。さらに、ステップＳ１４０では上記ＨＤＤ１５に記録された階調レベル発生率データ１５ｃを取得する。図３の左下のグラフは、ＣＭＹＫデータの階調値を一定にして上記ディザ法による変換処理を行った場合に、当該単位面積当たりに記録されるドットの割合を％で示した図である。
【００５１】
この例では、各階調値ｉに対する小ドットの記録率Ｓｉは階調値ｉが”０”から増加するに連れて記録率Ｓｉが一旦増加し、階調値１２８に達する前に再び減少する。中ドットの記録率Ｍｉも小ドットの記録率Ｓｉと類似の形状をしているが、階調値域および記録率の値域が異なる。大ドットの記録率Ｌｉは小ドットの記録率Ｓｉが”０”になる階調値付近から階調値の増加とともに単調増加する。また、各階調値について小中大ドットの記録率の和が１００％に達しない場合の残りの部分にはドットが記録されない。
【００５２】
階調レベル発生率データ１５ｃは、各階調値毎に小中大ドットのそれぞれについての記録率Ｓｉ，Ｍｉ，Ｌｉを示すデータであり、これにより各ＣＭＹＫデータの階調値に対する変換処理によって変換後の各階調レベル（ドット無し，小ドット，中ドット，大ドット）の発生率を特定することができる。むろん、上記図３に示す階調レベル発生率データは一例であり、他にも種々の発生率になり得る。例えば、同じプリンタ４０においても高速印刷モードや高品質印刷モード等種々のモードが存在し、モード毎に記録率が変わる場合もある。また、印刷媒体の種類によって記録率が変わる場合もある。いずれにしても、各条件に応じた記録率を示すデータを予め記録しておくことによって変換後の階調レベルの発生率を取得することが可能になる。
【００５３】
本実施形態では以上の階調値度数データと階調レベル発生率データとを階調値毎に乗じるとともに積算して各階調レベルの分布を取得し、ステップＳ１５０において当該階調レベル分布を参照し、最も多く分布する階調レベルについて上記単位画素につき全２桁が同値の”００”を割り当てつつ疑似中間調データを生成する。図３の右側には階調レベル分布を算出する際の具体的な算出式を示している。
【００５４】
すなわち、小ドットの階調レベル分布はシアンの度数Ｃｉと記録率Ｓｉを乗じて全階調値に渡って積算することによって算出され、中ドットの階調レベル分布はシアンの度数Ｃｉと記録率Ｍｉを乗じて全階調値に渡って積算することによって算出され、大ドットの階調レベル分布はシアンの度数Ｃｉと記録率Ｌｉを乗じて全階調値に渡って積算することによって算出される。
【００５５】
ドット記録無しの状態は小中大ドットのいずれも記録されない状態であるので、その階調レベル分布はシアンの度数Ｃｉと（１００−Ｓｉ＋Ｍｉ＋Ｌｉ）とを乗じて全階調値に渡って積算することによって算出される。このようにして算出した各階調レベル分布の値を相互に比較すれば各階調レベルのうち最も多く分布する階調レベルを取得することができ当該階調レベルに”００”を割り当てつつ疑似中間調データを生成することができる。この処理は、むろんシアン以外にＭＹＫの各色についてもそれぞれ実施され、各色について、最も多く分布する階調レベルに”００”を割り当てつつ疑似中間調データを生成することができる。
【００５６】
（２−２）疑似中間調データの生成：
以上のようにして、最も多く分布する階調レベルを取得し、その階調レベルを”００”と表現することとした後、残りの３階調レベルについては”０１””１０””１１”のうちいずれかを割り当てる。これにより全４階調レベルについて”００””０１””１０””１１”のいずれかを対応づけることができるので、本実施形態においては疑似中間調データのヘッダにこれらの対応を明記する。図４の下部には本実施形態において生成する疑似中間調データの模式図を示している。同図においては、一主走査分に相当するデータのビット列を示すとともに最も多く分布する階調レベルが小ドットの階調レベルである場合について示しており、小ドットの階調レベルにハッチを付して示している。
【００５７】
同図下部に示すヘッダの所定位置Ａの８ビットでこの対応関係を示しており、本実施形態では当該位置Ａの先頭から順にドット記録無し、小中大ドットの階調レベルのビット内容を示すことが予め決められている。例えば、同図に示すように位置Ａの先頭から順に”１０００１１０１”である時には、先頭２ビットの”１０”によってドット記録無しを”１０”で表現していることが明示される。同様に次の２ビットの”００”で小ドット，次の２ビットの”１１”で中ドット、次の２ビットの”０１”で大ドットを表現していることが明示される。むろん、ここでは階調レベルとそのレベルを示す”０”あるいは”１”の組み合わせについて対応関係を明示することができれば良く、他にも種々のフォーマットを採用可能である。
【００５８】
一方、上記ハッチを付した小ドットの階調レベルは同図に示すデータの中で多数存在し、連続している確率が高い。小ドットの階調レベルが連続していると、拡大図Ｂに示すように多くの”００”が連続していることになる。本実施形態においては、この疑似中間調データをランレングス圧縮するので、このように多くの”００”が連続したデータは非常に高率で圧縮されることになる。高率での圧縮は従来の疑似中間調データと比較するとより明確になる。
【００５９】
図４上部には同図下部と同じＣＭＹＫデータを元にして従来の手法によって生成した疑似中間調データを模式的に示している。すなわち、上部に示すデータと下部に示すデータにおいて階調レベルの分布は同一であるが、上部に示すデータにおいては階調レベルの分布に応じて動的に”０”あるいは”１”を割り当てることはせず、特定の階調レベルを常に特定のビット列で表現している。同図における例においては、ドット記録無しを”００”、小中大ドットをそれぞれ”０１””１０””１１”で表現することが常に決められている。
【００６０】
同じＣＭＹＫデータを元にして疑似中間調データを生成している以上、上部に示す従来のデータにおいても小ドットの階調レベルが多数存在する。しかし、小ドットの階調レベルは”０１”で表現され、当該”０１”が連続することから、この部位はランレングス圧縮によって圧縮されない。従って、データ中の多くのビット列については圧縮されず、より少ない部位について圧縮が行われることになり、下部に示す本発明にかかるデータの方が高率で圧縮されることがわかる。
【００６１】
以上のようにしてステップＳ１５０にて最も多く分布する階調レベルに”００”を割り当てつつ疑似中間調データを生成すると、ステップＳ１５５において上記印刷データ生成モジュール２１ｄが当該疑似中間調データをランレングス圧縮し、ステップＳ１６０にて画像の解像度などの所定の情報を付加して印刷データを生成し、ステップＳ１７０にて当該印刷データを出力する。プリンタ４０では無線Ｉ／Ｏを介して当該印刷データを取得し、ランレングス展開後、上記ヘッダを参照しながら各ドットのビット列と当該ビット列が示す階調レベルとの対応をつけながらノズルデータ変換を行う。そして、このノズルデータに基づいて印刷を実行する。以上のように、本発明においては非常に高率で疑似中間調データを圧縮することができるので、本実施形態のようにコンピュータ１０からプリンタ４０にデータを転送して印刷を実行する態様等において当該圧縮したデータを転送することにより印刷処理全体を非常に高速に実施することが可能になる。
【００６２】
（３）他の実施形態：
上記実施形態においては、階調レベル分布を取得する際に階調レベル発生率データ１５ｃと階調値度数データを利用していたが、これらを利用する構成にすることが必須というわけではない。すなわち、画像データを変換する際の階調レベルの分布傾向を把握することができれば良く、他にも種々の態様を採用可能である。図６は、一旦従来通りのハーフトーン処理、すなわち階調レベルの分布に応じて動的に”０”あるいは”１”を割り当てることはせず特定の階調レベルを常に特定のビット列で表現しつつ疑似中間調データを生成する処理を実行し、当該疑似中間調データに対して補正を行う態様でのコンピュータ１０の機能ブロック図を示している。
【００６３】
かかる実施形態においては、上記第１実施形態とほぼ同様の構成によって実現されるが、ハーフトーン処理モジュール２１０ｃにおいてビット列の割当を補正するのではなく、印刷データ生成モジュール２１０ｄにて当該補正を行う。他の構成は上記第１実施形態と同様である。すなわち、ハーフトーン処理モジュール２１０ｃにおいては、階調レベルの分布傾向によらず常に特定の階調レベルについて特定の”０”あるいは”１”の組み合わせで表現しつつ疑似中間調データを生成する。この結果、上記図４の上部に示すようなデータが生成される。
【００６４】
印刷データ生成モジュール２１０ｄは、階調レベル分布取得部２１０ｄ１と割当変更部２１０ｄ２とランレングス圧縮部２１０ｄ３とを備えており、階調レベル分布取得部２１０ｄ１は、上記ハーフトーン処理モジュール２１０ｃが生成した疑似中間調データを取得し、各階調レベルの分布を取得するとともにその中で最も多く分布している階調レベルを抽出する。上記図４上部に示すデータにおいては、”０１”で表現された小ドットの分布が最も多いと判別する。
【００６５】
割当変更部２１０ｄ２は、階調レベル分布取得部２１０ｄ１によって最も分布が多いと判別された階調レベルのビット列と他の階調レベルのビット列を互いに変更するとともに疑似中間調データのヘッダに対して各階調レベルとそのビット列との対応関係を明示するデータを付加する。上記図４上部に示すデータにおいては、小ドットの階調レベルが”００”に補正され、ドット記録無しに相当する階調レベルが”０１”に補正される。
【００６６】
この結果、画像データ内に多く分布し、かつ連続している確率が最も高い階調レベルを全２桁同値のビット列で表現した疑似中間調データを生成することができる。ランレングス圧縮部２１０ｄ３はこの疑似中間調データをランレングス圧縮する。ランレングス圧縮されたデータには上述の第１実施形態と同様に所定のデータが付加されて印刷データとされ、無線Ｉ／Ｏ１９ｂを介してプリンタ４０に転送される。かかる構成においても、各画像データから生成した疑似中間調データを非常に高率で圧縮することができる。
【００６７】
上記実施形態においては、コンピュータとプリンタとを接続し、コンピュータによって画像処理を行った画像について印刷を実行する態様に対して本発明を適用していたが、むろん本発明の適用対象はかかる態様に限られず、他にも種々の態様に対して適用することができる。図７はインターネットを利用して画像印刷サービスを提供するに際して、本発明にかかる圧縮を行った印刷データを転送するシステムを説明する説明図である。
【００６８】
当該画像印刷サービスにおいては画像の印刷依頼およびその画像データを複数の受付店１００で受け取り、当該画像データに基づく印刷画像データを印刷センター１１０に転送し、当該印刷センター１１０で集中的に画像の印刷を実行する。各受付店１００では印刷を依頼された画像の画像データを変換した後の各画素において最も多く分布する階調レベルを全桁同値のビット列で表現して疑似中間調データとする。そして、当該疑似中間調データをランレングス圧縮することによって高率でデータを圧縮し、当該圧縮後のデータによって印刷データを生成する。
【００６９】
各受付店１００と印刷センター１１０とはインターネット網を介して互いに接続されており、各受付店１００では当該インターネット網を介して上記生成した印刷データを印刷センター１１０に転送する。印刷センター１１０では転送された印刷データを展開して印刷を行う。印刷センター１１０では複数の受付店１００からの印刷を受け付けて印刷を実行するので、並列的に多数の画像について高速に印刷を実行可能なプリンタを備えると好ましい。
【００７０】
近年非常に高性能なコンピュータを安価に入手することが可能であり、このコンピュータによって高度な画像処理を比較的容易に行うことができる。また、写真画像を印刷することを考えると印刷依頼者の好みに応じた画像処理をする必要があるなど、一箇所に画像データを集約して処理を行うより、各受付店において個別的に画像処理を実行する方が好ましい。一方、高速かつ高品質での印刷を実行可能なプリンタは上記コンピュータと比較して高価であるし印刷媒体やインク等のメンテナンスを行う必要上、各地に存在する複数の受付店１００にプリンタを設置するより印刷センターに設置する方が、設備投資が少ないしメンテナンスも楽である。
【００７１】
従って、本例のように画像処理を分散処理によって実施し、印刷は一箇所で行うシステムを構成するのが好ましいが、複数の受付店１００から印刷センターに対して印刷データを大量に転送すると転送時間が全体の処理時間に対して大きな割合を占めることになる。また、インターネット網でのデータ転送においては上記印刷データ以外に他者が利用しているときのデータによって転送速度が変動する。従って、図７に示すシステムをスムーズに運用するためには高速データ転送を担保することが必要になる。本発明においては、上述のように高率の圧縮によって非常に高速にデータを転送することが可能であり、本システムに対して本発明を適用することによってシステムをスムーズに運用することが可能になる。
【００７２】
さらに、上述の実施形態においては、ハーフトーン処理モジュール２１ｃにおいてディザ法によって変換処理を行っていたが、むろん他のアルゴリズム、例えば誤差拡散処理や濃度パターン法等によって変換処理を行う態様に対して本発明を適用することができる。いずれのアルゴリズムであっても変換後に生成される階調レベルの分布を把握できるように構成し、最も多く分布する階調レベルを全桁同値のビット列で表現すれば高率でランレングス圧縮可能な疑似中間調データを生成することができる。
【００７３】
また、ハーフトーン処理後に生成される階調レベルはむろん上述のように４階調に限定されない。すなわち、２桁以上のビット列で各画素の階調レベルを表現する構成では、各階調レベルに対応させるビット列において”０”あるいは”１”の組み合わせに任意性が生じ、最も多く分布する階調レベルを全桁同値のビット列で表現することによって高率でランレングス圧縮可能な疑似中間調データを生成することができる。
【００７４】
プリンタにおいて各画素について階調レベルを変動させる手法としても上述のようなインク滴の重量を変動させる手法に限定されることはない。例えば、シアンとライトシアン等のように同系統色について濃淡の異なる複数のインクを吐出可能に構成したプリンタにおいて、各画素の階調レベルを濃インク滴を記録する状態、淡インク滴を記録する状態、インク滴を記録しない状態のように３段階で表現する場合に対して本発明を適用することも可能である。さらに、上記実施形態においては、ＲＧＢデータをページ単位で取得し、ＣＭＹＫデータについて変換したときの階調レベル分布をページ単位で算出していたが、むろん、所定容量のデータを単位にして当該単位毎に階調レベル分布を取得しても良い。
【００７５】
本発明において取得する階調レベル分布は必ずしも厳密な分布が必要となるわけではない。すなわち、画像データを変換した後の階調レベル分布の傾向を把握することができれば、当該階調レベルの分布傾向に従って各階調レベルとその階調レベルを表現するビット列との対応関係を動的に変更することができる。階調レベル分布を取得する他の構成例として、縮小画像の画像データについて変換を行ったときの階調レベル分布を取得する構成を採用しても良い。
【００７６】
すなわち、原画像の縮小画像は少ないデータ容量で原画像の概略を把握するため等の目的で使用され、縮小画像であっても原画像の階調の傾向を維持しているからこそ縮小画像のみで原画像のイメージ等その絵の概略を把握することができる。従って、縮小画像の階調分布も原画像の階調分布と同傾向にあるので、このデータについて変換を行ったときに生成される階調レベルの分布を把握することで原画像の階調レベル分布を取得していると見なすことができる。
【００７７】
縮小画像としては、いわゆるサムネイルを利用したり、原画像データから所定割合で画素データを間引いて生成した画像を利用したりするなど、種々の構成を採用可能である。例えば、画像データにサムネイルデータが付加されているものについては当該サムネイルデータを取得するとともに、当該サムネイルデータについてＲＧＢの各色をＣＭＹＫの各色に変換し、当該変換後のデータについて階調レベル分布を把握する構成を採用可能である。また、原画像データについて横方向および縦方向に所定の画素単位で画像データを抽出し、あるいは所定の画素単位で画像データを間引き、抽出されたデータについてＲＧＢの各色をＣＭＹＫの各色に変換し、当該変換後のデータについて階調レベル分布を把握する構成を採用可能である。
【００７８】
さらに、いわゆるＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）形式のファイルにおいてはそのＤＣ成分を利用して縮小画像を生成することも可能である。具体的には、ＪＰＥＧファイルにおいては、画像データをＤＣＴ変換し、変換後のデータについて高周波成分の情報量が相対的に少なくなるように量子化し、量子化後のデータについてＤＣ成分とＡＣ成分とに分けてハフマン符号化等を行ってデータ容量を圧縮している。ここで、ＤＣ成分については隣接ブロックのＤＣ成分との差分値データに変換した後にハフマン符号化している。
【００７９】
ＤＣ成分は画像の基礎をなす最も重要な成分であり、当該ＤＣ成分のみで画像を構成しても画像の階調傾向を把握することが可能である。そこで、ＤＣ成分を抽出して縮小画像としても良い。具体的には、ＪＰＥＧ形式のファイルのヘッダからハフマン符号表を読み取り、当該ハフマン符号表に基づいてＤＣ成分の差分値を取得する。ＪＰＥＧ形式では画像を縦横８画素のブロックに分割して上記ＤＣＴ変換を行うので、上記ＤＣ成分の差分値から元のＤＣ成分値自体を復元すれば、原画像の１／８の大きさの画像についてのＤＣ成分を取得することができる。
【００８０】
このＤＣ成分から構成される画像を縮小画像と考えてそのＣＭＹＫデータを変換した階調レベルを把握すれば、原画像の階調レベル分布の傾向を把握することができる。尚、ＪＰＥＧ形式においては各画素の色がＲＧＢ，ＹＣｂＣｒ等種々の表色形で表現可能であるが、特定の式によって変換する構成等によってＣＭＹＫデータを取得することができる。以上のように、種々の手法によって階調レベル分布を把握して本発明に適用することが可能である。尚、上記実施形態においては圧縮手法としてランレングス圧縮を採用した場合の構成を説明したが、むろんハフマン圧縮を採用することも可能である。
【図面の簡単な説明】
【図１】画像処理装置を構成するシステムの概略ハードウェア構成を示す図である。
【図２】画像処理系の概略構成図を示す図である。
【図３】階調レベル分布を算出する様子を示す説明図である。
【図４】疑似中間調データを説明する説明図である。
【図５】印刷制御処理のフローチャートである。
【図６】画像処理系の概略構成図を示す図である。
【図７】画像印刷サービスを提供するシステムの説明図である。
【符号の説明】
１０…コンピュータ
１１…ＣＰＵ
１２…システムバス
１３…ＲＯＭ
１４…ＲＡＭ
１５…ハードディスクドライブ（ＨＤＤ）
１５ａ…ＲＧＢデータ
１５ｂ…ＬＵＴ
１５ｃ…階調レベル発生率データ
１６…フレキシブルディスクドライブ
１７…ＣＤ−ＲＯＭドライブ
１８…ディスプレイ
２０…ＯＳ
２１…プリンタドライバ（ＰＲＴＤＲＶ）
２１ａ…ＲＧＢデータ取得モジュール
２１ｂ…色変換モジュール
２１ｃ…ハーフトーン処理モジュール
２１ｃ１…階調レベル分布取得部
２１ｃ２…階調値度数取得部
２１ｄ…印刷データ生成モジュール
２１ｄ１…ランレングス圧縮部
２２…入力機器ドライバ（ＤＲＶ）
２３…ディスプレイドライバ（ＤＲＶ）
２５…アプリケーションプログラム（ＡＰＬ）
３１…キーボード
３２…マウス
４０…プリンタ
４１…印刷データ処理モジュール
【図１】
2004112314.tif 000003
【図２】
2004112314.tif 000004
【図３】
2004112314.tif 000005
【図４】
2004112314.tif 000006
【図５】
2004112314.tif 000007
【図６】
2004112314.tif 000008
【図７】
2004112314.tif 000009