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