(57)【要約】【課題】画像を処理して画像データを出力する際、画質の劣化を抑えて、データを圧縮する。【解決手段】画像出力方法において、Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１処理工程と、画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２処理工程とを備える。ここで、Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とすれば、データの内容によらず、データを圧縮して出力できる。【選択図】図２
2018137511.tif 000002
【特許請求の範囲】
【請求項１】
画像を処理して得られた画像処理データを出力する画像出力方法であって、
Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１処理工程と、
前記画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２処理工程と、
前記第１処理データと前記第２処理データとを出力する出力工程と
を備え、
前記Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とされた
画像出力方法。
【請求項２】
前記第１処理工程は、前記第１処理データを、各画素の色が白色であるか否かを表わすデータとして生成する請求項１記載の画像出力方法。
【請求項３】
前記第２処理工程は、各ブロックを、２×２画素（Ｎ＝４）、２×４画素（Ｎ＝８）、４×４画素（Ｎ＝１６）のうちのいずれかの大きさとする請求項１または請求項２に記載の画像出力方法。
【請求項４】
請求項３記載の画像出力方法であって、
更に、前記ブロックを構成する画素の数より多い数の閾値から構成されたディザマスクであって、ブルーノイズ特性またはグリーンノイズ特性を備えるディザマスクを用意し、
第２処理工程は、
前記ディザマスクから、Ｎ個の閾値からなる局所的ディザマスクを、前記ブロックに対応して取り出し、
前記代表階調値と前記局所的ディザマスクとを比較することにより、当該ブロックを構成する各画素毎のドット形成の有無を表わす多値化階調値を、前記第２処理データとして生成する工程である
画像出力方法。
【請求項５】
画像を処理して処理された画像処理データを出力する画像出力装置であって、
Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１処理部と、
前記画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２処理部と、
前記第１処理データと前記第２処理データとを出力する出力部と
を備え、
前記Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とされた
画像出力装置。
【請求項６】
画像を形成する画像形成システムであって、
請求項５記載の画像出力装置と、
前記画像出力装置からの前記第１処理データと前記第２処理データとを受け取り、画像を形成する画像形成装置と
を備え、
前記画像形成装置は、
前記第２処理データの前記代表階調値に従って求めた前記ブロック内の各画素に形成すべきドットの配置を求める処理を行ない、
前記求められたドットの配置を、前記第１処理データにより制限することで、前記各画素に形成すべきドットを決定し、
前記決定されたドットを、前記求めた配置に従って記録媒体上に形成することにより、前記画像を形成する
画像形成システム。
【請求項７】
請求項６記載の画像形成システムであって、
前記画像形成装置は、受け取った前記第１処理データが、前記ドットを形成する必要がないことを示しているとき、前記第２処理データから、前記ブロック内の各画素に形成すべきドットの配置を求める処理を行なわない
画像形成システム。
【請求項８】
コンピューターに、画像を処理させて処理された画像処理データを出力させるプログラムであって、
Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１の機能と、
前記画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２の機能と、
前記第１処理データと前記第２処理データとを出力する第３の機能と
をコンピューターにより実現させるプログラムであり、
前記Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とされた
コンピューターにより読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を圧縮して出力する技術に関する。
【背景技術】
【０００２】
従来から、多色の画像を、元の画像が有する階調値より少ない階調数のドットによって再現することが行なわれている。例えば、プリンターなどにおけるインク滴の有無（２階調）やインク滴の大中小（４階調値）あるいはインクの濃淡（３階調）、液晶パネルにおける液晶セルのドットのオン・オフ（２階調）などにより、ＲＧＢ各色２５６階調の原画像を再現することが行なわれている。この場合、例えばＲＧＢ形式の画像をコンピューター上で処理し、プリンターにおけるインク滴の形成に直接対応したドットデータや、ディスプレイの液晶セルのオン・オフに対応したドットデータに変換し、これをプリンターやディスプレイに送っている。コンピューターからプリンターやディスプレイなどへのデータ転送量を減らすために、データを圧縮している。例えば、下記特許文献１では、ドットの形成の有無を予め決定できる画素については、その位置情報のみを抽出し、原画像のＲＧＢの階調情報から、その画素に関する階調情報を取り除くことでデータ量を削減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１３８４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術は、原画像が有する特徴を生かした優れた手法であるが、ドット形成の有無が特定できる画素であるか否かを所定の条件に従って画素毎に判断し、元の画素情報から、条件に該当した画素の階調情報を取り除くという処理が必要となる。またドット形成の有無を予め特定できる画素が少なければ、データ量を大きく圧縮できない場合もあり得た。このため、処理が簡単で、かつデータ量の圧縮を確実に行なえる画像処理とこれを利用した画像形成の手法が、なお求められていた。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の態様または適用例として実現することが可能である。
【０００６】
（１）本発明の第１の態様として、画像を処理して得られた画像処理データを出力する方法が提供される。この画像出力方法は、Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１処理工程と、前記画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２処理工程と、前記第１処理データと前記第２処理データとを出力する出力工程とを備える。ここで、前記Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とされてよい。
【０００７】
かかる画像出力方法によれば、原画像のデータの内容に拠らず、確実に画像データを、少なくとも５／６に圧縮できる。また、第１処理データを有しているので、原画像を２値化することにより保存される情報、例えばエッジの情報などを保持できる。このため、データを圧縮しているにもかかわらず、エッジの再現性に優れる画像データを出力できる。
【０００８】
（２）かかる画像出力方法において、前記第１処理工程は、前記第１処理データを、各画素の色が白色であるか否かを表わすデータとして生成するものとしてよい。処理される多くの画像は、白地に黒色または白地に多色の画像なので、第１処理データを各画素の色が白色であるか否かを表わすデータとすれば、多くの画像において、画像のエッジの再現性を高めることができる。
【０００９】
（３）かかる画像出力方法において、前記第２処理工程は、各ブロックを、２×２画素（Ｎ＝４）、２×４画素（Ｎ＝８）、４×４画素（Ｎ＝１６）のうちのいずれかの大きさとするものとしてよい。こうすれば、画像データが単色の場合でも少なくとも３／８に圧縮できる。第２工程での圧縮が少なくとも１／４、第１稿程度の圧縮が１／８、両者の合計が、３／８＝１／８＋１／４となるからである。仮に元の画像がＲＧＢ各８ビットで表現されていれば、第１処理工程での圧縮が、１／（３×８）＝１／２４となることから、第２処理工程による１／４の圧縮と併せて、全体に圧縮率は、７／２４となる。また、各ブロックを２×２など、２のべき数で構成しているので、原画像の解像度の変換を容易に行なうことができる。
【００１０】
（４）こうした画像出力方法において、更に、前記ブロックを構成する画素の数より多い数の閾値から構成されたディザマスクであって、ブルーノイズ特性またはグリーンノイズ特性を備えるディザマスクを用意し、第２処理工程は、前記ディザマスクから、Ｎ個の閾値からなる局所的ディザマスクを、前記ブロックに対応して取り出し、前記代表階調値と前記局所的ディザマスクとを比較することにより、当該ブロックを構成する各画素毎のドット形成の有無を表わす多値化階調値を、前記第２処理データとして生成する工程としてもよい。こうすれば、第２の処理データとして、局所的ディザマスクの階調値と比較することにより得られる多値化階調値を用いるので、元の画像の色数とドットで表現する際の色数とに大きな差異がなければ、画像データの更なる圧縮を実現できる。
【００１１】
（５）本発明の第２の態様として、画像を処理して処理された画像処理データを出力する画像出力装置が提供される。この画像出力装置は、Ｍビット（Ｍは、２以上の整数）で各画素の階調を表現している画像データを２値化して、各画素毎の階調を１ビットで表現する第１処理データを生成する第１処理部と、  前記画像の各画素を、Ｎ画素（Ｎは２以上の整数）ずつまとめてブロックとし、各ブロックの階調を表わす代表階調値からなる第２処理データを生成する第２処理部と、前記第１処理データと前記第２処理データとを出力する出力部とを備える。ここで、Ｍ，Ｎは、１／Ｍ＋１／Ｎ＜１の関係を満たす値とされてよい。かかる画像出力装置によれば、原画像のデータの内容に拠らず、少なくとも５／６に、画像データを圧縮できる。また、第１処理データを有しているので、原画像を２値化することにより保存される情報、例えばエッジの情報などを保持できる。このため、データを圧縮しているにもかかわらず、エッジの再現性に優れる画像データを出力できる。
【００１２】
（６）本発明の第３の態様として、画像を形成する画像形成システムが提供される。この画像形成システムは、上記の画像出力装置と、前記画像出力装置からの前記第１処理データおよび前記第２処理データを受け取り、画像を形成する画像形成装置とを備える。ここで、画像形成装置は、前記第２処理データの前記代表階調値に従って求めた前記ブロック内の各画素に形成すべきドットの配置を求める処理を行ない、前記求められたドットの配置を、前記第１処理データにより制限することで、前記各画素に形成すべきドットを決定し、前記決定されたドットを前記求めた配置に従って、記録媒体上に形成することにより、前記画像を形成する。したがって、この画像形成システムによれば、画像データを圧縮でき、かつ圧縮されたデータからドットの配置を求めて画像を形成できる。しかも、形成する画像のエッジなどの再現性に優れる。
【００１３】
（７）かかる画像形成システムにおいて、前記画像形成装置は、受け取った前記第１処理データが、前記ドットを形成する必要がないことを示しているとき、前記第２処理データから、前記ブロック内の各画素に形成すべきドットの配置を求める処理を行なわないものとできる。こうすれば、第２処理データからドットを求める処理を省略できるので、処理を一層短時間に完了することが可能となる。
【００１４】
本発明は、上記の態様以外には、多様な形態で実施可能である。例えば、上記画像出力方法をコンピューターにより実現するプログラムや、画像形成システムに対応した画像形成方法としても実施できる。あるいは、画像データ圧縮方法や圧縮装置、そのためのコンピュータープログラムとしても実施可能である。更には、これらの手法を組み込んだプリンター、複合機、携帯機器、プロジェクターなどとしても実施可能である。
【図面の簡単な説明】
【００１５】
【図１】実施形態の画像形成システムの概略構成を示す概略構成図。
【図２】第１実施形態における画像出力と画像形成の概要を示すフローチャート。
【図３】画像出力装置と画像形成装置とにおける処理の組合せを示す説明図。
【図４】画像出力装置における第１処理ルーチンを示すフローチャート。
【図５】画像出力装置における第２処理ルーチンを示すフローチャート。
【図６】原画像の一例を示す説明図。
【図７】第１処理ルーチンによる処理の結果を示す説明図。
【図８】第２処理ルーチンによる処理の結果を示す説明図。
【図９】画像形成装置における画像形成処理を示すフローチャート。
【図１０】画像形成処理における分版処理の様子を示す説明図。
【図１１】第２実施形態における画像形成処理を示すフローチャート。
【図１２】入力データから大中小ドットのドット密度に変換する様子を示す説明図。
【図１３】ディザマスクの一例を示す説明図。
【図１４】多値化結果値を求める手順を示す説明図。
【図１５】大中小ドットと多値化結果値との対応を示す説明図。
【図１６】閾値群番号と順序値との関係を例示する説明図。
【図１７】多値化テーブルを例示する説明図。
【図１８】原画像の１ブロックからドット配置を求めるまでの処理の流れを示す説明図。
【発明を実施するための形態】
【００１６】
Ａ．第１実施形態：
Ａ１）ハードウェア構成：
図１は、実施形態の画像形成システム１０の概略構成図である。この画像形成システム１０は、コンピューター８０とカラープリンター２０とを備える。コンピューター８０は画像出力装置に相当し、ＣＰＵ８１とメモリー８２とを備える。コンピューター８０は、カラープリンター２０と接続するためのインタフェースやディスプレイなどの出力機器、キーボードなどの入力機器なども備えるが、図示は省略した。図１では、多値化テーブルＴＢ１が図示されているが、この多値化テーブルＴＢ１は、第２実施形態で用いるものであり、第１実施形態では、用いない。従って、第１実施形態では、ないものとして扱う。
【００１７】
カラープリンター２０は画像形成装置に相当し、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ブラック（Ｋ）の４色インクのドットを形成可能なインクジェットプリンターである。もちろん、これら４色のインクに加えて、染料または顔料濃度の低いシアン（淡シアン）インクと、染料または顔料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクのドットを形成可能なインクジェットプリンターを用いることもできる。あるいは、赤や緑、黄色、青などの特色インクを搭載することも差し支えない。更には、ブラックの明度を高くしたグレーインクなどを、１または複数種類搭載したプリンターを用いることも可能である。
【００１８】
カラープリンター２０は、図示するように、キャリッジ４０に搭載された印字ヘッド４１を駆動してインクの吐出およびドット形成を行なう機構と、このキャリッジ４０をキャリッジモーター３０によってプラテン３６の軸方向に往復動させる機構と、紙送りモーター３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ４０の移動および印刷用紙の搬送を制御する制御回路６０などから構成されている。キャリッジモーター３０の回転は、プリー３２との間に架設された無端ベルト３１を介して、キャリッジ４０に伝えられる。キャリッジ４０は、シャフト３３に対して摺動可能に取り付けられ、キャリッジモーター３０の正転・逆転に伴い、シャフト３３に沿って、印刷用紙Ｐの幅方向に往復動する。
【００１９】
キャリッジ４０には、Ｋインクを収納するインクカートリッジ４２と、ＣＭＹの各色インクを収納するインクカートリッジ４３とが装着されている。インクカートリッジ４２，４３をキャリッジ４０に装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド４１の下面に設けられた各色毎のインク吐出用ヘッド４４ないし４７に供給される。
【００２０】
制御回路６０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＰＩＦ（周辺機器インターフェース）等がバスで相互に接続されて構成されている。制御回路６０は、キャリッジモーター３０および紙送りモーター３５の動作を制御することによってキャリッジ４０の主走査動作および副走査動作を制御するとともに、コンピューター８０から出力される画像データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する制御を行なう。
【００２１】
各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用できる。すなわち、ピエゾ素子を用いてインク滴を吐出する方式や、インク通路に配置したヒーターでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インク滴を吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンターを使用することも可能である。
【００２２】
以下では、インクを吐出するシリアルタイプのカラープリンター２０を例にとって説明するが、ラインプリンターやページブリンターの形式を採用することも差し支えない。画像の形成を、インク滴と同じように、単位面積当りの濃度が異なる複数種類のドットを単位として行なうのであれば、インク溶融型プリンターであれ、トナーを転写するタイプのプリンターであれ、用いることができる。
【００２３】
以上のハードウェア構成を有するカラープリンター２０は、キャリッジモーター３０を駆動することによって、各色のインク吐出用ヘッド４４ないし４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモーター３５を駆動することによって、印刷用紙Ｐを主走査方向と交差する方法である副走査方向に移動させる。制御回路６０は、キャリッジ４０の主走査および副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンター２０は印刷用紙Ｐ上にカラー画像を印刷している。
【００２４】
カラープリンター２０の制御回路６０内にはＣＰＵ，ＲＡＭ，ＲＯＭなどが搭載されていることから、コンピューター８０が行なう処理をカラープリンター２０内で実施することも可能である。このような場合は、デジタルカメラや携帯電話などで撮影した画像の画像データをカラープリンター２０に直接供給して、インタフェースパネル５９から指示することで、制御回路６０内で必要な画像処理を実施する。こうすることで、コンピューター８０を介することなく、直接画像を印刷することも可能となる。本実施形態では、コンピューター８０内のプリンタードライバーなどが画像出力装置に相当し、カラープリンター２０が画像形成装置に相当するが、デジタルカメラなどから直接データを受け取って印刷する場合は、カラープリンター２０内に画像出力装置と画像形成装置とが内蔵されていることになる。
【００２５】
Ａ２）画像形成の概要：
画像形成システム１０が行なう画像形成について、図２に基づいて簡単に説明する。図２に示した処理のうち、左側に示した画像出力処理は、コンピューター８０により実行され、右側に示した画像形成処理は、カラープリンター２０により実行される。この処理は、ユーザーがコンピューター８０を操作して、特定の画像をカラープリンター２０で印刷させようとする場合に実行される。
【００２６】
図２に示した画像出力処理では、コンピューター８０は、まず原画像データを読み込む処理を行なう（ステップＳ１００）。原画像は、例えばコンピューター８０上で画像描画ソフトなどを用いて作製されるものであったり、デジタルカメラや携帯電話のカメラなどで撮像された画像、あるいはそれらをリタッチした画像など、どのようなものであっても差し支えない。コンピューター８０側では、画像は、液晶ディスプレイ、ＥＬディスプレイ、ＣＲＴなどの発光型のディスプレイにより表示されるため、通常はＲＧＢ形式で扱われるが、他の形式、例えばＬａｂやＸＹＺの形式などで扱っても良い。
【００２７】
次に原画像の各画素の階調データから、第１処理データＤを生成する処理を行なう（ステップＳ１１０）。第１処理データＤを生成する処理については、後で詳しく説明するが、この処理は、原画像のＲＧＢ形式の画像データ（各色８ビット）から１ビットの第１処理データＤを生成する処理であり、第１処理工程および第１処理部に相当する。この処理に続いて、ブロックの代表階調値から第２処理データＰを生成する処理を行なう（ステップＳ１２０）。この第２処理データＰを生成する処理についても、後で詳しく説明するが、この処理は、原画像の複数のピット（例えば２×２画素）を一つのブロックとして扱い、そのブロックを代表する階調データを求める処理であり、第２処理工程および第２処理部に相当する。上記の第１処理データＤおよび第２処理データＰを求める処理を行なったのち、これらのデータを出力する処理を行なう（ステップＳ１３０）。これが、出力工程および出力部に相当する。第１処理データＤおよび第２処理データＰは、コンピューター８０に接続されたカラープリンター２０に出力される。
【００２８】
カラープリンター２０では、画像形成処理が実行される。この処理は、まずコンピューター８０から第１処理データＤおよび第２処理データＰを入力し（ステップＳ２００）、入力したデータＤを先頭から順次処理し、まず第１処理データＤが、画素にドットを形成する必要があることを示す値（ここでは値０）であるか否かの判断を行なう（ステップＳ２１０）。画素にドットを形成する必要があれば、第２処理データＰからドットデータを形成する処理を行ない（ステップＳ２２０）、画素にドットを形成する必要がなければ、ステップＳ２２０の処理を行なわない。全ての画素について、上記の処理を行なった後、ドットデータに基づいて、画像を形成する処理を行なう（ステップＳ２３０）。図２では、特に繰り返しの処理については示していないが、上記の処理は、入力した第１，第２処理データＤ，Ｐにより表わされる画像の全体に対して行なわれる。この画像形成処理についても後で詳しく説明する。
【００２９】
Ａ３）画像形成の類型とデータ圧縮の概要：
上述したように、本実施形態の画像形成システム１０では、画像データの出力と画像の形成とが、コンピューター８０およびカラープリンター２０に分かれて行なわれる。以下、その処理の詳細について説明するが、その前に、画像出力装置（ここではコンピューター８０）側で行なわれる画像出力処理と、画像形成装置（ここではカラープリンター２０）側で行なわれる画像形成処理との組合せの概要について説明する。図３は、この組合せのうち、代表的な４つの組合せについて示す説明図である。
【００３０】
画像出力装置側で行なう処理は、第１から第３の組合わせにおいては同一である。第１から第３の組合わせにおいて、画像出力装置は、画素のＲＧＢデータに基づいて、第１処理データＤに、画素が白色であれば値１を、白以外であれば値０を、それぞれ設定する。画素の色は、その階調値がＲＧＢ各８ビットで表現されていれば、Ｒ＝２５５，Ｇ＝２５５，Ｂ＝２５５の場合に、白色と判断できる。もとより、もう少し範囲を拡げて、
Ｒ，Ｇ，Ｂ≧２５５−β
の場合の白色と判断するようにしても良い。βは、適当に、例えば１〜１０程度の範囲で各色一律に、あるいは各色毎に設定すればよい。こうした処理は、要するに、原画像の各画素が持っている階調数を表現するデータのビット数を、１ビット（２階調）に低減して表現するデータを生成する処理に相当する。
【００３１】
また、第１〜第３の組合わせにおいて、画像出力装置は、原画像をａ×ｂ画素からなるブロックに分け、第２処理データＰに、各ブロックの代表階調値を設定する。ここでａ×ｂ画素は、少なくとも２画素以上であれば良く、例えば縦横の画素として、１×２、２×１、２×２、２×４、４×２、４×４などの画素からなるブロックを想定できる。ブロックの代表階調値とは、各ブロックに含まれる画素の階調値の相加平均値、相乗平均値、中央値などの統計的な値であって、そのブロック全体の階調を代表させうる値である。なお、複数の画素のうちに白色の画素が含まれる場合、ブロック代表階調値は、白色の画素（ＲＧＢ＝２５５）を含めて求めても良いし、含めなくても良い。代表階調値として平均値を用いる場合を例にとれば、２×２画素のうちの一つが白色の場合、４つの画素の平均値を代表階調としても良いし、白色の画素を除く３つの画素の階調値の平均値を代表階調値としても良い。こうした処理は、要するに、原画像の複数の画素をまとめてブロックとして扱うことで、データ量を低減することに相当する。
【００３２】
画像出力装置による上記の処理の結果、元の画像データは、
１／２４＋１／（ａ×ｂ）
に圧縮される。第１項は、元々Ｍビット（ここではＲＧＢ各色８ビット、合計２４ビット）のデータから生成された１ビット（０または１）の第１処理データＤを示しており、第２項は、Ｎ画素（ここではａ×ｂ画素）のデータが一つの代表階調に置き換えられた第２処理データＰを示している。仮に、１ブロックが、２×２画素からなるものとすれば、圧縮率は、１／Ｍ＋１／Ｎとして求められることから、
１／２４＋１／（２×２）＝７／２４
となる。同様に、１ブロックが１×２画素からなれば、圧縮率は、
１／２４＋１／２＝１３／２４
となる。
【００３３】
上記圧縮率を求める式において第１項は、１／２４として扱っているが、これは、原画像の階調値が各色８ビットで表現されていることによる。仮に原画像の階調値がＲＧＢ各色３ビットで表現されており、１ブロックが１×２画素からなるとすれば、圧縮率は、
１／９＋１／２＝１１／１８
となる。上記例示からも理解されるように、第１項と第２項の最小値はいずれも１／２なので、少なくとも第１項または第２項のいずれか一方が１／２未満となっていれば、原画像のデータは、第１処理データＤと第２処理データＰによる表現では必ず圧縮される。画像データの表現形式であるビット数やブロック内の画素数が整数値を取ることから、最も圧縮されない場合の圧縮率は、５／６となる。これは、画像が単色（例えばグレー）で３ビットで表現され、１×２画素を単位として扱われる場合である。この場合、圧縮率は、１／３＋１／２＝５／６となる。こうした画像データが圧縮された結果、画像出力装置から画像形成装置へのデータ転送量を低減でき、転送に要する時間を短縮できる。
【００３４】
次に、第１〜第３の組合わせにおける画像形成装置側の処理について説明する。第１の組合せでは、画像形成装置は、第１処理データＤが０の画素にその画素が含まれるブロックの代表階調値を設定し、各画素の代表階調値に対して組織的ディザ法を適用して２値化を行なう。組織的ディザ法とは、予め所定のノイズ特性を備えるように作成されたディザマスクを用いて、画素毎にドットを形成するか否かを決定する周知の手法である（ディザマスクの一例は、後述する図１３参照）。こうすることで、２値化の処理を第１処理データＤが値０の画素についてのみ行なうだけで済み、画像形成処理に要する時間を短縮できる。
【００３５】
第２の組合せは、上記の処理のうち、２値化の処理を組織的ディザ法ではなく誤差拡散法を用いる点のみが異なる。誤差拡散法は、一つの画素について、その画素の階調値を閾値と比較することでドットを形成するか否かの判断を行なった後、ドットを形成したことにより生じた階調上の誤差またはドットを形成しなかったことにより生じた階調上の誤差を、周辺の画素に分配することを繰り返しつつ、各画素について、誤差が分配されたことで補正された階調値に基づいて、ドット形成の判断を行なう周知の手法である。この場合、誤差拡散法により各画素にドットを形成するか否かの判断を、第１処理データＤが値０の画素についてのみ行ない、生じた階調上の誤差も、第１処理データＤが値０の画素にのみ分配するものとしても良いし、全ての画素について、ドット形成の判断と誤差の分配とを行なっても良い。前者の場合は、第１処理データＤが値０の画素にはドットが形成されないので、エッジの再現性に優れる上、誤差拡散処理を行なう画素数を減らすことができるので処理時間を短縮できる。後者の場合には、第１処理データの値に拠らず、同じ処理を適用でき、処理プログラムや処理回路を簡略化できる。
【００３６】
第３の組合わせは、代表階調値を、第２処理データで扱ったａ×ｂ画素のブロックに対して設定する。その上で、ブロック単位で多値化階調値を求めて２値化を行なう。ブロック単位で多値化階調値を求めて２値化する手法は、例えば特開２００６−１４０３６号公報などに詳しく説明されているが、ブロック内のドットデータの配置を予めエンコードしておき、代表階調に基づいて、エンコードされたテーブルを参照して多値化階調値を求め、次にこの多値化階調値から、デコード用のテーブルを参照して、ドットの配置を決定する手法である。この手法の概要については、第４の組合せと共に、第２実施形態で説明する。
【００３７】
こうしてブロック単位で２値化を行ない、ブロック内のドット配置を求めた上で、第１処理データＤが値１の画素について、ドットデータを消去する。こうすれば、第１処理データＤが値０の画素についてはドットが形成されないので、原画像のエッジの再現性に優れる。その上、エンコード、デコードの組合せでドットの配置が決定できるので、処理時間を大幅に短縮できる。
【００３８】
次に、図３に示した第４の組合せについて説明する。第１〜第３の組合せでは、画像出力装置側では、階調数を１ビット分の階調数２に低減した第１処理データＤと複数の画素をまとめた代表階調値である第２処理データＰを求める処理までしか行なわないが、第４の組合せでは、画像出力装置側で、ブロックの代表階調値から多値化階調値を求める処理まで行なう。その上で、第１処理データＤと、第２処理データＰとを出力する。多値化階調値はエンコードされた値なので、基のデータに対して、一定の圧縮率αで圧縮されたデータとなる。このため、図３に示したように、画像出力装置から出力されるデータは原画像（ＲＧＢ各色８ビット）に対して、多値化階調値が表わしている画像の表現色（例えばインク色）が、元の画像と同じ種類数、例えば３色で表現されていれば、
１／２４＋α・１／（ａ×ｂ）
に圧縮される。αは、ブロックに含まれる画素数や形成しようとするドットの種類（再現できる階調数）などにより異なるが、値１未満となるように、多値化階調値をエンコードしておく。従って、この場合には、第１〜第３の組合せと比べて一層の圧縮を図ることができる。なお、多値化階調値が、ＲＧＢ（３色）からＣＭＹＫ（４色）など、異なる色数に変換されている場合には、第２項は、色数の増減分β（例えば４／３）だけ増減する。
【００３９】
第４の組合せでは、ブロックにおける代表階調値を用いた多値化階調値の演算までを画像出力装置側で行なうので、画像形成装置側では、多値化階調値をデコードしてドットデータを決定し、第１処理データＤが値１の画素についてのドットデータを消去する処理のみを行なう。このため、画像出力装置では、原画像のエッジの再現性に優れる上、デコードのみを行なえば良く、処理時間を更に短縮できる。
【００４０】
Ａ４）第１実施形態の処理の詳細：
以上、画像出力装置としてのコンピューター８０が行なう処理、画像形成装置としてのカラープリンター２０の行なう処理の概要について、複数の類型を挙げて説明した。以下、これらの処理の詳細について説明する。図４は、第１処理データを生成するための第１処理ルーチンを示すフローチャートであり、図２に示した画像出力処理のステップＳ１００，Ｓ１１０に相当する処理を示す。この処理は、コンピューター８０において、画像の印刷を行なう際に実行される。
【００４１】
この処理が開始されると、まず原画像データＧを読み込む処理を行なう（ステップＳ１００）。このときの原画像データは、ＲＧＢ形式である。次に、処理を行なうための変数ｘ，ｙを値１に初期化する処理を行なう（ステップＳ１１２）。この変数ｘ，ｙは、後述する図６に示すように、原画像の縦方向と横方向の画素位置を示す変数である。
【００４２】
続いて、原画像の画素の画像データＧ（ｘ，ｙ）が値２５５であるか否かの判断を行なう（ステップＳ１１３）。Ｇ（ｘ，ｙ）が値２５５であるとは、Ｒ＝Ｇ＝Ｂ＝２５５であることを意味しており、画素の色が白色であることに相当する。この判断において、Ｇ（ｘ，ｙ）が値２５５であれば、第１処理データであるＤ（ｘ，ｙ）に値１を入れ（ステップＳ１１４）、Ｇ（ｘ，ｙ）が値２５５でなければ、データＤ（ｘ，ｙ）に値０入れる（ステップＳ１１５）。
【００４３】
上記両処理（ステップＳ１１４，Ｓ１１５）のいずれかを行なった後、変数ｘ，ｙを、処理に従ってインクリメントする（ステップＳ１１６）。つまり、画像の横方向の端までは、変数ｙをインクリメントし、横方向の端に達すれば、変数ｙを値１にリセットし、変数ｘを値１だけインクリメントするという処理を行なう。そして、変数ｘ，ｙの値から、処理が画像の全画素について完了したかを判断し（ステップＳ１１７）、全画素についての処理が完了するまで、ステップＳ１１３に戻って、ステップＳ１１３〜Ｓ１１７の処理を繰り返す。この結果、原画像の全画素について、値０か１が設定され、１ビットの第１処理データＤ（ｘ，ｙ）が生成されることになる。この様子を図７に示した。原画像は、図６に示したように、文字「あ」を含むものとする。文字「あ」を構成する画素は黒色であることから、図７に示したように、各画素に対応する第１処理データＤ（ｘ，ｙ）として、文字「あ」を構成する各画素には値０が、それ以外の画素には値１が設定される。黒色の画素については、第１処理データＤは値０に設定されるが、図示の都合上、図７では、左下の領域Ｓのみ、値０を記載した。
【００４４】
次に、図５に拠って、第２処理データを生成する第２処理ルーチンについて説明する。図５は、第２処理ルーチンを示すフローチャートであり、図２に示した画像出力処理のステップＳ１００，Ｓ１２０に相当する処理を示す。この処理は、コンピューター８０において、画像の印刷を行なう際に、図４に示した第１処理ルーチンに続いて実行される。
【００４５】
この処理が開始されると、まず原画像データＧを読み込む処理を行なう（ステップＳ１００）。第１処理ルーチンにおいて読み込んだ原画像データＧが保存されていれば、改めて読み込むことなく、保存しておいた原画像データＧを用いても良い。いずれにせよ、この原画像データＧは、ＲＧＢ形式である。次に、処理を行なうための変数Ｂｘ，Ｂｙを値１に初期化する処理を行なう（ステップＳ１２２）。この変数Ｂｘ，Ｂｙは、後述する図８に示すように、原画像を２×２画素毎にブロックとして扱う場合の縦方向と横方向のブロック位置を示す変数である。
【００４６】
続いて、着目するブロック内の全画素について、第１処理ルーチンにより生成した第１処理データＤが全て値１であるか否かの判断を行なう（ステップＳ１２３）。このとき、ブロックを指定する変数Ｂｘ，Ｂｙから、第１処理データＤ（ｘ，ｙ）は、以下の様にして求めることができる。
ブロック内の左上の画素：ｘ＝２（Ｂｘ−１）＋１、ｙ＝２（Ｂｙ−１）＋１
ブロック内の右上の画素：ｘ＝２（Ｂｘ−１）＋１、ｙ＝２（Ｂｙ−１）＋２
ブロック内の左下の画素：ｘ＝２（Ｂｘ−１）＋２、ｙ＝２（Ｂｙ−１）＋１
ブロック内の右下の画素：ｘ＝２（Ｂｘ−１）＋２、ｙ＝２（Ｂｙ−１）＋２
第１処理データＤ（ｘ，ｙ）が値１であるとは、その画素が白色であり、ドットを形成する必要がない画素であることを示している。そこで、ブロック内の画素の第１処理データＤに一つでも値１でないものがあれば、第２処理データＰ（Ｂｘ，Ｂｙ）にこのブロック内の画素のうち、第１処理データが値０の画素の平均階調値を入れ（ステップＳ１２４）、第１処理データＤが全て値１であれば、第２処理データＰ（Ｂｘ，Ｂｙ）に値２５５を入れる（ステップＳ１２５）。
【００４７】
ブロック内の画素の平均階調値の算出は、本実施形態では、ブロック内の白色（Ｄ＝１）でない画素の階調値の平均値とした。図７に示した領域Ｓを例に取ると、この領域は、ブロック（７，１）と（７，２）とに相当し、前者は全ての画素についての第１処理データＤが値１であることから、第２処理データＰ（７，１）は値２５５に設定され、後者は３つの画素の第１処理データＤが値１でないことから、第２処理データＰ（７，２）は値０に設定される。図６に示した画像は、黒色の文字「あ」の部分であるため、上記の処理を行なった結果が、図８に示すように、各ブロックには値２５５か値０が設定される。もとより、値２５５とはＲ＝Ｇ＝Ｂ＝２５５を意味し、値０とはＲ＝Ｇ＝Ｂ＝０を意味する。なお、画像が黒色の文字でなく、色が付いていれば、第１処理データＤが値１でない画素が存在するブロックの第２処理データＰ（Ｂｘ，Ｂｙ）は、値０になる訳ではなく、そのブロックに含まれる画素のＲＧＢの各階調値の平均を示す値となる。こうして設定される平均階調値を、以後、ブロックを代表する階調値という意味で、代表階調値と呼ぶ。
【００４８】
上記両処理（ステップＳ１２４，Ｓ１２５）のいずれかを行なった後、変数Ｂｘ，Ｂｙを、処理に従ってインクリメントする（ステップＳ１２６）。つまり、画像の横方向の端までは、変数Ｂｙをインクリメントし、横方向の端に達すれば、変数Ｂｙを値１にリセットし、変数Ｂｘを値１だけインクリメントするという処理を行なう。そして、変数Ｂｘ，Ｂｙの値から、処理が全ブロックについて完了したかを判断し（ステップＳ１２７）、全ブロックについての処理が完了するまで、ステップＳ１２３に戻って、ステップＳ１２３〜Ｓ１２７の処理を繰り返す。この結果、原画像の全画素について、２×２画素のブロックに分けて、値２５５か代表階調値（ここでは値０）が設定され、ＲＧＢ各８ビットの第２処理データＰ（Ｂｘ，Ｂｙ）が生成されることになる。
【００４９】
以上説明した画像出力装置に相当するコンピューター８０による画像出力処理により、原画像データの容量は、１／２４＋１／４＝７／２４に圧縮されたことになる。この圧縮された画像データが、画像形成装置であるカラープリンター２０に出力される（図２、ステップＳ１３０）。そこで、この画像データを入力して画像を形成するカラープリンター２０の処理について説明する。図９は、カラープリンター２０における画像形成処理の概要を示すフローチャートである。この処理は、コンピューター８０からの画像データの出力の指示を受けることで実行される。
【００５０】
図９に示した処理を開始すると、カラープリンター２０のＣＰＵは、まず変数Ｂｘ，Ｂｙを値１に初期化する処理を行なう（ステップＳ３００）。その上で、コンピューター８０から第１処理データＤ（ｘ，ｙ）と第２処理データＰ（Ｂｘ，Ｂｙ）とを入力する処理を行なう（ステップＳ３１０）。以下の処理は、ブロック単位で行なわれるため、ここでは、一つのブロックについての第２処理データＰ（Ｂｘ，Ｂｙ）を入力すると共に、このブロックに属する２×２画素に関する、合計４つの第１処理データデータＤ（ｘ，ｙ）とを入力する。
【００５１】
これのデータを入力した後、ブロック内の画素についての第１処理データＤ（ｘ，ｙ）として値０のものがあるか否かを判断する（ステップＳ３２０）。ブロック内の画素の第１処理データＤ（ｘ，ｙ）が全て値１であれば、そのブロック内の全画素について、ドットを形成しないと判断して、ドットデータをなしとする（ステップＳ３３０）。従って、この場合には、以下に説明するステップＳ３４０〜Ｓ３７０の処理は行なわない。他方、２×２画素の第１処理データＤ（ｘ，ｙ）が１つでも値０であれば、以下のステップＳ３４０〜Ｓ３７０の処理を、ブロック内の２×２画素の各々について繰り返す。繰り返しは、ブロック内の４つの画素のうち、左上、右上、左下、右下の順に行なう。
【００５２】
まず左上の画素について、その第１処理データＤ（ｘ，ｙ）が値０であるか否かの判断を行なう（ステップＳ３４０）。第１処理データＤ（ｘ，ｙ）が値０でなければ、何も行なわずにループして、次の画素についての判断に移行する。着目した画素の第１処理データＤ（ｘ，ｙ）が値０であれば、その画素に、第２処理データＰ（Ｂｘ，Ｂｙ）を設定する処理を行なう（ステップＳ３５０）。図９のステップＳ３４０の処理では、Ｄ（ｘ，ｙ）の値について判断するとして記載したが、画素が左上から右下に順次処理が行なわれる毎に、ｘ，ｙの値が、ブロックの位置を指定する変数Ｂｘ，Ｂｙを用いて特定できることは、図５のステップＳ１２３の処理として説明した通りである。
【００５３】
画素に第２処理データＰ（Ｂｘ，Ｂｙ）の値を設定したのち、これを色変換する処理を行なう（ステップＳ３６０）。ステップＳ３５０までの処理では、画像データは、ＲＧＢの形式で扱っていたが、ここでカラープリンター２０で形成するドットの色に合わせて、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の濃度値に変換するのである。変換は、三次元ＬＵＴを参照することにより行なわれる。ＲＧＢが加色混合であって、白色が８ビットで表現すれば、Ｒ＝Ｇ＝Ｂ＝２５５であったのに対して、ＣＭＹＫのインクによる色の表現は減色混合であることから、白色は、Ｃ＝Ｍ＝Ｙ＝Ｋ＝０として表現される。また、完全な黒色は、コンポジットブラックとして表現する場合には、Ｃ＝Ｍ＝Ｙ＝２５５で表現されるが、カラープリンター２０がＫインクを搭載していることから、リアルブラックにより、Ｋ＝２５５（Ｃ＝Ｍ＝Ｙ＝０）として表現される。中間階調の色は、明度が高い領域では、一般にＫインクによるドットを形成せず、ＣＭＹインクのみで粒状性に優れた画像を形成する。他方、明度が低い領域では、ＣＭＹＫのインクの等量をＫインクに置き換えて（下色除去）、インクデューティを押え、インクの滲みの少ない画像を形成している。ＲＧＢの形式の画像データから、こうしたＣＭＹＫのインク量のデータへの変換は、予め用意されたＬＵＴを参照することにより、一度に行なうことができる。
【００５４】
この処理の様子を図１０に示した。図１０は、図７に示した領域Ｓ、即ち、二つのブロック（７，１）と（７，２）とを例にとって、ＣＭＹＫのインク量に変換される様子、即ち分版処理の様子を示した。この領域Ｓに含まれる各画素の第１処理データＤは、図４に示した第１処理の結果から、ブロック（７，１）では全て値１、ブロック（７，２）では文字の一部を構成する３つの画素で値０、１つで値１である。また、この領域の各ブロックの第２処理データＰは、図５に示した第２処理の結果から、Ｐ（７，１）は値２５５、Ｐ（７，２）は値０である。ブロック内に、値０の画素がある場合、そのブロックの代表階調値は、平均階調値とされるが、この場合の平均階調値は、第１処理データが値０の画素のみの階調値の平均である。
【００５５】
この結果、ステップＳ３５０の処理により、図１０の中央に示したように、第１処理データＤが値０の画素には、ブロックＰ（７，２）の代表階調値０が設定される。他の画素については、ハーフトーン処理を行なわずに、ドットを形成しないと判断するため、この例では階調値が設定されていない。次に色変換を行なうと、ＲＧＢでの値０は、黒色であることから、Ｋ＝２５５、Ｃ＝Ｍ＝Ｙ＝０に変換される。
【００５６】
こうして色変換処理を行なった後、各色インク量に基づいて、ドット形成の有無を判断するハーフトーン処理を行ない、着目している画素に、各色のインクによるドットを形成するか否かを判断する（ステップＳ３７０）。図３に示した第１の組合せでは、このハーフトーン処理は、組織的ディザ法により行なわれる。即ち、その画素に設定された第２処理データＰ（Ｂｘ，Ｂｙ）の値をディザマスクの閾値と比較することにより、ドットを形成するか否かを判断する。この場合、形成するドットが１種類であれば、閾値との比較は１回で完了する。形成するドットが大小や大中小の場合には、予めインク量を各種ドットの形成密度に変換しておき、各種ドットの形成密度を閾値と比較することにより、各種ドットの形成の有無について判断する。
【００５７】
図３に示した第２の組合せの場合には、ステップＳ３７０のハーフトーン処理は、誤差拡散法により行なう。誤差拡散法の場合には、各画素のインク量のデータを固定的な閾値（例えば１２７）と比較し、閾値より大きければドットを形成すると判断し、そのドットを形成したことにより実現される濃度と、インク量データに対応した濃度との差を、周辺の所定の範囲の画素に分配する。このため、誤差拡散法による場合には、拡散される誤差を記憶しておくメモリーが必要になる。
【００５８】
ステップＳ３７０のハーフトーン処理は、こうした手法のいずれによっても良い。あるいは更に他の手法、例えば２×２画素からなるブロックを一つの階調表現の単位として扱い、面積階調法により、ハーフトーン処理するものとしても良い。この場合には、画素単位ではなく、ブロック単位で、ハーフトーン処理を行なうことになる。
【００５９】
上記の処理を、ブロック内の全ての画素について繰り返し、ブロック内の全画素について処理を完了すると、次に、ステップＳ３８０に進み、処理に従って、変数Ｂｘ，Ｂｙをインクリメントする処理を行なう。この処理は、図５のステップＳ１２６の処理と同様である。そして、変数Ｂｘ，Ｂｙの値から、処理が全ブロックについて完了したかを判断し（ステップＳ３９０）、全ブロックについての処理が完了するまで、ステップＳ３１０に戻って、ステップＳ３１０〜Ｓ３９０の処理を繰り返す。この結果、全ブロックについての処理が完了すると、原画像の全ての画素についてのハーフトーン処理が完了し、原画像が、ドットの集合により階調表現されるドットデータが生成される。
【００６０】
ステップＳ３９０で全ブロックについての処理が完了したと判断すると、続いて、生成されたドットデータを用いて、画像を形成する処理を行なう（ステップＳ４００）。具体的には、キャリッジ４０の主走査方向の往復動と、副走査方向への相対的な搬送とを行ないつつ、吐出用ヘッド４４、４５〜４７を駆動して、各色インクのドットを印刷用紙上に形成するのである。以上の処理により、画像の形成が行なわれる。
【００６１】
Ａ５）第１実施形態の効果：
以上説明した第１実施形態の画像形成システム１０によれば、画像出力装置としてのコンピューター８０から画像形成装置としてのカラープリンター２０にデータを出力する際、そのデータ量を、ＲＧＢ形式（各色８ビット）の原画像の画像データの７／２４に圧縮できる。従って、コンピューター８０からカラープリンター２０へのデータ転送の時間を短縮できる。しかも、２×２画素を単位とするブロック毎に代表階調値を定めて処理するので、処理を高速化できる。更に、画像のエッジに対応する情報を第１処理データ（本実施形態では１ビット）として保存しているので、データを圧縮しながらエッジの再現性に優れる。
【００６２】
上記の実施形態では、圧縮した画像データは、コンピューター８０からカラープリンター２０にシリアル通信などの手法で転送したが、画像データを、例えばＵＳＢメモリーなどに入れて、カラープリンター２０に渡す場合には、データ量を圧縮しているので、メモリーの消費量を抑えることができる。同様に、印刷用の画像データを保存する場合、本実施形態の手法を適用すれば、画像データを圧縮でき、データがメモリーを占有する容量を減らすことができる。
【００６３】
上記の実施形態では、ブロック内の画素の第１処理データＤ（ｘ，ｙ）が全て値１であれば、そのブロック内の全画素について、ドットを形成しないと判断して、ドットデータをなしとする（図９、ステップＳ３３０）。従って、この場合には、ステップＳ３４０〜Ｓ３７０の処理は行なわないから、処理を一層効率化でき、各画素におけるドット配置を決定する処理に要する時間を短縮できる。
【００６４】
上記の実施形態では、色変換やハーフトーン処理は、ブロックを単位としてデータを設定して行なっているが、予め、全画素、全ブロックについての第１処理データ、第２処理データを読み込んで、原画像全体のＲＧＢ形式の画像データを復元してから、色変換処理（ステップＳ３６０）と、ハーフトーン処理（ステップＳ３７０）とを行なっても良い。
【００６５】
Ｂ．第２実施形態：
Ｂ１）画像形成の概要：
次に第２実施形態について説明する。第２実施形態としての画像形成システム１０は、ハードウェア構成は第１実施形態と同一であり、また画像出力装置としてのコンピューター８０側の処理（図４、図５）も同一である。第２実施形態では、画像形成装置としてのカラープリンター２０における処理が、第１実施形態とは異なる。カラープリンター２０が行なう処理を図１１に示した。図１１に示した処理のうち、第１実施形態における処理（図９）と同一の処理については、同一の符号を付した。
【００６６】
コンピューター８０側で生成される第１処理データＤおよび第２処理データＰは、第１実施形態と同一であることから、第２実施形態のカラープリンター２０の処理を図１１に拠って簡単に説明する。この処理は、第１実施形態と同様、コンピューター８０から画像データの送信が開始されると実行される。この処理が開始されると、第１実施形態同様、まず変数Ｂｘ，Ｂｙの初期化（ステップＳ３００）と、第１，第２処理データの入力（ステップＳ３１０）とを行ない、更にブロック内の全画素の第１処理データＤ（ｘ，ｙ）に値０の画素が１つでもあるか否かの判断を行なう（ステップＳ３２０）。この判断を受けて、第１処理データＤが全て値１であれば、ブロック内の全画素にドットを形成せず（ステップＳ３３０）、ブロック内に１つでも第１処理データＤが値０の画素があれば、第２処理データＰ、即ち代表階調を色変換する処理を行なう（ステップＳ３５０）。色変換は、画像の階調値を変更するものではないので、色変換後のデータも代表階調値と呼ぶ。
【００６７】
その後、色変換後の代表階調値を用いてハーフトーン処理を行ない（ステップＳ５００）、次に第１処理データＤを用いてマスク処理を行なう（ステップＳ５１０）。ブロック内でのループ処理がないこと、およびこの２つの処理（ステップＳ５００，Ｓ５１０）を行なうことが、第１実施形態と異なる点である。即ち、第２実施形態では、ブロック内の画素について順次処理を行なう必要がなく、ブロック内の画素について一括でハーフトーン処理を行なうことができる。このハーフトーン処理とマスク処理については、後で詳しく説明する。
【００６８】
ハーフトーン処理などを行なった後、変数Ｂｘ，Ｂｙを値を、処理に従ってインクリメントすること（ステップＳ３８０）、全ブロックについて処理が完了したかを判断すること（ステップＳ３９０）、処理の完了後にドットデータにより画像を形成すること（ステップＳ４００）等については、第１実施形態と同様である。
【００６９】
Ｂ２）ブロック単位でのハーフトーン処理：
第２実施形態では、上述したようにブロックを単位としてハーフトーン処理を行なっている。この処理について、以下説明する。この例では、カラープリンター２０は、大中小のドットを形成できるものとする。即ち、カラープリンター２０は、１つの画素について大ドット・中ドット・小ドット・ドットなしの４つの階調を表現できる。この場合、ステップＳ３５０においてＲＧＢ形式の代表階調値を色変換するとき、併せて、各ドットの形成密度（ドット密度）のデータへの変換を行なう。この例を図１２に示した。
【００７０】
図１２は、入力データＤＳ、つまり代表階調値を色変換した後の各色の階調値に対して、大中小の各ドットのドット密度、つまり各ドットをどの程度形成するかの割合を示している。ドット密度２５５／２５５とは、全ての画素にドットを形成することを意味している。図１２において、ＬＳ２は小ドットの形成の割合を示し、ＬＭ２は中ドットの形成の割合を示し、ＬＬ２は大ドットの形成の割合を示す。
【００７１】
図１１のステップＳ５００では、ブロック単位でハーフトーン処理が行なわれる。この処理は、ブロックの代表階調値に基づいて、多値化テーブルＴＢ１を参照してエンコードを行ない、更にこれをデコードするという手法により行なう。このために、予め多値化テーブルＴＢ１を準備しておく必要がある。そこで、ステップＳ５００の詳細について説明する前に、多値化テーブルＴＢ１を用意する方法について説明する。この方法は、例えば特開２００６−１４０３６号公報などに詳しく説明されているので、ここでは簡略に説明する。
【００７２】
多値化テーブルＴＢ１は、図１２に示した入力階調値とドット形成の割合から、ディザマスクを利用して生成する。また、多値化テーブルを生成する際、順序値テーブルも併せて作成する。ここで、ディザマスクは、図１３に一例を示すように、縦（副走査方向）に６４画素分、横（主走査方向）に６４画素分、の大きさを有する大域的ディザマスクである。このディザマスクは、画像の階調値と比較される値１〜２５５の閾値が、４０９６箇所に万遍なく、かつこの閾値を利用して形成されたドットの配置がブルーノイズ特性を備えるように、記憶されている。ここで、閾値の階調値が１〜２５５の範囲から選択されているのは、本実施例では、各色の画像データが階調値０〜２５５の値を取り得る１バイトデータとしていることに加えて、画像データの階調値と閾値とが等しい場合には、その画素にはドットを形成するものと判断していることによる。
【００７３】
利用するディザマスクの特性は問わない。ドットの分散性をよくする場合には、ブルーノイズ特性またはグリーンノイズ特性を有するディザマスクを用いれば良い。この他、ランダムな特性（ホワイトノイズ特性）を有するものや、低周波側にある程度の特性値を有するピンクノイズ特性のディザマスクなども用いることができる。ドット集中型の特性を有するディザマスクも利用可能である。
【００７４】
図１３に示したディザマスクは、２×２個のずつひとまとまりにされ、閾値群を形成する。副走査方向をｍ、主走査方向をｎで表すものとすれば、閾値群は、
Ｂ（ｍ，ｎ）    ｍ：１〜３２、ｎ：１〜３２
として表すことができる。このＢ（ｍ，ｎ）を、以下、閾値群番号と呼ぶ。閾値の配置には規則的な繰り返しは基本的に存在しないから、３２×３２＝１０２４個の閾値群は、全て、４つの閾値の異なる組み合わせになっている。つまり、閾値群番号Ｂ（ｍ，ｎ）により特定されるディザマスクは、ユニークであると言える。各閾値群番号Ｂ（ｍ，ｎ）により特定される２×２の閾値群を、局所的ディザマスクとも呼ぶ。
【００７５】
この一つの閾値群番号Ｂ（ｍ，ｎ）から、多値化テーブルＴＢ１を構成する対応関係の一つが作られる。以下、その手法について説明する。図１４は、図１２に示した入力階調値とドット形成の割合との関係と、ディザマスクの一つの閾値群番号Ｂ（１，３）とから、多値化結果値を求める手順を示している。この処理は、入力階調値の範囲０〜２５５について順次行なわれる。画像をブロックＰ（Ｂｘ，Ｂｙ）に分け、そのうちの一つのブロックを代表する階調値がＤＳ１であるとする。図１２において、入力階調値が値ＤＳ１であれば、この入力階調値ＤＳ１に対する小ドットの形成の割合ＬＳ２が値４１、中ドットの形成の割合ＬＭ２が値１９０、大ドットの形成の割合ＬＬ２が値１２となる。各値は、図１３の閾値が１〜２５５の範囲の値をとることから、これに合わせて、０〜２５５の値をとるものとしてある。従って、大ドットの形成の割合ＬＬ２が値１２であるとは、１２／２５５≒０．０５、つまり入力階調値がＤＳ１であるときの大ドットの形成の割合が、全体の約５％となるべきことを意味している。そこで、この各ドットの形成の割合を以下ドット密度と呼ぶ。
【００７６】
閾値群番号Ｂ（１，３）で特定される局所的ディザマスクは、図１３に示されている様に、左上から右下にかけて順番に「７０，１８６，２４２，５」の４つの閾値を有している。そこで、まずブロックＰ（Ｂｘ，Ｂｙ）における大ドットのドット密度ＬＬ２＝１２と、閾値群番号Ｂ（１，３）の各閾値とを比較する。この結果、右下の画素については、１２≧５なので、大ドットが形成されることになる。次に、ブロックＰ（Ｂｘ，Ｂｙ）における中ドットのドット密度を取り出し、これに大ドットのドット密度を加えて、ドット密度の合計値ＴＴ２を求める。つまり、ＴＴ２＝ＬＬ２＋ＬＭ２＝１２＋１９０＝２０２、となる。この合計値ＴＴ２を用いて、閾値群番号Ｂ（１，３）内の各閾値との比較を再度行なう。そうすると、右下の画素（対応する閾値＝５）と右上の画素（対応する閾値＝１８６）と左上の画素（対応する閾値＝７０）とにおいて、ドット密度の合計値ＴＴ２が、対応する閾値より大きくなる。右下の画素には既に大ドットが配置されているので、この結果左上の画素と右上の画素とに中ドットが配置される。
【００７７】
最後に、ブロックＰ（Ｂｘ，Ｂｙ）における小ドットのドット密度を取り出し、これに既に求めたドット密度の合計値ＴＴ２を加えて、ドット密度の合計値ＴＴ２を更新する。つまり、ＴＴ２＝ＬＬ２＋ＬＭ２＋ＬＳ２＝１２＋１９０＋４１＝２４３、となる。この合計値ＴＴ２を用いて、閾値群番号Ｂ（１，３）内の各閾値との比較を再度行なう。そうすると、全ての画素において、更新したドット密度の合計値ＴＴ２が、対応する閾値より大きくなる。右下の画素には大ドットが、左上と右上の画素には中ドットが、それぞれ既に配置されているので、この結果左下の画素に小ドットが配置される。このように、各ドット密度を順次加えて、閾値群内の各閾値との比較を行なうのは、いわゆるディザ連続の考え方による。閾値群番号Ｂ（１，３）を用いると、ブロックＰ（Ｂｘ，Ｂｙ）には、結果的に、大ドット１、中ドット２、小ドット１が配置された。
【００７８】
今、２×２、つまり４つの画素からなるブロックに大中小のドットを配置する場合を考えると、図１５に示したように、大中小全てが配置されない場合から全ての画素に大ドットが形成される場合まで、全部で３５通りの組合せがあることが分かる。この３５通りの組合せを区別するために、多値化階調値として０〜３４を割り当てた。多値化階調値は、ドットの種類と個数が一意に定まれば、どのような順序で割り当てても差し支えないが、ここでは、小ドット相当個数の順とした。小ドットの相当個数とは、画素群に大中小ドットが適宜割り当てられたとき、画素群として、小ドット何個分のドットが配置された状態に相当するかを示す数値である。本実施形態では、大ドット１個が中ドット２個分に相当し、中ドット１個が小ドット２個分に相当するものとした。この関係に従って、形成されるドットの種類と個数から、画素群当り、小ドット何個分の階調表現に相当するかを求めたのが、図９である。図９は、小ドット相当個数の小さい方から順に配列し、この順序に多値化階調値（０〜３４）を割り当てている。つまり、最も小ドット相当個数が小さくなる場合（一つもドットが形成されない場合）を多値化結果値０とし、最も小ドット相当個数が大きくなる場合（４つの画素全てに大ドットが形成される場合）を多値化結果値３４として、多値化結果値を割り当てた。図８に示した閾値群番号Ｂ（１，３）では、大中小ドットがそれぞれ１、２、１個形成されているので、図９の場合には、多値化結果値＝２５となる。閾値群番号Ｂ（ｍ，ｎ）が４つの閾値から構成されている場合には、多値化結果値は、０〜３４までの３５種類しか存在しないので、６ビット有れば全ての多値化結果値を表現することができる。
【００７９】
他方、ブロックＰ（Ｂｘ，Ｂｙ）に含まれる４つの画素にどの順序でドットが形成されるかは、そのブロックＰ（Ｂｘ，Ｂｙ）に対応する閾値群番号Ｂ（ｍ，ｎ）の閾値の大小の組み合わせにより決まる。図１４に示したＢ（１，３）では、ドットは、右下→左上→右上→左下の順序で形成される。この順序を順序値Ｏｄ（ｍ，ｎ）と呼ぶ。図１３に示したディザマスクを例にとれば、図１６に示したように、閾値群が異なれば、順序値も異なるが、閾値群番号Ｂ（１，２）と閾値群番号Ｂ（１，３）のように、順序値が同じになる場合も存在する。ブロックＰ（Ｂｘ，Ｂｙ）が４つの画素から構成されている場合には、この順序値は、４！＝２４通りしか存在しない。従って、５ビットあれば、全ての順序値Ｏｄ（ｍ，ｎ）を表現できる。
【００８０】
閾値群番号Ｂ（ｍ，ｎ）は、本実施形態では、Ｂ（１，１）〜Ｂ（３２，３２）まで、１０２４個存在する。一つの閾値群番号Ｂ（ｍ，ｎ）に対応する局所的ディザマスクを用い、入力階調値を値０〜最大値２５５まで変化させたとき、大中小のドットがどのように現れるかを調べると、図１５に示した全ての場合が生じる訳ではなく、閾値の組み合わせによって、３５種類の多値化結果値のうち、１０程度の多値化結果値が現れる。この様子を図１７に示した。図１５の多値化結果値は濃度の小さい組み合わせから大きい組合せまで、順番に並べてあるので、ブロック全体の入力階調が大きくなると、多値化結果値も順次大きな値となるが、連続するとは限らず、多くの場合、不連続な値となる。全ての閾値群番号Ｂ（ｍ，ｎ）について、入力階調値の増加に従って、変化する多値化結果値を並べた図１７のデータを、多値化テーブルＴＢ１と呼ぶ。この多値化テーブルＴＢ１は、元になったディザマスクの内容（閾値の配列）によっても変わるが、入力階調値とドット形成の割合が異なれば（例えば図１２）、同様に変化する。この結果、元になったディザマスク等が異なれば、多値化テーブルＴＢ１を用いて再現される画像も変化する。
【００８１】
以上説明した各要素、つまりブロックＰ（Ｂｘ，Ｂｙ）、これを多値化するための閾値群番号Ｂ（ｍ，ｎ）、各閾値群番号Ｂ（ｍ，ｎ）から求められた多値化テーブル、および順序値Ｏｄ（ｍ，ｎ）を用いて、ブロックＰ（Ｂｘ，Ｂｙ）からドットの配置を求める流れについてまとめる。図１８は、ブロックＰ（Ｂｘ，Ｂｙ）からドット配置を求めるまでの処理の流れを示す説明図である。図１８に示すように、まずブロックＰ（Ｂｘ，Ｂｙ）が特定されると、このブロックＰ（Ｂｘ，Ｂｙ）に含まれる４つの画素の階調値ｄａ，ｄｂ，ｄｃ，ｄｄのうち、第１処理データＤ（ｘ，ｙ）が値１の画素を除く画素の平均値ＰＡ（Ｂｘ，Ｂｙ）を求める。この例で、右下の画素の第１処理データＤが値１であると仮定すると、平均値ＰＡ（Ｂｘ，Ｂｙ）は、（ｄａ＋ｄｂ＋ｄｃ）／３となる。他方、このブロックに適用する閾値群番号Ｂ（ｍ，ｎ）を求める。ディザマスクは、３２×３２のブロックに対応する大きさを有するので、対応する閾値群番号Ｂ（ｍ，ｎ）は、次式（１）により求めることができる。
ｍ＝（（Ｂｘ−１） ｍｏｄ ３２）＋１
ｎ＝（（Ｂｙ−１） ｍｏｄ ３２）＋１        …  （１）
従って、ブロックＰ（Ｂｘ，Ｂｙ）が与えられれば、このブロックＰ（Ｂｘ，Ｂｙ）に適用すべき閾値群番号Ｂ（ｍ，ｎ）を知ることができる。なお、ここで「Ａ  ｍｏｄ  Ｂ」とは、値Ａを値Ｂで除した場合の剰余を意味している。
【００８２】
図１１のステップＳ５００に示したハーフトーン処理では、まず、ブロックＰ（Ｂｘ，Ｂｙ）に含まれる画素の階調値の平均値ＰＡ（Ｂｘ，Ｂｙ）と閾値群番号Ｂ（ｍ，ｎ）とを用いたエンコード処理を行なう。エンコード処理とは、図１７に例示した多値化テーブルＴＢ１を参照して、平均値ＰＡ（Ｂｘ，Ｂｙ）に対応する多値化結果値を取得することを言う。続いて、こうして得られた多値化結果値と閾値群番号Ｂ（ｍ，ｎ）の順序値Ｏｄ（ｍ，ｎ）とを用いたデコード処理を行なう。デコード処理とは、上記のエンコード処理で得られた多値化結果値と、閾値群番号に対応した順序値Ｏｄ（ｍ，ｎ）とにより、ドットの配置を決定する処理である。エンコード処理により、図１７の多値化テーブルを参照することで、多値化結果値として、例えば値２５が得られれば、大ドット１、中ドット２、小ドット１形成することになる。閾値群番号Ｂ（ｍ，ｎ）に対応する順序値が、左上→右上→左下→右下であれば、図１８の下欄に示したように、この順に、大ドット、中ドット、中ドット、小ドットが形成される。以上の処理が、ハーフトーン処理（ステップＳ５００）に相当する。
【００８３】
続いて行なわれるマスク処理（ステップＳ５１０）は、図１８の最下欄に示したように、得られたブロック内のドット形成の結果を、第１処理データＤでマスクする処理である。第１処理データＤは、１ビットのデータとして、白色の画素については値１が設定されているから、この画素にはドットを形成する必要がない。そこで、この第１処理データＤを用いて、ハーフトーン処理の結果をマスクするとことにより、最終的なドット配置が求められる。
【００８４】
Ｂ３）第２実施形態の効果：
以上説明した第２実施形態は、図３に示した第３の組合わせに相当する。この形態では、画像出力装置としてのコンピューター８０から画像形成装置としてのカラープリンター２０にデータを出力する際、データの容量を、７／２４に圧縮できるなど、第１実施形態と同様に効果を奏する。その上、第２実施形態では、画像データからドットデータを求める際、ブロックを単位として、多値化テーブルＴＢ１を参照して多値化結果値を求め、これを順序値テーブルを用いてデコードするだけでドット配置を求めることができる。即ちハーフトーン処理において閾値との大小の判断などを繰り返す必要がなく、処理を高速化できるという利点が得られる。
【００８５】
上記第２実施形態では、コンピューター８０からカラープリンター２０へのデータ転送は、ＲＧＢデータのまま行なったが、画像出力装置であるコンピューター８０内で、第２処理データに対する色変換を済ませ、更に大中小のドット密度への変換と、多値化テーブルＴＢ１の参照とを行なって、多値化結果値を得るところまで行なっても良い。この場合、この多値化結果値を、第１処理データＤ（ｘ，ｙ）と共に出力するものとすれば、上述したように、多値化結果値は、２×２画素に大中小ドットを形成するという条件下では、色数が例えばＣＭＹＫの４色に増えても各色当り最大６ビットで済むので、４画素全体では６ビット×４色＝２４ビットで済み、元の４画素にＲＧＢ各色８ビット必要だったことを考えると、
１／２４＋（６×４／（４×２４）＝７／２４
の圧縮率を維持できる。これは、図３に示した第４の組合わせに相当する。ここで扱っている多値化結果値は、図１７に示した変換過程におけるいわば中間コードであって、最終的な大中小ドットのオンオフを各画素２ビットで表現しているものとは相違する。４画素内のドット配置を表わすデータで考えると、画素群として２ビット×４画素×色数＝３２ビット必要になる。従って、４画素における最終的なドット配置を表わすデータであっても、４色の場合の圧縮率は、
１／２４＋３２／９６＝３／８
となる。
【００８６】
こうした多値化テーブルを用いたエンコード・デコードの手法は他にも種々のものがある。例えば、図１７を用いて既に説明したように、一つの閾値群番号Ｂ（ｍ，ｎ）に着目した場合、０〜３４の全ての多値化結果値が現れる訳ではない。一つの閾値群番号Ｂ（ｍ，ｎ）を取りだした場合、取り得る多値化結果値の数、つまり大中小ドットの数や配置が何回切り替わるかは、たかだか１２程度、最大でも１６に納まる。そこで、このことに注目し、画素群階調値が値０から２５５になるまでに、ドット配置が切り替わった何回目に当たるかを表わすドット切替階調値を特定し、これを用いてエンコードすることができる。このドット切替階調値は、各色４ビットで表現できるので、これを用いたとすれば、インク色が４色の場合の圧縮率は、
１／２４＋１６／９６＝５／２４
となる。
【００８７】
Ｃ．その他の実施形態：
Ｃ１）第１，第２処理データの他の形態：
上記の各実施形態では、第１処理データＤ（ｘ，ｙ）は、白色か否かにより設定したので、白色の地に黒文字などの画像のエッジを明確にできる。もとより、黒地に白文字などの場合には、第１処理データＤ（ｘ，ｙ）を、黒色か否かにより設定するものとしても良い。白黒に限らず、所定の色か否かにより設定するものとしても良い。
【００８８】
また、原画像は、８ビットに限る必要はない。例えば原画像データがＲＧＢ各色４ビットで表現されている場合には、第２処理データが、２×２画素の代表階調値であれば、
１／１２＋１／４＝１／３
にデータを圧縮できる。この例では、第２処理データが、２×２画素の代表値として構成されていれば、原画像は、単色でかつ最小２ビットで階調表現されるものであっても、圧縮率は、
１／２＋１／４＝３／４
となり、トータルのデータ量は圧縮されることになる。
【００８９】
換言すれば、原画像がＲＧＢ各色８ビットで表現されており、第１処理データが１ビットであれば、２×４画素を１ブロックとした場合の圧縮率は、
１／２４＋１／（２×４）＝１／６
４×４画素を１ブロックとした場合の圧縮率は、５／４８となる。
【００９０】
Ｃ２）画像出力装置としての他の構成：
画像出力装置は、コンピューター８０に限らず、他の装置であってもよい。例えば、デジタルカメラや携帯電話などの携帯端末であっても差し支えない。また、画像出力装置は、スキャナーとカラープリンター２０とを備えた、いわゆる複合機であっても差し支えない。複合機の場合、スキャナーを構成するモジュールからカラープリンターを構成するモジュールへデータを出力する際、本発明を適用すれば、データを圧縮でき、データ転送に要する時間を短縮できる。
【００９１】
Ｃ３）画像形成装置としての他の構成：
画像形成装置は、カラープリンター２０に限らず、液晶ディスプレイやＥＬディスプレイ、プロジェクターなどの表示装置であっても差し支えない。また、プリンターとしては、モノクロプリンターや特色インクを備えたプリンターなどであっても差し支えない。更には、ラインプリンターやページプリンターにも適用できる。
【００９２】
Ｃ４）処理の全部または一部をハードウェアにより実施する実施形態：
上記の各実施形態は、ドット配置の決定をソフトウェアにより実現したが、ハードウェアにより実現することも可能である。特に、多値化テーブルをルックアップする処理は、ディスクリートな回路構成により実現することは容易である。ハードウェアにより実現した場合は、この画像処理システムをプリンターや複合機などに組み込むことが容易になる。
【００９３】
Ｃ５）その他の実施形態：
本発明は、ソフトウェアによる実施かハードウェアによる実施かを問わず、上記のような画像形成システムとしての実施の他、画像出力装置単独での実施、あるいは画像形成方法としての実施なども可能である。更には、プリンターや複合機としての実施も可能である。また、本明細書において必須の構成であると特定していない構成については、適宜省略可能である。
【符号の説明】
【００９４】
１０…画像処理システム、              ２０…カラープリンター
３０…キャリッジモーター、            ３１…無端ベルト
３２…プリー、    ３３…シャフト、    ３５…紙送りモーター
３６…プラテン、  ４０…キャリッジ、  ４１…印字ヘッド
４２、４３…インクカートリッジ、      ４４〜４７…インク吐出用ヘッド
５９…インタフェースパネル、          ６０…制御回路
８０…コンピューター、    ８１…ＣＰＵ、    ８２…メモリー
【図１】
2018137511.tif 000003
【図２】
2018137511.tif 000004
【図３】
2018137511.tif 000005
【図４】
2018137511.tif 000006
【図５】
2018137511.tif 000007
【図６】
2018137511.tif 000008
【図７】
2018137511.tif 000009
【図８】
2018137511.tif 000010
【図９】
2018137511.tif 000011
【図１０】
2018137511.tif 000012
【図１１】
2018137511.tif 000013
【図１２】
2018137511.tif 000014
【図１３】
2018137511.tif 000015
【図１４】
2018137511.tif 000016
【図１５】
2018137511.tif 000017
【図１６】
2018137511.tif 000018
【図１７】
2018137511.tif 000019
【図１８】
2018137511.tif 000020