(57)【要約】【課題】高速かつ高い圧縮率で二階調の画像を圧縮することができる画像処理装置および画像処理プログラムを提供すること。【解決手段】圧縮処理（Ｓ６）によれば、比較ラインと、処理ラインローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す展開回数１３８８が記憶されるので、処理が簡単であって、高速で処理できる。また、この展開回数１３８８は、比較ラインと一致すると判断された処理ラインローテートデータの行数であるので、展開回数１３８８のデータサイズは小さく、高い圧縮率が得られる。【選択図】図３
2008187669.tif 000002
【特許請求の範囲】
【請求項１】
多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換手段と、その階調変換手段により変換された一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮手段とを備えた画像処理装置において、
前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較手段を備え、
前記比較手段は、
比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶手段と、
比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成手段とを備え、
前記圧縮手段は、
前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶手段を備えたことを特徴とする画像処理装置。
【請求項２】
前記圧縮手段は、
前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶手段を備えたものであることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記一行前一致データ記憶手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得手段を備え、
前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、
前記圧縮手段は、前記ローテート条件取得手段により取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶手段を備えることを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、１画素ずつローテートさせたローテートデータを作成するものであることを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項７】
多階調画像を構成する各画素の階調値が、ディザマトリクスを用いて、二階調の階調値に変換されることにより得られた画像データであり、一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮ステップを画像処理装置に実行させるための画像処理プログラムであって、
前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較ステップを備え、
前記比較ステップは、
比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶ステップと、
比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成ステップとを備え、
前記圧縮ステップは、
前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶ステップを備えたことを特徴とする画像処理プログラム。
【請求項８】
前記圧縮ステップは、
前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶ステップを備えたものであることを特徴とする請求項７記載の画像処理プログラム。
【請求項９】
前記一行前一致データ記憶ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする請求項７または８に記載の画像処理プログラム。
【請求項１０】
多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換ステップを、前記画像処理装置に実行させるものであり、
その階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする請求項７から９のいずれかに記載の画像処理プログラム。
【請求項１１】
前記ディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得ステップを備え、
前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、
前記圧縮ステップは、前記ローテート条件取得ステップにより取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶ステップを備えることを特徴とする請求項７から１０のいずれかに記載の画像処理プログラム。
【請求項１２】
前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、１画素ずつローテートさせたローテートデータを作成するものであることを特徴とする請求項７から１０のいずれかに記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理プログラムに関し、特に、二階調の画像を高速かつ高い圧縮率でデータを圧縮することができる画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【０００２】
画像の圧縮方式として、同一色の連続数を利用するランレングス符号を用いた圧縮方法が知られている。この圧縮方法では、同一色の画素が複数連続している場合、その連続する色の値を、「色の値×回数」という値に置き換えることにより、データを圧縮している。したがって、同一色の連続数が多いほど、より効果的な圧縮が可能である。
【０００３】
一方、多階調画像の階調を擬似的に再現するために、ディザ法による階調変換処理がなされる場合がある。この場合、階調変換後の画像データは、同一色の連続が少なくなるために、ランレングス符号化では圧縮効率が低くなってしまう。そこで、ランレングス符号化に先立ち、ディザパターンに応じたビット列の並べ替え処理をすることで、連続する同一色を増やし、圧縮率を高める方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００２−３３５４０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、ビット列の並べ替えを複数パターンで行い、さらに、その並べ替え結果を比較して、最も圧縮率が高い並び替えを選択しなければならず、処理が複雑であって、処理に時間がかかるという問題点があった。
【０００５】
そこで本発明は、高速かつ高い圧縮率で二階調の画像を圧縮することができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
この目的を達成するために、請求項１記載の画像処理装置は、多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換手段と、その階調変換手段により変換された一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮手段とを備えたものであって、前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較手段を備え、前記比較手段は、比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶手段と、比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成手段とを備え、前記圧縮手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶手段を備えたことを特徴とする。
【０００７】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記圧縮手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶手段を備えたものであることを特徴とする。
【０００８】
請求項３記載の画像処理装置は、請求項１または２に記載の画像処理装置において、前記一行前一致データ記憶手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする。
【０００９】
請求項４記載の画像処理装置は、請求項１から３のいずれかに記載の画像処理装置において、前記階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする。
【００１０】
請求項５記載の画像処理装置は、請求項１から４のいずれかに記載の画像処理装置において、前記階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得手段を備え、前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、前記圧縮手段は、前記ローテート条件取得手段により取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶手段を備えることを特徴とする。
【００１１】
請求項６記載の画像処理装置は、請求項１から４のいずれかに記載の画像処理装置において、前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、１画素ずつローテートさせたローテートデータを作成するものであることを特徴とする。
【００１２】
請求項７記載の画像処理プログラムは、多階調画像を構成する各画素の階調値が、ディザマトリクスを用いて、二階調の階調値に変換されることにより得られた画像データであって、一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮ステップを画像処理装置に実行させるためのプログラムであって、前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較ステップを備え、前記比較ステップは、比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶ステップと、比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成ステップとを備え、前記圧縮ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶ステップを備えたことを特徴とする。
【００１３】
請求項８記載の画像処理プログラムは、請求項７記載の画像処理プログラムにおいて、前記圧縮ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶ステップを備えたものであることを特徴とする。
【００１４】
請求項９記載の画像処理プログラムは、請求項７または８に記載の画像処理プログラムにおいて、前記一行前一致データ記憶ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする。
【００１５】
請求項１０記載の画像処理プログラムは、請求項７から９のいずれかに記載の画像処理プログラムにおいて、多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換ステップを、前記画像処理装置に実行させるものであり、その階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする。
【００１６】
請求項１１記載の画像処理プログラムは、請求項７から１０のいずれかに記載の画像処理プログラムにおいて、前記ディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得ステップを備え、前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、前記圧縮ステップは、前記ローテート条件取得ステップにより取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶ステップを備えることを特徴とする。
【００１７】
請求項１２記載の画像処理プログラムは、請求項７から１０のいずれかに記載の画像処理プログラムにおいて、前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、１画素ずつローテートさせたローテートデータを作成するものであることを特徴とする。
【発明の効果】
【００１８】
請求項１記載の画像処理装置によれば、比較手段により、画像データの各行の行データが、それぞれの行の一行前の行データと比較される。ここで、比較対象データ記憶手段により、比較処理を行う行の一行前の行データが比較対象データとして記憶され、比較用ローテートデータ作成手段により、比較処理を行う行の行データを構成する階調値の各々が、行方向に平行な所定の方向に、所定画素分ローテートされたローテートデータが作成される。そして、比較手段による比較の結果、比較対象データと、ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できると共に、高い圧縮率でデータを圧縮することができるという効果がある。
【００１９】
請求項２記載の画像処理装置によれば、請求項１記載の画像処理装置の奏する効果に加え、比較手段による比較の結果、比較対象データと、ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができるという効果がある。
【００２０】
請求項３記載の画像処理装置によれば、請求項１または２に記載の画像処理装置の奏する効果に加え、比較手段による比較の結果、比較対象データと、ローテートデータとが一致しないと判断されるまでの間に、比較手段による比較の結果、比較対象データと、ローテートデータとが一致すると判断されたローテートデータの行数に相当する値が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できるという効果がある。また、比較対象データと、ローテートデータとが一致すると判断されたローテートデータが多数存在する場合であっても、その行数に相当する値が記憶されるので、高い圧縮率で圧縮することができるという効果がある。
【００２１】
請求項４記載の画像処理装置によれば、請求項１から３のいずれかに記載の画像処理装置の奏する効果に加え、階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【００２２】
ここで万線パターンとは、規則的に密に並んだ平行線のように見えるパターンであって、画素の濃度に応じて平行線の太さを変更することで、階調を擬似的に表現することができるパターンである。このような万線パターンで形成された画像の一行を拡大して見てみると、その一行は、色材が定着されない画素と、色材が定着された画素とが規則的に配列されて構成されている。そして、一定の階調を示す領域を構成する複数行を拡大してみてみると、各行における色材定着領域の並びは、一行前における色材定着領域の並びと対応関係にある。よって、階調変換手段が、万線パターンを形成するディザマトリクスを用いて階調値を変換するものである場合、一行前の階調変換データとローテートデータとが一致すると判断される可能性が高く、高い圧縮効率が得られるのである。
【００２３】
請求項５記載の画像処理装置によれば、請求項１から４のいずれかに記載の画像処理装置の奏する効果に加え、ローテート条件取得手段により、階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向情報に基づく方向に、ローテート量情報に基づく画素数分ローテートされたローテートデータが作成されるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【００２４】
請求項６記載の画像処理装置によれば、請求項１から４のいずれかに記載の画像処理装置の奏する効果に加え、比較用ローテートデータ作成手段により、比較処理を行う行の行データを構成する階調値の各々が、１画素ずつローテートされたローテートデータが作成される。よって、階調変換手段により用いられたディザマトリクスが、一行ずれる毎に１画素分ずれたパターンを形成するものである場合、比較対象データとローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【００２５】
請求項７記載の画像処理プログラムによれば、比較ステップにより、画像データの各行の行データが、それぞれの行の一行前の行データと比較される。ここで、比較対象データ記憶ステップにより、比較処理を行う行の一行前の行データが比較対象データとして記憶され、比較用ローテートデータ作成ステップにより、比較処理を行う行の行データを構成する階調値の各々が、行方向に平行な所定の方向に、所定画素分ローテートされたローテートデータが作成される。そして、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できると共に、高い圧縮率でデータを圧縮することができるという効果がある。
【００２６】
請求項８記載の画像処理プログラムによれば、請求項７記載の画像処理プログラムの奏する効果に加え、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができるという効果がある。
【００２７】
請求項９記載の画像処理プログラムによれば、請求項７または８に記載の画像処理プログラムの奏する効果に加え、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致しないと判断されるまでの間に、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致すると判断されたローテートデータの行数に相当する値が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できるという効果がある。また、比較対象データと、ローテートデータとが一致すると判断されたローテートデータが多数存在する場合であっても、その行数に相当する値が記憶されるので、高い圧縮率で圧縮することができるという効果がある。
【００２８】
請求項１０記載の画像処理プログラムによれば、請求項７から９のいずれかに記載の画像処理プログラムの奏する効果に加え、階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【００２９】
請求項１１記載の画像処理プログラムによれば、請求項７から１０のいずれかに記載の画像処理プログラムの奏する効果に加え、ローテート条件取得ステップにより、ディザマトリクスに対応したローテート方向情報とローテート量情報とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向情報に基づく方向に、ローテート量情報に基づく画素数分ローテートされたローテートデータが作成されるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【００３０】
請求項１２記載の画像処理プログラムによれば、請求項７から１０のいずれかに記載の画像処理プログラムの奏する効果に加え、比較用ローテートデータ作成ステップにより、比較処理を行う行の行データを構成する階調値の各々が、１画素ずつローテートされたローテートデータが作成される。よって、ディザマトリクスが、一行ずれる毎に１画素分ずれたパターンを形成するものである場合、比較対象データとローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明における画像処理装置として機能するパーソナルコンピュータ１０（以下、ＰＣ１０と称する）を含む印刷システムの全体構成を示すブロック図である。図１に示されるような印刷システムは、ＰＣ１０と、ＰＣ１０に接続されるプリンタ５０とを備えている。
【００３２】
ＰＣ１０は、後述する画像データ送信処理（図６参照）によって、ＰＣ１０に入力された画像データに基づき、プリンタ５０において記録用紙に印刷を施すためのデータを生成し、圧縮してプリンタ５０に送信する装置である。
【００３３】
ＰＣ１０は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ１４とを備えており、これらはバスライン２００を介して互いに接続されている。また、バスライン２００は、入出力ポート１９にも接続されている。この入出力ポート１９には、入力装置１５と、表示装置１６と、プリンタ５０と接続するためのインターフェイス１８（Ｉ／Ｆ１８）が接続されている。
【００３４】
ＣＰＵ１１は、このＰＣ１０を総括的に制御する中央演算処理であり、図７および図８のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ＲＯＭ１２は、ＣＰＵ１１により実行される各種制御プログラムや、それらの制御プログラムをＣＰＵ１１により実行する上で必要なデータなどを格納した書き換え不能なメモリである。
【００３５】
ＲＡＭ１３は、ＣＰＵ１１により実行される各種処理に必要なデータやプログラムを一時的に記憶するためのメモリである。このＲＡＭ１３は、入力データ記憶エリア１３１と、色変換データ記憶エリア１３２と、二値化データ記憶エリア１３３と、処理ライン記憶エリア１３４と、処理ラインローテートデータ記憶エリア１３５と、比較ライン記憶エリア１３６と、一行分圧縮データ記憶エリア１３７と、展開回数カウンタ１３８と、圧縮データ記憶エリア１３９とが設けられている。
【００３６】
入力データ記憶エリア１３１は、一般的な文書データ作成ソフト、表計算ソフト、グラフィックデザインソフトなどのアプリケーションで作成された画像（特許請求の範囲に記載の多階調画像の一例）について印刷指示が出された場合に、その印刷対象画像のデータが入力されるメモリである。なお入力データ記憶エリア１３１に記憶されるデータ（以下、入力データと称する）は、ビットマップ形式のデータであって、各画素の階調値が、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の各色について、例えば０から２５５までの２５６階調で表現されたデータである。この入力データ記憶エリア１３１に記憶された入力データは、後述する色変換処理によって色変換データに変換される。
【００３７】
色変換データ記憶エリア１３２は、色変換処理により得られた色変換データが記憶されるエリアである。この色変換データは、各画素の階調値が、Ｃ（シアン），Ｍ（マゼンダ），Ｙ（イエロー），Ｋ（ブラック）の各色について、例えば０から２５５までの２５６階調で表現されたデータである。この色変換データ記憶エリア１３２に記憶されたデータは、二値化処理によって、二値化データに変換される。
【００３８】
二値化データ記憶エリア１３３は、二値化処理により得られた二値化データが記憶されるエリアである。この二値化データは、各画素の階調値が、例えば、「１」または「０」とされた２値のデータである。
【００３９】
図２（ａ）を参照して、入力データ記憶エリア１３１、色変換データ記憶エリア１３２、および二値化データ１３３の各々に記憶されるデータについてさらに説明する。図２（ａ）は、入力データ、色変換データ、および二値化データを模式的に示す図である。理解を容易にするために、ここでは、各データを、８画素分のみ図示している。
【００４０】
図２（ａ）に示すように、入力データは、ＰＣ１０で色を表現するための表色系であるＲ，Ｇ，Ｂの各々の階調値で構成されている。ここでは、この８画素はレッド（赤）色の画素であって、各画素の階調値が（Ｒ，Ｇ，Ｂ）＝（２５５，０，０）であるものとして説明する。そしてＲ，Ｇ，Ｂの各階調値を、図７に示す色変換処理（Ｓ２）により、プリンタ５０にて画像を形成するための表色系であるＣ，Ｍ，Ｙ，Ｋの階調値に変換することにより、色変換データが得られる。
【００４１】
図２（ａ）に示すように、色変換データは、Ｃ，Ｍ，Ｙ，Ｋの各々の階調値で構成されている。ここでは、色変換により、各画素の階調値が（Ｃ、Ｍ，Ｙ，Ｋ）＝（０，２２０，１３３，０）とされている。すなわち、元の画像の赤色を、マゼンダの階調２２０と、イエローの階調１３３との組み合わせが表現しているのである。
【００４２】
このように、入力データおよび色変換データは、各色の階調値が、０から２５５までの２５６階調で表現されるデータであるが、プリンタ５０では、各画素について、色材を定着するか、または色材を定着しないかのいずれかにより画像を表現する。よって、図２に示すように、２５６階調の色変換データは、図７に示す二値化処理（Ｓ４）により、Ｃ，Ｍ，Ｙ，Ｋの各色に分離され、各画素の階調値が「１」または「０」のいずれかとされた４色の二値化データに変換される。
【００４３】
ここでは、二値化処理として、ディザマトリクスを用いた処理が行われたものとして説明する。ディザマトリクスは、例えば、４０×４０のマトリクスの各々に、各画素の階調値を「１」または「０」に変換するための閾値が設定されたデータである。このディザマトリクスを色変換データに重ねあわせ、各マトリクスの閾値と対応する各画素における階調値とを比較して、「１」または「０」決定する。このようにして、色変換データの各画素の値をディザマトリクスの閾値と比較することにより、元の画素の階調に応じて、一定の規則の基に処理対照色の「１」または「０」が出現し、「１」の出現頻度によって中間調を擬似的に表現することができる。なお、後述するように、各色には、それぞれ別の種類のディザマトリクスが適用されるので、図２（ａ）にも示すように、「１」とされた画素が形成するパターンは各色毎に異なっている。
【００４４】
図２（ｂ）は、ディザマトリクスを用いた二値化処理により得られた、マゼンダの二値化データを模式的に示す図であり、図２（ｂ）における横方向の一列が、それぞれ一行分の画素を構成する。なお、図２（ｂ）において、階調値が「１」である画素については色を付し、階調値が「０」である画素については色を付していない。以下、階調値が「１」である画素をドットオンの画素と称し、階調値が「０」である画素をドットオフの画素と称する。
【００４５】
図２（ｂ）に示すように、ディザマトリクスを用いて各画素の階調値を二値化すると、ドットオンの画素が一定の規則の基に出現するので、ドットオンの画素により所定のパターンが形成されることとなる。図２（ｂ）には、一行について７個のドットオンの画素が連続すると、次に、ドットオフの画素が３個連続するパターンを図示している。このように、１０個中７個の画素をドットオンとすることにより、全体として７０％の階調を表現することができる。
【００４６】
ここで、図２（ｂ）に示すパターンでは、一行においてドットオンの画素が形成するパターンは、その行の一行前の行のパターンを、３画素分移動させたパターンである。よって、このようなパターンの行が複数行集まって形成するパターンは、全体として、密に並んだ平行線のように見えるので、万線パターンと称される。
【００４７】
ここで、一行内におけるドットオンが連続する領域を、色材定着領域と称する。そして、図２（ｂ）に示すように、各色材定着領域の重心Ｐが並ぶ線と、行方向とがなす角を、以下、ディザパターンの角度θと称する。このディザパターンの角度θは、二値化処理の際に用いられるディザマトリクスの種類によって変化する。このディザパターンの角度θが０°である場合、万線パターンは、行方向に平行な平行線のパターンを形成することとなる。また、ディザパターンの角度が９０°である場合、万線パターンは、行方向に垂直な平行線のパターンを形成することとなる。これに対し、ディザパターンの角度θが、０°、９０°、１８０°以外の万線パターン、すなわち、行方向に対し斜めに交わる万線パターンを、斜め万線パターンと称することとする。
【００４８】
本実施形態では、Ｃ，Ｍ，Ｙ，Ｋの各階調値は、それぞれ別のディザマトリクスを用いて二値化処理されるものである。よって、Ｃ，Ｍ，Ｙ，Ｋの各色は、それぞれ異なるパターンを形成することとなる。
【００４９】
図１に戻り説明する。処理ライン記憶エリア１３４は、二値化データから読み出された、処理対象の一行分の行データ（以下、処理ラインと称する）が記憶されるエリアである。処理ラインローテートデータ１３５は、処理ラインを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせることにより作成された処理ラインローテートデータ（特許請求の範囲に記載のローテートデータの一例）が記憶されるエリアである。比較ライン記憶エリア１３６は、処理ラインの一行前の行データ（以下、比較ラインと称する）が記憶されるエリアである。一行分圧縮データ記憶エリア１３７は、処理ラインをランレングス圧縮することにより得られた一行分圧縮データを記憶するエリアである。展開回数カウンタ１３８は、後述する展開回数を記憶するカウンタである。圧縮データ記憶エリア１３９は、後述する圧縮処理において、二値化データが圧縮されることにより作成された圧縮データが記憶されるエリアである。なお、この圧縮データ記憶エリア１３９に格納された圧縮データは、インターフェイス１８を介してプリンタ５０に出力される。
【００５０】
図３を参照して、処理ライン、ローテートデータ、比較ライン、一行分圧縮データ、展開回数、圧縮データの各々について説明する。図３は、二値化データから圧縮データが作成されるまでの流れを模式的に示す図である。図３（ａ）は、マゼンダの二値化データを模式的に示す図である。まず、最初に、一行分の画素の階調値から構成される行データが複数集まって構成される二値化データ（特許請求の範囲に記載の画像データの一例）から、一行目の行データが読み出され、比較ライン（特許請求の範囲に記載の比較対象データの一例）として比較ライン記憶エリア１３６に格納される。次に、比較ラインの次の行の行データが読み出され、処理ラインとして処理ライン記憶エリア１３４に記憶される。
【００５１】
図３（ｂ）は、処理ラインをローテートさせることにより作成される処理ラインローテートデータを模式的に示す図である。ここでいうローテートとは、一行分の画素の階調値から構成される処理ラインの各階調値を、それぞれ、行方向に平行な所定方向に、所定画素分ずれた画素の階調値として移動させると共に、その所定方向の一端にあふれた階調値を、他端の画素の階調値として付加することである。ここで、各行の画素のうち、図３に向かって最左の画素を先頭の画素と称し、反対側の画素を末尾の画素と称する。
【００５２】
図３（ｂ）では、末尾から先頭方向（図３に向かって左方向）に３画素分ローテートする場合を例にとって図示している。上述したように、各画素の階調値を、それぞれ、３画素分先頭側の画素の階調値として移動させると、一行の先頭側において、３画素分の階調値があふれるので、このあふれた３画素分の階調値は、一行の末尾に付加するのである。このようにして処理ラインローテートデータが作成される。
【００５３】
図３（ｃ）は、比較ラインと、処理ラインローテートデータとを並べて示す図であり、比較ラインと、処理ラインローテートデータとが一致する関係にある場合を図示している。すなわち、比較ラインを構成する各画素の階調値と、処理ラインローテートデータを構成する各画素の階調値とを、行方向における位置が等しい画素同士で比較した場合、全ての画素の階調値が一致する関係にある。
【００５４】
上述したように、マゼンダの二値化データで形成される万線パターンは、一行の色材定着領域が、その一行前の色材定着領域よりも、３画素分末尾方向（図３に向かって右側）に移動することにより、形成されているパターンである。よって、処理ラインの階調値と比較ラインの階調値とを、そのまま各画素毎に比較すると、それらが一致すると判断される可能性は低い。
【００５５】
これに対し、本実施形態では、処理ラインを、先頭側に３画素分ローテートさせた処理ラインローテートデータを作成し、その処理ラインローテートデータの階調値と、比較ラインの階調値とを比較することとしているので、図３（ｃ）に示すように、両者が一致すると判断される可能性は高くなるのである。そして、両者が一致すると判断された場合は、展開回数カウンタ１３８（図１参照）の値に１を加算する。
【００５６】
このようにして、二値化データの各行の行データを、全ての行に渡って、それぞれの行の一行前の行データ（比較ライン）と比較する。なお、ここでいう行データとは、一行分の画素の階調値から構成されるデータのことであり、二値化データから読み出された一行分のデータと、その一行分のデータを元に作成された処理ラインローテートデータを含む意味である。図３においては、２行目以降の全ての処理ラインローテートデータが、比較ラインと一致すると判断された場合について説明する。
【００５７】
図３（ｄ）は、複数行の二値化データが、一行分圧縮データと、その一行分圧縮データの展開回数とに圧縮された例を模式的に示している。すなわち、一行分圧縮データの元となった行以降に、比較ラインと一致すると判断された処理ラインローテートデータの行数（ここでは、１０）が、一行分圧縮データと対応付けて圧縮データとして記憶されることとなる。このようにすれば、処理が簡単であって、高速で処理ができると共に、複数行の二値化データを高い圧縮率で圧縮することができる。
【００５８】
図４（ａ）は、圧縮データ記憶エリア１３９に記憶される圧縮データを模式的に示す図である。図４（ａ）に示すように、圧縮データは、ローテート方向１３８１と、ローテート量１３８２と、圧縮データ本体１３８３とから構成される。ローテート方向１３８１は、処理ラインから処理ラインローテートデータを作成する際に、処理ラインの各階調値をローテートさせた方向を示す情報である。また、ローテート量は、処理ラインから処理ラインローテートデータを作成する際に、処理ラインの階調値を何画素分ローテートさせたかを示す情報である。このローテート方向１３８１およびローテート量１３８２は、圧縮データを受け取った装置において参照され、圧縮データを展開する展開処理（図９参照）において用いられる。
【００５９】
図４（ｂ）は、圧縮データ本体１３８３を模式的に示す図である。図４（ｂ）に示すように、圧縮データ本体１３８３は、前ライン参照フラグ１３８５と、データサイズ１３８６と、一行分圧縮データ１３８７と、展開回数１３８８とが含まれたデータである。
【００６０】
前ライン参照フラグ１３８５には、「オン」または「オフ」の値が格納される。前ライン参照フラグ１３８５がオフとなっている場合、その前ライン参照フラグ１３８５には、データサイズ１３８６と、一行分圧縮データ１３８７とが続けて記憶される。データサイズ１３８６は、その直後に続く一行分圧縮データ１３８７のデータサイズを示す情報である。一行分圧縮データ１３８７は、一行分の行データが、ランレングス圧縮されることにより作成されたデータである。
【００６１】
一方、前ライン参照フラグ１３８５がオンとなっている場合、その次に続くデータは、展開回数１３８８である。そして、その展開回数１３８８は、前ライン参照フラグ１３８５の直前の一行分圧縮データ１３８７を元にして、展開することができる行数を示す情報である。
【００６２】
図１に戻り説明する。ハードディスクドライブ１４（以下、ＨＤＤ１４と称する）は、書換可能な記憶装置であり、図７および図８のフローチャートに示す処理をＰＣ１０に実行させるプリンタドライバ１４１と、シアンの階調値を二値化処理するためのディザマトリクスを含むＣ用ディザデータ１４２と、マゼンダの階調値を二値化処理するためのディザマトリクスを含むＭ用ディザデータ１４３と、イエローの階調値を二値化処理するためのディザマトリクスを含むＹ用ディザデータ１４４と、ブラックの階調値を二値化処理するためのディザマトリクスを含むＫ用ディザデータ１４５とが設けられている。
【００６３】
なお、各ディザデータ１４２，１４３，１４４，１４５は、それぞれ万線パターンを形成するディザマトリクスであるが、Ｃ，Ｍ，Ｙ，Ｋの各色が形成するパターンが互いに干渉して干渉縞が生じることを防止ために、それぞれのディザマトリクスが形成するディザパターンの角度θが、互いに所定の角度を有して異なるように、各色のディザマトリクスが設定されている。
【００６４】
図５を参照して、ディザデータの構成について説明する。図５は、Ｍ用ディザデータ１４３の構成を模式的に示す図である。図５に示すように、Ｍ用ディザデータ１４３は、ディザＩＤ１４３１、ローテート方向１４３２、ローテート量１４３３、色変換データのうち、マゼンダの階調値を二値化するために用いられるディザマトリクス１４３４とを含んで構成されている。ディザＩＤ１４３１は、各ディザデータ１４２，１４３，１４４，１４５を識別するために付与された符号である。
【００６５】
ローテート方向１４３２と、ローテート量１４３３とは、二値化データを圧縮処理する際に参照されるデータである。図３を参照して説明したように、ディザマトリクス１４３４が形成する万線パターンにおいて、各行のパターンが、一行上の行のパターンに対し、例えば、先頭から末尾側へ３画素分ずれたパターンである場合、各行のパターンと一行上の行のパターンとを一致させるためには、一行の階調値を、末尾から先頭側へ３画素分移動させればよい。この場合、ローテート方向１４３２には、末尾から先頭側への方向が記憶され、ローテート量１４３３には３画素が記憶される。このようにすれば、ローテート方向１４３２とローテート量１４３３に従って作成された処理ラインローテートデータは、比較ラインと一致する可能性が高くなる。このローテート方向１４３２とローテート量１４３３とは、ディザパターンの角度θに応じて、各ディザデータ毎にそれぞれ特有の値が定められている。
【００６６】
ディザマトリクス１４３４は、例えば、４０×４０のマトリクスの各々に、各画素の階調値を「ドットオン」または「ドットオフ」のいずれかに変換するための閾値が設定されたデータであり、図７に示す二値化処理（Ｓ４）に用いられるデータである。
【００６７】
図１に戻り説明する。入力装置１５は、ＰＣ１０にデータ又はコマンドを入力するものであり、キーボード、マウスなどにより構成されている。表示装置１６は、ＰＣ１０で実行される処理内容や入力されたデータなどを視覚的に確認するために、文字や画像などを表示するものであり、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成されている。Ｉ／Ｆ１８は、ＰＣ１０とプリンタ５０とを接続するものであり、ＰＣ１０は、このＩ／Ｆ１８を介することにより、後述する圧縮処理（図８参照）で圧縮した圧縮データをプリンタ５０に送信し、プリンタ５０に印刷を実行させることができる。
【００６８】
なお、図１には、１台のＰＣ１０とプリンタ５０とが直接接続された状態を図示しているが、ネットワークを介し、複数のＰＣ１０が１台のプリンタ５０を共用する構成であっても良い。
【００６９】
また、図１に示すように、プリンタ５０は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３とを備えており、これらはバスライン２０１を介して互いに接続されている。また、バスライン２０１は、入出力ポート５９にも接続されている。この入出力ポート５９には、ＰＣ１０と接続するためのＩ／Ｆ５７と、画像形成ユニット５６とが接続されている。
【００７０】
プリンタ５０における上記のような構成において、ＣＰＵ５１は、プリンタ５０の動作を制御するものであり、図９のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ＲＯＭ５２は、プリンタ５０の動作を制御するためのプログラムなどが格納されたメモリである。ここで、図９のフローチャートで示す処理を実行するプログラムは、このＲＯＭ５２内に格納されている。
【００７１】
ＲＡＭ５３は、ＣＰＵ５１の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリであり、圧縮データ記憶エリア５３１と、展開データ記憶エリア５３２と、参照ラインローテートデータ記憶エリア５３３とが設けられている。圧縮データ記憶エリア５３１は、ＰＣ１０から入力された圧縮データ（図４（ａ）参照）が記憶されるエリアである。展開データ記憶エリア５３２は、圧縮データ記憶エリア５３１に記憶された圧縮データを展開して作成された展開データが記憶されるエリアである。参照ラインローテートデータ記憶エリア５３３は、展開データ記憶エリア５３２に記憶された展開データのうち、参照ラインをローテートすることにより作成された参照ラインローテートデータが記憶されるエリアである。
【００７２】
図６を参照して、参照ラインと、参照ラインローテートデータとについて説明する。図６は、一行の参照ラインから複数行のデータが展開されるまでの流れを模式的に示す図である。図６（ａ）は、展開データ記憶エリア５３２に格納された一行分のデータを模式的に示す図である。まず、この一行分のデータが参照ラインとされる。
【００７３】
図６（ｂ）は、参照ラインと、その参照ラインをローテートして作成された参照ラインローテートデータとを模式的に示す図である。図６（ｂ）では、参照ラインの各画素の階調値が、先頭から末尾方向（図６に向かって右方向）に３画素分ローテートされた場合を例にとって図示している。各画素の階調値を、それぞれ、３画素分末尾側の画素の階調値として移動させると、一行の末尾において、３画素分の階調値があふれるので、このあふれた３画素分の階調値は、一行の先頭に付加される。なお、このローテートにおけるローテート方向は、圧縮データに含まれるローテート方向１３８１と逆方向である。また、このローテートにおけるローテート量は、圧縮データに含まれるローテート量１３８２と等しい量である（図４（ａ）参照）。
【００７４】
このようにして作成された参照ラインローテートデータは、一行分の展開データとして、展開データ記憶エリア５３２に記憶される。次に、図６（ｃ）に示すように、展開データ記憶エリア５３２に記憶された展開データのうち、最新の一行分の展開データが参照ラインとされる。そして、参照ラインに基づいて、同様の処理により参照ラインローテートデータが作成され、その参照ラインローテートデータが、展開データ記憶エリア５３２に記憶される。このようにして、図６（ｄ），図６（ｅ）に示すように処理を繰り返す。この繰り返し回数は、圧縮データに含まれる展開回数１３８８（図４（ｂ）参照）に基づいて定められる。
【００７５】
図６（ｆ）は、展開回数１３８８に基づいて定められる繰り返し回数で、処理を繰り返した結果、得られた展開データを模式的に示す図である。ここで、この展開データのうち、一行目は、圧縮データに含まれる一行分圧縮データ１３８７（図４（ｂ）参照）を展開することにより得られたデータである。その一行分圧縮データ１３８７に続く展開回数１３８８として「１０」が記憶されていた場合、参照ラインローテートデータを作成し、展開データ記憶エリア５３２（図１参照）に記憶する処理が１０回繰り返される。このようにすれば、一行分圧縮データ１３８７と、展開回数１３８８とに基づいて、１行目から１１行目までの展開データが作成される。そして、展開回数１３８８分の繰り返しを終了すると、圧縮データから次の一行分圧縮データ１３８７（図４（ｂ）参照）が取得され、その一行分圧縮データ１３８７を展開する処理が繰り返されるのである。
【００７６】
図１に戻り説明する。プリンタ５０はいわゆるレーザプリンタであって、画像形成ユニット５６は、感光体ドラム、帯電器、露光ユニット、現像ユニットを備える。感光体ドラムの表面を帯電器によって一様に帯電させ、露光ユニットからデータに従って光を照射して、感光体ドラムの表面に静電潜像を形成させる。次に、この感光体ドラムの表面に、現像剤（色材）を付着させ、感光体ドラムの表面の静電潜像を可視像化させる。そして、感光体ドラムの回転に伴って、可視化された現像剤像を転写位置に移動させる。そして、図示しない給紙ローラおよび搬送ローラなどにより、転写位置に記録用紙が供給されると、転写ローラと感光体ドラムとの間にバイアスを印加させ、現像剤像を記録用紙に転写する。そして記録用紙上に現像剤像を加熱、加圧して定着させることにより、記録用紙に画像を形成するのである。なお、本実施形態では、プリンタ５０がレーザプリンタであるものとして説明するが、プリンタ５０は、昇華型プリンタ、インクジェットプリンタなど、他の方式のプリンタで構成されるものでも良い。
【００７７】
次に、図７および図８のフローチャートを参照して、上記のように構成されるＰＣ１０において実行される、画像データ送信処理について説明する。
【００７８】
図７は、ＰＣ１０において実行される画像データ送信処理を示すフローチャートである。この画像データ送信処理は、ＰＣ１０において、ユーザから印刷指示がされることにより、印刷対象画像のデータが入力データ記憶エリア１３１（図１参照）に入力されると起動する処理である。まず、入力データ記憶エリア１３１に入力された入力データに色変換処理を施す（Ｓ２）。そして、色変換処理により得られた色変換データを、ディザマトリクスを用いて二値化処理する（Ｓ４）。なお、上述したように、Ｃ，Ｍ，Ｙ，Ｋの各色について、予め各色毎のディザデータ１４２，１４３，１４４，１４５が記憶されており、この二値化処理では、対応する色のディザデータ１４２，１４３，１４４，１４５が読み出される。
【００７９】
次に、二値化処理（Ｓ４）により得られた二値化データを圧縮する圧縮処理を実行する（Ｓ６）。なお、この圧縮処理については、図８を参照して後述する。そして、圧縮処理により得られた圧縮データをプリンタ５０へ送信する（Ｓ８）。圧縮処理（Ｓ８）により、高い圧縮率でデータが圧縮されるので、プリンタ５０へのデータ送信を短時間で行うことができる。
【００８０】
図８を参照して、圧縮処理について説明する。図８は、ＰＣ１０において実行される圧縮処理を示すフローチャートであり、二値化データ記憶エリア１３３に記憶された二値化データを圧縮する処理である。上述したように、二値化データは、Ｃ，Ｍ，Ｙ，Ｋの各色について作成されるが、図８に示すフローチャートは、１色の二値化データを圧縮する処理を示している。すなわち、この圧縮処理を、４色の二値化データの各々について実行することで、４色全ての二値化データが圧縮されることとなる。ここでは、マゼンダの二値化データを圧縮処理する場合について説明するが、他の色でも同様の処理が行われる。
【００８１】
まず、二値化処理（Ｓ６）に用いたディザマトリクスに対応するローテート方向とローテート量とを取得し、圧縮データ記憶エリア１３９に記憶する（Ｓ８６０）。
【００８２】
ここでは、マゼンダの二値化データを圧縮する場合について説明しているので、Ｍ用ディザデータ１４３からローテート方向１４３２とローテート量１４３３（図５参照）が取得される。取得したローテート方向１４３２とローテート量１４３３は、圧縮データを構成するローテート方向１３８１とローテート量１３８２（図４（ａ）参照）として、圧縮データ記憶エリア１３９に記憶される。
【００８３】
次に、処理ライン数を「１」とする（Ｓ８６２）。そして、処理ライン数で指定される行の行データを、二値化データ記憶エリア１３３から取得し、処理ライン記憶エリア１３４に記憶する（Ｓ８６４）。次に、その処理ラインが１行目か否かを判断する（Ｓ８６６）。最初は、処理ラインが１行目と判断され（Ｓ８６６：Ｙｅｓ）、Ｓ８７４の処理に移行する。
【００８４】
そして、展開回数カウンタ１３８の値を「０」とし（Ｓ８７４）、処理ラインを比較ラインとして、比較ライン記憶エリア１３６（図１参照）に書き込む（Ｓ８７６）。次に、処理ラインをランレングス圧縮して一行分圧縮データ１３８７（図４（ｂ）参照）を作成し、前ライン参照フラグ１３８５をオフとして、一行分圧縮データ１３８７のデータサイズを示すデータサイズ１３８６と共に、圧縮データ記憶エリア１３９に記憶する（Ｓ８７８）。これにより、二値化データのうち１行目のデータが圧縮される。
【００８５】
次に、処理ライン数に「１」を加算し（Ｓ８８０）、全行の処理を終了したか否かを判断する（Ｓ８８２）。全行の処理を終了していない場合（Ｓ８８２：Ｎｏ）、Ｓ８６４の処理に戻り、次の行の行データを処理ラインとして取得する（Ｓ８６４）。この行は１ライン目ではないので（Ｓ８８６：Ｎｏ）、次に、処理ラインから処理ラインローテートデータを作成し、処理ラインローテートデータ記憶エリア１３５に記憶する（Ｓ８６８）。ここで、処理ラインは、Ｓ８６０の処理で取得されたローテート方向と、ローテート量に従って、ローテートされる。
【００８６】
次に、処理ラインローテートデータ記憶エリア１３５に記憶された処理ラインローテートデータと、比較ライン記憶エリア１３６に記憶された比較ラインとを比較し、両者が一致するか否かを判断する（Ｓ８７０）。すなわち、図３を参照して説明したように、処理ラインをローテートして作成された処理ラインローテートデータと、その処理ラインの一行前の行データである比較ラインとが一致するか否かを判断する。
【００８７】
処理ラインローテートデータと、比較ラインとが一致する場合（Ｓ８７０：Ｙｅｓ）、展開回数カウンタ１３８の値に「１」加算する（Ｓ８８４）。次に、処理ライン記憶エリア１３４に記憶された処理ラインを、次の比較ラインとして比較ライン記憶エリア１３６に書き込む（Ｓ８８６）。そして、処理ライン数に「１」を加算して（Ｓ８８０）、全行の処理が終了しない間（Ｓ８８２）、Ｓ８６４に戻り処理を繰り返す。このようにして、処理ラインローテートデータと比較ラインとが一致すると判断される間（Ｓ８７０：Ｙｅｓ）、展開回数カウンタ１３８の値に「１」加算する（Ｓ８８４）。すなわち、処理ラインローテートデータと比較ラインとが一致すると連続して判断された回数を、カウントする。
【００８８】
このようにして処理を繰り返すうちに、Ｓ８７０の処理における比較の結果、比較ラインと処理ラインローテートデータとが一致しないと判断されると（Ｓ８７０：Ｎｏ）、前ライン参照フラグ１３８５（図４（ｂ）参照）をオンとする。そして、展開回数カウンタ１３８の値を、展開回数１３８８（図４（ｂ）参照）として、前ライン参照フラグ１３８５と共に、圧縮データとして、圧縮データ記憶エリア１３９に記憶する（Ｓ８７２）。このようにすれば、展開回数１３８８は、比較ラインと、処理ラインローテートデータとが一致しないと判断されるまでの間に、比較ラインと、処理ラインローテートデータとが一致すると、連続して判断された処理ラインローテートデータの行数を示す値となる。
【００８９】
次に、展開回数カウンタ１３８の値を「０」として（Ｓ８７４）、処理ラインを、比較ラインとして比較ライン記憶エリア１３６に書き込み（Ｓ８７６）、処理ラインをランレングス圧縮して、一行分圧縮データを作成する。そして、前ライン参照フラグ１３８５（図４（ｂ）参照）をオフとして、データサイズ１３８６と共に、一行分圧縮データを圧縮データ記憶エリア１３９に記憶する（Ｓ８７８）。すなわち、比較ラインと、処理ラインローテートデータとが一致しないと判断された場合（Ｓ８７０：Ｎｏ）、その処理ラインローテートデータを作成する際に用いた処理ラインが、ランレングス圧縮（特許請求の範囲に記載の所定のアルゴリズムで圧縮）されて、一行分圧縮データ１３８７として、圧縮データ記憶エリア１３９に記憶される。
【００９０】
このようにして処理を繰り返す内に全行の処理を終了すると（Ｓ８８２：Ｙｅｓ）、次に、展開回数カウンタ１３８の値が「０」であるか否かを判断し（Ｓ８８８）、展開回数カウンタ１３８の値が「０」である場合（Ｓ８８８：Ｙｅｓ）、そのまま処理を終了する。一方、展開回数カウンタ１３８の値が「０」ではない場合（Ｓ８８８：Ｎｏ）、前ライン参照フラグ１３８５をオンとし、展開回数カウンタ１３８の値を展開回数１３８８として、前ライン参照フラグ１３８５と共に圧縮データ記憶エリア１３９に記憶して（Ｓ８９０）、処理を終了する。
【００９１】
このように、上記圧縮処理（Ｓ６）によれば、比較ラインと、処理ラインローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す展開回数１３８８（図４参照）が記憶されるので、処理が簡単であって、高速で処理できる。また、この展開回数１３８８は、比較ラインと一致すると判断された処理ラインローテートデータの行数であるので、比較データと一致すると判断された処理ラインローテートデータの行数が多数であっても、展開回数１３８８のデータサイズは小さく、高い圧縮率が得られる。
【００９２】
また、比較ラインと、処理ラインローテートデータとが一致しないと判断された場合、その処理ラインローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができる。
【００９３】
また、上述の実施形態で説明したマゼンダを二値化処理するために用いられたディザマトリクスは、斜め万線パターンを形成するものであったので、比較ラインと、処理ラインローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られる。
【００９４】
また、二値化処理（Ｓ４）において用いられたディザマトリクスに対応したローテート方向１４３２とローテート量１４３３とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向１４３２に基づく方向に、ローテート量１４３３に基づく画素数分ローテートされたローテートデータが作成されるので、比較ラインと、処理ラインローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られる。また、各色用のディザデータ毎に、ディザパターンの角度θに応じたローテート方向とローテート量とが定められているので、どのようなタイプの万線パターンにおいても、高い圧縮率を得ることができる。
【００９５】
次に、図９のフローチャートを参照して、展開処理について説明する。図９は、プリンタ５０において実行される展開処理を示すフローチャートである。この展開処理は、ＰＣ１０において上述の圧縮処理（Ｓ６）で圧縮された圧縮データが、ＰＣ１０からプリンタ５０に送信された場合に、プリンタ５０で実行される処理である。なお、ＰＣ５０において、受信した圧縮データは、圧縮データ記憶エリア５３１に記憶される。また、上述したように、圧縮データは、Ｃ，Ｍ，Ｙ，Ｋの各色について作成されているが、図９に示すフローチャートは、１色の圧縮データを展開する処理を示している。すなわち、この展開処理を、４色の圧縮データの各々について実行することで、４色全ての圧縮データが展開されることとなる。ここでは、マゼンダの圧縮データを展開処理する場合について説明するが、他の色でも同様の処理が行われる。
【００９６】
まず、圧縮データから、ローテート方向１３８１とローテート量１３８２（図４（ａ）参照）とを取得する（Ｓ９０２）。そして、圧縮データに含まれる圧縮データ本体１３８３（図４（ｂ）参照）を先頭から調べ、先頭の前ライン参照フラグ１３８５がオンか否かを判断する（Ｓ９０４）。現在、一番最初のループであるので先頭の前ライン参照フラグ１３８５はオフゆえ（Ｓ９０４：Ｎｏ）、次に一行分圧縮データ１３８７を展開する（Ｓ９０６）。そして、展開したデータを、展開データ記憶エリア５３２に記憶する（Ｓ９０８）。
【００９７】
次に、圧縮データを全て処理したか否かを判断し（Ｓ９１０）、未だ全てを処理していない場合（Ｓ９１０：Ｎｏ）、Ｓ９０４に戻り、圧縮データ本体１３８３に含まれる次の前ライン参照フラグ１３８５がオンであるか否かを判断する。ここでは、前ライン参照フラグ１３８５がオンであった場合について説明する。前ライン参照フラグ１３８５がオンであった場合（Ｓ９０４：Ｙｅｓ）、その前ライン参照フラグ１３８５の後ろには、展開回数１３８８（図４（ｂ）参照）が記憶されているから、その展開回数１３８８を取得する（Ｓ９１２）。ここで、上述の圧縮処理で説明したように、展開回数１３８８は、その直前の一行分圧縮データ１３８７を元にして展開することができる行数を示す値である。
【００９８】
次に、展開数を「１」とする（Ｓ９１４）。そして、展開データ記憶エリア５３２に直近に書き込まれた一行分の展開データを、参照ラインとして取得する（Ｓ９１６）。すなわち、直前の一行分圧縮データ１３８７を元にして展開された一行分の展開データを参照ラインとする。
【００９９】
次に、圧縮データから取得したローテート方向１３８１とローテート量１３８２とに基づいて、参照ラインをローテートし、参照ラインローテートデータを作成する（Ｓ９１８）。ここで、例えば、ローテート方向１３８１が、末尾から先頭方向を示していた場合、それは、圧縮処理において、処理ラインローテートデータを作成する際に、一行分の画素の階調値を、末尾から先頭方向へ所定画素ずつ移動させたことを示している。よって、ここで、参照ラインをローテートする際には、ローテート方向１３８１で示される方向と逆方向に、参照ラインをローテートし、参照ラインローテートデータが作成される（図６（ｂ）参照）。そして、作成した参照ラインローテートデータは、参照ラインローテートデータ記憶エリアに記憶される（Ｓ９２０）。
【０１００】
次に、展開数に「１」を加算し（Ｓ９２２）、展開数が、展開回数１３８８よりも大となったか否かを判断する（Ｓ９２４）。
【０１０１】
展開数が展開回数１３８８以下である場合（Ｓ９２４：Ｎｏ）、Ｓ９１６に戻り処理を繰り返す。すなわち、展開データ記憶エリア５３２に直近に書き込まれた一行分の展開データ（直近に作成された参照ラインローテートデータ）を、参照ラインとして取得し（Ｓ９１６）、その参照ラインを元に、参照ラインローテートデータを作成し（Ｓ９２０）、その参照ラインローテートデータを、展開データ記憶エリア５３２に記憶する。このような処理を、展開回数１３８８に等しい回数分繰り返すことにより、展開回数１３８８と等しい行数の展開データが得られる。
【０１０２】
このようにして処理を繰り返すうちに、展開回数１３８８が展開数よりも大となると（Ｓ９２４：Ｙｅｓ）、次に圧縮データを全て処理したか否かを判断し（Ｓ９１０）、圧縮データを全て処理し終えてない場合は（Ｓ９１０：Ｎｏ）、Ｓ９０４にもどる。
【０１０３】
このようにして処理を繰り返すうちに、圧縮データを全て処理し終えると（Ｓ９１０：Ｙｅｓ）、展開処理を終了する。
【０１０４】
展開処理によれば、図８を参照して説明した圧縮処理（Ｓ６）にて圧縮されたデータを、簡単な処理で展開することができる。よって、プリンタ５０のＣＰＵ５１の処理能力がそれほど高くなくても展開処理を実行することができるので、安価なプリンタ５０を使用することができる。
【０１０５】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１０６】
例えば、上述した実施形態では、ＰＣ１０からプリンタ５０にデータを送信する場合に、圧縮処理（Ｓ６）が実行されるものとして説明したが、プリンタ５０以外の装置に送信する場合に、圧縮処理（Ｓ６）が実行されても良い。
【０１０７】
また、上述した実施形態では、処理ラインローテートデータの作成の際、および参照ラインローテートデータの作成の際には、ローテート量を３画素分とし、３画素分の階調値を移動させていた。このローテート量は、ディザパターンの角度θに応じた量とされる。例えば、ディザパターンの角度θが４５°である万線パターンでは、１行ずれる毎に１画素分ずれたパターンが形成る。よって、圧縮処理（Ｓ６）においては、処理ラインを構成する階調値の各々を、１画素ずつローテートさせて処理ラインローテートデータを作成することで、ディザパターンの角度θが４５°の万線パターンが形成されるディザマトリクスが用いられた場合でも、高い圧縮率を得ることができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明における画像処理装置として機能するパーソナルコンピュータを含む印刷システムの全体構成を示すブロック図である。
【図２】（ａ）は、入力データ、色変換データ、および二値化データを模式的に示す図であり、（ｂ）は、ディザマトリクスを用いた二値化処理により得られた、マゼンダの二値化データを模式的に示す図である。
【図３】（ａ）は、マゼンダの二値化データを模式的に示す図であり、（ｂ）は、処理ラインをローテートさせることにより作成される処理ラインローテートデータを模式的に示す図であり、（ｃ）は、比較ラインと、処理ラインローテートデータとを並べて示す図であり、（ｄ）は、複数行分の二値化データが、一行分圧縮データと、その一行分圧縮データの展開回数とに圧縮された例を模式的に示している。
【図４】（ａ）は、圧縮データ記憶エリアに記憶される圧縮データを模式的に示す図であり、（ｂ）は、圧縮データ本体を模式的に示す図である。
【図５】Ｍ用ディザデータの構成を模式的に示す図である。
【図６】１行の参照ラインから複数行のデータが展開されるまでの流れを模式的に示す図である。
【図７】ＰＣにおいて実行される画像データ送信処理を示すフローチャートである。
【図８】ＰＣにおいて実行される圧縮処理を示すフローチャートである。
【図９】プリンタにおいて実行される展開処理を示すフローチャートである。
【符号の説明】
【０１０９】
１０                ＰＣ（画像処理装置の一例）
１３６              比較ライン記憶エリア（比較対象データ記憶手段の一例）
１３８１            ローテート方向（ローテート方向情報の一例）
１３８２            ローテート量（ローテート量情報の一例）
１４１              プリンタドライバ（画像処理プログラムの一例）
１４３４            ディザマトリクスの一例
Ｓ４                二値化処理（階調変換手段，階調変換ステップの一例）
Ｓ６                圧縮処理（圧縮手段、圧縮ステップの一例）
Ｓ８６０            ローテート条件取得手段、ローテート条件取得ステップの一例
Ｓ８６０            ローテート条件記憶手段、ローテート条件記憶ステップの一例
Ｓ８６８            比較用ローテートデータ作成手段、比較用ローテートデータ作成ステップの一例
Ｓ８６２〜Ｓ８８２  比較手段、比較ステップの一例
Ｓ８７２            一行前一致データ記憶手段、一行前一致データ記憶ステップの一例
Ｓ８７６，Ｓ８８６  比較対象データ記憶ステップ
Ｓ８７８            圧縮データ記憶手段、圧縮データ記憶ステップの一例
【図１】
2008187669.tif 000003
【図２】
2008187669.tif 000004
【図３】
2008187669.tif 000005
【図４】
2008187669.tif 000006
【図５】
2008187669.tif 000007
【図６】
2008187669.tif 000008
【図７】
2008187669.tif 000009
【図８】
2008187669.tif 000010
【図９】
2008187669.tif 000011