(57)【特許請求の範囲】
【請求項１】
画素の階調を指示するデータを入力する第１手順と、
当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する第２手順と
を有し、
前記第２手順は、
当該入力データに第１の擬似中間調処理を施す手順と、
当該第１の擬似中間調処理が施されたデータが、前記特定階調値であるか否かを判別する手順と、
前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータをそのまま階調データとする一方、
前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順と
を含む
ことを特徴とする画像処理方法。
【請求項２】
画素の階調を指示するデータを入力する第１手順と、
当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する第２手順と
を有し、
前記第２手順は、
当該入力データに第１の擬似中間調処理を施す手順と、
当該第１の擬似中間調処理が施されたデータが前記特定階調値であって、かつ、当該入力データが、前記特性において前記特定階調値に対応する範囲の一部に含まれるか否かを判別する手順と、
前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータを、当該特定階調値の出力を許容しつつ、そのまま階調データとする一方、
前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順と
を含む
ことを特徴とする画像処理方法。
【請求項３】
画素の階調を指示するデータを入力する第１手順と、
当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する第２手順と
を有し、
前記第２手順は、
当該入力データに第１の擬似中間調処理を施す手順と、
当該特定階調値に変換され得る範囲に当該入力データが含まれるか否かを判別する手順と、
前記判別の結果が否定的であれば、当該入力データに第１の擬似中間調処理を施して階調データとする一方、
前記判別の結果が肯定的であれば、当該入力データに第２の擬似中間調処理を施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順と
を含む
ことを特徴とする画像処理方法。
【請求項４】
画素の階調を指示するデータを入力する第１手順と、
当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する第２手順と
を有し、
前記第２手順は、
当該入力データに第１の擬似中間調処理を施す手順と、
当該特定階調値に変換され得る範囲の一部に、当該入力データが含まれるか否かを判別する手順と、
前記判別の結果が否定的であれば、当該入力データに第１の擬似中間調処理を施して、当該特定階調値の出力を許容しつつ、階調データとして出力する一方、
前記判別の結果が肯定的であれば、当該入力データに第２の擬似中間調処理を施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順と
を含む
ことを特徴とする画像処理方法。
【請求項５】
画素の階調を指示するデータを入力する第１手順と、
当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する第２手順と
を有し、
前記第２手順は、
前記特性のうち、前記特定階調値に対応する範囲外の一方をそのままとし、当該範囲の傾きを略半分とするとともに、前記範囲外の他方の特性については連続性を維持するように修正された特性にしたがって、当該入力データを変換する手順と、
修正された特性にしたがって変換されたデータに疑似階調処理を施す手順と、
疑似階調処理が施されたデータのうち、当該特定階調値未満に相当するデータについては、そのまま階調データとする一方、当該特定階調値以上の階調値に相当するデータについては、階調値をそれぞれシフトして階調データとする手順と
を含む
ことを特徴とする画像処理方法。
【請求項６】
前記第１手順の後に、
当該入力データで示される画像が自然画像であるか否かを判別し、自然画像であると判別したときに、当該入力データを前記第２手順で処理する
ことを特徴とする請求項１乃至５のいずれかに記載の画像処理方法。
【請求項７】
画素の階調を指示するデータを入力し、
擬似中間調処理のために予め定められたディザマトリクスのうち、前記画素の座標に応じたディザ値を、当該入力データに加算し、
ディザ値が加算されたデータを、画像出力装置によって表現可能な階調数に減色し、
減色したデータが、当該画像出力装置による出力に不具合の発生し得る特定階調値であるか否かを判別し、
前記判別の結果が否定的であれば、減色したデータを、そのまま当該画像出力装置に出力する一方、
前記判別の結果が肯定的であれば、減色したデータに前記ディザ値と前記減色に応じた値とを加算し、当該加算結果に応じて当該特定階調値に隣接するいずれかの階調値を規定するデータに変換して、当該画像出力装置に出力する
ことを特徴とする画像処理方法。
【請求項８】
減色したデータが前記特定階調値であり、かつ、当該入力データの階調が前記特定階調値に相当する範囲にあって、当該範囲よりも狭い範囲にあるときに限り、前記判別の結果を肯定的とする
ことを特徴とする請求項７に記載の画像処理方法。
【請求項９】
画素の階調を指示するデータを入力し、
当該入力データにディザ値を加算して、画像出力装置の表現可能な階調数に減色したときに、当該画像出力装置による出力に不具合の発生し得る特定階調値に変換され得る範囲に当該入力データが含まれるか否かを判別し、
前記判別の結果が否定的であれば、当該入力データにディザ値を加算して、当該画像出力装置の表現可能な階調数に減色して、当該画像出力装置に出力する一方、
前記判別の結果が肯定的であれば、当該入力データに、前記ディザ値の２倍の値と前記減色に応じた値とを加算し、当該加算結果に応じて当該特定階調値に隣接するいずれかの階調値を規定するデータに変換して、当該画像出力装置に出力する
ことを特徴とする画像処理方法。
【請求項１０】
当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に変換され得る範囲よりもさらに狭い範囲にあるときに限り、前記判別の結果を肯定的とする
ことを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
画素の階調を指示する入力データに前処理を施し、
前記前処理されたデータに擬似中間調処理を施し、
前記擬似中間調処理が施されたデータに後処理を施して、画像出力装置の表現可能な階調数に減色する画像処理方法であって、
前記前処理は、
当該画像出力装置による出力に不具合の発生し得る特定階調値に隣接する階調値の一方に相当する中心値から他方に相当する中心値までの範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値から当該特定階調値に相当する中心値までの範囲に圧縮し、
前記後処理は、
前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する
ことを特徴とする画像処理方法。
【請求項１２】
画素の階調を指示する入力データに前処理を施し、
前記前処理されたデータに擬似中間調処理を施し、
前記擬似中間調処理が施されたデータに後処理を施して、画像出力装置の表現可能な階調数に減色する画像処理方法であって、
前記前処理は、
当該画像出力装置による出力に不具合の発生し得る特定階調値に隣接する階調値の一方に相当する中心値から他方に相当する中心値までの範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値から当該特定階調値に相当する中心値までの範囲に圧縮し、
前記後処理は、
前記入力データの階調値が前記特定階調値に相当する中心値を含む範囲にあって、前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する
ことを特徴とする画像処理方法。
【請求項１３】
画素の階調を指示する入力データに前処理を施し、
前記前処理されたデータに擬似中間調処理を施し、
前記擬似中間調処理が施されたデータに後処理を施して、画像出力装置の表現可能な階調数に減色する画像処理方法であって、
前記前処理は、
当該画像出力装置による出力に不具合の発生し得る特定階調値に相当する中心値を含む範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値と当該特定階調値に相当する中心値との中間値を含む範囲に圧縮し、
前記後処理は、
前記入力データの階調が前記特定階調値に相当する中心値を含む範囲にあって、前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する
ことを特徴とする画像処理方法。
【請求項１４】
画素の階調を指示する入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する画像処理装置であって、
当該入力データに第１の擬似中間調処理を施す回路と、
当該第１の擬似中間調処理が施されたデータが、前記特定階調値であるか否かを判別する回路と、
前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータをそのまま階調データとする一方、
前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する回路と
を含む
ことを特徴とする画像処理装置。
【請求項１５】
当該入力データで示される画像が自然画像であるか否かを判別し、自然画像であると判別したときに、当該入力データに第１の擬似中間調処理を施す
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
画像出力装置に、当該画像出力装置の階調を規定する階調データを供給するためのコンピュータであって、
画素の階調を指示する入力データを、前記階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、
当該画像出力装置による出力に不具合の発生し得る階調の特定階調値となるデータの全部または少なくとも一部については、当該特定階調値に隣接するいずれかの階調値の階調データに変換して、変換した階調データを当該画像出力装置に供給するコンピュータに対し、
当該入力データに第１の擬似中間調処理を施す手段と、
当該第１の擬似中間調処理が施されたデータが、前記特定階調値であるか否かを判別する手段と、
前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータをそのまま階調データとする一方、
前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手段と
として機能させるための画像処理プログラム。
【請求項１７】
当該入力データで示される画像が自然画像であるか否かを判別し、自然画像であると判別したときに、当該入力データに第１の擬似中間調処理を施す
ことを特徴とする請求項１６に記載の画像処理装置プログラム。
【発明の詳細な説明】
技術分野
本発明は、液晶表示パネルなどの画像出力装置へのデータを処理する画像処理方法、画像処理装置、当該画像出力装置を有する電子機器、当該画像処理のための画像処理プログラムおよび当該プログラムを記録した記録媒体に関する。
背景技術
一般に、携帯電話や携帯情報端末などの画像表示部には、モノクロまたはカラーの液晶表示（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）パネルが用いられている。このＬＣＤパネルでは、マトリクス状に配置した画素に、階調データの階調値に応じて予め設定された駆動電圧を印加すると、液晶の透過率または反射率が段階的に変化する。このため、画素毎に印加電圧を制御することによって、所望する多階調の画像が表示出力されることになる。
ここで、ＬＣＤパネルの階調制御にあっては、フレーム間引き駆動法（フレームレートコントロール駆動法とも言う）がある。このフレーム間引き駆動法は、１フレームでみた場合に実現可能な階調を、複数フレームにわたって時間的に配分することによって、１フレームでみた場合に実現不可能な中間階調を表現する技術である。この技術により、ＬＣＤパネルにおいて（当該複数フレームでみた場合の）表現可能な階調数が実質的に増加することになる。
しかしながら、このフレーム間引き駆動法では、フレーム周波数や、階調データの階調値、補助光源（バックライト等）の点灯周波数などの種々の要因が重なり合うと、いわゆるフリッカ（ちらつき）や揺れなどの表示上の不具合が発生する、という問題があった。
発明の開示
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、液晶表示パネルなどの画像出力装置へのデータを処理することによって、出力される画像の画質を向上させる技術を提供することにある。
上記目的を達成するために、本発明に係る第１の画像処理方法は、画素の階調を指示するデータを入力し、当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって変換するが、当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値以外の階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する方法を特徴としている。この方法によれば、フリッカや揺れなどの表示上の不具合が発生し得る階調が、画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
この方法において、前記変換は、前記入力されたデータにより指示可能な階調数を、前記階調データにより規定可能な階調数に減少させる減色処理を伴うこととしても良い。上記変換は、減色処理の前または後において単独にて行うとしても良いが、減色処理と併せて行う方が、効率または処理速度の面から言って、有利である。
また、上記変換において減色処理を伴う場合、その減色処理は、前記階調データが、同一値に集中しないように分散させる擬似中間調処理であることが好ましい。ここで、擬似中間調処理としては、ディザ法や、変換時に発生する誤差を周辺画素に配分する誤差拡散法など種々の技術が適用可能である。
この場合、前記減色処理は、前記特定階調値に対応する入力データのすべてを、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換することが望ましい。このような変換では、表示上の不具合の発生し得る階調が、画像出力装置において完全に使用されないので、画質の向上の面から言えば都合が良い。
上記目的を達成するために、本発明に係る第２の画像処理方法は、画素の階調を指示するデータを入力する手順と、当該入力データを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する手順とを有する方法を特徴としている。
この方法によれば、入力されたデータが、画像出力装置の出力可能な階調に減少させられるとともに、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
この方法は、擬似中間調処理の後に、処理データが特定階調データであるか否かを判別する第１の態様と、データを擬似中間調処理すると、特定階調値となり得るか否かを事前に判別する第２の態様との２通りに分けられ、さらに、表示上の不具合の発生し得る特定階調値を完全に回避する第３の態様と、一部許容する第４の態様との２通りに分けることができる。したがって、組み合わせると、計４通りの態様が出現することになるので、これらの態様について順を追って説明する。
上記方法において、前記階調データに変換する手順は、当該入力データに第１の擬似中間調処理を施す手順と、当該第１の擬似中間調処理が施されたデータが、前記特定階調値であるか否かを判別する手順と、前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータをそのまま階調データとする一方、前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順とを含むようにしても良い。この態様は、上記第１の態様と第３の態様との組み合わせに相当する。この組み合わせによれば、表示上の不具合を発生させる階調が、隣接する階調によって擬似的に表現されるので、画質の向上を図った上で、中間階調を滑らかに出力することが可能となる。
また、上記方法において、前記階調データに変換する手順は、当該入力データに第１の擬似中間調処理を施す手順と、当該第１の擬似中間調処理が施されたデータが前記特定階調値であって、かつ、当該入力データが、前記特性において前記特定階調値に対応する範囲の一部に含まれるか否かを判別する手順と、前記判別の結果が否定的であれば、当該第１の擬似中間調処理が施されたデータを、当該特定階調値の出力を許容しつつ、そのまま階調データとする一方、前記判別の結果が肯定的であれば、当該第１の擬似中間調処理が施されたデータに第２の擬似中間調処理をさらに施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順とを含むようにしても良い。この態様は、上記第１の態様と第４の態様との組み合わせに相当する。この組み合わせによれば、表示上の不具合を発生させる階調が一部出力されるものの、それ以外は、隣接する階調によって擬似的に表現されるので、中間階調をより滑らかに出力することが可能となる。なお、ここでいう許容とは、表示上の不具合の発生し得る階調を完全に使用しないのではなく、一部だけ使用する、という趣旨である。
上記方法において、前記階調データに変換する手順は、当該入力データに第１の擬似中間調処理を施すと、当該特定階調値に変換され得る範囲に当該入力データが含まれるか否かを判別する手順と、前記判別の結果が否定的であれば、当該入力データに第１の擬似中間調処理を施して階調データとする一方、前記判別の結果が肯定的であれば、当該入力データに第２の擬似中間調処理を施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順とを含むようにしても良い。この態様は、上記第２の態様と第３の態様との組み合わせに相当する。この組み合わせによれば、表示上の不具合を発生させる階調が、隣接する階調によって擬似的に表現されるので、画質の向上を図った上で、中間階調を滑らかに出力することが可能となる。
また、上記方法において、前記階調データに変換する手順は、当該入力データに第１の擬似中間調処理を施すと、当該特定階調値に変換され得る範囲の一部に、当該入力データが含まれるか否かを判別する手順と、前記判別の結果が否定的であれば、当該入力データに第１の擬似中間調処理を施して、当該特定階調値の出力を許容しつつ、階調データとして出力する一方、前記判別の結果が肯定的であれば、当該入力データに第２の擬似中間調処理を施して、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する手順とを含むようにしても良い。この態様は、上記第２の態様と第４の態様との組み合わせに相当する。この組み合わせによれば、表示上の不具合を発生させる階調が一部出力されるものの、それ以外は、隣接する階調によって擬似的に表現されるので、中間階調をより滑らかに出力することが可能となる。
さらに、上記方法は、２段階の変換を伴う態様によっても実現できる。すなわち、上記方法において、前記階調データに変換する手順は、前記特性のうち、前記特定階調値に対応する範囲外の一方をそのままとし、当該範囲の傾きを略半分とするとともに、前記範囲外の他方の特性については連続性を維持するように修正された特性にしたがって、当該入力データを変換する手順と、修正された特性にしたがって変換されたデータに疑似階調処理を施す手順と、疑似階調処理が施されたデータのうち、当該特定階調値未満に相当するデータについては、そのまま階調データとする一方、当該特定階調値以上の階調値に相当するデータについては、階調値をそれぞれシフトして階調データとする手順とを含むようにしても良い。この態様によれば、擬似中間調処理は、上記４通りと比較すると、１種類で済み、また、変換内容も簡易で済むので、高速な処理を期待できる。
上記目的を達成するために、本発明に係る第３の画像処理方法は、画素の階調を指示するデータを入力し、擬似中間調処理のために予め定められたディザマトリクスのうち、前記画素の座標に応じたディザ値を、当該入力データに加算し、ディザ値が加算されたデータを、画像出力装置によって表現可能な階調数に減色し、減色したデータが、当該画像出力装置による出力に不具合の発生し得る特定階調値であるか否かを判別し、前記判別の結果が否定的であれば、減色したデータを、そのまま当該画像出力装置に出力する一方、前記判別の結果が肯定的であれば、減色したデータに前記ディザ値と前記減色に応じた値とを加算し、当該加算結果に応じて当該特定階調値に隣接するいずれかの階調値を規定するデータに変換して、当該画像出力装置に出力する方法を特徴としている。
この方法によれば、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、画質の向上が図られる。さらに、入力データが特定階調値に相当する範囲の中心値に近接するとき、擬似中間調処理によって、当該特定階調値に隣接するいずれかの階調値に、該入力データの階調値に応じた確率にて変換されるので、中間階調の再現性が低下することもない。くわえて、２回目のディザ値は、１回目のディザ値に、減色に応じた値の加算値であるので、ディザマトリクスを複数用意する必要もなくなる。
この方法において、減色したデータが前記特定階調値であり、かつ、当該入力データの階調が前記特定階調値に相当する範囲にあって、当該範囲よりも狭い範囲にあるときに限り、前記判別の結果を肯定的としても良い。このように判別を変更したときに、判別の結果が否定的になると、特定階調値がわずかであるが出力されることになる。
上記目的を達成するために、本発明に係る第４の画像処理方法は、画素の階調を指示するデータを入力し、当該入力データにディザ値を加算して、画像出力装置の表現可能な階調数に減色したときに、当該画像出力装置による出力に不具合の発生し得る特定階調値に変換され得る範囲に当該入力データが含まれるか否かを判別し、前記判別の結果が否定的であれば、当該入力データにディザ値を加算して、当該画像出力装置の表現可能な階調数に減色して、当該画像出力装置に出力する一方、前記判別の結果が肯定的であれば、当該入力データに、前記ディザ値の２倍の値と前記減色に応じた値とを加算し、当該加算結果に応じて当該特定階調値に隣接するいずれかの階調値を規定するデータに変換して、当該画像出力装置に出力する方法を特徴としている。
この方法によれば、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、画質の向上が図られる。さらに、入力データが特定階調値に相当する範囲の中心値に近接するとき、擬似中間調処理によって、当該特定階調値に隣接するいずれかの階調値に、該入力データの階調値に応じた確率にて変換されるので、中間階調の再現性が低下することもない。くわえて、２回目のディザ値は、１回目のディザ値に、減色に応じた値の加算値であるので、ディザマトリクスを複数用意する必要もなくなる。
なお、第３の画像処理方法と第４の画像処理方法とは、判別と、擬似中間調処理との順序が相違するだけであり、結果については同等である。
第４の画像処理方法において、当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に変換され得る範囲よりもさらに狭い範囲にあるときに限り、前記判別の結果を肯定的としても良い。このように判別を変更したときに、判別の結果が否定的になると、特定階調値がわずかであるが出力されることになる。
上記目的を達成するために、本発明に係る第５、第６および第７の画像処理方法は、いずれも、画素の階調を指示する入力データに前処理を施し、前記前処理されたデータに擬似中間調処理を施し、前記擬似中間調処理が施されたデータに後処理を施して、画像出力装置の表現可能な階調数に減色する点において共通である。
このうち、第５の画像処理方法において、前処理は、当該画像出力装置による出力に不具合の発生し得る特定階調値に隣接する階調値の一方に相当する中心値から他方に相当する中心値までの範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値から当該特定階調値に相当する中心値までの範囲に圧縮し、前記後処理は、前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する点に特徴があり、
第６の画像処理方法において、前処理は、当該画像出力装置による出力に不具合の発生し得る特定階調値に隣接する階調値の一方に相当する中心値から他方に相当する中心値までの範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値から当該特定階調値に相当する中心値までの範囲に圧縮し、前記後処理は、前記入力データの階調値が前記特定階調値に相当する中心値を含む範囲にあって、前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する点に特徴があり、
また、第７の画像処理方法において、前処理は、当該画像出力装置による出力に不具合の発生し得る特定階調値に相当する中心値を含む範囲を、当該特定階調値に隣接する階調値の一方に相当する中心値と当該特定階調値に相当する中心値との中間値を含む範囲に圧縮し、前記後処理は、前記入力データの階調が前記特定階調値に相当する中心値を含む範囲にあって、前記擬似中間調処理が施されたデータが当該特定階調値であるとき、その階調値をシフトして出力する点に特徴がある。
第５の画像処理方法によれば、フリッカや揺れなどの表示上の不具合が発生し得る階調が、画像出力装置において使用されないので、また、第６、第７の画像処理によれば、不具合の発生し得る階調が画像出力装置において低減されるので、いずれも、画質の向上が図られる。さらに、第５、第６および第７の画像処理方法によれば、いずれも、入力データが特定階調値に相当する範囲の中心値に近接するとき、擬似中間調処理によって、当該特定階調値に隣接するいずれかの階調値に、該入力データの階調値に応じた確率にて変換されるので、中間階調の再現性が低下することもないし、くわえて、第３または第４の画像処理方法のように複雑な判別を伴わないので、処理の高速化が期待できる。
上記目的を達成するために、本発明に係る第１の画像処理装置は、画素の階調を指示するデータを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって変換するが、当該入力データが、当該画像出力装置による出力に不具合の発生し得る特定階調値に対応するとき、その全部または少なくともその一部を、当該特定階調値以外の階調値を規定する階調データに変換して、変換した階調データを当該画像出力装置に供給する変換回路を具備する構成を特徴としている。
この構成は、上記第１の画像処理方法を装置化したものに相当する。したがって、この構成によれば、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
上記目的を達成するために、本発明に係る第２の画像処理装置は、画素の階調を指示するデータを、画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該画像出力装置による出力に不具合の発生し得る階調の特定階調値に対応するデータの全部または少なくとも一部については、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換して、当該画像出力装置に供給する変換回路を具備する構成を特徴としている。
この構成は、上記第２の画像処理方法を装置化したものに相当する。したがって、この構成によれば、入力されたデータを画像出力装置の出力可能な階調に減少させる際に、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
上記目的を達成するために、本発明に係る電子機器は、  画像処理装置と画像出力装置とを有し、前記画像処理装置は、画素の階調を指示するデータを、当該画像出力装置の階調を規定する階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該画像出力装置による出力に不具合の発生し得る階調の特定階調値に対応する入力データの全部または少なくとも一部については、当該特定階調値に隣接するいずれかの階調値を規定する階調データに変換する変換回路と、前記画像形成装置は、前記画像処理装置によって変換された階調データにしたがって、画像を出力する構成を特徴としている。この構成によれば、フリッカや揺れなどの不具合が発生し得る階調が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
上記目的を達成するために、本発明に係る画像処理プログラムは、画像出力装置に、当該画像出力装置の階調を規定する階調データを供給するためのコンピュータに対し、画素の階調を指示するデータを、前記階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該画像出力装置による出力に不具合の発生し得る階調の特定階調値となるデータの全部または少なくとも一部については、当該特定階調値に隣接するいずれかの階調値の階調データに変換して、変換した階調データを当該画像出力装置に供給する手段として機能させることを特徴としている。
この機能によれば、フリッカや揺れなどの不具合の発生し得る階調が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
同様に、上記目的を達成するために、本発明に係る画像処理プログラムを記録したコンピュータ読取可能な記録媒体は、画像出力装置に、当該画像出力装置の階調を規定する階調データを供給するためのコンピュータに対し、画素の階調を指示するデータを、前記階調データに、予め定められた特性にしたがって階調数を減少させるとともに、中間調表現のための擬似中間調処理を施して変換するが、当該画像出力装置による出力に不具合の発生し得る階調の特定階調値となるデータの全部または少なくとも一部については、当該特定階調値に隣接するいずれかの階調値の階調データに変換して、変換した階調データを当該画像出力装置に供給する手段として機能させるための画像処理プログラムを記録したことを特徴としている。
この機能によれば、フリッカや揺れなどの表示上の不具合が発生し得る階調の使用が画像出力装置において使用されないので、または、低減されるので、画質の向上が図られることになる。
発明を実施するための最良の形態
以下、本発明の実施の形態について図面を参照して説明する。
＜第１実施形態＞
まず、本発明の第１実施形態に係る画像処理装置について説明する。図１は、この画像処理装置を備える携帯電話機のシステム構成を示す図である。この図に示されるように、携帯電話機１０は、カラーＬＣＤパネル２０を備え、複数ある基地局ＢＳのうち、在圏するエリア（セル）を管轄する基地局ＢＳと通信する。基地局ＢＳは、移動通信網ＴＮに接続されている。移動通信網ＴＮには、各種のサービスを提供するためのサーバＳＶも接続されている。
図２は、移動電話機のハードウェア構成を示すブロック図である。
この図に示されるように、携帯電話機１０は、カラーＬＣＤパネル２０、ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、入力部３６、無線部４０を備え、これらの各部は、バスＢを介して互いに接続されている。
このうち、カラーＬＣＤパネル２０は、内部に駆動回路を備えている。カラーＬＣＤパネル２０について詳述すると、１ドットがＲ（赤）、Ｇ（緑）、Ｂ（青）の３色の画素からなり、駆動回路が、Ｒ、Ｇ、Ｂの各画素を、それぞれ３、３、２ビットの階調データにしたがって階調表示を行うように構成されている。このため、カラーＬＣＤパネル２０では、１ドットについて２５６（＝２（３＋３＋２））色のカラー表示が行われることになる。
なお、カラーＬＣＤパネル２０では、ＳＴＮ（Ｓｕｐｅｒ  Ｔｗｉｓｔｅｄ  Ｎａｍａｔｉｃ）型のパッシブマトリクス駆動方式が採用されるとともに、フレーム間引き駆動法による階調表示が行われる構成となっている。このため、カラーＬＣＤパネル２０では、画素をある階調値にさせると、フリッカなどの表示上の不具合が発生し得る。この表示上の不具合が発生し得る階調値を特定階調値と、便宜的に呼ぶことにする。
ＣＰＵ３０は、後述するように各種の演算や制御など実行する主体であり、また、ＲＯＭ３２は、基本入出力プログラム等を記憶し、ＲＡＭ３４は、ＣＰＵ３０による制御において一時記憶領域として用いられ、入力部３６は、テンキーや矢印キーなど、ユーザが各種の入力操作するためのボタンスイッチである。
一方、無線部４０は、ＣＰＵ３０の制御の下、音声情報や、画像データ、パケットデータ、制御情報などを、基地局ＢＳとの間にて無線通信するとともに、受信した情報やデータを処理する。
この構成による携帯電話機１０では、通常の音声通話のほか、アプリケーションプログラムを実行することによって様々な機能を実現することができる。例えば、個人情報管理プログラムを実行することによって、スケジュールや、住所録、メモ等を管理する機能が実現されるし、メール送受信プログラムを実行することによって、他の端末と電子メールを授受する機能が実現される。また、ブラウザプログラムを実行することによって、サーバＳＶが提供する様々な情報を閲覧する機能も実現されることになる。
＜画像処理＞
次に、携帯電話機１０におけるＣＰＵ３０によって実行される画像処理について説明する。なお、この説明では、例として、サーバＳＶからダウンロードしたＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）形式の画像データをカラーＬＣＤパネル２０の表示能力に適するように処理する画像処理について説明する。図３は、この画像処理の動作を説明するためのフローチャートである。
この画像処理プログラムが起動されると、まず、処理対象となる画像データが入力されて、ＲＡＭ３４に記憶される（ステップＳ１００）。
次に、入力された画像データのビット数を多ビット化する多階調化処理が実行される（ステップＳ１１０）。この多階調化処理を実行する理由は、ＧＩＦ形成にて扱うことが可能な色数は２５６色（８ビット）以下であるので、この色数を一旦、携帯電話機１０の内部にて処理可能な２４ビットまで拡大するためである。
この多階調化処理は、実際には、図４に示されるテーブルを用いた変換処理によって実行される。詳細には、処理対象の画像データに応じたテーブルがＲＡＭ３４にセットされるとともに、セットされたテーブルを参照することによって、画像データによって指示される８ビットのパレットインデックスカラーが、Ｒ、Ｇ、Ｂの各８ビット（計２４ビット）に変換される。なお、図４に示されるテーブルの内容はあくまでも一例であり、処理対象の画像データが相違すると、変換内容も変更され得る。
ダウンロードした画像データに示される画像の解像度は、必ずしも、カラーＬＣＤパネル２０にて表示可能な解像度（あるいは、当該ブラウザ等によって予め定められた範囲の解像度）であるとは限らない。このため、多階調化処理された画像データの解像度を、カラーＬＣＤパネル２０の解像度（または指定された解像度）となるように、解像度変換処理がなされる（ステップＳ１２０）。
次に、カラーＬＣＤパネル２０において表示が行われる場合に、不具合が発生し得る階調値を示すデータが読み込まれる（ステップＳ１３０）。上述したように、カラーＬＣＤパネル２０では、Ｒ、Ｇ、Ｂの各画素が、それぞれ３、３、２ビットの階調データにしたがって階調表示を行うので、Ｒ、Ｇについては階調値が［０］から［７］までの８階調にて、Ｂについては階調値が［０］から［３］までの４階調にて、それぞれ表示可能である。なお、本件の説明では［］の数字は、十進表記で示される。
ここで、本実施形態では、便宜的に２５６階調から８階調に減色されるＲ、Ｇについて、階調値が［３］であれば、カラーＬＣＤパネル２０にて表示上の不具合が発生し得るとする。したがって、本実施形態において、ステップＳ１３０では、階調値［３］を示すデータが読み込まれることになる。なお、減色後では４階調となるＢについては、表示上の不具合が発生しないとする。
続いて、入力された画像データで示される画像が、自然画や写真イメージなどの自然画像であるか否かが判別される（ステップＳ１４０）。この判別は、例えば当該画像にて出現する階調数が一定値以上であるか否かによって判別される。当該階調数が一定値以上であれば、自然画像であると判別されて、第１の減色処理が実行される（ステップＳ１５０）一方、当該画像の色数が一定値よりも少なければ、自然画像ではないと判別されて、第２の減色処理が実行される（ステップＳ１６０）。
第１の減色処理について脱明する。この第１の減色処理は、１画素をＲ、Ｇ、Ｂの各８ビット（各２５６階調）にて規定する画像データを、Ｒ、Ｇについては、３ビット（各８階調）のうち、表示上の不具合が発生し得る階調値［３］を除いた７階調に、Ｂについては２ビット（４階調）に、それぞれカラーＬＣＤパネル２０において表現可能となるように減色する処理である。さらに、本実施形態では、自然画像を減色する際に、同一の階調値に集中して、不自然な輪郭模様が発生しないようにするため、オリジナルの階調値をディザ行列において対応する閾値と比較するディザ法も併せて適用する。
便宜上、処理対象となる画像データで示される画像のうち、着目画素の階調を指示する階調値をＤＸと表記する一方、変換された（減色後の）階調データにおける階調値をＣＤＸと表記する。
通常、階調値ＤＸが［０］から［２５５］までの２５６階調を、ディザ法を用いて８階調に割り振るためには、６つの閾値ＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６（ＴＨ１＜ＴＨ２＜ＴＨ３、…、＜ＴＨ６）を用いて、２５６階調を７階調に分け、この後、ディザ行列の閾値と比較し、その比較結果に応じて階調値ＣＤＸのいずれかとする手法とすることが考えられる。
ただし、本実施形態では、カラーＬＣＤパネル２０において、Ｒ（赤）、Ｇ（緑）の画素が階調値［３］の表示を行うと、表示上の不具合が発生し得るので、階調値ＣＤＸが［３］となる変換を回避する必要がある。
そこで、第１の減色処理では、ステップＳ１３０において読み込まれた画像データにおける着目画素の階調値ＤＸが［３］に相当する閾値ＴＨ４を使用しないとともに、閾値ＴＨ３以上閾値ＴＨ５未満であるデータについては、ディザ行列の閾値との比較結果に応じて、階調値［３］に隣接する［２］または［４］のいずれかのデータに変換することによって、階調値ＣＤＸが［３］となる変換を回避することとした。
図５は、この第１の減色処理の内容を示すフローチャートである。この第１の減色処理は、Ｒ、Ｇ、Ｂの各色についてそれぞれ実行されるが、ここでは、Ｒのデータについて、２５６階調を７階調に減色する場合を例にとって説明する。
また、ディザ法で用いるディザマトリクスとしては、例えば図６に示されるような４×４の正方マトリクスが用いられて、後述する正規化値ＤＸ’がディザマトリクスの閾値よりも大きいか否かによって、減色後の階調値ＣＤＸが決定される。なお、ディザマトリクスとしては、図６に示されるマトリクスに限られることはなく、異なるサイズのマトリクスを用いても良いし、閾値の配列についても例えば中心から外側にしたがって順次大きくなるマトリクスを用いても良い。
図５において、第１の減色処理が開始されると、自然画像であると判別された画像データが入力される（ステップＳ２００）。
次に、当該画像データのうち、着目画素の階調値ＤＸが閾値ＴＨ１未満であるか否かが判別される（ステップＳ２１０）。階調値ＤＸが閾値ＴＨ１未満であれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲である［０］から［１５］までの範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２１２）。例えば、閾値ＴＨ１が［３６］である場合に、階調値が［２４］であれば、
ＤＸ’＝１５・ＤＸ／ＴＨ１
により求められる結果、正規化値ＤＸ’は［１０］となる。
続いて、ステップＳ２１２における正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２１４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［０］とし（ステップＳ２１６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［１］とする（ステップＳ２２６）。
一方、ステップＳ２１０において階調値ＤＸが閾値ＴＨ１以上であると判別されれば、さらに、階調値ＤＸが閾値ＴＨ２未満であるか否かが判別される（ステップＳ２２０）。階調値ＤＸが閾値ＴＨ２未満であれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２２２）。このとき、正規化値ＤＸ’は、次式により求められる。
ＤＸ’＝１５・（ＤＸ−ＴＨ１）／（ＴＨ２−ＴＨ１）
次に、ステップＳ２２２における正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２２４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［１］とし（ステップＳ２２６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［２］とする（ステップＳ２３６）。
ステップＳ２２０において階調値ＤＸが閾値ＴＨ２以上であると判別されれば、さらに、当該階調値ＤＸが閾値ＴＨ３未満であるか否かが判別される（ステップＳ２３０）。階調値ＤＸが閾値ＴＨ３未満であれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２３２）。このとき、正規化値ＤＸ’は、次式により求められる。
ＤＸ’＝１５・（ＤＸ−ＴＨ２）／（ＴＨ３−ＴＨ２）
次に、ステップＳ２３２における正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２３４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［２］とし（ステップＳ２３６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［３］とはせずに、［４］とする（ステップＳ２５６）。
ステップＳ２３０において階調値ＤＸが閾値ＴＨ３以上であると判別されれば、さらに、当該階調値ＤＸが閾値ＴＨ５未満であるか否かが判別される（ステップＳ２５０）。階調値ＤＸが閾値ＴＨ５未満であれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２５２）。このとき、正規化値ＤＸ’は、次式により求められる。
ＤＸ’＝１５・（ＤＸ−ＴＨ３）／（ＴＨ５−ＴＨ３）
次に、ステップＳ２５２における正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２５４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［４］とし（ステップＳ２５６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［５］とする（ステップＳ２６６）。
同様に、ステップＳ２５０において、階調値ＤＸが閾値ＴＨ５以上であると判別されれば、さらに、当該階調値ＤＸが閾値ＴＨ６未満であるか否かが判別される（ステップＳ２６０）。階調値ＤＸが閾値ＴＨ６未満であれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２６２）。このとき、正規化値ＤＸ’は、次式により求められる。
ＤＸ’＝１５・（ＤＸ−ＴＨ５）／（ＴＨ６−ＴＨ５）
次に、ステップＳ２６２での正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２６４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［５］とし（ステップＳ２６６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［６］とする（ステップＳ２７６）。
同様に、ステップＳ２６０において、階調値ＤＸが閾値ＴＨ６以上であると判別されれば、当該階調値ＤＸが、ディザマトリクスの閾値範囲に収まるように正規化されて、その正規化値がＤＸ’とされる（ステップＳ２７２）。このとき、正規化値ＤＸ’は、次式により求められる。
ＤＸ’＝１５・（ＤＸ−ＴＨ６）／（２５５−ＴＨ６）
そして、ステップＳ２７２における正規化値ＤＸ’が、ディザマトリクスにおいて着目画素に対応する閾値ＴＨよりも大きいか否かが判別される（ステップＳ２７４）。正規化値ＤＸ’が閾値ＴＨ未満であれば、着目画素の階調値ＣＤＸを［６］とし（ステップＳ２７６）、正規化値ＤＸ’が閾値ＴＨよりも大きければ、着目画素の階調値ＣＤＸを［７］とする（ステップＳ２７８）。
そして、入力された画像データのうち、すべての画素についてステップＳ２００からステップＳ２７８までの処理がなされたか否かが判別され（ステップＳ２８０）、当該判別結果が否定的であれば、着目画素を移行させるとともに、全画素について処理を実行すべく、手順をステップＳ２００に戻す一方、当該判別結果が肯定的であれば、Ｒ（赤）について第１の減色処理が終了する。
なお、ここではＲについて説明したが、Ｒと同様な問題が発生し得るＧ（緑）についても、［０］から［７］までの８階調のうち、［３］を除いた７階調の階調値ＣＤＸとなるように、同様な減色処理が実行される。
また、Ｂ（青）については、上述したように表示上の不具合が発生しないので、通常の擬似中間調処理によって、２５６階調から４階調に減色される。なお、Ｂについても、ある階調値を表示すると不具合が発生し得るのであれば、当該階調値を回避する処理をすれば良い。
さらに、ここでは一例としてディザ法を用いて擬似的に中間調を再現したが、誤差拡散法など、他の手法を適用しても良い。
次に、図３のステップＳ１６０において実行される第２の減色処理について説明する。表示すべき画像が自然画像でないとき、例えば、文字や線画などの画像であるとき、画像データにおける階調値の分布が偏るため、ディザ法などの擬似中間調処理を実行しない方が、良好な画質が得られるとされる。
そこで、第２の減色処理では、図７に示されるように、［０］から［２５５］までの２５６階調が、［０］から［７］までの８階調のうち、［３］を除いた７階調に割り振られる。詳細には、表示上の不具合が生じ得る階調値ＣＤＸの［３］については出力されず、その替わりに、当該階調値に隣接する［２］および［４］の入力範囲が、例えば、それぞれ［６４］以上［１１２］未満、［１１２］以上［１６０］未満に拡大されている（通常では、入力される階調値ＤＸが［９６］以上［１２８］未満であれば、階調値が［３］となるように割り振られる）。
なお、本実施形態では、入力された画像データで示される画像が、自然画や写真イメージなどの自然画像であるか否かについての判別結果に応じて、第１または第２の減色処理を実行するが、判別をすることなく、いずれか一方の減色処理を実行するとしても良いし、また、解像度変換についても必要なければ、実行しなくても良い。
また、本実施形態では、階調値ＣＤＸが［２］、［４］に割り振られる階調値ＤＸの範囲だけを拡大したが、例えば、階調値ＣＤＸが［１］、［２］、［４］、［５］、［６］、［７］にそれぞれ割り振られる階調値ＤＸの範囲を、均等化しても良い。
この割り振りによる変換は、Ｒ、Ｇについて行われる。Ｂについては、［０］から［２５５］までの階調値ＤＸを４つのブロックに均等に分けて、各ブロックの範囲を、それぞれ［０］、［１］、［２］、［３］とする階調値ＣＤＸに割り振れば良い。
第１または第２の減色処理が完了すると、減色された階調データ、すなわち、Ｒ、Ｇについては、それぞれ階調値ＣＤＸ［３］が除かれた７階調にて規定し、Ｂについては４階調にて規定する階調データが、カラーＬＣＤパネル２０に供給されて、この階調データにしたがった表示がカラーＬＣＤパネル２０に行われる。このため、カラーＬＣＤパネル２０において、フリッカや揺れなどの不具合が発生し得る階調値が表示されないので、表示画面の画質の低下を防止することができる。
この画像処理は、コンピュータによる処理を含んでいることから、この処理を実現するためのプログラムとしての態様と、当該プログラムを記録したコンピュータ読取可能な記録媒体としての態様とを採ることもできる。この記録媒体としては、フレキシブルディスクや、ＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジのほか、パンチカード、バーコードなどの符号が印刷された印刷物や、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）、外部記憶装置装置によってコンピュータが読み取り可能な種々の媒体を利用することができる。
＜第１実施形態の応用例＞
上述した第１実施形態における第１の減色処理では、カラーＬＣＤパネル２０において表示上の不具合が発生し得る階調値を完全に除いたが、当該階調値の発生頻度を減少させることとしても、画質の低下として視認される可能性は少ない。そこで、表示上の不具合が発生し得る階調値を完全に除くのではなく、当該階調値の発生頻度を減少させた第１、第２および第３応用例について説明する。
＜第１実施形態の第１応用例＞
第１応用例は、後述するトーンカーブを用いて、入力される画像データの階調値を補正して、当該階調値への変換を少しだけ許容する技術である。図８は、第１応用例に係る画像処理の内容を示すフローチャートである。ステップＳ１００ａからステップＳ１４０ａまでは、図３におけるステップＳ１００からステップＳ１４０までと同一内容であるので、ここでは、ステップＳ１４２以降について説明する。
まず、ステップＳ１４０ａにおいて、入力された画像データが自然画像と判定されると、ステップＳ１３０ａにて読み込まれた階調値、すなわち、表示上の不具合が発生し得る階調値を示すデータに応じて、ルックアップテーブルがＲＡＭ３４内に設定される（ステップＳ１４２）。そして、当該ルックアップテーブルが参照されて、画像データの階調値ＤＸが補正される（ステップＳ１４４）。
ルックアップテーブルの設定および該ルックアップテーブルを参照した補正は、Ｒ（赤）、Ｇ（緑）の各々について実行される。Ｂ（青）については、上述したように、カラーＬＣＤパネル２０において表示上の不具合が発生し得る階調値が存在しないと想定しているので、ルックアップテーブルの設定および該ルックアップテーブルよる補正を実行する必要はない。ただし、Ｂについても表示上の不具合が発生し得る階調が存在するのであれば、実行する必要があるのはもちろんである。
ここで、ルックアップテーブルの設定設定および該ルックアップテーブルを参照した補正について、Ｒを例にとって説明する。図９は、Ｒについてのルックアップテーブルの変換内容を示す図表である。図１０は、この変換特性（トーンカーブ）であり、入力側は補正前の階調値ＤＸＲを示し、出力側は補正後の階調値ＤＸｒを示している。いずれも、カラーＬＣＤパネル２０において表示上の不具合が生じ得る階調値ＣＤＸが［３］であるとしたときのものである。
図１０におけるトーンカーブＬａは、例えば、階調値ＤＸＲ［１０４］のデータが階調値ＤＸｒ［９６］のデータに補正されることを示している。トーンカーブＬａでは、入力側の階調値ＤＸＲが、階調値ＣＤＸが［３］に相当するｐ点よりも小さい領域では、値がより小さい階調値ＤＸｒに補正される一方、ｐ点よりも大きい領域では、値がより大きい階調値ＤＸｒに補正される。
なお、補正なしの場合における特性は、図において一点鎖線Ｌｂにて示され、入力側の階調値ＤＸＲがそのまま出力側の階調値ＤＸｒとして出力される。
このトーンカーブでは、階調値ＤＸｒが［９６］〜［１２８］に分布する割合が減少するが、その分、［０］〜［９６］および［１２８］〜［２５５］に分布する割合が増加する。ここで、階調値ＤＸｒが［９６］〜［１２８］に分布する割合を減少させている理由は、図１１に示されるように、［０］〜［２５５］までの２５６階調を８等分し、８つの領域を作成して、各領域を８階調に単純に割り振ったとき、階調値［３］に相当する領域が［９６］〜［１２８］に相当するからである。このため、表示上の不具合が他の階調値、例えば階調値［５］にて発生し得るのであれば、階調値［５］に相当する［１６０］〜［１９２］に分布する割合を減少させれば良い。
すなわち、ステップＳ１４２におけるルックアップテーブルの設定とは、ステップＳ１３０ａにおいて読み込まれた階調値に相当する範囲の分布が減少するように、入出力の関係を操作することをいう。ただし、入出力の関係を操作することに限られず、予め階調値に応じたルックアップテーブルをＲＯＭ３２またはＲＡＭ３４に複数用意しておく一方、ステップＳ１３０ａにおいて読み込まれた階調値に対応するテーブルを選択するとしても良い。
また、この例では、トーンカーブを直線的としているが、カラーＬＣＤパネルの入力／表示特性を補正するためのガンマ特性を持たせて、曲線的に設定しても良い。
さらに、ルックアップテーブルではなく、階調値ＤＸＲを入力する演算・関数によって求めることとしても良い。
ステップＳ１４４において階調値ＤＸｒに補正されると、第１の減色処理が実行される（ステップＳ１５０ａ）。ここでいう第１の減色処理によって、１画素をＲ、Ｇ、Ｂの各８ビット（各２５６階調）で規定する画像データが、Ｒ、Ｇについては３ビット（各８階調）に、Ｂについては２ビット（４階調）に、それぞれ減色される。該第１の減色処理でも、第１実施形態と同様に、ディザ法が適用される。
図１２は、この第１応用例における第１の減色処理の内容を示すフローチャートである。この図に示される第１の減色処理が、図５と相違する点は、閾値ＴＨ４が用いられる点と、階調値ＣＤＸを［３］とすること（ステップＳ３４６）があり得る点とである。第１応用例における第１の減色処理でも、Ｒ、Ｇの各々について、全画素にステップＳ３００からステップＳ３８０までの処理が繰り返され、Ｂについても全画素について４階調に減色する処理が実行される。
一方、ステップＳ１６０ａにおける第２の減色処理は、図３における第１実施形態と同様である。
第１または第２の減色処理が完了すると、減色された階調データがカラーＬＣＤパネル２０に供給されて、この階調データにしたがった表示が行われる。この第１応用例において、第１の減色処理が実行された場合、Ｒ、Ｇについては、ルックアップテーブルによって、それぞれ階調値ＣＤＸ［３］の分布が低減された８階調にて規定し、Ｂについては４階調にて規定する階調データが、カラーＬＣＤパネル２０に供給される。このため、表示上の不具合が発生し得る階調値が表示されるが、その発生頻度は低いので、表示画面の品位の低下として問題となるまでに至らないで済む。
＜第１実施形態の第２応用例＞
第１応用例では、不具合が発生し得る階調値に相当する範囲の分布をルックアップテーブル等によって減少させた後に、第１の減色処理を実行して、当該階調値の発生頻度を低減させたが、ルックアップテーブル等を用いずに、第１の減色処理内における閾値を変更することによっても同様な効果を得ることができる。
そこで、第１の減色処理内における閾値を変更した第２応用例について説明する。
図１３は、第２応用例に係る画像処理の内容を示すフローチャートである。ステップＳ１００ｂからステップＳ１４０ｂまでは、図３におけるステップＳ１００からステップＳ１４０までと同一内容であるので、ここでは、ステップＳ１４６以降について説明する。
まず、ステップＳ１４０ｂにおいて入力された画像データが自然画像と判定されると、ステップＳ１３０ｂにて読み込まれた階調値、すなわち、表示上の不具合が発生し得る階調値を示すデータに応じた閾値が、閾値テーブルを参照して設定される（ステップＳ１４６）。
ここで、閾値テーブルとは、ＲＯＭ３２に固定的に記憶（または、この画像処理の起動直後にＲＡＭ３４に記憶）されたものであり、その内容は図１４に示されるように、表示上の不具合が生じ得る階調値ＣＤＸに対し、図１２におけるＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６として用いる閾値の関係を規定する。
図１４において、ハッチングされていない閾値ＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６は、図１２における閾値と同一である。また、ハッチングされた閾値は、この第２応用例において特有であり、当該階調値ＣＤＸに相当する範囲を狭めるために、次のような関係を有する。ＴＨ０１＜（ＴＨ１）＜ＴＨ１１＜ＴＨ２１＜（ＴＨ２）＜ＴＨ２２＜ＴＨ３２＜（ＴＨ３）＜ＴＨ３３＜ＴＨ４３＜（ＴＨ４）＜ＴＨ４４＜ＴＨ５４＜（ＴＨ５）＜ＴＨ５５＜ＴＨ６５＜（ＴＨ６）＜ＴＨ６６＜ＴＨ６７
この応用例においても、カラーＬＣＤパネル２０において、Ｒ（赤）、Ｇ（緑）の画素に階調値［３］の表示をさせると、表示上の不具合が発生し得るとすると、ステップＳ１３０においては階調値［３］を示すデータが読み込まれる。このため、ステップＳ１４６では、階調値ＣＤＸ［３］に対応する閾値ＴＨ１、ＴＨ２、ＴＨ３３、ＴＨ４３、ＴＨ５、ＴＨ６の各々が、図１２における閾値ＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６としてセットされる。ここで、上述したように、ＴＨ３＜ＴＨ３３＜ＴＨ４３＜ＴＨ４なる関係が存在するので、当該階調値ＣＤＸ［３］に相当する入力範囲が狭められることになる。
表示上の不具合が発生し得る階調値ＣＤＸ［５］であれば、閾値ＴＨ１、ＴＨ２、ＴＨ３、ＴＨ４、ＴＨ５５、ＴＨ６５の各々が、図１２における閾値ＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６としてセットされて、当該階調値ＣＤＸ［５］に相当する入力範囲が狭められることになる。
そして、閾値ＴＨ１、ＴＨ２、ＴＨ３、…、ＴＨ６としてセットされた閾値を用いた第１の減色処理が実行される（ステップＳ１５０ｂ）。一方、ステップＳ１６０ｂにおける第２の減色処理は、図３における第１実施形態と同様である。
第１または第２の減色処理が完了すると、減色された階調データがカラーＬＣＤパネル２０に供給されて、この階調データにしたがった表示が行われる。この第２応用例において、第１の減色処理が実行された場合、Ｒ、Ｇについては、閾値の変更によって、それぞれ階調値ＣＤＸ［３］の分布が低減された８階調にて規定し、Ｂについては４階調にて規定する階調データが、カラーＬＣＤパネル２０に供給される。このため、表示上の不具合が発生し得る階調値が表示されるが、その表示頻度は低いので、表示画面の品位の低下として問題となるまでに至らないで済む。
＜第１実施形態の第３応用例＞
上述した第１および第２応用例では、第１の減色処理において、表示上の不具合が発生し得る階調値ＣＤＸの発生頻度を減少させたが、２５６階調のデータを８階調に減色するときの割り振りを変更することにしても良い。図１５は、この割り振りを示す説明図である。この図に示されるように、表示上の不具合が発生し得る階調値ＣＤＸが［３］に出力する入力階調値ＤＸの範囲が狭くなっている。このような割り振りによっても、表示上の不具合が発生し得る階調値の発生頻度を滅少させ、表示品位の低下を意識させないで済む。この応用は、第１の減色処理と第２の減色処理とが実施的に同じである、と解釈することもできる。
＜第２実施形態＞
第１実施形態では、入力された画像データが、表示上の不具合が発生し得る階調値に変換されないので、または、その発生頻度が減少するので、カラーＬＣＤパネル２０による表示品位の低下については確かに防止することができる。しかしながら、第１実施形態では、カラーＬＣＤパネル２０の階調特性に偏りが生じて、中間階調の再現性が悪化する、という問題が顕在化した。
この理由は、例えば２５６階調を８階調に減色するときに階調値［３］を回避するのであれば、２５６階調において、当該階調値［３］の中心に相当する階調値［１１２］は、理想的には、８階調における階調値［２］または［４］に、発生確率がほぼ５０％にて変換されなければならないが、第１実施形態では、ディザマトリクスの閾値との比較前における割り振り（図５ではステップＳ２１０等、図１２では、ステップＳ３１０等）や、トーンカーブによる補正（図８のステップＳ１４４）によって、入力された画像データは、本来的に有する階調値の情報を失った状態にて（または、補正された状態にて）、擬似中間調処理されるので、このような理想的な変換が期待できないためである。この結果、第１実施形態では、２５６階調における階調値［１１２］は、８階調における階調値［２］または［４］の一方に偏って変換されるので、カラーＬＣＤパネル２０における階調特性の全体的バランスが崩れる、と考えられる。
そこで、表示上の不具合が発生し得る階調の表示を回避しつつ、中間階調の再現性の悪化を防止した第２実施形態について説明する。なお、この第２実施形態に係る画像処理は、図３におけるステップＳ１５０を除けば同一であるので、同一部分については説明を省略する。また、説明を簡略化するために、すべての画素について処理を行うための再帰的手順や、必要な値のプリセットやクリアの手順についても説明を省略する。なお、この第２実施形態では、第１実施形態とは異なり、２５６階調を１６階調に減色する場合について検討する。
図１６は、第２実施形態に係る画像処理のうち、要部である減色処理の内容を示すフローチャートである。
はじめに、自然画像と判定された画像データのうち、着目画素の階調を示すデータＤｉｎ（ｘ、ｙ）に対し、一種の揺らぎを与えるために、ディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）が加算されて、当該加算値がＤ’（ｘ、ｙ）とされる（ステップＳ５１２）。このうち、データＤｉｎ（ｘ、ｙ）とは、座標が（ｘ、ｙ）である着目画素の階調を示し、また、ディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）とは、ディザマトリクスのうち、ｉ行ｊ列の要素の値を示す。
本実施形態では、２５６階調を１６階調に減色する場合を想定しているので、ディザマトリクスとして、例えば図１７に示されるような４×４のマトリクスを用いることができる。
なお、第１実施形態におけるディザマトリクスは、比較のための閾値として用いたが、第２実施形態では、階調値に揺らぎを与えるためのディザ値として用いられるので、両ディザマトリクスの性質が、若干相違している点に留意されたい。
画像データで示される画像の左上隅を基準座標（０、０）とし、さらに、Ｘ座標の正側を右側、Ｙ座標の正側を下側に規定した場合、座標（ｘ、ｙ）の着目画素に対応するディザ値の配列ｉ、ｊは、ｘ、ｙをそれぞれ［４］で割った余り（剰余値）にて定められる。例えば、着目画素の座標が（７、９）である場合、ｉ、ｊは、それぞれ［３］、［１］にて定められるので、ディザ値として１行３列の［−２］が適用される。基準座標を（０、０）としているので、座標（７、９）の画素は、左から順に１、２、３、…と数えると８番目、上から順に数えると１０番目となる点に注意する必要がある。
次に、データＤｉｎ（ｘ、ｙ）にティザ値Ｄｉｔｈｅｒ（ｉ、ｊ）が加算されたデータＤ’（ｘ、ｙ）を２進表記して、右に４ビットだけシフトした値を暫定的に階調データＤｏｕｔ（ｘ、ｙ）とする（ステップＳ５１４）。データＤ’（ｘ、ｙ）を右に４ビットだけシフトするということは、実質的に、当該データＤ’（ｘ、ｙ）を［１６］（十進表記）で割ることであって、２５６階調を１６階調に変換することを意味する。
したがって、ステップＳ５１２、Ｓ５１４では、オリジナルのデータＤｉｎ（ｘ、ｙ）にティザ値Ｄｉｔｈｅｒ（ｉ、ｊ）を加算した後、２５６階調から１６階調に変換する、という擬似中間調処理が実行されることになる。この擬似中間調処理については、後々の説明において頻繁に引用するので、ステップＳ５１０としてまとめる。
続いて、擬似中間調処理された階調データＤｏｕｔ（ｘ、ｙ）が、不具合の発生し得る階調値［ｎ］、すなわち、すでにステップＳ１３０において読み込まれた階調値ＣＤＸのデータに等しいか否かが判別される（ステップＳ５２０）。
階調データＤｏｕｔ（ｘ、ｙ）が当該階調値［ｎ］に等しくなければ、当該階調データＤｏｕｔ（ｘ、ｙ）がそのまま変換値として出力される。
一方、階調データＤｏｕｔ（ｘ、ｙ）が当該階調値［ｎ］に等しければ、さらに、ステップＳ５３０にまとめられる２回目の擬似中間調処理が実行される。この２回目の擬似中間調処理は、変換前に含まれる情報を考慮して、当該階調値［ｎ］に相隣接する階調値のいずれかに変換する、という内容である。
まず、上述したデータＤ’（ｘ、ｙ）を１６で割ったときの剰余値に、同一のディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）を加算した後、当該加算値に［−８］を加算した値をデータＲ（ｘ、ｙ）とし（ステップＳ５３２）、次に、該データＲ（ｘ、ｙ）が［０］以上であるか否かを判別する（ステップＳ５３４）。すなわち、ステップＳ５１０の擬似中間調処理において、不具合が発生し得る階調値［ｎ］に変換されるデータＤ’（ｘ、ｙ）に対し、再びディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）を加えた値が、当該階調値［ｎ］に相隣接する値のうち、上側の値に近いのか否かが判別される。
この判別結果が肯定的であれば、暫定的であったデータＤｏｕｔ（ｘ、ｙ）が［１］だけインクリメントされる（ステップＳ５３６）。これにより、インクリメント後の階調データＤｏｕｔ（ｘ、ｙ）が変換値として出力される。
一方、この判別結果が否定的であれば、暫定的であったデータＤｏｕｔ（ｘ、ｙ）が［１］だけデクリメントされる（ステップＳ５３８）。これにより、デクリメント後の階調データＤｏｕｔ（ｘ、ｙ）が変換値として出力される。
なお、ここでは１つの画素に着目して、当該画素の階調値の変換過程について説明したが、実際には、すべてのＲ、Ｇ、Ｂの画素について変換される。また、Ｒ、Ｇ、Ｂのうち、表示上の不具合が発生しない色が存在すれば、当該色については、ステップＳ５１０における１回目の擬似中間調処理だけを実行すれば良い。
このような画像処理について具体的に例を挙げて説明する。
例えば２５６階調を１６階調に減色するときに階調値［５］を回避するとき、２５６階調において、当該階調値［５］の中心に相当する階調値は［８８］である。そこで、例として階調値［８８］のデータがどのように変換されるかを検討する。
階調値［８８］に、［−８］から［７］までのディザ値が加算されると（ステップＳ５１０）、［８０］から［９５］までの範囲に分散する。この範囲は２進表記でいえば、０１０１００００から０１０１１１１１までであり、上位４ビットの０１０１は、十進表記でいう［５］であるので、必ずステップＳ５３０における２回目の擬似中間調処理が実行される。
ここで、［８０］から［９５］までの範囲とは、１６で割った余りが［０］から［１５］までの範囲に相当する。この余りに、再びステップＳ５１２と同一のディザ値［−８］から［７］までを加算した後に、［−８］を加算すると、［−１６］、［−１４］、…、［−２］、［０］、…、［１２］、［１４］に分散する。当該範囲のうち、［−１６］から［−２］までの範囲については階調値［４］の階調データに変換され（ステップＳ５３８）、［０］から［１４］までの範囲については階調値［６］の階調データに変換される（ステップＳ５３６）。このため、２５６階調において階調値［８８］のデータは、１６階調において階調値［４］または［６］のいずれかに、互いに確率５０％の割合にて変換される。
２５６階調において階調値［８８］に近接するデータについても、同様にして考えると、１６階調において階調値［４］または［６］に、当該データの階調値に応じて確率にて変換される。
したがって、第２実施形態によれば、不具合が生じ得る階調値への変換が回避されるとともに、当該階調値付近の階調については、当該階調値に隣接する階調値を用いて擬似的に表現されるので、中間階調特性の全体的なバランスが崩れることもない。
また、上述した第２実施形態において、ステップＳ５２０の判別結果が肯定的であれば、２回目の擬似中間調処理が実行されることになるが、ディザマトリクスについては共用できるので、当該ディザマトリクスを記憶するための領域が増加したり、擬似中間調処理のための構成が複雑化したりすることが防止される。なお、ディザマトリクスを共用するのではなく、ステップＳ５１２に用いるディザマトリクスのディザ値をそれぞれ［−８］だけ加算したディザマトリクスを別途用意しても良い。このようにディザマトリクスを２つ用意すれば、ステップＳ５３２の演算における［−８］の加算を省略することが可能となる。
＜第２実施形態の応用＞
上述した第２実施形態では、１回目の疑似中間調処理（ステップＳ５１０）の後、当該処理による階調データＤｏｕｔ（ｘ、ｙ）が、表示上の不具合が発生し得る階調値であるか否かを判別し（ステップＳ５２０）、この判別結果が肯定的であるときに限り、２回目の疑似中間調処理（ステップＳ５３０）を実行して、当該階調値に隣接する階調値のいずれかに変換することとした。この処理について図１８Ａを用いて説明すると、１回目の擬似中間調処理により減色された階調値が、不具合の生じ得る階調値［ｎ］となる範囲（図において破線で示される）でのみ、２回目の擬似中間階調処理が実行される一方、それ以外の範囲（図において実線で示される）では、２回目の擬似中間調階調処理が実行されないで、１回目の擬似中間階調処理による階調データをそのまま出力する、というものである。
この第２実施形態によれば、不具合の発生し得る階調値［ｎ］が完全に除かれるが、上述した第１実施形態における応用例のように、当該階調値［ｎ］の発生頻度を減少させることとしても、画質の低下として視認される可能性は少ない。
第２実施形態において、当該階調値［ｎ］の発生頻度を減少させるには、ステップＳ５２０における判別内容を次のような内容に変更すれば良い。
すなわち、減色後の暫定的な階調データＤｏｕｔ（ｘ、ｙ）が、不具合の発生し得る階調値［ｎ］に等しく、かつ、入力データＤｉｎ（ｘ、ｙ）の階調値が［１６ｎ＋ａ］以上［１６（ｎ＋１）−ａ］未満の範囲Ｈに含まれるか否かを判別すれば良い。ここで、範囲Ｈは、図１８Ｂに示されるように、１６階調における階調値［ｎ］に相当する範囲よりも狭い範囲であり、また、［ａ］は、正の値であって、余裕度（または冗長度）を示す。
データＤｉｎ（ｘ、ｙ）の階調値が［１６ｎ］以上［１６ｎ＋ａ］未満の範囲にあるとき、当該データＤｉｎ（ｘ、ｙ）に対して１回目の擬似中間調処理（ステップＳ５１０）が施されると、その階調値は［ｎ−１］または［ｎ］となるが、変更後のステップＳ５２０に従うと、判別結果が否定的となる。このため、当該階調値［ｎ］が出力され得る。
同様に、データＤｉｎ（ｘ、ｙ）の階調値が［１６（ｎ＋１）−ａ］以上［１６（ｎ＋１）］未満の範囲にあるとき、当該データＤｉｎ（ｘ、ｙ）に対して１回目の擬似中間調処理（ステップＳ５１０）が施されると、その階調値は［ｎ］または［ｎ＋１］となるが、変更後のステップＳ５２０に従うと、判別結果が否定的となる。このため、当該階調値［ｎ］が出力され得る。
ただし、階調値［ｎ］が最終的に出力されるのは、変更後のステップＳ５２０の判別結果が否定的となる上記２例に限られる。範囲ＨにあるデータＤｉｎ（ｘ、ｙ）に対し、１回目の擬似中間調処理（ステップＳ５１０）が施されて、その暫定的な階調値が［ｎ］となるとき、変更後のステップＳ５２０に従えば、判別結果が肯定的となるので、２回目の擬似中間調処理（ステップＳ５３０）が実行される結果、その階調値は、最終的に［ｎ−１］または［ｎ＋１］となるからである。
このため、ステップＳ５２０における判別内容を変更すると、階調値［ｎ］が出力されるものの、その発生頻度は減少することが判る。
ここで、ステップＳ５２０における判別内容を変更したときに、階調値［ｎ］が出力される頻度が高いのであれば、余裕度［ａ］を、より小さく設定すれば良い。余裕度［ａ］を小さくすると、範囲Ｈが広くなる結果、階調値［ｎ］の発生頻度が低下するからである。
したがって、ステップＳ５２０における判別内容を変更するとともに、余裕度［ａ］を適切に設定すると、表示品位を低下させることなく、中間階調特性の全体的なバランスを維持することが可能となる。
＜第３実施形態＞
上述した第２実施形態では、１回目の疑似中間調処理（ステップＳ５１０）の後、当該処理による階調データＤｏｕｔ（ｘ、ｙ）が、表示上の不具合が発生し得る階調値であるか否かを判別し（ステップＳ５２０）、この判別結果が肯定的であるときに限り、２回目の疑似中間調処理（ステップＳ５３０）を実行して、当該階調値に隣接する階調値のいずれかに変換することとした。
この変換内容と同等の結果については、２種類の擬似中間調処理を用意しておき、入力されたデータＤｉｎ（ｘ、ｙ）の階調値の判別に応じて、いずれかの擬似中間調処理を実行する手順を踏むことによっても得ることが可能である。
そこで次に、このような手順を踏む第３実施形態について説明する。なお、この第３実施形態に係る画像処理は、図３におけるステップＳ１５０を除けば同一であるので、その同一部分については説明を省略し、さらに簡略化するために、すべての画素について処理を行うための再帰的手順や、必要な値のプリセットやクリアの手順についても説明を省略する。また、この第３実施形態では、第２実施形態と同様に、２５６階調を１６階調に減色する場合について検討する。
図１９は、第３実施形態に係る画像処理のうち、要部である減色処理の内容を示すフローチャートである。
はじめに、自然画像と判定された画像データのうち、着目画素のデータＤｉｎ（ｘ、ｙ）の階調値が、擬似中間調処理（Ａ）を実行した場合に、不具合の生じる階調値［ｎ］に変換され得る範囲にあるか否かが判別される（ステップＳ６１０）。
ここで、１６階調における階調値［ｎ］は、図２１Ａに示されるように、２５６階調における階調値が［１６ｎ］以上［１６（ｎ＋１）］未満の範囲に相当している。本実施形態における擬似中間調処理（Ａ）を、第２実施形態における１回目の擬似中間調処理と同様とすると、図１７に示されるディジマトリクスのディザ値の最大値は［＋７］であり、最小値は［−８］であるので、階調値が［１６ｎ−７］以上［１６（ｎ＋１）＋８］未満の範囲Ｊにあれば、擬似中間調処理（Ａ）によって、階調値［ｎ］に変換される可能性がある。すなわち、ステップＳ６１０では、データＤｉｎ（ｘ、ｙ）の階調値が［１６ｎ−７］以上［１６（ｎ＋１）＋８］未満であるか否かが判別される。
データＤｉｎ（ｘ、ｙ）の階調値が当該範囲Ｊになければ、擬似中間調処理（Ａ）によって階調値［ｎ］に変換される可能性がゼロであるので、ステップ５１０において、実際に擬似中間調処理（Ａ）が実行されて、その処理結果が出力される。なお、この擬似中間調処理（Ａ）は、上述したように第２実施形態における１回目の擬似中間処理と同一内容であるので、説明を省略する。
一方、データＤｉｎ（ｘ、ｙ）の階調値が当該範囲Ｊにあれば、擬似中間調処理（Ａ）では、階調値［ｎ］に変換される可能性があるので、これを回避すべく、疑似中間調処理（Ｂ）が実行される（ステップＳ６２０）。
この擬似中間調処理（Ｂ）では、まず、データＤｉｎ（ｘ、ｙ）にディザ値Ｄｉｔｈｅｒ２（ｉ、ｊ）が加算されて、当該加算値がデータＤ２’（ｘ、ｙ）とされる（ステップＳ６２２）。
次に、不具合の生じ得る階調値［ｎ］が、奇数であるか否かが判別される（ステップＳ６２４）。
ここで、当該階調値［ｎ］が奇数であるとき、データＤ２’（ｘ、ｙ）を２進表記して、右に５ビットだけシフトした後、左に１ビットだけシフトした値を階調データＤｏｕｔ（ｘ、ｙ）とする（ステップＳ６２６）。
一方、当該階調値［ｎ］が偶数であるとき、データＤ２’（ｘ、ｙ）から［１６］を減算した値を２進表記して、右に５ビットだけシフトした後に、左に１ビットだけシフトし、当該シフト値を［１］だけインクメントして、階調データＤｏｕｔ（ｘ、ｙ）とする（ステップＳ６２８）。
この擬似中間調処理（Ｂ）における各処理の意味内容について詳述する。この擬似中間調処理（Ｂ）は、２５６階調にて示される階調データＤｉｎ（ｘ、ｙ）を、１６階調における本来的な階調値［ｎ］ではなく、これに隣接する［ｎ−１］または［ｎ＋１］に中間調処理を伴って変換する、という処理である。
この処理について、見方を変えれば、２５６階調のデータＤｉｎ（ｘ、ｙ）に、８階調に変換するためのディザ値を加算した値を求め、該加算値にしたがって８階調に変換したと仮定し、次に、８階調に減色した階調値が、１６階調において、どの階調値が相当するか、という処理に実質的に等しい。
この処理において、８階調に減色した階調値が、１６階調のうち、どの階調値が相当するかを求める場合に、不具合の生じ得る階調値［ｎ］が奇数であるか偶数であるかに応じて分ける考える必要がある。すなわち、階調値［ｎ］が奇数であるとき、偶数である階調値［ｎ−１］または［ｎ＋１］に変換すれば良いし、階調値［ｎ］が偶数であるとき、奇数である階調値［ｎ−１］または［ｎ＋１］に変換すれば良い。
例えば、図２２に示されるように、不具合の生じ得る階調値［ｎ］が奇数［５］であるとき、２５６階調における階調値［８０］以上［９６］未満にあるデータに、８階調に変換するためのディザ値を加算したとき、該加算値は、８階調における階調値［２］および［３］に相当する範囲に拡散する。もし、該加算値が階調値［２］相当する範囲であれば、該加算値を１６階調の階調値［４］に変換すれば良いし、該加算値が階調値［３］相当する範囲であれば、該加算値を１６階調の階調値［６］に変換すれば良い。
一方、不具合の生じ得る階調値［ｎ］が偶数、例えば［８］であるとき、２５６階調における階調値［１２８］以上［１４４］未満にあるデータに、８階調に変換するためのディザ値を加算したとき、該加算値は、８階調における階調値［３］および［４］に相当する範囲に拡散する（実際には、図２０に示されるディザマトリクスを用いるので、当該範囲に拡散しないが、ステップＳ６２８において加算値から［１６］だけ減じられるので、見掛け上、当該範囲に拡散すると考えて差し支えない）。もし、該加算値が階調値［３］に相当する範囲であれば、該加算値を１６階調の階調値［７］に変換すれば良いし、該加算値が階調値［４］に相当する範囲であれば、該加算値を１６階調の階調値［９］に変換すれば良い。
ここで、２５６階調を単純に８階調に変換するのであれば、ディザマトリクスのディザ値を２倍とすれば良い。ただし、８階調変換と１６階調変換とを混在させて考えるとき、８階調の中心と１６階調の中心とのズレを考慮しなければならない。
例えば、図２２において、１６階調における階調値［８］の中心は、２５６階調における階調値［１３６］であるが、８階調における階調値［４］の中心は、２５６階調における階調値［１４４］であり、両者は［８］だけ相違する。
したがって、１６階調変換に用いられたディザ値を、８階調変換にも用いる場合には、ディザ値を２倍して［８］だけ加算すれば良い。擬似中間調処理（Ｂ）に用いられるディザマトリクスは、図２０に示される通りであり、そのディザ値Ｄｉｔｈｅｒ２（ｘ、ｙ）は、図１７に示されるディザマトリクスのディザ値Ｄｉｔｈｅｒ（ｘ、ｙ）を２倍して［８］だけ加算した値となっている。
ステップＳ６２２は、データＤｉｎ（ｘ、ｙ）に対し、２５６階調を８階調に減色するためのディザ値Ｄｉｔｈｅｒ２（ｘ、ｙ）を加算して、当該加算値のデータＤ２’（ｘ、ｙ）を求める処理である、ということができる。
次に、不具合が生じ得る階調値［ｎ］が奇数である場合、２５６階調のデータＤ２’（ｘ、ｙ）を、１６階調において偶数の階調値［ｎ−１］または［ｎ＋１］に変換するが、該変換は、データＤ２’（ｘ、ｙ）を２進表記して、上位３ビットを抽出するとともに、最下位ビットを強制的に（０）とすれば良い。ステップＳ６２６は、この変換内容を示している。
一方、不具合が生じ得る階調値［ｎ］が偶数である場合、２５６階調のデータＤ２’（ｘ、ｙ）を、１６階調において奇数の階調値［ｎ−１］または［ｎ＋１］に変換するが、該変換は、データＤ２’（ｘ、ｙ）を２進表記して、上位３ビットを抽出するとともに、最下位ビットを強制的に（１）とすれば良い。ステップＳ６２８は、この変換内容を示している。
このように、第３実施形態では、着目画素のデータＤｉｎ（ｘ、ｙ）の階調値が、擬似中間調処理（Ａ）による実行によって不具合の生じる階調値［ｎ］に変換される可能性がゼロであれば、実際に、擬似中間調処理（Ａ）が実行されて、当該処理結果が出力される一方、着目画素のデータＤｉｎ（ｘ、ｙ）の階調値が、擬似中間調処理（Ａ）による実行によって不具合の生じる階調値［ｎ］に変換される可能性があれば、代わりに擬似中間調処理（Ｂ）が実行されて、階調値［ｎ−１］または階調値［ｎ＋１］が出力されることになる。
したがって、第３実施形態によれば、第２実施形態と同様に、不具合が生じ得る階調値への変換が回避されるとともに、当該階調値付近の階調については、当該階調値に隣接する階調値を用いて擬似的に表現されるので、中間階調特性の全体的なバランスが崩れることもない。
また、上述した第３実施形態において、ステップＳ５１２におけるディザマトリクス（図１７参照）とステップＳ６２２におけるディザマトリクス（図２０参照）とは、一見すると異なるが、上述したように、ディザ値Ｄｉｔｈｅｒ２（ｘ、ｙ）は、ディザ値Ｄｉｔｈｅｒ（ｘ、ｙ）を２倍して［８］だけ加算した値であるので、一方のディザマトリクスは、他方のディザマトリクスから演算して求めることができる。このため、第３実施形態において実質的に必要なディザマトリクスは、１つで済むので、ディザマトリクスを記憶するための領域が増加したり、擬似中間調処理のための構成が複雑化したりすることが防止される。
なお、ステップＳ６２８では、データＤ２’（ｘ、ｙ）から［１６］を減算しているが、ステップＳ６２２に用いるディザマトリクスのディザ値をそれぞれ［１６］だけ減算したディザマトリクスを別途用意しても良い。
＜第３実施形態の応用＞
上述した第３実施形態では、減色処理の際に、不具合の発生し得る階調値［ｎ］への変換が完全に回避されて、その発生率がゼロとなるが、上述した第２実施形態における応用例のように、当該階調値［ｎ］の発生頻度を小さく抑えても良い。階調値［ｎ］への変換が行われても、その確率が小さければ、画質の低下として視認されにくいからである。
第３実施形態において、当該階調値［ｎ］の発生頻度を減少させるには、ステップＳ６１０における判別結果が肯定的になる範囲Ｊを、第２実施形態と同様に狭めれば良い。具体的には、入力データＤｉｎ（ｘ、ｙ）の階調値が［１６ｎ−７＋ａ］以上［１６（ｎ＋１）＋８−ａ］未満の範囲Ｊ’に含まれるときだけ、擬似中間調処理（Ｂ）を実行すれば良い。
このようにステップＳ６１０の判別内容を変更すると、データＤｉｎ（ｘ、ｙ）の階調値が［１６ｎ−７］以上［１６ｎ−７＋ａ］未満の範囲Ｋ１にあるとき、ステップＳ５１０の擬似中間調処理（Ａ）が実行されるので、ステップＳ５１２において加算されるディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）によっては、階調値［ｎ］が出力される可能性がある（ディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）によっては、階調値［ｎ］が出力されない可能性もある）。
同様に、データＤｉｎ（ｘ、ｙ）の階調値が［１６（ｎ＋１）＋８−ａ］以上［１６（ｎ＋１）＋８］未満の範囲Ｋ２にあるとき、ステップＳ５１０の擬似中間調処理（Ａ）が実行されるので、加算されるディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）によっては、階調値［ｎ］が出力される可能性がある。
ただし、階調値［ｎ］が出力されるのは、データＤｉｎ（ｘ、ｙ）の階調値が範囲Ｋ１またはＫ２にあって、ディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）の加算によって、データＤ’（ｘ、ｙ）が［１６ｎ］以上［１６（ｎ＋１）］未満となるときだけであるから、その発生確率は小さい。また、階調値［ｎ］の発生確率は、第２実施形態の応用例と同様に、余裕度［ａ］によって調整可能である。
したがって、第３実施形態においても、ステップＳ６１０における判別内容を変更するとともに、余裕度［ａ］を適切に設定すると、表示品位を低下させることなく、中間階調特性の全体的なバランスを維持することが可能となる。
＜第２実施形態と第３実施形態の関係＞
第２実施形態では、入力されたデータＤｉｎ（ｘ．ｙ）の階調値を判別することなく、１回目の擬似中間調処理を実行して、その結果が不具合の生じ得る階調値［ａ］であるときに限って、２回目の擬似中間調処理を実行するものであり、２回目の擬似中間調処理に用いるディザ値は、実質的に、１回目の擬似中間調処理に用いるディザ値をオフセットした関係にある。
ここで、１回目、２回目の擬似中間調処理を実行することは、第２実施形態の擬似中間処理（Ｂ）を実行すること、すなわち、２倍のディザ値を加算することと実質的に同等である。
結局、第２実施形態および第３実施形態では、擬似中間処理の手順だけ相違するだけであり、アルゴリズム的には同一であるもの、ということができる。実際、第２実施形態および第３実施形態の結果は、全く同一である。
なお、第２実施形態では、ディザ値の加算回数が第３実施形態よりも多くなるが、階調値［ｎ］が奇数であるか偶数であるかの判別は不要となるので、種々の条件を考慮して、いずれかを決定すれば良い。
＜第４実施形態＞
上述した第２および第３実施形態によれば、不具合が生じ得る階調値への変換が回避されるとともに、中間階調特性のバランスが崩れることが防止される。ただし、第２実施形態では、１回目の擬似中間処理の後に、処理後のデータＤｏｕｔ（ｘ、ｙ）を判別する必要があるし（ステップＳ５２０）、第３実施形態では、擬似中間処理（Ａ）または（Ｂ）の前に、入力されたデータＤｉｎ（ｘ、ｙ）を判別する必要がある（ステップＳ６１０）。このため、画像処理に要する時間がそれだけ長期化することが懸念される。
そこで、表示上の不具合を階調の表示の回避と、中間階調の良好な再現性を確保した上で、高速な処理が期待できる第４の実施形態について説明する。この第４実施形態に係る画像処理は、図２におけるステップＳ１５０を除けば同一であるので、その同一部分については説明を省略し、さらに簡略化するために、すべての画素について処理を行うための再帰的手順や、必要な値のプリセットやクリアの手順についても説明を省略する。なお、この第４実施形態では、第２および第３実施形態と同様に、２５６階調を１６階調に減色する場合を想定する。
第４実施形態に係る画像処理は、概略すると、第１に、入力された画像データの階調値を、例えばルックアップテーブルを用いて一種の前処理を実行し、第２に、当該前処理が施されたデータに擬似中間調処理を実行し、第３に、当該擬似中間調処理が施されたデータの階調値を例えばルックアップテーブルを用いて一種の後処理を実行して、当該後処理が施されたデータを出力する、という内容である。
まず、第４の実施形態に係る画像処理の原理について説明する。図２３Ａは、上記前処理における入出力特性を示す図であり、図２３Ｂは、上記前処理、ディザ処理（擬似中間調処理）および後処理の関係を示す図表である。
これらの図において、入力の階調値［Ｎ］とは、１６階調において不具合が生じ得る階調値［ｎ］に相当する範囲にあって、２５６階調の中心値である。このため、入力の階調値［Ｎ−１６］、［Ｎ＋１６］の各々は、それぞれ１６階調における階調値［ｎ−１］、［ｎ＋１］に相当する範囲にあって、２５６階調の中心値となる。
図２３Ａに示されるように、前処理では、入力のデータの階調値が［Ｎ−１６］未満までの範囲Ｓ１であるとき、当該階調値がそのままスルー変換され、入力のデータの階調値が［Ｎ−１６］以上から階調値［Ｎ＋１６］未満までの範囲Ｔ１であるとき、階調値［Ｎ−１６］以上から階調値［Ｎ］未満までの範囲に、傾きを半分として変換され、入力のデータの階調値が［Ｎ＋１６］以上の範囲Ｓ２であるとき、当該階調値を［１６］だけ減算した値に変換される。
したがって、階調値［ｎ］に相当する範囲の中心値を２５６階調にて示す階調値［Ｎ］は、図２３Ａまたは図２３Ｂに示されるように、上記前処理によって階調値［｛（Ｎ−１６）＋Ｎ｝／２］に変換される。
次に、前処理によって変換されたデータに、２５６階調を１６階調に減色する擬似中間調処理が施される。この擬似中間調処理は、例えば、第２実施形態における１回目の擬似中間調処理（ステップＳ５１０）と同内容であるとする。
図２３Ｂに示されるように、階調値［Ｎ−１６］に当該擬似中間調処理を施すと、当該階調値に相当する階調値［ｎ−１］に変換される。２５６階調における階調値［Ｎ−１６］は、１６階調における階調値［ｎ−１］に相当する範囲の中心値であるので、［−８］から［７］までのいかなるディザ値Ｄｉｔｈｅｒ（ｉ、ｊ）が加算されたとしても、変換に影響を与えないからである。同様に、前処理された階調値［Ｎ］に当該擬似中間調処理を施すと、当該階調値に相当する階調値［ｎ］に暫定的に変換される。
ただし、階調値［｛（Ｎ−１６）＋Ｎ｝／２］に当該擬似中間調処理を施すと、階調値［ｎ−１］または［ｎ］に、それぞれ確率５０％の割合にて変換される。階調値［｛（Ｎ−１６）＋Ｎ｝／２］は、１６階調における階調値［ｎ−１］に相当する範囲の中心値と階調値［ｎ］に相当する範囲の中心値との中間値、すなわち、階調値［ｎ］に相当する範囲と［ｎ−１］に相当する範囲との境界値であるので、［０］未満のディザ値が加算されると階調値［ｎ−１］に、［０］以上のディザ値が加算されると階調値［ｎ］に、それぞれ変換されるからである。
なお、擬似中間調処理直後における階調値［ｎ］は暫定的である。
ここで、階調値［ｎ］の出力は回避しなければならないし、また、擬似中間調処理によって階調値［ｎ］以上となる値は、もともと２５６階調において［Ｎ＋１６］以上の範囲における階調値を［１６］だけ減算した値に相当しているので、これを本来の値と整合させる必要もある。
このため、後処理では、擬似中間調処理によって出力されるデータの階調値［ｎ−１］以下であるとき、当該階調値をそのまま出力する一方、擬似中間調処理によって出力されるデータの階調値［ｎ］以上であるとき、当該階調値を［１］だけインクリメントする処理が実行される。
すなわち、後処理では、擬似中間調処理後における階調値が［ｎ−１］以下であるときは、そのまま出力される一方、擬似中間調処理後における暫定的な階調値が［ｎ］以上であれば、［１］だけインクリメントされて、当該インクリメント値が出力されることになる。
このため、不具合の生じ得る階調値［ｎ］の出力が回避されることになる。
次に、このような原理に基づく画像処理の具体的内容について説明する。図２４は、この画像処理の内容を示すフローチャートである。
はじめに、自然画像と判定された画像データのうち、着目画素のデータＤｉｎ（ｘ、ｙ）が、上記前処理に係る内容にて変換されて、データＤｉｎ’（ｘ、ｙ）として出力される（ステップＳ７１０）。なお、図２４のステップＳ７１０では、上述した前処理の変換内容が、データＤｉｎ（ｘ、ｙ）を入力とする関数Ｆ１として示されている。
このような変換は、上記前処理の内容に適合するのであれば、手段は問われない。例えば、データＤｉｎ（ｘ、ｙ）の階調値が図２３Ａにおける範囲Ｓ１、Ｔ１、Ｓ２のいずれかにあるのかを判別して、その判別結果に応じた演算により求めることによって、上記前処理に係る変換を達成しても良い。また、不具合の生じ得る階調値［ｎ］を示すデータを読み込んだ後に、２５６階調における階調値と当該階調値に対応した変換値との関係を予め規定したルックアップテーブルをＲＡＭ３４に作成し、入力されたデータＤｉｎ（ｘ、ｙ）に対応する値を出力することによって、上記前処理に係る変換を達成しても良い。ルックアップテーブルを用いる場合に、例えば不具合の生じ得る階調値が例えば［５］であるとき、当該ルックアップテーブルの入出力特性は、図２５に示される通りとなる。
次に、前処理されたデータＤｉｎ’（ｘ、ｙ）に、擬似中間調処理が施されて、当該処理データが、データＤｏｕｔ’（ｘ、ｙ）として暫定的に出力される（ステップＳ５１０）。なお、この擬似中間調処理は、第２実施形態における１回目の擬似中間調処理と同様である。
そして、擬似中間調処理が施されたデータＤｏｕｔ’（ｘ、ｙ）が、上記後処理にに係る内容にて変換されて、データＤｏｕｔ（ｘ、ｙ）として出力される（ステップＳ７２０）。なお、図２４のステップＳ７２０では、上述した後処理の変換内容が、データＤｏｕｔ’（ｘ、ｙ）を入力とする関数Ｆ２として示されている。
このような変換は、上記後処理の内容に適合するのであれば、手段は問われない。例えば、データＤｏｕｔ’（ｘ、ｙ）が階調値［ｎ］以上であるか否かを判別して、その判別結果が否定的であれば、データＤｏｕｔ’（ｘ、ｙ）をそのままデータＤｏｕｔ（ｘ、ｙ）として出力する一方、その判別結果が肯定的であれば、データＤｏｕｔ’（ｘ、ｙ）を［１］だけインクリメントして、当該インクリメント値をデータＤｏｕｔ（ｘ、ｙ）として出力することによって、上記後処理に係る変換を達成しても良い。また、不具合の生じ得る階調値［ｎ］を示すデータを読み込んだ後に、１６階調における階調値と当該階調値に対応した変換値との関係を予め規定したルックアップテーブルをＲＡＭ３４に作成し、入力されたデータＤｏｕｔ’（ｘ、ｙ）に対応する値を出力することによって、上記後変換に係る変換を達成しても良い。ルックアップテーブルを用いる場合に、例えば不具合の生じ得る階調値が例えば［５］であるとき、当該ルックアップテーブルの入出力特性は、図２６に示される通りとなる。
このような画像処理によれば、２５６階調を１６階調に減色する場合に、例えば階調値［５］を回避するとき、２５６階調において当該階調値［５］の中心に相当する階調値［８８］（図２５参照）は、ステップＳ７１０における前処理によって、階調値［８０］に変換される。
ステップＳ５１０における擬似中間調処理において、階調値［８０］に対し、［−８］から［７］までのディザ値のうち、［０］未満の値が加算されるとき、１６階調における階調値［４］に変換される一方、［０］以上の値が加算されるとき、１６階調における階調値［５］に変換される。このため、２５６階調における階調値［８８］のデータは、１６階調における階調値［４］または［５］のいずれかに、互いに確率５０％の割合にて変換される。
ただし、このうち、階調値［５］は、ステップＳ７２０における後処理によって、階調値［６］にインクリメントされるので、結局、２５６階調における階調値［８８］は、第２実施形態と同様に、１６階調における階調値［４］または［６］のいずれかに、互いに確率５０％の割合にて変換されることになる。
２５６階調において階調値［８８］に近接するデータについても、同様にして考えると、１６階調において階調値［４］または［６］に、当該データの階調値に応じて確率にて変換される。
したがって、第４実施形態によれば、不具合が生じ得る階調値への変換が回避されるとともに、当該階調値付近の階調については、当該階調値に隣接する階調値を用いて擬似的に表現されるので、中間階調特性のバランスが崩れることが防止される。
さらに、第４実施形態によれば、擬似中間調処理以外の処理は、前処理および後処理だけであり、いずれも上述したようにルックアップテーブルを用いること（または、簡易な演算）だけによって達成されるので、第２実施形態や第３実施形態と比較すると、高速処理が可能となる。
＜第４実施形態の応用例＞
上述した第３実施形態では、減色処理の際に、不具合の発生し得る階調値［ｎ］への変換が完全に回避されるが、上述した第２、第３実施形態における応用例のように、当該階調値［ｎ］の発生頻度を小さく抑えても、画質の低下として視認されにくい。
第４実施形態において、当該階調値［ｎ］の発生頻度を減少させるには、後処理に係る変換内容を３つ用意しておくとともに、入力されるデータＤｉｎ（ｘ、ｙ）の値に応じて、いずれかを適用すれば良い。
詳細には、図２７に示されるように、入力されたデータＤｉｎ（ｘ、ｙ）が、階調値［Ｎ−１６＋ａ］未満までの範囲Ｓ３であるか、階調値［Ｎ−１６＋ａ］以上から階調値［Ｎ＋１６−ａ］未満までの範囲Ｔ２であるか、または、階調値［Ｎ＋１６−ａ］以上の範囲Ｔ４であるか、を判別する。
そして、入力されたデータＤｉｎ（ｘ、ｙ）が範囲Ｓ３、Ｔ２、Ｓ４であるとき、擬似中間調処理後のデータに対する後処理として、それぞれ図２９に示される変換内容を適用する。この変換内容は、後処理の入力値（すなわち、擬似中間調処理直後の階調値）が、階調値［ｎ−１］および［ｎ］だけ互いに相違し、それ以外は、共通である。
この例でいえば、入力されたデータＤｉｎ（ｘ、ｙ）で示される階調値が［Ｎ−１６］以上［Ｎ−１６＋ａ］未満であって、ディザ値との加算値が［１６ｎ］以上となった場合と、データＤｉｎ（ｘ、ｙ）で示される階調値が［Ｎ＋１６−ａ］以上［Ｎ＋１６］未満であって、ディザ値との加算値が［１６（ｎ＋１）］未満となった場合との２つの場合だけ、階調値［ｎ］に変換されるので、その発生確率は小さい。また、階調値［ｎ］の発生確率は、第２、第３実施形態の応用例と同様に、余裕度［ａ］によって調整可能である。
したがって、この例において、余裕度［ａ］を適切に設定すると、表示品位を低下させることなく、中間階調特性の全体的なバランスを維持することが可能となる。
なお、入力されたデータＤｉｎ（ｘ、ｙ）で示される階調値が［Ｎ−１６］以上［Ｎ−１６＋ａ］未満である場合と、［Ｎ＋１６−ａ］以上［Ｎ＋１６］未満である場合とについては、前処理によって、傾きを半分とした特性にしたがって変換した後に擬似中間調処理を施すことになるので、傾きが［１］である特性にしたがって変換した後に擬似中間調処理を施したデータとに差が生じることになる。そこで、図２８に示されるように、上記２つの場合に相当する範囲について、傾き［１］として、差が生じないようにすることが好ましい。
また、上述した第４実施形態では、表示上の不具合の生じ得る階調値が１つである場合を例にとって説明したが、２つ以上である場合にも適用可能である。
例えば、階調値［５］および［１１］において不具合が生じ得るとき、前処理に係る変換内容は、図３０に示される通りとなり、また、後処理に係る変換内容は、図３１に示される通りとなる。
詳細には、図３０に示される前処理に係る変換特性では、原則として傾きが［１］であるが、例外として、入力されたデータＤｉｎ（ｘ、ｙ）が階調値［５］に隣接する一方の階調値［４］に相当する範囲の中心値から他方の階調値［６］に相当する範囲の中心値までの範囲と、階調値［１１］に隣接する一方の階調値［１０］に相当する範囲の中心値から他方の階調値［１２］に相当する範囲の中心値までの範囲とにおいて、傾きが半分となっている。
また、図３１に示される後処理は、入力されるデータＤｏｕｔ’（ｘ、ｙ）の階調値が［０］から［４］までのとき、当該データＤｏｕｔ’（ｘ、ｙ）をデータＤｏｕｔ（ｘ、ｙ）としてそのまま出力し、データＤｏｕｔ’（ｘ、ｙ）の階調値が［５］から［９］までのとき、当該データＤｏｕｔ’（ｘ、ｙ）を［１］だけインクリメントして、当該インクリメント値をデータＤｏｕｔ（ｘ、ｙ）として出力し、データＤｏｕｔ’（ｘ、ｙ）の階調値が［１０］から［１５］までのとき、当該データＤｏｕｔ’（ｘ、ｙ）を［１］だけインクリメントした後、さらに［１］だけインクリメントして、当該インクリメント値をデータＤｏｕｔ（ｘ、ｙ）として出力する、という変換内容になっている。
また、第４実施形態では、前処理の変換特性における傾きを原則［１］の直線としたが、ガンマ特性等を考慮した曲線としても良い。変換特性を曲線とする場合には、例外部分の傾きを半分とするとともに、変換特性の連続性を保つようにすればよい。
なお、第１、第２および第３実施形態における変換特性（割り振り）についても同様な観点から、原則として、原点を通過する傾き［１］の直線として説明した。不具合の生じ得る階調値が２レベル以上であっても良い点は、上述した第１、第２および第３実施形態でも同様である。
＜実施形態のまとめ＞
ここまで、本発明に係る第１、第２、第３および第４実施形態について説明したが、本発明は、このような実施形態になんら限定されるものではなく、その趣旨を逸脱しない範囲内において次のような種々の応用・変形が可能である。
上述した各実施形態では、本発明の画像処理を携帯電話機に適用したが、これに限定されるものではない。例えば、携帯情報端末やカーナビゲーションシステムなど、画像を階調表示するカラーまたは白黒ＬＣＤパネルを備える電子機器に広く適用可能である。
また、画像出力装置は、ＬＣＤパネルに限定されない。例えば、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｂｋ（黒）等のインクを噴射して階調画像を形成するインクジェットプリンタにおいても、ある特定の階調値において不具合が生じ得る。例えば、インクジェットプリンタでは、インクの粒径と噴射回数とを組み合わせて、噴射するインク量の制御が行われるが、ある特定の階調を表現するとき、上記組み合わせが適当でない等の理由によってインク玉が異常な形状となって、表示上の不具合が生じ得る。
このインクジェットプリンタに対し、本発明に係る画像処理を適用すると、不具合の生じ得る階調値を表現しないで済むので、または、当該階調値の発生確率が低下するので、当該インクジェットプリンタによって出力される画質の低下を防止することが可能となる。
したがって、本発明における画像出力装置としては、画素の階調を指示する階調データにしたがって画像を表示や形成などを行う装置のすべてに適用可能である。このため、画像処理を実行する装置と、画像の表示や形成などを行う装置は、同体である必要なく、独立したものでも良い。
また、サーバＳＶからダウンロードした画像データには、ＬＣＤパネルなどの画像出力装置に適合して、すでに減色処理されている場合がある。この場合には、不具合の発生し得る階調値［ｎ］を、確率略５０％にて階調値［ｎ−１］、［ｎ＋１］とすれば良い。
なお、不具合の発生し得る階調値が、例えば［ｎ］、［ｎ＋１］と連続するときには、これに隣接する階調値［ｎ−１］、［ｎ＋２］の発生確率を、オリジナルの階調値に応じて配分すれば良い。
さらに、画像処理の主体は、本発明では問われない。例えば、サーバＳＶであっても良い。具体的には、実施形態における携帯電話機１０がサーバＳＶから画像データをダウンロートする前に、不具合の生じ得る階調値を特定するためのデータをサーバＳＶに予め送信しておいて、サーバＳＶが、携帯電話機１０に配信すべき画像データに対し本件の画像処理を実行し、処理後の画像データを当該携帯電話機１０がダウンロードするとしても良い。なお、不具合の生じ得る階調値を特定するためのデータとしては、当該階調値を直接示すデータを用いることもできるし、サーバＳＶにおいて携帯電話機の機種と不具合の生じ得る階調値との関係を予め記憶しておくのであれば、当該機種を示すデータを用いることもできる。
また例えば、画像処理の主体は、移動通信網ＴＮに接続された別のコンピュータであっても良い。すなわち、画像データが、当該コンピュータからサーバＳＶを経由して携帯電話機に配信されるのであれば、画像処理の主体は、当該コンピュータであっても良いし、サーバＳＶであっても良いことになる。
【図面の簡単な説明】
図１は、本発明の第１実施形態に係る画像処理を実行する携帯電話機等のシステム構成を示す図である。
図２は、同携帯電話機の構成を示すブロック図である。
図３は、同携帯電話機で実行される画像処理の内容を示すフローチャートである。
図４は、同画像処理において多階調化処理に用いられるテーブルの内容を示す図表である。
図５は、同画像処理における第１の減色処理の詳細を示すフローチャートである。
図６は、同画像処理に用いられるディザマトリクスの一例を示す図である。
図７は、同画像処理における第２の減色処理の入出力の割り振りの一例を示す図である。
図８は、第１実施形態の第１応用例に係る画像処理の内容を示すフローチャートである。
図９は、同画像処理におけるルックアップテーブルの変換内容を示す図表である。
図１０は、同変換内容を示すトーンカーブの特性を示す図である。
図１１は、２５６階調を８階調に単純に減色するときの割り振りを示す図である。
図１２は、第１応用例における第１の減色処理の詳細を示すフローチャートである。
図１３は、第１実施形態の第２応用例に係る画像処理の内容を示すフローチャートである。
図１４は、同画像処理において用いられる閾値テーブルの内容を示す図表である。
図１５は、第１実施形態の第３応用例に係る画像処理の出力の割り振りを示す図である。
図１６は、本発明の第２実施形態に係る画像処理の要部を示すフローチャートである。
図１７は、同画像処理に用いられるディザマトリクスの一例を示す図である。
図１８Ａおよび図１８Ｂは、それぞれ、同画像処理における入出力の関係を説明するための図である。
図１９は、本発明の第３実施形態に係る画像処理の要部を示すフローチャートである。
図２０は、同画像処理に用いられるディザマトリクスの一例を示す図である。
図２１Ａおよび図２１Ｂは、それぞれ、同画像処理における入出力の範囲の関係を説明するための図である。
図２２は、同ディザマトリクスの要素として理由を説明するための図である。
図２３Ａおよび図２３Ｂは、それぞれ、本発明の第４実施形態に係る画像処理の原理を説明するための図である。
図２４は、同画像処理の要部を示すフローチャートである。
図２５は、同画像処理における前処理の変換内容を示す図である。
図２６は、同画像処理における後処理の変換内容を示す図である。
図２７は、第４実施形態の第１応用例に係る前処理の変換内容を説明するための図である。
図２８は、第４実施形態の第２応用例に係る前処理の変換内容を説明するための図である。
図２９は、第４実施形態の第１または第２応用例に適用される後処理の変換内容を説明するための図である。
図３０は、第４実施形態の第３応用例に係る前処理の変換内容を示す図である。
図３１は、第４実施形態の第３応用例に係る後処理の変換内容を示す図である。
【図１】
0003870899.tif 000002
【図２】
0003870899.tif 000003
【図３】
0003870899.tif 000004
【図４】
0003870899.tif 000005
【図５】
0003870899.tif 000006
【図６】
0003870899.tif 000007
【図７】
0003870899.tif 000008
【図８】
0003870899.tif 000009
【図９】
0003870899.tif 000010
【図１０】
0003870899.tif 000011
【図１１】
0003870899.tif 000012
【図１２】
0003870899.tif 000013
【図１３】
0003870899.tif 000014
【図１４】
0003870899.tif 000015
【図１５】
0003870899.tif 000016
【図１６】
0003870899.tif 000017
【図１７】
0003870899.tif 000018
【図１８Ａ】
0003870899.tif 000019
【図１８Ｂ】
0003870899.tif 000020
【図１９】
0003870899.tif 000021
【図２０】
0003870899.tif 000022
【図２１Ａ】
0003870899.tif 000023
【図２１Ｂ】
0003870899.tif 000024
【図２２】
0003870899.tif 000025
【図２３Ａ】
0003870899.tif 000026
【図２３Ｂ】
0003870899.tif 000027
【図２４】
0003870899.tif 000028
【図２５】
0003870899.tif 000029
【図２６】
0003870899.tif 000030
【図２７】
0003870899.tif 000031
【図２８】
0003870899.tif 000032
【図２９】
0003870899.tif 000033
【図３０】
0003870899.tif 000034
【図３１】
0003870899.tif 000035