(57)【要約】【課題】  画素数の大きな画像を迅速に表示可能な技術を提供する。【解決手段】  画素を所定の複数個ずつ画素群にまとめ、画素群内に形成するドット個数のデータを画像表示装置に供給することで画像を迅速に表示させる。ドット個数は、複数個の閾値からなる閾値列の中で、画素群の階調値より小さな閾値の個数に基づいて決定する。この時、画素群の階調値と最も大きな閾値との比率に基づいて、閾値列の中から第１の閾値を選択し、該階調値と第１の閾値との比較に基づいて第２の閾値を選択する。これら第１の閾値および第２の閾値を含む複数の閾値と比較してやれば、閾値列の中で画素群の階調値よりも小さな閾値の個数を速やかに決定することができる。また、画素群がエッジ後の画素群でない場合は、直前の画素群のドット個数に基づいて第１の閾値を選択しても良い。【選択図】  図１
2005102068.tif 000002
【特許請求の範囲】
【請求項１】
画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力されたドット個数のデータを受け取る個数データ受取手段と、
前記受け取った個数データに基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記ドット個数決定手段は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段である画像表示システム。
【請求項２】
画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力されたドット個数のデータを受け取る個数データ受取手段と、
前記受け取った個数データに基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記ドット個数決定手段は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段である画像表示システム。
【請求項３】
請求項１または請求項２記載の画像表示システムであって、
前記閾値列記憶手段は、前記閾値列を構成する複数の閾値を、該閾値列内での大きさの序列を示す情報とともに記憶している手段であり、
前記ドット個数決定手段は、前記大きさの状列を示す情報を参照しながら、前記第１の閾値および前記第２の閾値を選択して、前記ドットの個数を決定する手段である画像表示システム。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像表示システムであって、
前記画像処理装置は、前記画像データを構成する各画素から、該画素と同じ画像データを有する複数の画素を該各々の画素について生成することにより、該画像データの画素数を増加させる画素数増加手段を備えており、
前記画素群形成手段は、前記画素数の増加した画像データの中で、同じ画素から生成された複数の画素をまとめることにより、前記画素群を形成する手段である画像表示システム。
【請求項５】
表示媒体上のドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記制御データとして前記画像表示装置に出力する制御データ出力手段と
を備え、
前記ドット個数決定手段は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段である画像処理装置。
【請求項６】
表示媒体上のドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記制御データとして前記画像表示装置に出力する制御データ出力手段と
を備え、
前記ドット個数決定手段は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段である画像処理装置。
【請求項７】
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する画像表示方法であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する第１の工程と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく第２の工程と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する第３の工程と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する第４の工程と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する第５の工程と
を備えており、
前記第３の工程は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する工程である画像表示方法。
【請求項８】
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する画像表示方法であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する工程（Ａ）と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく工程（Ｂ）と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する工程（Ｃ）と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する工程（Ｄ）と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する工程（Ｅ）と
を備えており、
前記工程（Ｃ）は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する工程である画像表示方法。
【請求項９】
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する第１の機能と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく第２の機能と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する第３の機能と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する第４の機能と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する第５の機能と
をコンピュータを用いて実現するとともに、
前記第３の機能は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であるプログラム。
【請求項１０】
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する機能（Ａ）と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく機能（Ｂ）と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する機能（Ｃ）と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する機能（Ｄ）と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する機能（Ｅ）と
をコンピュータを用いて実現するとともに、
前記機能（Ｃ）は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに所定の画像処理を施して画像を表示する技術に関し、詳しくは、画像処理が施された画像データを画像表示装置に迅速に転送することによって、画像を迅速に表示可能とする技術に関する。
【背景技術】
【０００２】
印刷用紙や液晶表示画面などの表示媒体上にドットを形成して画像を表示する画像表示装置は、各種画像機器の出力装置として広く使用されている。これら画像表示装置では、微視的に見ればドットを形成するか否かのいずれかの状態しか表現し得ないが、表現しようとする画像の画像データに合わせてドットの形成密度を適切に制御することにより、多階調の画像を表現することが可能となっている。
【０００３】
これら画像表示装置では、ドットの形成密度を適切な密度とするために、通常は次のような手順を経て画像を表示している。先ず、表示しようとする画像を細かな画素に分割する。次いで、画像に所定の画像処理を施すことによって、画素毎にドットを形成するか否かを判断する。いわゆる誤差拡散法やディザ法と呼ばれる処理手法を適用すれば、画像データに合わせてドットが適切な密度で形成されるように、それぞれの画素についてのドット形成の有無を判断することができる。こうして得られた画素毎にドット形成の有無を表すデータを、画像表示装置に供給する。画像表示装置では、受け取ったデータに従って各画素にドットを形成する。こうしてドットを形成すれば、ドットの密度が適切な密度に制御されて、画像を表示することができる。
【０００４】
近年では、こうした画像表示装置にも、表示画像の高画質化や大画像化に対する要請が強くなってきており、これら要請に応えるべく、画像を構成する画素数が増加する傾向にある（例えば、特許文献１など）。上述したように画像表示装置は、画素毎にドット形成の有無を示すデータを受け取って画像を表示しているから、画素数が多くなれば、データを受け取るために時間がかかってしまい、画像を迅速に表示することが困難となる。
【０００５】
こうした問題を解決するために、本願の発明者は、複数個の画素を画素群としてまとめて、画素群内に形成するドットの個数を求め、求めたドットの個数のデータを画像表示装置に供給して画像を表示する技術を開発し、既に出願済みである（特願２００３−８７１７６号）。ドットの個数であれば、各画素についてドット形成の有無を表すデータよりも少ないデータ量で表現することができることから、出願済みの技術を用いれば、例え画素数の多い画像でも画像表示装置に迅速にデータを供給することができ、延いては画像を迅速に表示することが可能である。
【０００６】
【特許文献１】特開２０００−１１５７１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、画像を構成する画素数は、更なる高画質化や大画像化の要請に対応するべく益々増加する傾向にあり、上述した出願済みの技術を用いても、画像を迅速に表示することが困難になる事態も想定される。こうした事態に対処するために、画像をなお一層迅速に表示可能とする技術の開発が要請されている。
【０００８】
この発明は従来技術における上述した課題を解決するためになされたものであり、画素群に形成すべきドットの個数を決定する処理を更に迅速に行うことにより、画像をより一層迅速に表示可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
上述した課題の少なくとも一部を解決するために、本発明の第１の画像表示システムは次の構成を採用した。すなわち、
画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力されたドット個数のデータを受け取る個数データ受取手段と、
前記受け取った個数データに基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記ドット個数決定手段は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段であることを要旨とする。
【００１０】
また、上述した画像表示システムに対応する本発明の第１の画像表示方法は、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する画像表示方法であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する第１の工程と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく第２の工程と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する第３の工程と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する第４の工程と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する第５の工程と
を備えており、
前記第３の工程は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する工程であることを要旨とする。
【００１１】
かかる本発明の第１の画像表示システム、および第１の画像表示方法においては、画像データに所定の画像処理を施すことによって、画素群内に形成すべきドットの個数を決定し、得られたドット個数を画像表示装置に出力する。画素群に形成すべきドット個数のデータは、画素毎にドット形成の有無を表すデータよりも遙かに少ないデータ量で表現することができる。このため、こうしてドット個数のデータを画像表示装置に出力してやれば、画素数の多い画像を表示する場合でもデータを速やかに供給することができ、延いては画像を迅速に表示することが可能である。
【００１２】
ここで、画素群毎に形成すべきドット個数を決定するために時間がかかっていたのでは、ドット個数のデータを出力することによって得られる効果が減殺されてしまうので、上記の第１の画像表示システムおよび第１の画像表示方法においては、次のようにしてドット個数を決定する。先ず、画素群を構成する画素数と同じ個数の閾値からなる閾値列を、予め複数記憶しておく。そして、これら閾値列の中から画素群毎に１の閾値列を選択し、閾値列の中から第１の閾値と第２の閾値とを選択する。第１の閾値は、画素群の階調値と、複数の閾値列の中で最も大きな閾値との比率に基づいて、それぞれの閾値列の中から選択する。第２の閾値は、閾値列中で第１の閾値に隣接する大きさの閾値の中から、該第１の閾値と画素群の階調値との大小関係に基づいて選択する。詳細な理由は後述するが、このようにして選択した第１の閾値および、該第１の閾値と画素群の階調値との大小関係に基づいて選択した第２の閾値を少なくとも含む複数の閾値と、画素群の階調値とを比較すれば、該階調値よりも小さな閾値の個数を決定するために、不要な閾値と比較することが少なくなるので、それだけドット個数を速やかに決定することが可能となる。
【００１３】
また、上述した従来技術の有する課題の少なくとも一部を解決するために、本発明の第２の画像表示システムは次の構成を採用した。すなわち、
画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力されたドット個数のデータを受け取る個数データ受取手段と、
前記受け取った個数データに基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記ドット個数決定手段は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段であることを要旨とする。
【００１４】
また、上記の画像表示システムに対応する本発明の第２の画像表示方法は、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する画像表示方法であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する工程（Ａ）と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく工程（Ｂ）と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する工程（Ｃ）と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する工程（Ｄ）と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する工程（Ｅ）と
を備えており、
前記工程（Ｃ）は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する工程であることを要旨とする。
【００１５】
かかる本発明の第２の画像表示システム、および第２の画像表示方法においても、画素群内に形成すべきドットの個数を決定し、得られたドット個数を画像表示装置に出力する。こうすれば、画像表示装置に供給すべきデータ量が少なくなるので、画像を迅速に表示することが可能である。加えて、ドット個数を供給することにより得られるこうした効果が減殺されることを回避するため、上述した第２の画像表示システムおよび第２の画像表示方法では、次のようにして画素群毎のドット個数を決定している。すなわち、ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下であることを確認する。また、直前画素群内の各画素間で画像データの階調差が所定値以下であることを確認する。ここで、これら２つの条件を確認する順番は、逆になっても構わない。そして、これらの条件がいずれも満足されている場合には、対象画素群について選択された閾値列の中から、直前画素群のドット個数に基づいて第１の閾値を選択する。更に、閾値列中で第１の閾値に隣接する大きさの閾値の中から、該第１の閾値と画素群の階調値との大小関係に基づいて第２の閾値を選択する。詳細な理由は後述するが、このようにして選択した第１の閾値および第２の閾値を少なくとも含む複数の閾値と、画素群の階調値とを比較してやることによっても、該階調値よりも小さな閾値の個数を決定するために、不要な閾値と比較することを少なくすることができる。そのため、ドット個数を速やかに決定することが可能となる。
【００１６】
上述した第１の画像表示システムおよび第２の画像表示システムにおいては、閾値列を構成する複数の閾値を、該閾値列内での大きさの序列を示す情報とともに記憶しておくこととしてもよい。例えば、大きさの序列を表す番号とともに各閾値を記憶しておいても良いし、あるいは簡便に、各閾値を大きさの順番に並べた状態で記憶しておいても良い。
【００１７】
このように閾値列内での大きさの序列を示す情報とともに閾値を記憶しておけば、第１の閾値および第２の閾値を含む複数の閾値を容易に選択することができ、その分だけ、ドット個数を決定する処理を迅速化することが可能となるので好ましい。
【００１８】
あるいは、上述した第１の画像表示システムおよび第２の画像表示システムにおいては、次のようにしても画素群を形成しても良い。先ず、画像データを構成する各画素から、該画素と同じ画像データを有する複数の画素を生成することで、画像データの画素数を増加させる。そして、同じ画素から生成された複数の画素をまとめることによって、前記画素群を形成してもよい。
【００１９】
このようにして画素群を形成すれば、画素群内の画素は同じ画像データを有することになる。画素群を構成する各画素が同じ画像データを有していれば、画像表示装置に供給するデータが画素群内に形成すべきドット個数のデータだけであっても、画像表示装置は受け取ったデータから、画素毎にドット形成の有無を示すデータを受け取った場合と同じデータを復元することができる。従って、画素数の多い画像であっても、データを迅速に受け渡しながらも、画質を悪化させることなく、速やかに画像を表示することが可能となるので好適である。
【００２０】
また、上述した従来技術の有する課題の少なくとも一部を解決するために、本発明の第１の画像処理装置は次の構成を採用した。すなわち、
表示媒体上のドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記制御データとして前記画像表示装置に出力する制御データ出力手段と
を備え、
前記ドット個数決定手段は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段であることを要旨とする。
【００２１】
また、上述した従来技術の有する課題の少なくとも一部を解決するために、本発明の第２の画像処理装置は次の構成を採用した。すなわち、
表示媒体上のドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する画素群形成手段と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶している閾値列記憶手段と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定するドット個数決定手段と、
前記画素群毎に決定したドット個数のデータを、前記制御データとして前記画像表示装置に出力する制御データ出力手段と
を備え、
前記ドット個数決定手段は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する手段であることを要旨とする。
【００２２】
こうした第１の画像処理装置および第２の画像処理装置においても、少なくとも第１の閾値および第２の閾値を含む複数の閾値を、画素群の階調値と比較してやれば、閾値列の中で該階調値よりも小さな閾値の個数を決定するために、不要な閾値と比較することを少なくすることができるので、ドット個数を速やかに決定することができる。従って、こうした画像処理装置を用いれば、画像表示装置に対して制御データを速やかに供給して、画像を迅速に表示させることが可能となるので好適である。
【００２３】
更に本発明は、上述した画像表示方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した第１の画像表示方法に対応する本発明の第１のプログラムは、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する第１の機能と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく第２の機能と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する第３の機能と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する第４の機能と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する第５の機能と
をコンピュータを用いて実現するとともに、
前記第３の機能は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であることを要旨とする。
【００２４】
かかる第１のプログラムに対応する本発明の第１の記録媒体は、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する第１の機能と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく第２の機能と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する第３の機能と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する第４の機能と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する第５の機能と
をコンピュータを用いて実現するプログラムを記録しているとともに、
前記第３の機能は、
前記画素群の階調値と、前記記憶されている複数組の閾値列の中で最も大きな閾値との比率に基づいて、該画素群毎に選択された閾値列の中から第１の閾値を選択し、
前記画素群の階調値と前記第１の閾値と大小関係に基づいて、前記閾値列の中で該第１の閾値に隣接する大きさを有する閾値の中から第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であることを要旨とする。
【００２５】
また、上述した第２の画像表示方法に対応する本発明の第２のプログラムは、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する機能（Ａ）と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく機能（Ｂ）と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する機能（Ｃ）と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する機能（Ｄ）と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する機能（Ｅ）と
をコンピュータを用いて実現するとともに、
前記機能（Ｃ）は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であることを要旨とする。
【００２６】
かかる第２のプログラムに対応する本発明の第２の記録媒体は、
画像データに所定の画像処理を施した後、該画像処理の結果に基づいて表示媒体上にドットを形成することにより画像を表示する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめて画素群を形成するとともに、該複数個の各画素についての画像データに基づいて、該画素群の階調値を決定する機能（Ａ）と、
前記画素群内の画素数に相当する複数個の閾値によって構成された閾値列を、複数組記憶しておく機能（Ｂ）と、
前記記憶している複数の閾値列の中から前記画素群毎に１の閾値列を選択し、該選択した閾値列の中で該画素群の階調値よりも小さな閾値の個数に基づいて、該画素群内に形成すべきドットの個数を決定する機能（Ｃ）と、
前記画素群毎に決定されたドットの個数に基づいて、該画素群内でドットが形成される画素位置を該画素群毎に決定する機能（Ｄ）と、
前記決定した画素位置に従って、前記表示媒体上にドットを形成する機能（Ｅ）と
をコンピュータを用いて実現するプログラムを記録しているとともに、
前記機能（Ｃ）は、
前記ドット個数を決定しようとする画素群たる対象画素群の階調値と、該対象画素群の直前にドット個数を決定した画素群たる直前画素群の階調値との偏差が所定値以下で、且つ、該直前画素群内の各画素間で画像データの階調差が所定値以下である場合には、該対象画素群について選択された閾値列の中から、該直前画素群のドット個数に基づいて第１の閾値を選択し、
前記対象画素群の閾値列の中で前記第１の閾値に隣接する大きさを有する閾値の中から、該対象画素群の階調値と該第１の閾値と大小関係に基づいて第２の閾値を選択し、
前記第１の閾値と前記第２の閾値とを少なくとも含んだ複数の閾値を、前記対象画素群の階調値と比較することによって、該画素群に形成すべきドットの個数を決定する機能であることを要旨とする。
【００２７】
これらのプログラムをコンピュータに読み込んで、各種の機能を実現させれば、画素群毎に形成するドット個数を迅速に決定することができ、延いては、画素数の多い画像であっても迅速に表示することが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例に基づき説明する。
Ａ．実施例の概要：
Ｂ．装置構成：
Ｃ．画像印刷処理の概要：
Ｄ．第１実施例：
Ｄ−１．個数データ生成処理：
Ｄ−２．画素位置決定処理：
Ｅ．第２実施例：
【００２９】
Ａ．実施例の概要：
実施例の詳細な説明に入る前に、図１を参照しながら、実施例の概要について説明しておく。図１は、印刷システムを例にとって、本発明の画像表示システムに関する実施例の概要を示した説明図である。図示した印刷システムは、画像処理装置としてのコンピュータ１０と、画像表示装置としてのプリンタ２０などから構成されており、コンピュータ１０に所定のプログラムがロードされて実行されることにより、これらコンピュータ１０およびプリンタ２０などが全体として一体の印刷システムとして機能する。プリンタ２０は、インク滴を吐出することによって印刷媒体上にドットを形成しながら画像を印刷する。プリンタ２０がドットの形成を制御するために用いるデータは、コンピュータ１０が画像データに所定の画像処理を施すことによって生成され、コンピュータからプリンタ２０に供給される。
【００３０】
このように、画像処理を行うコンピュータ１０と実際に画像の表示を行うプリンタ２０とからなる印刷システムでは、プリンタ２０でドットの形成を制御するために用いられるデータをコンピュータ１０から供給している関係上、画像を構成する画素の数が多くなるとデータの受け渡しに時間がかかってしまい、画像を迅速に印刷することが困難となる。そこで、図１に示す印刷システムでは、ドットの形成を制御するためのデータとして、画素毎にドット形成の有無を示すデータではなく、ドット個数のデータを、コンピュータ１０からプリンタ２０に供給している。すなわち、画像を構成している画素を所定の複数個ずつ画素群としてまとめ、画素群内に形成すべきドットの個数を決定して、画素群毎に決定したドット個数のデータをプリンタ２０に供給する。プリンタ２０では、画素群毎に受け取ったドット個数のデータに基づいて、画素群内でドットを形成する画素位置を決定し、決定した画素位置にドットを形成することによって画像を印刷する。このように、プリンタ２０がドットを形成するために用いるデータを、ドットを形成する画素位置ではなくドット個数のデータに変換してやれば、データ量を大きく低減することができるので、データを迅速にプリンタ２０に供給することができ、延いては画像を迅速に表示することが可能となる。
【００３１】
ここで、画像の表示をより一層迅速に行うため、図１に示したコンピュータ１０には、画素群形成モジュール１２、閾値列記憶モジュール１４、ドット個数決定モジュール１６などが設けられている。画素群形成モジュール１２は、画像データを受け取ると、画素を所定の複数個ずつまとめて画素群を形成し、画素群の階調値を決定する。図１中の一点鎖線で囲った部分には、画素群形成モジュール１２が画素を４つずつまとめて、画素群を形成している様子が概念的に示されている。尚、図１では画素群は４つの画素で構成されるものとして説明するが、もちろん、画素群を構成する画素数は４つに限られるものではない。画素群の階調値は種々の方法によって決定することができるが、例えば次のようにして決定すればよい。すなわち、画素群を構成する各画素の画像データの平均値を該画素群の階調値としてもよいし、あるいは画素群内から選択した画素の画像データを該画素群の階調値としてもよい。図１では、こうして、ある画素群の階調値が「６０」に決定されて、画素群形成モジュール１２からドット個数決定モジュール１６に供給されている様子が概念的に示されている。
【００３２】
ドット個数決定モジュール１６は、画素群の階調値を受け取ると、閾値列記憶モジュール１４から閾値列を画素群毎に１つずつ選択する。閾値列記憶モジュール１４には、複数の閾値列が記憶されている。また、各閾値列には画素群内の画素数に相当する複数個ずつ（図１に示した例では４つずつ）の閾値が設定されている。ドット個数決定モジュール１６は、選択した閾値列に設定されている複数の閾値と画素群の階調値とを比較し、画素群の階調値より小さな閾値の個数に基づいて、該画素群に形成すべきドットの個数を決定する。図１には、「１５」、「６２」、「１１９」、「２１７」の４つの閾値からなる閾値列が選択されて、画素群の階調値「６０」がこの閾値列と比較されている様子が示されている。
【００３３】
ここで、ドット個数を迅速に決定するために、ドット個数決定モジュール１６は画素群の階調値より小さな閾値の個数を、次のようにして決定する。先ず、閾値列に含まれる複数の閾値の中から、以下のような適切な方法で第１の閾値を選択し、第１の閾値と画素群の階調値とを比較する。次いで、その比較結果に基づいて、他の閾値の中から第２の閾値を選択する。こうして第１の閾値および第２の閾値を少なくとも含んだ複数の閾値と、画素群の階調値とを次々と比較することによって、該階調値より小さな閾値の個数を求める。図１では、４つの閾値列の中から第１の閾値として「６２」を選択し、画素群の階調値「６０」と選択した閾値「６２」とを比較する。そして比較結果に基づいて、該第１の閾値に隣接する閾値の中から小さい方の閾値「１５」を第２の閾値として選択し、画素群の階調値「６０」と第２の閾値「１５」とを比較する。こうして第１の閾値および第２の閾値を含んだ複数の閾値と、画素群の階調値とを次々と比較していけば、該階調値より小さな閾値の個数を速やかに決定することができる。
【００３４】
第１の閾値を選択する方法としては、例えば、全ての閾値列を含めた最も大きな閾値（最大閾値）を予め求めておき、画素群の階調値と最大閾値との比率に基づいて、閾値列に含まれる複数の閾値の中から１の閾値を選択することができる。あるいは、その画素群の階調値と直前の画素群の階調値との偏差が所定値よりも小さい場合には、該直前の画素群について決定したドット個数に基づいて、１の閾値を選択することとしても良い。詳細な理由については後述するが、こうすれば第１の閾値を適切に選択して、画素群の階調値より小さな閾値の個数を速やかに決定することができる。その結果、画素群に形成すべきドットの個数も速やかに決定することができ、延いては画像を迅速に印刷することが可能となる。以下では、こうした本発明の画像表示システムおよび画像表示装置について、実施例に基づき詳細に説明する。
【００３５】
Ｂ．装置構成：
図２は、本実施例の画像処理装置としてのコンピュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続することによって構成されている。コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６などからデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースＰＩＦ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶＩＦ１１２等が接続されている。ＰＩＦ１０８には、ハードディスク１１８や、後述するプリンタ２００等が接続されている。また、デジタルカメラ１２０や、カラースキャナ１２２等をＰＩＦ１０８に接続すれば、デジタルカメラ１２０やカラースキャナ１２２で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【００３６】
図３は、本実施例のプリンタ２００の概略構成を示す説明図である。プリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度あるいは顔料濃度の低いシアン（淡シアン）インクと、染料濃度あるいは顔料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，淡マゼンタインクを、必要に応じて、それぞれＣインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称するものとする。
【００３７】
プリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００３８】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。各色毎のインク吐出用ヘッド２４４ないし２４７は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
【００３９】
制御回路２６０は、ＣＰＵを中心として、ＲＯＭや、ＲＡＭ、周辺機器インターフェースＰＩＦ等に加えて、デジタルデータをアナログ信号に変換するＤ／Ａ変換器等から構成されている。もちろん、ＣＰＵを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路２６０は、キャリッジモータ２３０および紙送りモータ２３５の動作を制御することによって、キャリッジ２４０の主走査動作および副走査動作の制御を行う。また、キャリッジ２４０の主走査および副走査に合わせて、適切なタイミングで印字ヘッド２４１を駆動することによってインク滴を吐出する。こうして制御回路２６０の制御の下で、各色のインク吐出用ヘッド２４４ないし２４７から適切なタイミングでインク滴が吐出され、その結果、印刷用紙Ｐ上にインクドットが形成されて、カラー画像が印刷される。
【００４０】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００４１】
図４は、各色のインク吐出用ヘッド２４４ないし２４７の底面に、インク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する４組のノズル列が形成されており、１組のノズル列には、４８個のノズルＮｚがノズルピッチｐの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路２６０の制御の元で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
【００４２】
以上のようなハードウェア構成を有するプリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、キャリッジ２４０の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙Ｐ上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
【００４３】
Ｃ．画像印刷処理の概要：
図５は、本実施例のコンピュータ１００およびプリンタ２００が、画像データに所定の画像処理を加えて、印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように前半部分はコンピュータ１００に内蔵されたＣＰＵの機能を利用して、また、処理の後半部分はプリンタ２００の制御回路２６０に内蔵されたＣＰＵの機能を利用して実行される。以下では、図５に従って、本実施例の画像印刷処理について説明する。
【００４４】
コンピュータ１００は、画像印刷処理を開始すると、先ず初めに、変換すべき画像データの読み込みを開始する（ステップＳ１００）。ここでは、画像データはＲＧＢカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
【００４５】
カラー画像データの読み込みに続いて、色変換処理を行う（ステップＳ１０２）。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組合せによって表現されているＲＧＢカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ２００はＣ，Ｍ，Ｙ，Ｋの４色のインクを用いて画像を印刷している。そこで、本実施例の色変換処理ではＲＧＢ各色によって表現された画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換する処理を行う。色変換処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することによって行う。ＬＵＴには、ＲＧＢカラー画像データに対して、色変換によって得られるＣ，Ｍ，Ｙ，Ｋ各色の階調値が予め記憶されているので、このＬＵＴを参照しながら変換すれば、迅速に色変換することが可能である。
【００４６】
こうしてＣＭＹＫの各色毎に得られた画像データに対して解像度変換処理を行う（ステップＳ１０４）。解像度変換処理とは、画像データの解像度を、プリンタ２００が印刷を行う解像度（印刷解像度）に変換する処理である。通常、印刷解像度は画像データの解像度よりも高い値に設定されることが多い。これは、次のような理由によるものである。
【００４７】
一般に、印刷画質を向上させるためには、画素の大きさを小さくして、より高い解像度で印刷することが効果的である。しかし、印刷解像度を高くするからと言って、必ずしも、元の画像データの解像度も高くする必要があるわけではない。何故なら、ドットを形成して画像を印刷する場合は、個々の画素ではドットを形成するか否かの２通りしか取り得ず、例えドットの大きさなどを変えたとしても、画素あたりに表現可能な階調数は高々数階調に過ぎない。これに対して、読み込む画像データは、仮に１バイトのデータとしても、画素あたりに２５６階調を表現することができる。このように、画素あたりに表現可能な階調が大きく異なっていることから、読み込む画像データの解像度よりも印刷解像度を高い解像度に設定するだけで、印刷画質を向上させることが可能である。このような理由から、印刷解像度は、画像データよりも高い解像度に設定されることが多いのである。ステップＳ１０４では、印刷画質を改善するために、画像データの解像度をより高解像度の印刷解像度に変換する処理を行う。
【００４８】
尚、より大きな画像を印刷しようとする場合には、解像度を保ったまま画素数を増加させる処理が行われることがある。この様な処理も、１つの画素から同じ画像データを有する複数の画素を生成している点で、上述した解像度変換処理と全く同様である。以下の説明では、画像の解像度を高くする場合について説明するが、解像度を高くする処理を、画素数を増加させる処理と読み替えてやれば、大きな画像を印刷する場合にも以下の説明を同様に適用することが可能である。
【００４９】
図６は、色変換によって得られた画像データの解像度変換を行っている様子を示す説明図である。尚、前述したようにＲＧＢ画像データを色変換することによってＣ，Ｍ，Ｙ，Ｋの各色毎の画像データが得られるが、以降に説明する処理は、これら各色の画像データのいずれに対しても同様に行われる。そこで、説明の煩雑化を避けるために、以下では色を特定せずに説明する。すなわち、色を特定せずに行った説明は、全ての色について同様な説明が成り立つことを意味しているものとする。
【００５０】
図６（ａ）は、色変換後（解像度変換前）の画像データの一部を拡大して模式的に表したものである。図示するように、画像データは、格子状に配列された画素の各々に階調値が割り当てられたデータである。図６（ａ）中に示した複数の矩形は、それぞれが画素を模式的に表しており、矩形の中に表示された数値は、各画素に割り当てられた階調値を表している。こうした画像データの解像度をより高い解像度に変換するためには、画素間で補間演算を行うことによって新たな画素を生成しても良いが、本実施例では最も簡便な手法として、画素をより小さな画素に分割することで解像度変換を行う。
【００５１】
図６（ｂ）は、画素を分割することで解像度を変換している様子を示す説明図である。図示した例では、それぞれの画素を、主走査方向（図上で左右方向）に４分割し、副走査方向（図上で上下方向）に２分割することで、１つの画素を８つの画素に分割している。図６（ｂ）中に示した破線は、画素が分割されていることを表したものである。こうして生成した小さな画素には、分割前の元の画素の階調値と同じ階調値が割り当てられている。以上のような処理を施すことにより、画像データの解像度は、主走査方向には４倍の解像度に、副走査方向には２倍の解像度に変換されることになる。もちろん、解像度の増加割合は必要に応じて種々の割合に設定することが可能である。
【００５２】
以上のようにして解像度を印刷解像度に変換したら、コンピュータ１００は、個数データ生成処理を開始する（ステップＳ１０６）。ここでは、次のような処理を行う。色変換後の画像データは、画素毎に階調値が割り当てられた階調データである。これに対してプリンタ２００は、前述したようにドットを形成することによって画像を印刷しているので、色変換後の階調データをドット形成の有無によって表現されたデータに変換してから、プリンタ２００に転送する必要がある。更に、ドット形成の有無を示すデータをそのままプリンタ２００に供給するのではなく、画素群に形成すべきドット個数を供給してやれば、画素数が多くなってもデータを迅速に供給することが可能である。
【００５３】
もっとも、画素群毎にドット個数を求める処理に時間がかかってしまったのでは、プリンタ２００にデータを迅速に供給することで得られる効果も減殺されてしまう。すなわち、画素群毎のドット個数のデータをプリンタ２００に供給することで画像の印刷を迅速化する効果を十分に得るためには、画素群毎にドット個数を決定する処理の高速化を図ることが望ましい。本実施例の個数データ生成処理では、後述する方法を用いることでドット個数を迅速に決定した後、得られた個数データをプリンタ２００に向かって出力する。個数データ生成処理の詳細については後述する。
【００５４】
プリンタ２００では、コンピュータ１００から供給された個数データを受け取ると、画素群毎に画素位置を決定する処理を開始する（ステップＳ１０８）。すなわち、個数データには、画素群に形成すべきドットの個数を表してはいるものの、いずれの画素にドットを形成すればよいかについては記述されていないので、実際にドットを形成する画素の位置を個数データに基づいて決定する処理を行うのである。説明の便宜上、画素位置決定処理の詳細な内容は、個数データ生成処理について説明した後に説明する。
【００５５】
以上のようにして、ドットを形成すべき画素位置を決定したら、決定した画素位置にドットを形成する処理を行う（ステップＳ１１０）。すなわち、図３を用いて説明したように、キャリッジ２４０の主走査および副走査を繰り返しながらインク吐出用ヘッドを駆動してインク滴を吐出することにより、印刷用紙上にインクのドットを形成する。こうしてドットを形成することにより、画像データに対応した画像が印刷されることになる。
【００５６】
以上に説明したように、ドットを形成する画素位置のデータではなく、画素群に形成すべきドット個数のデータをプリンタ２００に供給してやれば、画像の画素数が多くなった場合でも迅速にデータを供給することができるので、それだけ画像を速やかに表示することが可能である。このように、プリンタ２００に個数データを供給することによる効果を減殺することなく、画像を迅速に表示するためには、画素群毎のドット個数のデータを迅速に生成することが望ましい。本実施例の画像印刷処理では、次のような各種方法を用いることによって、個数データを迅速に生成している。
【００５７】
Ｄ．第１実施例：
以下では、第１実施例の個数データ生成処理について説明する。また、かかる処理の説明を踏まえた上で、画素位置決定処理について説明する。
【００５８】
Ｄ−１．個数データ生成処理：
図７は、第１実施例の個数データ生成処理の流れを示したフローチャートである。前述したように、かかる処理はコンピュータ１００に内蔵されたＣＰＵ１０２によって実行される処理である。以下、フローチャートに従って説明する。
【００５９】
ＣＰＵ１０２は、第１実施例の個数データ生成処理を開始すると、先ず初めに、画像を構成する画素を所定の複数個ずつまとめて画素群を生成する処理を行う（ステップＳ２００）。ここでは、解像度変換処理において１つの画素を８つの画素に分割していることから、同一の画素を分割して得られた８つの画素を画素群としてまとめることとする。例えば、図６（ａ）中で左上隅の画素は、図６（ｂ）中では、左上方にある縦２列横４列の８つ画素に分割されているから、これらの画素をまとめて画素群を生成する。尚、画素群としてまとめる画素は、このような画素に限られるものではない。すなわち、画素群としてまとめられる画素の個数は８個に限られるものではない。加えて、これら画素は、互いに隣接する画素である必要はなく、所定の位置関係にあればどのような画素でも画素群としてまとめることができる。
【００６０】
また、このように同一の画素から分割された画素を画素群としてまとめる場合は、図５の解像度変換処理（図６参照）を省略することも可能である。この場合は、以下の説明中で、「画素群」とある部分を、「解像度変換を行う前の画素」と読み替えることにより、ほぼ同様な処理を行うことができる。
【００６１】
ついで、画素群に対応する閾値列を読み込む処理を行う（ステップＳ２０２）。ここで閾値列とは、複数個の閾値から構成される一組の数列であり、各閾値列には画素群に含まれる画素の数と同じ個数の閾値が設定されている。図８は、こうした複数組の閾値列が、コンピュータ１００のＲＡＭ１０６に記憶されている様子を概念的に表した説明図である。ここでは、画素群は８つの画素から構成されているものとしているから、各閾値列には８つずつ閾値が設定されている。また、図８ではこうした閾値列が、横方向に１６個、縦方向に３２個のマトリックス状に配列された状態で記憶されている。換言すれば、５１２組の閾値列が、３２行×１６列に配列された状態で記憶されている。図８は、このように複数の閾値列からなる配列の左上隅の部分を拡大して示したものである。
【００６２】
本実施例では、こうした閾値列および閾値列の配列を、いわゆるディザマトリックスに基づいて生成している。周知のようにディザマトリックスとは、複数の閾値が格子状に記憶された２次元の数表であり、ディザマトリックスを用いれば、画像データをドット形成の有無による表現形式に容易に変換することができる。また、画素群に形成すべきドット個数を決定する際にも、こうしたディザマトリックスの性質を利用してドット個数を決定している。そこで、閾値列の生成方法および画素群に形成するドット個数を決定する方法を説明するための準備として、先ず、ディザマトリックスを用いて画像データをドット形成の有無による表現形式に変換する方法について簡単に説明しておく。
【００６３】
図９は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ６４画素、合計４０９６個の画素に、階調値０〜２５５の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が０〜２５５の範囲から選択されているのは、本実施例では画像データが１バイトデータであり、画素に割り当てられる階調値が０〜２５５の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図９に例示したように縦横６４画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。
【００６４】
図１０は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素（着目画素）の階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。図１０に示した例では、画像データの左上隅にある画素の画像データは階調値９７であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は１である。従って、左上隅の画素については、画像データの階調値９７の方がディザマトリックスの閾値１よりも大きいから、この画素にはドットを形成すると判断する。図１０中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は９７、ディザマトリックスの閾値は１７７であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。このように、画像データの階調値とディザマトリックスに設定された閾値とを比較することにより、ドットの形成有無を画素毎に決定することができる。
【００６５】
本実施例の閾値列は、ディザマトリクスに設定されている閾値を、２行×４列ずつひとまとまりとすることによって生成されている。ここで、ひとまとまりとする閾値が２行×４列に設定されているのは、本実施例では２行×４列の８つの画素をひとまとまりとして画素群を構成していることに対応したものである。図８に示した配列の中で、左上隅にある閾値列｛１，４２，５８，１０９，１７０，１７７，２１２，２５５｝は、図９に示したディザマトリックスの左上隅にある２行×４列の８つの閾値をひとまとまりとすることによって生成されている。図示されているように、ディザマトリックスには６４行×６４列の閾値が設定されているから、こうして２行×４列ずつをひとまとまりとして閾値列を生成することにより、５１２個の閾値列が３２行×１６列のマトリックス状に並んだ配列を生成することができる。図８に示した複数の閾値列および閾値列の配列は、こうしてディザマトリックスから生成されている。
【００６６】
図７に示した個数データ生成処理におけるステップＳ２０２では、マトリックス状に記憶されている複数の閾値列の中から、画素群に対応する位置の閾値列を選択して、設定されている閾値を読み込むのである。例えば、処理の対象としている画素群が画像中で左上隅の画素群であれば、図８中で左上隅にある閾値列を選択して、設定されている８つの閾値を読み込む処理を行う。
【００６７】
こうして読み込んだ閾値の中から、閾値を１つ選択する処理を行う（ステップＳ２０４）。本明細書では、閾値列の中で初めに選択する閾値を第１の閾値と呼ぶことにする。第１の閾値は、次のように、画素群の階調値と最大閾値（全ての閾値列の中で最も大きな閾値）との比率に基づいて選択する。ここで、画素群の階調値とは、画素群を構成している各画素の画像データの階調値である。前述したように本実施例では、画素群は同じ階調値を有する画素から構成されているから、この階調値がそのまま画素群の階調値となる。これに対して画素群が、異なる画像データを有する複数の画素から構成されている場合は、例えば、これら画像データの平均値あるいは所定位置にある画素の画像データなどを、画素群の階調ととすればよい。また、最大閾値とは、コンピュー１００に記憶されている複数の閾値列の中で、もっとも大きな閾値を言う。前述したように、図８の閾値列は、図９に示したディザマトリックスに基づいて生成されており、ディザマトリックスには０〜２５５の閾値が設定されているから、最大閾値は「２５５」となる。このような画素群の階調値と最大閾値とに基づいて、第１の閾値を次のようにして選択する。
【００６８】
図１１は、第１の閾値を選択する方法を例示した説明図である。今、処理対象としている画素群が、図６（ｂ）の左上隅にある画素群であるものとする。この画素群の階調値は「９７」であり、最大閾値は「２５５」である。図１１に示した例では、画素群の階調値９７を最大閾値２５５で割った値に、画素群を構成する画素数８を乗算し、得られた値「３．０４」に基づいて、閾値列の中で３番目に大きな閾値「５８」を第１の閾値として選択している。ここでは、比率の値「３．０４」の小数点以下を切り捨てて得られた値「３」に基づいて、３番目に小さな閾値を選択するものとして説明する。もちろん、これに限らず、例えば、小数点以下の値を切り上げて４番目に大きな閾値「１０９」を第１の閾値として選択することとしたり、あるいは比率の値を四捨五入した値に基づいて閾値を選択することとしてもよい。更には、比率の値「３．０４」の小数点以下を切り捨てて値「３」を得た後、３番目の閾値より１つ小さな２番目の閾値「４２」を選択したり、１つ大きな４番目の閾値「１０９」を選択しても良い。このように第１の閾値は、画素群の階調値と最大閾値との比率に基づいて選択するのであれば、どのような方法によって選択しても構わない。
【００６９】
以上のようにして閾値列の中から第１の閾値を選択したら、画素群の階調値と第１の閾値との大小関係を判断する（図７のステップＳ２０６）。そして、第１の閾値よりも画素群の階調値の方が大きい場合は（ステップＳ２０６：ｙｅｓ）、第１の閾値よりも１つ大きな閾値を選択して、この閾値と画素群の階調値とを比較する。本明細書中では、第１の閾値に続いて選択する閾値を、第２の閾値と呼ぶことがあるものとする。こうして選択した第２の閾値よりも、依然として画素群の階調値の方が大きい場合は、更に１つ大きな閾値を選択し、選択した閾値と画素群の階調値とを比較する。こうして、画素群の階調値を、第１の閾値から初めて１つずつ大きな閾値と順次比較していけば、閾値列の中で画素群の階調値より小さな閾値の個数を速やかに求めることができる。これを、図１１に示した例を用いて具体的に説明する。
【００７０】
図１１は、画素群の階調値を、第１の閾値および第２の閾値を含む複数の閾値と比較することにより、閾値列中で画素群の階調値よりも小さな閾値の個数を決定している様子を概念的に表した説明図である。図１１では、第１の閾値として３番目に小さな閾値「５８」が選択されているから、この閾値と画素群の階調値「９７」とを比較する。そして、第１の閾値よりも画素群の階調値の方が大きいから、第１の閾値よりも１つ大きな閾値「１０９」を選択し、この閾値と画素群の階調値とを比較する。図１１に破線で示した矢印は、画素群の階調値が第１の閾値よりも大きかったので、第１の閾値よりも１つ大きな閾値を選択している様子を、模式的に表したものである。
【００７１】
こうして２番目に選択した閾値「１０９」と画素群の階調値とを比較すると、今度は閾値の方が画素群の階調値よりも大きくなっている。換言すれば、画素群の階調値は、閾値列の中で３番目に小さな閾値よりは大きく、４番目に小さな閾値よりは小さいということができる。このことから、閾値列中で画素群の階調値よりも小さな閾値は３つあると判断することができる。
【００７２】
図７のステップＳ２０８では、画素群の階調値が第１の閾値よりも大きい場合に（Ｓ２０６：ｙｅｓ）、このようにして第１の閾値よりも大きな閾値を順次選択して比較することにより、閾値列中で画素群の階調値よりも小さな閾値の個数を決定する処理を行う。
【００７３】
一方、図７のステップＳ２０６において、画素群の階調値が第１の閾値よりも小さいと判断された場合は（Ｓ２０６：ｎｏ）、第１の閾値よりも１つ小さな閾値を選択して、この閾値と画素群の階調値とを比較する。そして、依然として画素群の階調値の方が小さい場合は、更に１つ小さな閾値を選択し、選択した閾値と画素群の階調値とを比較する。すなわち、画素群の階調値が第１の閾値よりも小さい場合は、大きい場合とは反対方向に順次閾値を選択して画素群の階調値と比較していくのである。
【００７４】
これを、図１２に示した例を用いて具体的に説明する。前述した図１１では、最大閾値「２５５」に対する画素群の階調値「９７」の比率から得られた値「３．０４」の小数点以下を切り捨てて、閾値列中で３番目に小さな閾値「５８」を第１の閾値として選択した。図１２では、小数点以下を切り上げて、閾値列中で４番目に小さな閾値「１０９」を第１の閾値として選択した場合を示している。画素群の階調値「９７」は第１の閾値「１０９」よりも小さいから、この閾値「１０９」よりも１つ小さな閾値「５８」を選択して、再び画素群の階調値と選択した閾値とを比較する。図１２に破線で示した矢印は、画素群の階調値が第１の閾値よりも小さかったので、第１の閾値よりも１つ小さな閾値を選択している様子を表している。こうして選択した２番目の閾値「５８」は画素群の階調値「９７」よりも小さくなっている。すなわち、画素群の階調値は、閾値列の中で３番目に小さな閾値よりは大きく、４番目に小さな閾値よりは小さいということが分かり、結局、その閾値列中で画素群の階調値よりも小さな閾値は３つあると判断されることになる。図７のステップＳ２１０では、画素群の階調値が第１の閾値よりも小さい場合に（Ｓ２０６：ｎｏ）、このようにして第１の閾値よりも小さな閾値を順次選択して比較することにより、閾値列中で画素群の階調値よりも小さな閾値の個数を決定する処理を行う。
【００７５】
以上のようにして閾値列の中で、画素群の階調値よりも小さな閾値の個数が求められたら、この個数を画素群に形成すべきドットの個数として画素群毎に記憶する（ステップＳ２１２）。このように、閾値列の中で、画素群の階調値よりも小さな閾値の個数を、その画素群に形成すべきドットの個数と読み替えることができるのは、次のような理由によるものである。
【００７６】
図１０を用いて説明したように、ディザマトリックスを参照すれば、画素にドットを形成するか否かを容易に判断することができる。すなわち、画素群の階調値とディザマトリックスの閾値とを比較して、階調値の方が大きければ、その画素にはドットを形成すると判断する。こうすれば、画素群内でドットを形成すべき画素を特定することができるが、ここでは、画素群内に形成すべきドットの個数のみを決定できれば良く、ドットを形成すべき画素まで特定する必要はない。そこで、図８を用いて説明したように、ディザマトリックスに設定されている閾値の中から画素群に対応する位置の閾値をまとめて閾値列を生成し、この閾値列中で画素群の階調値よりも小さな閾値の個数だけ、その画素群にはドットが形成されると判断することができるのである。このように、閾値列をディザマトリックスに基づいて生成してやれば、ディザマトリックスを参照しながら求めたドット個数と完全に一致した個数を求めることができる。もっとも、必ずしもディザマトリックスから生成した閾値列ではなく、０から２５５の範囲でランダムに選択した閾値によって構成した閾値列を用いた場合でも、同様な方法でドット個数を決定してやれば、ディザマトリックスを用いて求めたドット個数とほぼ同様な個数を求めることが可能である。
【００７７】
図７のステップＳ２１２では、以上のような理由から、画素群の階調値よりも小さな閾値の個数を、該画素群に形成すべきドットの個数として画素群毎に、ＲＡＭ１０６に記憶するのである。こうして、１つの画素群についての処理を終了したら、画像を構成している全画素について、以上のような処理を終了したか否かを判断し（ステップＳ２１４）、未処理の画素が残っている場合は（ステップＳ２１４：ｎｏ）、ステップＳ２００に戻って新たな画素群を生成して続く一連の処理を行う。
【００７８】
図１３は、こうした操作を、図６に示した画像データに対して繰り返し行うことにより、画素群に形成すべきドット個数を画素群毎に決定している様子を概念的に示した説明図である。図１３（ａ）は、それぞれの画素群毎について、対応する閾値列の中から画素群の階調値よりも小さな閾値の個数が決定されている様子を概念的に示した説明図である。図１３（ａ）中の左上隅の画素群については、画素群の階調値よりも小さな閾値は、前述したように｛１，４２，５８｝の３つの閾値である。図１３（ａ）では、これら閾値を破線で囲うことによって、これらが画素群の階調値よりも小さいことを表示している。その１つ右隣の画素群については、画素群の階調値は「１０２」であるから（図６参照）、この階調値より小さな閾値は｛５，４８，７０，７９｝の４つ存在する。更にその１つ右隣の画素群については、画素群の階調値は「１０４」であり、この階調値より小さな閾値は｛１６，６７，８１，９４｝の４つあることになる。図１３（ｂ）は、こうして決定した閾値の個数が、画素群に形成すべきドットの個数として画素群毎に記憶されている様子を概念的に表した説明図である。図７のステップＳ２１２では、図１３（ｂ）に示すように、画素群毎にドット個数のデータを記憶していくのである。
【００７９】
全ての画素について以上のような処理を行い、各画素群に形成すべきドットの個数を決定したら（ステップＳ２１４：ｙｅｓ）、図１３（ｂ）に示すような、画素群毎に記憶されたドット個数のデータをプリンタ２００に向かって出力する（ステップＳ２１６）。そして、全ての画素群についてのドット個数を出力したら、図７に示す第１実施例の個数データ生成処理を抜けて、図５の画像印刷処理に復帰する。
【００８０】
以上に説明したように、第１実施例の個数データ生成処理では、閾値列内で画素群の階調値よりも小さな閾値の個数を決定するに際して、画素群の階調値と最大閾値（全ての閾値列の中で最も大きな閾値）との比率に基づいて第１の閾値を選択し、画素群の階調値と第１の閾値との大小関係に応じて、大きい閾値あるいは小さい閾値と順次比較することにより、閾値の個数を決定している。こうすれば、画素群の階調値より小さな閾値の個数を速やかに決定することが可能である。何故ならば、画素群の階調値が小さくなれば該階調値より小さな閾値の個数は少なくなる傾向にあり、逆に画素群の階調値が大きくなれば該階調値より小さな閾値の個数は多くなる傾向にあると考えられる。このことから、画素群の階調値と最大閾値との比率を、画素群の階調値よりも小さな閾値の個数の目安として使用することが可能である。例えば、画素群の階調値が最大閾値のちょうど半分であれば、閾値列の中のほぼ半分の閾値は、画素群の階調値よりも小さな値となっている可能性が高い。そこで、画素群が８つの画素で構成されているとすれば、例えば閾値列の中で４番目に小さな閾値と先ず比較して、閾値の方が大きければ、より小さな閾値と順次比較していけばよい。一方、４番目に小さな閾値とでは画素群の階調値の方が大きい場合は、更に大きな閾値と比較してもまだ画素群の階調値の方が大きいかもしれない。そこで、１つずつ大きな閾値と順次比較していく。
【００８１】
いずれにしても、こうして画素群の階調値と最大閾値との比率を目安として用いて、最初に比較する閾値を選択し、比較結果に応じて順次隣接する大きさの閾値と比較していけば、不要な閾値と画素群の階調値とを比較することなく、閾値の個数を速やかに決定することが可能となるのである。もちろん、上述した例では、４番目に小さな閾値から比較を開始するのではなく、より小さめの閾値（例えば２番目あるいは３番目に小さな閾値）から比較を開始しても良いし、より大きめの閾値（例えば５番目あるいは６番目に小さな閾値）から比較を開始しても良い。
【００８２】
本実施例の画像印刷処理では、このようにして、画素群に形成すべきドット個数をコンピュータ１００側で速やかに決定する。そして、プリンタ２００側では、画素群内で実際にドットを形成する画素位置を、コンピュータ１００から供給されたドット個数のデータに基づいて画素群毎に決定する。以下では、かかる画素位置決定処理の内容について説明する。
【００８３】
Ｄ−２．画素位置決定処理：  
図１４は、コンピュータ１００から供給された個数データに基づいて画素群内の画素位置を決定する処理、すなわち画素位置決定処理の流れを示したフローチャートである。また、図１５は、画素群毎のドット個数を示すデータが、画素位置決定処理を施されることによって、画素毎のドット形成の有無を示すデータに変換される様子を概念的に示した説明図である。以下、図１４および図１５を参照しながら、画素位置決定処理の内容について説明する。
【００８４】
画素位置決定処理を開始すると、先ず初めに、コンピュータ１００から供給された画素群毎にドット個数を示すデータを読み込む処理を行う（ステップＳ３００）。読み込んだ個数データは、制御回路２６０に内蔵されたＲＡＭに一旦蓄えられる。図１５（ａ）には、制御回路２６０のＲＡＭ上に、ドット個数を示すデータが画素群毎に記憶されている様子が概念的に表されている。
【００８５】
次いで、画素位置を決定しようとする画素群を１つ選択し（ステップＳ３０２）、選択した画素群についてのドット個数を取得する（ステップＳ３０４）。ここでは、画素位置を決定する画素群として、図１５（ａ）中で左上隅にある画素群を選択したものとする。図１４のステップＳ３０４では、選択した画素群に形成されるドット個数として「３」を取得する。
【００８６】
こうして、画素群に形成すべきドット個数を取得したら、ディザマトリックスを参照することにより、画素群内でドットを形成する画素を決定する処理を行う（ステップＳ３０６）。図１０を用いて前述したように、画像データの階調値とディザマトリックスの閾値とを比較して、階調値の方が大きければ、その画素にはドットを形成すると判断することができる。すなわち、ディザマトリックスの閾値が小さい画素ほどドットが形成され易くなることから、ディザマトリックスはドットが形成される画素の序列を表していると考えることができる。画素位置決定処理では、ディザマトリックスの有するこうした性質に着目して、ドット個数のデータから画素群内にドットを形成する画素位置を決定するのである。
【００８７】
再び図１５を参照しながら、詳しく説明する。ここでは、対象とする画素群が図１５（ａ）中の左上隅の画素群であるとしているから、図１４のステップＳ３０６では、ディザマトリックス上でこの画素群の各画素に対応する位置に記憶されている閾値を取得する。図１５（ｂ）は、図９に示したディザマトリックスから、対応する画素位置の閾値が読み出された様子を模式的に示したものである。こうして読み出した閾値が小さい画素から順番に、ドットが形成されることになる。図１５（ａ）に示すように、処理中の画素群には形成されるドット個数は３個だから、各画素にドットが形成される序列に基づいて、図１５（ｃ）に示すように画素位置を決定することができる。すなわち、図１５（ｃ）中に実線で囲って示した最も閾値の小さい画素と、破線で囲った２番目に閾値の小さい画素と、一点鎖線で囲った３番目に閾値の小さい画素の３つの画素を、ドットが形成される画素として決定することができる。
【００８８】
以上のような操作を行うことで、画素位置を決定するべく選択した画素群について、実際にドットを形成する画素の位置を決定したら、全ての画素群についての処理を終了したか否かを判断する（図１３のステップＳ３０８）。未処理の画素群が残っていれば（ステップＳ３０８：ｎｏ）、ステップＳ３０２に戻って新たな画素群を選択し、続く一連の処理を行う。こうした処理を繰り返すことにより、図１５（ａ）に例示した画素群毎にドット個数を示すデータは、図１５（ｄ）に示すような、画素毎にドット形成の有無を表すデータに変換されていく。尚、図１５（ｄ）中で斜線が付された画素は、ドットが形成される画素を示している。そして、全ての画素群について処理が終了したら（ステップＳ３０８：ｙｅｓ）、図１４に示した画素位置決定処理を終了して、図５の画像印刷処理に復帰する。
【００８９】
以上、本実施例の画像印刷処理および、画像印刷処理中で行われる第１実施例の個数データ生成処理、画素位置決定処理について詳しく説明した。このように本実施例の画像印刷処理では、コンピュータ１００から画素毎にドット形成の有無を示すデータを供給する代わりに、画素群に形成すべきドット個数のデータをプリンタ２００に供給し、プリンタ２００側で、受け取ったデータに基づいてドットを形成する画素位置を決定して画像を印刷している。こうすれば、コンピュータからプリンタに供給すべきデータ量を大幅に減少させることができるので、例え画像に含まれる画素数が増加したとしても、迅速にデータを供給することができ、速やかに画像を印刷することが可能となる。
【００９０】
加えて、上述した実施例の個数データ生成処理では、画素群の階調値と最大閾値との比率に基づいて、閾値列の中から第１の閾値を選択し、この閾値と画素群の階調値との比較結果に応じて順次閾値を比較していくことで、画素群に形成すべきドット個数を迅速に決定することができる。従って、コンピュータ１００からプリンタ２００にドット個数のデータを供給することで得られる効果を減殺することなく、迅速に画像を印刷することが可能となる。
【００９１】
Ｅ．第２実施例：
以上に説明した第１実施例の個数データ生成処理においては、閾値列の中で画素群の階調値と最初に比較する閾値を、該画素群の階調値と最大閾値（全ての閾値列の中で最も大きな閾値）との比率に基づいて選択した。しかし、画素群の階調値と最初に比較する閾値を、該画素群の直前の画素群について決定したドット個数に基づいて選択することとしても、画素群に形成すべきドット個数を迅速に求めることができる。以下では、こうした第２実施例の個数データ生成処理について説明する。
【００９２】
図１６は、第２実施例の個数データ生成処理の流れを示すフローチャートである。前述した第１実施例の個数データ生成処理と同様に、第２実施例の個数データ処理もコンピュータ１００に内蔵されたＣＰＵ１０２によって実行され、その処理内容もほぼ同様であるが、閾値列内で第１の閾値を選択する方法は、第１実施例の個数データ生成処理に対して大きく異なっている。以下では、こうした第１実施例の個数データ生成処理との相違点に焦点をあてながら、第２実施例の個数データ生成処理の内容をフローチャートに従って説明する。
【００９３】
第２実施例の個数データ生成処理においても、処理を開始するとＣＰＵ１０２は先ず初めに、画像を構成する画素を所定の複数個ずつまとめて画素群を生成する処理を行う（ステップＳ４００）。第２実施例においても第１実施例と同様に、８つの画素をまとめて画素群を生成するものとする。
【００９４】
ついで、画素群に対応する閾値列を読み込む処理を行う（ステップＳ４０２）。前述した第１実施例の個数データ生成処理では、こうした閾値列の中から、画素群の階調値と最大閾値との比率に基づいて第１の閾値を選択したが、第２実施例では、第１の閾値の選択に先立って、画素群がエッジ後の画素群か否かの判断を行う（ステップＳ４０４）。かかる処理について、図１７を参照しながら説明する。
【００９５】
図１７は、画素群にまとめられた各画素の階調値を示した説明図である。前述したように第１実施例では、１つの画素を分割して画像データを高解像度化し、同じ画素から分割された画素を画素群としてまとめているので、画素群内の各画素は同じ階調値となっている。そして、通常の画像では、画像データは広い範囲に亘ってゆっくりと変化していることが多い。このことから大部分の場合は、図１７（ａ）に示すように、隣接する画素群間では近似した階調値を有していることが通常である。例えば、図１７（ａ）中で、破線で囲った画素群ａと一点鎖線で囲った画素群ｂとの間では階調差は「５」に過ぎず、画素群ｂと二点鎖線で囲った画素群ｃとの間でも階調差は「２」に過ぎない。
【００９６】
しかし、画像中に表現された物体の境界に相当する部分では、画素群間の階調差が大きく変化することがある。すなわち、図１７（ｂ）に示すように、図中に破線で囲った画素群ｄと一点鎖線で囲った画素群ｅとの間では、階調差は「５」に過ぎないが、画素群ｅと二点鎖線で囲った画素群ｆとの間では、階調差は「９７」と大きな値となっている。これは、画素群ｅと画素群ｆとの間が、画像に表された物体のちょうど境界（すなわちエッジ）に対応しているものと考えられる。
【００９７】
また、同一の画素から分割された画素に限らず、複数の画素を画素群としてまとめる場合には、画素群内に物体のエッジ部分が来ることもある。すなわち、図１７（ｂ）中に破線で囲って示した画素群ｇでは、左側にある画素と右側にある画素とでは階調差は「９８」と大きな値となっており、この部分にエッジが存在していると考えられる。すなわち、画素群ｇは、エッジを内包した画素群であると考えられる。
【００９８】
図１６に示したステップＳ４０４では、処理中の画素群が、図１７（ｂ）に示した画素群ｆ（すなわち、直前の画素群との間にエッジが存在する画素群）であるか、あるいは画素群ｈのような画素群（すなわち、エッジを内包している画素群の直後にある画素群）であるか否かを判断するのである。
【００９９】
そして、処理中の画素群がエッジ後の画素群では無いと判断された場合は（ステップＳ４０４：ｎｏ）、処理中の画素群についての閾値列の中から、直前の画素群に形成すべきドット個数に基づいて第１の閾値を選択する（ステップＳ４０６）。例えば、直前の画素群に形成すべきドットの個数が３個である場合は、閾値列の中から３番目に小さな閾値を第１の閾値として選択する。あるいは、１つ小さめの閾値すなわち２番目に小さな閾値を選択したり、１つ大きめの閾値すなわち４番目に小さな閾値を選択しても良い。
【０１００】
一方、処理中の画素群がエッジ後の画素群であると判断された場合は（ステップＳ４０４：ｙｅｓ）、前述した第１実施例の個数データ生成処理と同様に、画素群の階調値と最大閾値（全ての閾値列の中で最も大きな閾値）との比率に基づいて第１の閾値を選択する（ステップＳ４０８）。
【０１０１】
こうして画素群がエッジ後の画素群か否かに応じて、閾値列の中から第１の閾値を選択したら、後は、前述した第１実施例の個数データ生成処理と同様にして、画素群に形成すべきドット個数を決定する。すなわち、第１の閾値と画素群の階調値とを比較し、比較結果に応じて、次々と隣接する大きさの閾値と比較することにより、画素群の階調値よりも小さな閾値の個数を求め、求めた個数を画素群内に形成すべきドット個数として決定する。以下、フローチャートに従って簡単に説明すると、選択した第１の閾値を、画素群の階調値と比較する（ステップＳ４１０）。そして、第１の閾値よりも画素群の階調値の方が大きい場合は（ステップＳ４１０：ｙｅｓ）、第１の閾値よりも大きな閾値と画素群の階調値とを順次比較することにより、その閾値列内で該階調値よりも小さな閾値の個数を決定する（ステップＳ４１２）。一方、第１の閾値よりも画素群の階調値の方が小さい場合は（ステップＳ４１０：ｎｏ）、第１の閾値よりも小さな閾値と画素群の階調値とを順次比較することにより、その閾値列内で該階調値よりも小さな閾値の個数を決定する（ステップＳ４１４）。
【０１０２】
以上のようにして閾値列の中で、画素群の階調値よりも小さな閾値の個数が求められたら、この個数を画素群に形成すべきドットの個数として画素群毎に記憶する（ステップＳ４１６）。そして、全画素について上述した操作を行ったか否かを判断し（ステップＳ４１８）、未処理の画素が残っている場合は（ステップＳ４１８：ｎｏ）、ステップＳ４００に戻って新たな画素群を生成して続く一連の処理を行う。画像を構成する全ての画素について、こうした操作を行うと、コンピュータ１００のＲＡＭ１０６上には、図１３（ｂ）に示すような個数データが画素群毎に得られることになる。そこで、この個数データをプリンタ２００に向かって出力し（ステップＳ４２０）、全データを出力したら、第２実施例の個数データ生成処理を終了する。
【０１０３】
以上に説明した第２実施例の個数データ生成処理によっても、画素群毎に形成すべきドット個数を迅速に決定することが可能である。すなわち、図１７を用いて前述したように、通常の画像では、画像データはゆっくりと変化していることが多い。このため、画素群の階調値も隣接する画素群間ではほぼ同じような階調値となることが多く、従って、画素群内に形成すべきドットの個数も、隣接する画素群間では近似した個数となることが多い。このことから、画素群がエッジ後の画素群でない場合は、直前の画素群のドット個数に基づいて選択した閾値から比較を始めれば、大部分の場合は、不要な比較を行うことなく速やかにドット個数を決定することが可能となる。
【０１０４】
一方、画像中のエッジの前後では画像データも大きく変化するので、画素群に形成すべきドットの個数も大きく異なっていると考えられる。従って、最初に比較する閾値を、直前の画素群のドット個数に基づいて選択したのでは、見当違いな閾値から比較を始めてしまう可能性が高い。そこで、画素群がエッジ後の画素群である場合は、第１実施例と同様に、画素群の階調値と最大閾値との比率に基づいて第１の閾値を選択してやれば、不要な比較を行うことなく速やかにドット個数を決定することが可能となるのである。
【０１０５】
以上に説明した第２実施例の個数データ生成処理では、エッジ後の画素群については、画素群の階調値と最大閾値（全ての閾値列の中で最も大きな閾値）との比率に基づいて、第１の閾値を選択するものとした。しかし、エッジ後の画素群については、このような方法に限らず、いわゆる「２分検索法」などの他の方法を用いてドット個数を決定しても良い。
【０１０６】
図１８は、閾値列内で画素群の階調値より小さな閾値の個数を、２分検索法を用いて求めている様子を概念的に示した説明図である。説明の便宜から図１８では、閾値列は９つの閾値から構成されており、画素群の階調値は「９７」である場合について示している。２分検索法では、先ず初めに、閾値列の中で真ん中の大きさの閾値と画素群の階調値とを比較する。図１８（ａ）は、９つの閾値の中で真ん中の大きさの閾値「１２５」と画素群の階調値「９７」とを比較している様子を概念的に表している。
【０１０７】
図示した例では、真ん中の大きさの閾値「１２５」は画素群の階調値「９７」よりも大きいから、この閾値より大きな閾値については比較するまでもなく、画素群の階調値より大きいことは明らかである。そこで、閾値「１２５」よりも大きな閾値は比較対象から外して、閾値「１２５」よりも小さな閾値の中で、大きさが真ん中の閾値「４４」と画素群の階調値とを比較する。図１８（ｂ）は、こうして選択した閾値「４４」と画素群の階調値「９７」とを比較している様子を概念的に表したものである。図１８（ｂ）で、閾値「１４２」よりも大きな閾値にハッチングが付されているのは、これら閾値が比較の対象から外されていることを模式的に示したものである。
【０１０８】
２番目に選択した閾値「４４」は画素群の階調値「９７」よりも小さいから、閾値「４４」よりも小さな閾値については比較するまでもなく、階調値「９７」よりも小さいことは明らかであり、これら閾値についても比較の対象から外して良い。そして、残った閾値の中で大きさが真ん中の閾値「８９」を選択し、この閾値と画素群の階調値「９７」とを比較する。図１８（ｃ）は、こうして選択した閾値「８９」と画素群の階調値「９７」とを比較している様子を表している。閾値「８９」は階調値「９７」よりも小さいが、この閾値よりも１つ大きな閾値「１２５」は既に画素群の階調値と比較済みであり、画素群の階調値よりも大きいことが分かっている。すなわち、画素群の階調値「９７」は、４番目に小さな閾値「８９」よりは大きいが、５番目に小さな閾値「１２５」よりは小さいことになるので、結局、閾値列中で画素群の階調値よりも小さな閾値は４個存在することが分かる。
【０１０９】
２分検索法を用いて検索すれば、こうして次々と検索範囲を絞りながら、画素群の階調値と閾値とを比較していくために、不要な閾値と比較することなく、画素群の階調値より小さな閾値の個数を速やかに決定することができる。実際、図１８に示した例では、３つの閾値と比較するだけで、画素群の階調値よりも小さな閾値の個数を決定することが可能である。従って、ドット個数を決定しようとしている画素群が、エッジ後の画素群である場合は、こうした２分検索法を用いることによっても、ドット個数を迅速に決定することができる。
【０１１０】
また、上述した各種実施例では、いずれの閾値列においても、閾値が大きさの順番で記憶されているものとして説明している。しかし、閾値列の中でそれぞれの閾値が何番目に大きな閾値なのか、あるいは何番目に小さな閾値なのかを即座に認識可能でありさえすれば、各閾値を必ずしも大きさの順番に記憶しておく必要はない。例えば、各閾値列の中での序列を示す番号などとともに、それぞれの閾値を記憶しておくこととしても良い。
【０１１１】
また、本実施例のように、閾値列に含まれる閾値の数が多くない場合には、各閾値の序列を容易に知ることができる。従って、特に閾値列の中での序列を示す情報とともに閾値を記憶しておかなくても、第１の閾値および第２の閾値を含む複数の閾値を速やかに選択して、画素群内に形成するドット個数を決定することが可能である。
【０１１２】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、ＣＤ−ＲＯＭやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【０１１３】
また、以上の実施例では、印刷用紙上にドットを形成して画像を印刷するプリンタに本発明を適用した場合について説明したが、本発明の適用範囲はプリンタに限られるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、本発明を好適に適用することが可能である。
【図面の簡単な説明】
【０１１４】
【図１】印刷システムを例にとって本発明の画像表示システムに関する実施例の概要を示した説明図である。
【図２】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図３】本実施例のプリンタの概略構成を示す説明図である。
【図４】各色のインク吐出用ヘッドの底面にインク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。
【図５】本実施例のコンピュータおよびプリンタが画像データに所定の画像処理を加えて印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。
【図６】色変換によって得られた画像データの解像度変換を行っている様子を示す説明図である。
【図７】第１実施例の個数データ生成処理の流れを示したフローチャートである。
【図８】複数組の閾値列がコンピュータのＲＡＭに記憶されている様子を概念的に表した説明図である。
【図９】ディザマトリックスの一部を拡大して例示した説明図である。
【図１０】ディザマトリックスを参照しながら画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。
【図１１】第１の閾値および第２の閾値を含む複数の閾値と画素群の階調値とを比較することにより、閾値列中で画素群の階調値よりも小さな閾値の個数を決定する様子を例示した説明図である。
【図１２】第１の閾値および第２の閾値を含む複数の閾値と画素群の階調値とを比較することにより、閾値列中で画素群の階調値よりも小さな閾値の個数を決定する他の様子を例示した説明図である。
【図１３】画像データに所定の画像処理を施すことによって画素群に形成すべきドット個数を決定している様子を概念的に示した説明図である。
【図１４】コンピュータから供給された個数データに基づいて画素群内の画素位置を決定する処理の流れを示したフローチャートである。
【図１５】画素群毎のドット個数を示すデータに基づいて画素毎のドット形成の有無を決定している様子を概念的に示した説明図である。
【図１６】第２実施例の個数データ生成処理の流れを示すフローチャートである。
【図１７】画素群にまとめられた各画素の階調値を示した説明図である。
【図１８】閾値列内で画素群の階調値より小さな閾値の個数を２分検索法を用いて求めている様子を概念的に示した説明図である。
【符号の説明】
【０１１５】
１０…コンピュータ
１２…画素群形成モジュール
１４…閾値列記憶モジュール
１６…ドット個数決定モジュール
２０…プリンタ
１００…コンピュータ
１０８…周辺機器インターフェースＰＩＦ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶＩＦ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…カラースキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…プリンタ
２４０…キャリッジ
２４１…印字ヘッド
２３０…キャリッジモータ
２３６…プラテン
２３５…モータ
２６０…制御回路
２４２…インクカートリッジ
２４３…インクカートリッジ
２４２，２４３…インクカートリッジ
２４４…インク吐出用ヘッド
３００…通信回線
３１０…記憶装置
【図１】
2005102068.tif 000003
【図２】
2005102068.tif 000004
【図３】
2005102068.tif 000005
【図４】
2005102068.tif 000006
【図５】
2005102068.tif 000007
【図６】
2005102068.tif 000008
【図７】
2005102068.tif 000009
【図８】
2005102068.tif 000010
【図９】
2005102068.tif 000011
【図１０】
2005102068.tif 000012
【図１１】
2005102068.tif 000013
【図１２】
2005102068.tif 000014
【図１３】
2005102068.tif 000015
【図１４】
2005102068.tif 000016
【図１５】
2005102068.tif 000017
【図１６】
2005102068.tif 000018
【図１７】
2005102068.tif 000019
【図１８】
2005102068.tif 000020