(57)【要約】【課題】  多項式による近似の場合、凸凹のある測定データから滑らかな曲線を描いてノイズ成分を除去したデータが近似できたできたとしても、その精度が低いとノイズ除去どころか、元の測定データの信頼性が低くなる。【解決手段】  それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、複数個のデータを各基準値に対応付けて基準値の順にプロットし、（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し（Ｓ１０３）、ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し（Ｓ１０５）、（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する（Ｓ１０６）。【選択図】  図４
2006048349.tif 000002
【特許請求の範囲】
【請求項１】
各基準値に対応する複数の実測データを前記基準値に対応付けてプロットし、
前記複数の実測データの内、前記連続する４個の基準値に対応する４つの実測データに対応する４つのプロット点を抽出し、
前記４つのプロット点の隣接するプロット点同士を接続した３本の線分のそれぞれの傾きを算出し、
前記３本の線分の内の中央の線分の傾きが、隣接する線分の傾きの平均値となるように前記中央の線分上のプロット点に対応する実測データを修正することを特徴とするデータ処理方法。
【請求項２】
前記実測データは、各階調データに基づいて印刷されたパッチの濃度を測定したデータであり、前記基準値は前記各パッチの階調データであることを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、
前記複数個のデータを各基準値に対応付けてプロットし、
（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正することを特徴とするデータ処理方法。
【請求項４】
それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、
前記複数個のデータを各基準値に対応付けてプロットし、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
（ｎ＋１）番目のデータＤn+1のプロット点と、（ｎ＋２）番目のデータＤn+2のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正することを特徴とするデータ処理方法。
【請求項５】
それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、
前記複数個のデータを各基準値に対応付けてプロットし、第１及び第２の平滑化処理を実行し、
前記第１平滑化処理では、
（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する処理を複数個のデータに対して実行し、
前記第２の平滑化処理では、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
（ｎ＋１）番目のデータＤn+1のプロット点と、（ｎ＋２）番目のデータＤn+2のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する処理を複数個のデータに対して実行することを特徴とするデータ処理方法。
【請求項６】
前記データ処理を前記ｎの昇順に実行することを特徴とする請求項３乃至５のいずれか１項に記載のデータ処理方法。
【請求項７】
前記データ処理を前記ｎの降順に実行することを特徴とする請求項３乃至５のいずれか１項に記載のデータ処理方法。
【請求項８】
前記第１平滑化処理或は前記第２平滑化処理の少なくともいずれかを複数回実行することを特徴とする請求項３乃至７のいずれか１項に記載のデータ処理方法。
【請求項９】
前記複数個のデータは、各階調データに基づいて印刷されたパッチの濃度を測定したデータであり、前記基準値は前記各パッチの階調データであることを特徴とする請求項３乃至８のいずれか１項に記載のデータ処理方法。
【請求項１０】
各基準値に対応する複数の実測データを前記基準値に対応付けてプロットして処理するデータ処理装置であって、
前記複数の実測データの内、前記連続する４個の基準値に対応する４つの実測データに対応する４つのプロット点を抽出する抽出手段と、
前記４つのプロット点の隣接するプロット点同士を接続した３本の線分のそれぞれの傾きを算出する算出手段と、
前記３本の線分の内の中央の線分の傾きが、隣接する線分の傾きの平均値となるように前記中央の線分上のプロット点に対応する実測データを修正する修正手段と、
を有することを特徴とするデータ処理装置。
【請求項１１】
それぞれが基準値に対応する複数個のデータを複数個のデータを各基準値に対応付けてプロットして平滑化するデータ処理装置であって、
（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出する第１算出手段と、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出する第２算出手段と、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記第１及び第２算出手段で算出された前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する修正手段と、
を有することを特徴とするデータ処理装置。
【請求項１２】
それぞれが基準値に対応する複数個のデータを複数個のデータを各基準値に対応付けてプロットして平滑化するデータ処理装置であって、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出する第１算出手段と、
（ｎ＋１）番目のデータＤn+1のプロット点と、（ｎ＋２）番目のデータＤn+2のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出する第２算出手段と、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶｎ番目の線分の傾きＡnが、前記第１及び第２算出手段で算出された前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する修正手段と、
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データに含まれるノイズ成分を除去するためのデータ処理装置及びその方法に関するものである。
【背景技術】
【０００２】
一般に、実測したデータにはノイズ成分が含まれているため、これら測定した複数のデータを順にグラフにプロットすると、それらプロットした点は凸凹のあるものとなる。これら凸凹のある複数の測定データから任意の点におけるデータを推定する際には、従来は多項式近似を用いて凸凹のある測定データの間を通るよう滑らかな曲線を描き、その曲線上の任意の点におけるデータを、その点での測定データとして推定していた（特許文献１）。
【特許文献１】特開平５−１６８６２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような多項式による近似の場合、凸凹のある測定データから滑らかな曲線を描いてノイズ成分を除去したデータが近似できたとしても、その精度が低いとノイズ除去どころか、元の測定データの信頼性が低くなるという問題がある。
【０００４】
また多項式を用いた近似では、近似精度を高くするために、多項式の次数を上げることが考えられるが、多項式の次数が上がるにつれて結果が振動しやすくなり、却って近似精度が低下する場合がある。
【０００５】
また、近似精度を上げるための他の方法として、測定データを複数の区間に区切り、各区間ごとに多項式を当て嵌めるという方法があるが、区間の数に対応した複数の多項式が必要になるため処理が複雑になってしまう。更に、近似精度が高すぎても、今度は測定ノイズの影響を強く受けてしまうという問題が発生する。
【０００６】
本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、ノイズを含んだ測定データから任意の点におけるデータを推定するために、簡単な計算式でデータからノイズ成分を除去するデータ処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るデータ処理方法は以下のような工程を備える。即ち、
各基準値に対応する複数の実測データを前記基準値に対応付けてプロットし、
前記複数の実測データの内、前記連続する４個の基準値に対応する４つの実測データに対応する４つのプロット点を抽出し、
前記４つのプロット点の隣接するプロット点同士を接続した３本の線分のそれぞれの傾きを算出し、
前記３本の線分の内の中央の線分の傾きが、隣接する線分の傾きの平均値となるように前記中央の線分上のプロット点に対応する実測データを修正することを特徴とする。
【０００８】
本発明の一態様に係るデータ処理方法は以下のような工程を備える。即ち、
それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、
前記複数個のデータを各基準値に対応付けて基準値の順にプロットし、
（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正することを特徴とする。
【０００９】
本発明の一態様に係るデータ処理方法は以下のような工程を備える。即ち、
それぞれが基準値に対応する複数個のデータを平滑化するデータ処理方法であって、
前記複数個のデータを各基準値に対応付けて基準値の順にプロットし、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出し、
（ｎ＋１）番目のデータＤn+1のプロット点と、（ｎ＋２）番目のデータＤn+2のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出し、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶｎ番目の線分の傾きＡnが、前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正することを特徴とする。
【００１０】
本発明の一態様に係るデータ処理装置は以下のような構成を備える。即ち、
各基準値に対応する複数の実測データを前記基準値に対応付けてプロットして処理するデータ処理装置であって、
前記複数の実測データの内、前記連続する４個の基準値に対応する４つの実測データに対応する４つのプロット点を抽出する抽出手段と、
前記４つのプロット点の隣接するプロット点同士を接続した３本の線分のそれぞれの傾きを算出する算出手段と、
前記３本の線分の内の中央の線分の傾きが、隣接する線分の傾きの平均値となるように前記中央の線分上のプロット点に対応する実測データを修正する修正手段と、
を有することを特徴とする。
【００１１】
本発明の一態様に係るデータ処理装置は以下のような構成を備える。即ち、
それぞれが基準値に対応する複数個のデータを複数個のデータを各基準値に対応付けて基準値の順にプロットして平滑化するデータ処理装置であって、
（ｎ−２）番目のデータＤn-2のプロット点と、（ｎ−１）番目のデータＤn-1のプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出する第１算出手段と、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出する第２算出手段と、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶｎ番目の線分の傾きＡnが、前記第１及び第２算出手段で算出された前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する修正手段と、
を有することを特徴とする。
【００１２】
本発明の一態様に係るデータ処理装置は以下のような構成を備える。即ち、
それぞれが基準値に対応する複数個のデータを複数個のデータを各基準値に対応付けて基準値の順にプロットして平滑化するデータ処理装置であって、
（ｎ−１）番目のデータＤn-1のプロット点と、ｎ番目のデータＤnのプロット点とを結ぶ（ｎ−１）番目の線分の傾きＡn-1を算出する第１算出手段と、
（ｎ＋１）番目のデータＤn+1のプロット点と、（ｎ＋２）番目のデータＤn+2のプロット点とを結ぶ（ｎ＋１）番目の線分の傾きＡn+1を算出する第２算出手段と、
ｎ番目のデータＤnのプロット点と、（ｎ＋１）番目のデータＤn+1のプロット点とを結ぶｎ番目の線分の傾きＡnが、前記第１及び第２算出手段で算出された前記傾きＡn+1とＡn-1との総和平均になるよう前記ｎ番目のデータＤnを修正する修正手段と、
を有することを特徴とする。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
【００１４】
図１は、本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。このデータ処理装置は、所謂、パーソナルコンピュータやワークステーションと同様のハードウェア構成を有している場合で説明する。
【００１５】
ＣＰＵ１００は、メモリ１０１のＲＡＭエリアに記憶されている制御プログラムに従って、後述する演算処理やデータ処理等を実行する。メモリ１０１は、ワークエリアとして使用されたり、ＨＤ１０４にインストールされているプログラムがロードされるＲＡＭエリアと、ＢＩＯＳなどの基本ＯＳやブートプログラムなどを記憶しているＲＯＭエリアとを有している。表示部１０２は、例えばＣＲＴや液晶、プラズマなどの表示ユニットを有し、演算結果やユーザへのメッセージなどを表示する。入力部１０３はユーザにより操作されて各種データを入力する。この入力部１０３にはキーボードや、マウスなどのポインティングデバイスなどが含まれる。ハードディスク（ＨＤ）１０４は、大容量の外部記憶装置で、このＨＤ１０４には、後述するフローチャートで示される各種プログラムがインストールされており、実行時にメモリ１０１のＲＡＭエリアにロードされて実行される。またこのＨＤ１０４には、後述する演算処理の対象となる各種データが記憶されている。ネットワークインターフェース１０５は、インターネット等との接続が可能な通信インターフェースユニットである。
【００１６】
図２は、本実施の形態に係るメモリ１０１のＲＡＭエリアのメモリマップを説明する図である。
【００１７】
図において、２００は後述の変数ｎを記憶しているエリア、２０１はｍ個のサンプリングデータＤ0〜Ｄm-1の格納エリアで、各データは、そのデータをプロットした場合のＸ座標を含んでいる。このＸ座標は、各測定データを図３（Ａ）のようにプロットしたときのＸ座標に対応している。
【００１８】
図３（Ａ）は、インクジェットプリンタにて１７階調のパッチを印刷し、それら各パッチを測色して得られた明度データ（実測データ）をプロットした例を示すグラフ図である。階調が小さいほど明るいパッチの測色データを示し、階調が大きくなるほど暗いパッチの測色データを示す。
【００１９】
図３（Ｂ）は、図３（Ａ）の３００で示す部分を拡大して示す図である。
【００２０】
［実施の形態１］
図４は、本発明の実施の形態１に係るデータ処理装置におけるスムージング処理を説明するフローチャートで、この処理を実行するプログラムは前述のＨＤ１０４に格納されており、実行時にはメモリ１０１にロードされる。
【００２１】
まずステップＳ１０１で、ｍ個のサンプリングデータＤ0〜Ｄm-1を取得してＲＡＭエリアに記憶する。図３（Ａ）の例では、サンプリングデータの数が１７個であるため、１７個のサンプリングデータ（Ｄ0〜Ｄ16）を取得して、メモリ１０１のエリア２０１に記憶する。次にステップＳ１０２で、変数ｎ２００に「２」を代入する。これは、図３（Ａ）において、階調２（左から３番目のデータ）の実測データ３０１からスムージング処理を開始することを意味する。
【００２２】
そしてステップＳ１０３で、（ｎ−２）番目のデータＤn-2と（ｎ−１）番目のデータＤn-1の傾きＡn-1を算出する。ここで（ｎ−２）番目のデータＤn-2のＸ座標をＸn-2、（ｎ−１）番目のデータＤn-1のＸ座標をＸn-1とすると、傾きＡn-1は以下の式（１）で表される（図３（Ｂ）参照）。
【００２３】
Ａn-1＝（Ｄn-1−Ｄn-2）／（Ｘn-1−Ｘn-2）＝ΔＤn-1／ΔＸn-1    ...式（１）
次にステップＳ１０４で、（ｎ−１）番目のデータＤn-1と、ｎ番目のデータＤnの傾きＡnを算出する。ここで（ｎ−１）番目のデータＤn-1のＸ座標をＸn-1、ｎ番目のデータＤnのＸ座標をＸnとすると、傾きＡnは以下の式（２）で表される（図３（Ｂ）参照）。
【００２４】
Ａn＝（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1）＝ΔＤn／ΔＸn      ...式（２）
そしてステップＳ１０５で、ｎ番目のデータＤnと、（ｎ＋１）番目のデータＤn+1の傾きＡn+1を算出する。これはｎ番目のデータＤnのＸ座標をＸn、（ｎ＋１）番目のデータＤn+1のＸ座標をＸn+1とすると、傾きＡn+1は以下の式（３）で表される。
【００２５】
Ａn+1＝（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）＝ΔＤn+1／ΔＸn+1      ...式（３）
そしてステップＳ１０６で、傾きＡnが以下の式（４）を満たすように、ｎ番目のデータＤnを修正する。
【００２６】
Ａn＝（Ａn+1＋Ａn-1）／２      ...式（４）
この式（４）は、線分の傾きＡnが、その線分の両隣の線分の傾きＡn+1，Ａn-1の平均になることを示している（図３（Ｂ）参照）。ここで式（４）に式（１）〜式（３）を代入すると、
（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1）＝（（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）＋（Ｄn-1−Ｄn-2）／（Ｘn-1−Ｘn-2））／２
となり、修正すべきＤnの値は以下の数式で表される。
【００２７】
Ｄn＝Ｄn-1×（Ｘn+1−Ｘn）×（Ｘn-1＋Ｘn-2Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄn+1×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄn-2×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）                      ...式（５）
上記の式（５）を用いて、ｎ番目のデータＤnを修正する。
【００２８】
次にステップＳ１０７で、変数ｎの値を＋１して、（ｎ＋１）番目のデータＤn+1の修正処理に移行し、次にステップＳ１０８で、（ｎ＋１）番目のデータＤn+1が最後、即ち、この例では（ｍ−２）番目のデータ（図３（Ａ）の一番右から２番目のデータ）であるかどうかを判定し、そうでなければステップＳ１０３に戻り、（ｎ＋１）番目のデータＤn+1の修正処理を行う。（ｍ−２）番目のデータであれば、このスムージング処理を終了する。
【００２９】
この実施の形態１のフローチャートでは、ステップＳ１０８で条件が満足すると処理を終了しているが、ステップＳ１０２〜Ｓ１０８の一連の処理を複数回繰り返してもよい。この繰り返す回数を増やすことによりデータの並びの滑らかさは良好になるが、測定したデータ値からは遠ざかる可能性があるので、適度な回数で終わらせるのが望ましい。
【００３０】
図５は、本発明の実施の形態１に係るスムージング法を用いて図３（Ａ）に示す測定データをスムージング処理した結果を示す図である。
【００３１】
図５では、図３（Ａ）に比べて、各データが滑らかにかつ、測定データに近い値を通っているのがわかる。このように、簡単な計算で各サンプリングデータからノイズ成分を除去しデータの並びを滑らかにすることが可能となる。更に、本発明は実測したデータに限らず、様々なデータのスムージング処理に活用することができる。
【００３２】
［実施の形態２］
図６は、本発明の実施の形態２に係るスムージング方法を説明するフローチャートで、この処理を実行するプログラムは前述のＨＤ１０４に格納されており、実行時にはメモリ１０１にロードされる。この実施の形態２に係るデータ処理装置の構成は前述の実施の形態１と同様であり、実測データも前述の図３（Ａ）の場合と同じとする。
【００３３】
まずステップＳ２０１で、ｍ個のサンプリングデータ（Ｄ0〜Ｄm-1）をＲＡＭに格納する。図３（Ａ）では、サンプリングデータの数が１７個なので、１７個のサンプリングデータを、エリア２０１に格納する。次にステップＳ２０２で、変数ｎ２００に「２」を代入する。これは、図３（Ａ）において階調２（左から３番目のデータ）のデータからスムージング処理を開始することを意味する。
【００３４】
そしてステップＳ２０３で、（ｎ−２）番目のデータＤ'n-2と、（ｎ−１）番目のデータＤ'n-1の傾きＡn-1を算出する。ここで（ｎ−２）番目のデータＤ'n-2のＸ座標をＸn-2、（ｎ−１）番目のデータＤ'n-1のＸ座標をＸn-1とすると、傾きＡn-1は以下の式（６）で表される。
【００３５】
Ａn-1＝（Ｄ'n-1−Ｄ'n-2）／（Ｘn-1−Ｘn-2）＝ΔＤ'n-1／ΔＸn-1    ...式（６）
次にステップＳ２０４で、（ｎ−１）番目のデータＤ'n-1と、ｎ番目のデータＤ'nの傾きＡnを算出する。ここで（ｎ−１）番目のデータＤ'n-1のＸ座標をＸn-1、ｎ番目のデータＤ'nのＸ座標をＸnとすると、傾きＡnは以下の式で表される。
【００３６】
Ａn＝（Ｄ'n−Ｄ'n-1）／（Ｘn−Ｘn-1）＝ΔＤ'n／ΔＸn        ...式（７）
そしてステップＳ２０５で、ｎ番目のデータＤ'nと、（ｎ＋１）番目のデータＤ'n+1の傾きＡn+1を算出する。ここでｎ番目のデータＤ'nのＸ座標をＸn、（ｎ＋１）番目のデータＤ'n+1のＸ座標をＸn+1とすると、傾きＡn+1は以下の式で表される。
【００３７】
Ａn+1＝（Ｄ'n+1−Ｄ'n）／（Ｘn+1−Ｘn）＝ΔＤ'n+1／ΔＸn+1        ...式（８）
次にステップＳ２０６で、傾きＡnが以下の式（９）を満たすようにｎ番目のデータＤ'nを修正する。
【００３８】
Ａn＝（Ａn+1＋Ａn-1）／２          ...式（９）
この式（９）は、当該線分の傾きＡnが両隣の線分の傾きの平均になることを示している。ここで、式（９）に式（６）〜式（８）を代入すると、
（Ｄ'n−Ｄ'n-1）／（Ｘn−Ｘn-1）＝（（Ｄ'n+1−Ｄ'n）／（Ｘn+1−Ｘn）＋（Ｄ'n-1−Ｄ'n-2）／（Ｘn-1−Ｘn-2））／２
となり、修正すべきＤ'nの値は以下の数式で表される。
【００３９】
Ｄ'n＝Ｄ'n-1×（Ｘn+1−Ｘn）×（Ｘn-1＋Ｘn-2Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄ'n+1×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄ'n-2×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）                  式（１０）
上記の式（１０）を用いて、ｎ番目のデータＤ'nを修正する。
【００４０】
そしてステップＳ２０７で変数ｎを＋１し、（ｎ＋１）番目のデータＤ'n+1の修正に移行し、ステップＳ２０８で（ｎ＋１）番目のデータＤ'n+1が最後のデータ（図３（Ａ）で一番右から２番目のデータ）（ｎ＝ｍ−２）であるかどうかを判定し、そうでなければステップＳ２０３に戻り、（ｎ＋１）番目のデータＤ'n+1の修正処理を行う。最後のデータであれば、スムージング処理１は終了となる。
【００４１】
このスムージング処理１と並行して、ステップＳ２０９〜Ｓ２１５で、逆順のスムージング処理２を行う。この逆順のスムージング処理を図７（Ａ），（Ｂ）を用いて説明する。
【００４２】
図７（Ａ）は、図３の場合と同様に、インクジェットプリンタにて１７階調のパッチを印刷し、それら各パッチを測色して得られた明度データ（実測データ）をプロットした例を示すグラフ図である。階調が小さいほど明るいパッチの測色データを示し、階調が大きくなるほど暗いパッチの測色データを示す。
【００４３】
図７（Ｂ）は、図７（Ａ）の７００で示す部分を拡大して示す図である。
【００４４】
まずステップＳ２０９で、変数ｎ２００に（ｍ−３）を代入する。これは、図７（Ａ）において、階調１４（右から３番目のデータ）からスムージング処理を開始することを意味する。そしてステップＳ２１０で、（ｎ＋２）番目のデータＤ"n+2と（ｎ＋１）番目のデータＤ"n+1）の傾きＡn+1を算出する。ここで（ｎ＋２）番目のデータＤ"n+2のＸ座標をＸn+2、（ｎ＋１）番目のデータＤ"n+1のＸ座標をＸn+1とすると、傾きＡn+1は以下の式で表される。
【００４５】
Ａn+1＝（Ｄ"n+2−Ｄ"n+1）／（Ｘn+2−Ｘn+1）＝ΔＤ"n-1／ΔＸn-1  ...式（１１）
次にステップＳ２１１で、（ｎ＋１）番目のデータＤ"n+1とｎ番目のデータＤ"nの傾きＡnを算出する。ここで（ｎ＋１）番目のデータＤ"n+1のＸ座標をＸn+1、ｎ番目のデータＤ"nのＸ座標をＸnとすると、傾きＡnは以下の式で表される。
【００４６】
Ａn＝（Ｄ"n+1−Ｄ"n）／（Ｘn+1−Ｘn）＝ΔＤ"n／ΔＸn      ...式（１２）
そしてステップＳ２１２で、ｎ番目のデータＤ"nと、（ｎ−１）番目のデータＤ"n-1の傾きＡn-1を算出する。ここでｎ番目のデータＤ"nのＸ座標をＸn、（ｎ−１）番目のデータＤ"n-1のＸ座標をＸn-1とすると、傾きＡn-1は以下の式で表される。
【００４７】
Ａn-1＝（Ｄ"n−Ｄ"n-1）／（Ｘn−Ｘn-1）＝ΔＤ"n+1／ΔＸn+1    ...式（１３）
次にステップＳ２１３で、傾きＡnが以下の式を満たすようにｎ番目のデータＤ"nを修正する。
【００４８】
Ａn＝（Ａn+1＋Ａn-1）／２        ...式（１４）
この式（１４）は、当該線分の傾きＡnが両隣の線分の傾きの平均になることを示している。ここで式（１４）に式（１１）〜式（１３）を代入すると、
（Ｄ"n+1−Ｄ"n）／（Ｘn+1−Ｘn）＝（（Ｄ"n+2−Ｄ"n+1）／（Ｘn+2−Ｘn+1）＋（Ｄ"n−Ｄ"n-1）／（Ｘn−Ｘn-1））／２
となり、修正すべきＤ"nの値は以下の数式で表される。
【００４９】
Ｄ"n＝Ｄ"n+1×（Ｘn−Ｘn-1）×（２Ｘn+2−Ｘn−Ｘn+1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）＋Ｄ"n-1×（Ｘn+1−Ｘn）×（Ｘn+2−Ｘn+1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）＋Ｄ"n+2×（Ｘn+1−Ｘn）×（Ｘn−Ｘn-1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）                ...式（１５）
この式（１５）を用いて、ｎ番目のデータＤ"nを修正する。
【００５０】
そしてステップＳ２１４で、変数ｎを−１して（ｎ−１）番目のデータＤ"n-1の修正に移行し、ステップＳ２１５で、（ｎ−１）番目のデータＤ"n-1が最初のデータ（図７（Ａ）の一番左のデータ）であるかどうかを判定し、最初でなければステップＳ２１０に戻り、（ｎ−１）番目のデータＤ"n-1の修正処理を行う。そして最初のデータであればスムージング処理２におけるスムージング処理は終了となる。そしてステップＳ２１６で、スムージング処理１の結果とスムージング処理２の結果から以下の式を用いて平均値を算出し、この平均値をスムージング処理後のデータとする。
【００５１】
Ｄn＝（Ｄ'n＋Ｄ"n-1）／２
図６のフローチャートではこれで終了となっているが、ステップＳ２０２〜Ｓ２０８の一連の処理、及びステップＳ２０９〜Ｓ２１５の一連の処理を複数回繰り返し、それぞれの処理を複数回繰り返したデータの平均値をステップＳ２１６で求めてスムージングデータとしてもよい。また、ステップＳ２０２〜Ｓ２１６の一連の処理を複数回繰り返してスムージングデータとしてもよい。しかし、回数を増やすことによりデータの並びの滑らかさは良好になるが、測定したデータ値からは遠ざかる可能性があるので、適度な回数で終わらせるのが望ましい。
【００５２】
図８は、本実施の形態２の手法を用いて図３（Ａ）及び図７（Ａ）に示す測定データをスムージング処理した結果を示す図である。図８では、各データが滑らかにかつ、測定データに近い値を通っているのがわかる。
【００５３】
このように、簡単な計算で各サンプリングデータからノイズ成分を除去しデータの並びを滑らかにすることが可能となる。更に、本発明は実測したデータに限らず、様々なデータのスムージング処理に活用することができる。
【００５４】
［実施の形態３］
図９は、本発明の実施の形態３に係るスムージング方法を説明するフローチャートで、この処理を実行するプログラムは前述のＨＤ１０４に格納されており、実行時にはメモリ１０１にロードされる。この実施の形態２に係るデータ処理装置の構成は前述の実施の形態１と同様であり、実測データも前述の図３の場合と同じとする。ここでは図３（Ａ）に示す実測データ及び、図１０（Ａ）に示すデータをスムージング処理する流れを説明する。
【００５５】
図１０（Ａ）のデータは、図３（Ａ）の実測データに対してスムージング処理１を行った結果をプロットしたグラフである。
【００５６】
まずステップＳ３０１で、ｍ個のデータをエリア２０１に格納する。図３（Ａ）では、サンプリングデータの数が１７個なので、１７個のサンプリングデータを格納する。次にステップＳ３０２で、変数ｎに「２」を代入する。これは、図３（Ａ）において階調２（左から３番目のデータ）からスムージング処理を開始することを意味する。
【００５７】
次にステップＳ３０３で、（ｎ−２）番目のデータＤn-2と、（ｎ−１）番目のデータＤn-1の傾きＡn-1を算出する。ここで（ｎ−２）番目のデータＤn-2のＸ座標をＸn-2、（ｎ−１）番目のデータＤn-1のＸ座標をＸn-1とすると、傾きＡn-1は以下の式で表される。
【００５８】
Ａn-1＝（Ｄn-1−Ｄn-2）／（Ｘn-1−Ｘn-2）        ...式（１６）
次にステップＳ３０４で、（ｎ−１）番目のデータＤn-1と、ｎ番目のデータＤnの傾きＡnを算出する。ここで（ｎ−１）番目のデータＤn-1のＸ座標をＸn-1、ｎ番目のデータＤnのＸ座標をＸnとすると、傾きＡnは以下の式で表される。
【００５９】
Ａn＝（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1）        ...式（１７）
そしてステップＳ３０５で、ｎ番目のデータＤnと、（ｎ＋１）番目のデータＤn+1の傾きＡn+1を算出する。ここでｎ番目のデータＤnのＸ座標をＸn、（ｎ＋１）番目のデータＤn+1のＸ座標をＸn+1とすると、傾きＡn+1は以下の式で表される。
【００６０】
Ａn+1＝（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）        ...式（１８）
次にステップＳ３０６で、傾きＡnが以下の式を満たすようｎ番目のデータＤnを修正する。
【００６１】
Ａn＝（Ａn+1＋Ａn-1）／２            ...式（１９）
この式（１９）は、当該線分の傾きが両隣の線分の傾きの平均になることを示している。ここで式（１９）に式（１６）〜式（１８）を代入すると、
（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1）＝（（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）＋（Ｄn-1−Ｄn-2）／（Ｘn-1−Ｘn-2））／２
となり、修正すべきＤnの値は以下の数式で表される。
【００６２】
Ｄn＝Ｄn-1×（Ｘn+1−Ｘn）×（Ｘn-1＋Ｘn-2Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄn+1×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）＋Ｄn-2×（Ｘn−Ｘn-1）×（Ｘn-1−Ｘn-2）／（Ｘn-2−Ｘn-1）×（Ｘn-1＋Ｘn-2Ｘn+1）                  ...式（２０）
上記の式（２０）を用いて、ｎ番目のデータＤnを修正する。
【００６３】
次にステップＳ３０７で、変数ｎを＋１して（ｎ＋１）番目のデータＤn+1の修正に移行し、ステップＳ３０８で、（ｎ＋１）番目のデータＤn+1が最後のデータ（図３（Ａ）で一番右から２番目のデータ）(ｎ＝ｍ−２）であるかどうかを判定し、そうでなければステップＳ３０３に戻り、（ｎ＋１）番目のデータＤn+1の修正処理を行う。最後のデータであれば、スムージング処理１におけるスムージング処理は終了となる。
【００６４】
次にスムージング処理１を行ったスムージングデータ１に対して、更にスムージング処理１とはデータの逆順から順にスムージング処理を行うスムージング処理２を実行する。逆順のスムージング処理は図１０（Ａ）（Ｂ）を用いて説明する。図１０のデータは先にも述べたが、図３（Ａ）の実測データに対してスムージング処理１を行ったデータを示している。
【００６５】
まずステップＳ３０９で、変数ｎに（ｍ−３）を代入する。これは、図１０（Ａ）において、階調１４（右から３番目のデータ）からスムージング処理を開始することを意味する。
【００６６】
そしてステップＳ３１０で、（ｎ＋２）番目のデータＤn+2と、（ｎ＋１）番目のデータＤn+1の傾きＡn+1を算出する。（ｎ＋２）番目のデータＤn+2のＸ座標をＸn+2、（ｎ＋１）番目のデータＤn+1のＸ座標をＸn+1とすると、傾きＡn+1は以下の式で表される。
【００６７】
Ａn+1＝（Ｄn+2−Ｄn+1）／（Ｘn+2−Ｘn+1）      ...式（２１）
次にステップＳ３１１で、（ｎ＋１）番目のデータＤn+1と、ｎ番目のデータＤnの傾きＡnを算出する。ここで（ｎ＋１）番目のデータＤn+1のＸ座標をＸn+1、ｎ番目のデータＤnのＸ座標をＸnとすると、傾きＡnは以下の式で表される。
【００６８】
Ａn＝（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）      ...式（２２）
そしてステップＳ３１２で、ｎ番目のデータＤnと、（ｎ−１）番目のデータＤn-1の傾きＡn-1を算出する。ここではｎ番目のデータＤnのＸ座標をＸn、（ｎ−１）番目のデータＤn-1のＸ座標をＸn-1とすると、傾きＡn-1は以下の式で表される。
【００６９】
Ａn-1＝（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1）      ...式（２３）
次にステップＳ３１３で、傾きＡnが以下の式を満たすようｎ番目のデータＤnを修正する。
【００７０】
Ａn＝（Ａn+1＋Ａn-1）／２          ...式（２４）
この式（２４）は、当該線分の傾きＡnが両隣の線分の傾きの平均になることを示している。ここで式（２４）に式（２１）〜式（２３）を代入すると、
（Ｄn+1−Ｄn）／（Ｘn+1−Ｘn）＝（（Ｄn+2−Ｄn+1）／（Ｘn+2−Ｘn+1）＋（Ｄn−Ｄn-1）／（Ｘn−Ｘn-1））／２
となり、修正すべきＤnの値は以下の数式で表される。
【００７１】
Ｄn＝Ｄn+1×（Ｘn−Ｘn-1）×（２Ｘn+2−Ｘn−Ｘn+1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）＋Ｄn-1×（Ｘn+1−Ｘn）×（Ｘn+2−Ｘn+1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）＋Ｄn+2×（Ｘn+1−Ｘn）×（Ｘn−Ｘn-1）／（Ｘn+2−Ｘn+1）×（Ｘn+1＋Ｘn-2Ｘn-1）                      ...式（２５）
上記の式（２５）を用いて、ｎ番目のデータＤnを修正する。
【００７２】
そしてステップＳ３１４で、変数ｎの値を−１して（ｎ−１）番目のデータＤn-1の修正に移行し、３１５にて（ｎ−１）番目のデータＤn-1が最初のデータ（図１０（Ａ）の一番左のデータ）であるかどうかを判定し、最初でなければステップＳ３１０に戻り、（ｎ−１）番目のデータＤn-1の修正処理を行う。最初のデータであれば、スムージング処理２におけるスムージング処理は終了となる。
【００７３】
図９のフローチャートでは、これで終了となっているが、ステップＳ３０２〜Ｓ３０８の一連の処理を複数回繰り返してスムージングデータ１とし、スムージングデータ１に対して更にステップＳ３０９〜Ｓ３１５の一連の処理を複数回繰り返してスムージングデータを算出してもよい。またステップＳ３０２〜Ｓ３１５の一連の処理を複数回繰り返してスムージングデータとしてもよい。しかし、回数を増やすことによりデータの並びの滑らかさは良好になるが、測定したデータ値からは遠ざかる可能性があるので、適度な回数で終わらせるのが望ましい。
【００７４】
図１１は、本実施の形態３の手法を用いて図３（Ａ）の測定データ及び図１０（Ａ）のデータをスムージング処理した結果である。各データが滑らかにかつ、測定データに近い値を通っているのがわかる。
【００７５】
このように、簡単な計算で各サンプリングデータからノイズ成分を除去しデータの並びを滑らかにすることが可能となる。更に、本発明は実測したデータに限らず、様々なデータのスムージング処理に活用することができる。
【００７６】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７７】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００７８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。
【図２】本実施の形態に係るメモリのＲＡＭエリアのメモリマップを説明する図である。
【図３】本実施の形態において、１７階調のパッチを測色して得られた明度データ（実測データ）をプロットした例を示すグラフ図（Ａ）と、図３（Ａ）の３００で示す部分を拡大して示す図（Ｂ）である。
【図４】本発明の実施の形態１に係るデータ処理装置におけるスムージング処理を説明するフローチャートである。
【図５】本発明の実施の形態１に係るスムージング法を用いて図３（Ａ）に示す測定データをスムージング処理した結果を示す図である。
【図６】本発明の実施の形態２に係るスムージング方法を説明するフローチャートである。
【図７】本実施の形態において、１７階調のパッチを測色して得られた明度データ（実測データ）をプロットした例を示すグラフ図（Ａ）と、図７（Ａ）の７００で示す部分を拡大して示す図（Ｂ）である。
【図８】本実施の形態２の手法を用いて図３（Ａ）及び図７（Ａ）に示す測定データをスムージング処理した結果を示す図である。
【図９】本発明の実施の形態３に係るスムージング方法を説明するフローチャートである。
【図１０】本実施の形態において、１７階調のパッチを測色して得られた明度データ（実測データ）をプロットした例を示すグラフ図（Ａ）と、図１０（Ａ）の円で示す部分を拡大して示す図（Ｂ）である。
【図１１】本実施の形態３の手法を用いて図３（Ａ）の測定データ及び図１０（Ａ）のデータをスムージング処理した結果である。
【図１】
2006048349.tif 000003
【図２】
2006048349.tif 000004
【図３】
2006048349.tif 000005
【図４】
2006048349.tif 000006
【図５】
2006048349.tif 000007
【図６】
2006048349.tif 000008
【図７】
2006048349.tif 000009
【図８】
2006048349.tif 000010
【図９】
2006048349.tif 000011
【図１０】
2006048349.tif 000012
【図１１】
2006048349.tif 000013