(57)【特許請求の範囲】
【請求項１】
ｋ個の係数（ただし、離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とする係数決定装置。
【請求項２】
上記係数値選択手段は、上記少なくとも２つの係数値におけるそれぞれの誤差に、所定の値域の乱数をそれぞれ加え、その和の最小値を与える係数値を選択する手段を有することを特徴とする請求項１記載の係数決定装置。
【請求項３】
上記誤差の大きさに対する上記確率の漸減の程度、もしくは、上記ステップ幅ｓ１とｓ２を、もしくはその双方を、誤差の履歴に応じて制御する手段とを有することを特徴とする請求項２記載の係数決定装置。
【請求項４】
上記誤差の大きさに対する上記確率の漸減の程度を誤差の履歴に応じて制御するために上記乱数の所定の値域の大きさを制御することを特徴とする請求項３記載の係数決定装置。
【請求項５】
上記離散的な値を取る少なくとも１つの係数は、ｍ次元の入力データに対応するｍ次元の代表点のテーブルの各代表点ごとに、それぞれｎ個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってｎ次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、最適化用の入力データ群について誤差及び理想出力値群を規定することにより係数を更新する手段を有すことを特徴とする請求項１、２、３または４記載の係数決定装置。
【請求項６】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とするデータ変換装置。
【請求項７】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の第１の色データ群に対する第２の色データ群を算出する手段と、
上記少なくとも２つの係数値について算出した第２の色データ群と上記最適化用の第１の色データ群に対応する理想の第２の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とする色変換装置。
【請求項８】
上記誤差が色差であることを特徴とする請求項７記載の色変換装置。
【請求項９】
ｍ次元の第１の色データを受け取る手段と、
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じて上記ｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、
上記色変換手段から出力された上記第２の色データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の第１の色データ群に対する第２の色データ群を算出する手段と、
上記少なくとも２つの係数値について算出した第２の色データ群と上記最適化用の第１の色データ群に対応する理想の第２の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とするカラー画像形成装置。
【請求項１０】
上記出力手段から出力された上記第２の色データを第３の色データに変換する他の色変換手段をさらに有する請求項９記載のカラー画像形成装置。
【請求項１１】
ｍ次元の入力データを受け取る手段と、
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じて上記ｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、
上記データ変換手段から出力されたｎ次元の出力データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とする電子機器。
【請求項１２】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類（ｐは２以上の整数）の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする係数決定装置。
【請求項１３】
現在の係数値、現在の係数値に加算のステップ幅ｓ１を加えた係数値、及び、現在の係数値から減算のステップ幅ｓ２を減じた係数値のうち少なくとも１つが上記ｐ種類の係数に含まれることを特徴とする請求項１２の係数決定装置。
【請求項１４】
上記微係数の大きさに対する上記確率の漸減の程度および上記ステップ幅ｓ１とｓ２の一方または双方を、誤差の履歴に応じて制御する手段とを有することを特徴とする請求項１２または１３記載の係数決定装置。
【請求項１５】
上記離散的な値を取る少なくとも１つの係数は、ｍ次元の入力データに対応するｍ次元の代表点のテーブルの各代表点ごとに、それぞれｎ個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってｎ次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、最適化用の入力データ群について誤差及び理想出力値群を規定することにより係数を更新する手段を有すことを特徴とする請求項１２、１３また１４記載の係数決定装置。
【請求項１６】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記ｐ種類（ｐは２以上の整数）の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な適宜の計数値から誤差への関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするデータ変換装置。
【請求項１７】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について最適化用の第１の色データ群から第２の色データ群を算出する手段と、
上記ｐ種類の係数値について算出した第２の色データ群と上記最適化用の第１の色データ群に対応する理想の第２の色データ群との誤差を算出し、ｐ種類（ｐは２以上の整数）の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする色変換装置。
【請求項１８】
上記誤差が色差であることを特徴とする請求項１７記載の色変換装置。
【請求項１９】
ｍ次元の第１の色データを受け取る手段と、
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じて上記ｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、
上記色変換手段から出力された上記第２の色データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について最適化用の第１の色データ群から第２の色データ群を算出する手段と、
上記ｐ種類の係数値について算出した第２の色データ群と上記最適化用の第１の色データ群に対応する理想の第２の色データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするカラー画像形成装置。
【請求項２０】
上記出力手段は上記第２の色データを後続の色変換手段を介して受け取る請求項１９記載のカラー画像形成装置。
【請求項２１】
ｍ次元の入力データを受け取る手段と、
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じて上記ｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、
上記データ変換手段から出力されたｎ次元の出力データに基づいて所定の出力動作を行う出力手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする電子機器。
【請求項２２】
ｋ個の係数（離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含む）をもつニューラルネットワークにおいて、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とするニューラルネットワークの係数決定装置。
【請求項２３】
ｋ個の係数（離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含む）をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを有することを特徴とするデータ変換装置。
【請求項２４】
ｋ個の係数（離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含む）をもつニューラルネットワークにおいて、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類（ｐは２以上の整数）の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするニューラルネットワークの係数決定装置。
【請求項２５】
ｋ個の係数（離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含む）をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について最適化用の入力データ群から出力データ群を算出する手段と、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とするニューラルネットワークの係数決定装置およびニューラルネットワークによるデータ変換装置。
【請求項２６】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出する手段と、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段と、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について出力データ群を算出する手段と、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有し、
上記係数値選択手段による係数値の選択を１回以上実行した後、上記係数値更新手段による係数値の更新を１回以上実行する係数決定装置。
【請求項２７】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップとを有することを特徴とする係数決定方法。
【請求項２８】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について最適化用に入力データ群から出力データ群を算出するステップと、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップとを有することを特徴とする係数決定方法。
【請求項２９】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップと、
上記新たな係数値が選択された後、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出するステップと、
上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップとを有し、
上記係数値の選択を１回以上実行した後、上記係数値の更新を１回以上実行するすることを特徴とする係数決定方法。
【請求項３０】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、
上記データ変換装置本体と同等な機能を有する標準データ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より加算のステップ幅ｓ１だけ大きな係数値、および上記現在の係数値より減算のステップ幅ｓ２だけ小さい係数値のうち少なくとも２つの係数値について最適化用の入力データ群に対する出力データ群を算出するステップと、
上記少なくとも２つの係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップと、
選択した係数を上記データ変換装置本体の係数として設定するステップとを有することを特徴とする係数設定方法。
【請求項３１】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、
上記データ変換装置本体と同等のデータ変換機能を有する基準データ変換装置において、
上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類（ｐは２以上の整数）の係数値について最適化用の入力データ群から出力データ群を算出するステップと、
上記ｐ種類の係数値について算出した出力データ群と上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、
上記微係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなるようにするステップと、
更新した係数を上記データ変換装置本体の係数として設定するステップとを有することを特徴とする係数設定方法。
【請求項３２】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において、
上記離散的な値を取る係数のうち、少なくとも１つ以上について、現在の係数値にｐ種類の所定の関数を施すことによりｐ種類（ｐは２以上の整数）の係数値を算出する係数算出手段と、
上記係数算出手段により与えられるｐ種類の係数値について最適化用の入力データ群から出力データ群を算出する出力データ算出手段と、
上記出力データ群と、上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る誤差算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において、
微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段とを有することを特徴とする係数決定装置。
【請求項３３】
ｋ個の係数（離散的な値を取る少なくとも１つの係数を含む）に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において、
上記離散的な値を取る係数のうち、少なくとも１つ以上について、現在の係数値にｐ種類の所定の関数を施すことによりｐ種類の係数値を算出する係数算出手段と、
上記係数算出手段により与えられるｐ種類（ｐは２以上の整数）の係数値について最適化用の入力データ群から出力データ群を算出する出力データ算出手段と、
上記出力データ群と、上記最適化用の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る誤差算出手段と、
上記ｐ種類の誤差から、上記現在の係数値において、
微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、
上記係数に基づいて、確率的に係数を更新し、さらに係数更新の確率が最適化の処理の進行にしたがって大きくなる係数値更新手段とを有することを特徴とする係数決定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、適宜の個数の離散値の係数により規定されるデータ変換装置において、所定の入力データに対応する理想出力データとの誤差が小さい出力を得るための係数を決定する方法、および装置に関する。本発明は例えば離散値の係数を持つ階層型ニューラルネットワークによる色変換装置の係数決定や、代表点テーブルおよび補間を用いた色変換の代表点値決定に適用できる。
【０００２】
【従来の技術】
適宜の個数の離散値の係数により規定されるデータ変換装置では、取り得る係数の範囲を限れば、各係数の取りうる値の種類は有限である。従って、全ての係数の組合せについて誤差を評価すれば、その中には少なくとも１つの最適な係数が存在する。そして、このように係数の全空間を検索する手法によれば確実に最適な係数を得ることが可能である。しかしながら、一般的にはこの組合せは膨大な数となるために、係数を算出する手法としては現実的ではない。そこで、各データ変換装置の特性を基に、演繹的な方法や、各種の近似的な方法によって係数を算出することが一般的である。
【０００３】
離散値の係数を含むデータ変換装置において、与えられた任意の入出力対応に対して最適な係数が演繹的に定まる場合は、その手法により係数を定めることが可能であり、従来の技術を用いても課題となることはない。
【０００４】
一方、係数が演繹的に定まる場合でも、離散値の係数とはならない場合がある。例えば、離散値の係数からなる行列演算によるデータ変換装置においては、誤差が最小となる各係数は演繹的に算出できるものの、算出結果は離散値とはならず、これを四捨五入、切上げ、切捨て等により離散値に丸める操作が必要となる。丸めにより、各係数は最適値とは異なる値となるために、誤差が大きくなることが一般的である。
【０００５】
同様に、行列演算などの手法であっても、演算過程において有効精度が限られる場合、例えば有限精度の固定小数点の積和演算による場合には、データ変換装置の演算過程において、計算過程の丸めなどによって更に精度が低下する。このような場合、最適な係数を算出するために計算過程の丸めなどの特性を考慮する必要があるが、係数と誤差の対応が非常に複雑な関係となるために、従来は考慮されることはなかった。従来技術により精度を向上するためには、一般的には計算過程における有効精度や、係数の刻みを細かくするなどの技術が用いられてきた。
【０００６】
代表点テーブルおよび補間を用いるデータ変換装置では、入力の各次元の代表点からなる格子点に、変換後のデータを予めテーブルに記録し、補間を行うことにより変換結果を得る。このようなデータ変換装置においてテーブルに記録される係数は、代表点の変換後のデータが用いられることが一般的である。一般に、補間により補間誤差が発生するが、格子点以外の入力の変換誤差も考慮して格子点に記録される係数を最適化する手法はなかった。従来技術により精度を向上するためには、一般的には入力次元の代表点の数を増やすという技術が用いられてきた。
【０００７】
係数が連続値であり、誤差を各係数で偏微分できるデータ変換装置については、微分方程式の逐次近似による係数の決定方法が知られている。特に、ニューラルネットワークでは、バックプロパゲーション法に代表される係数算出方法が一般的に用いられている。
【０００８】
しかしながら、離散値の係数を含む場合に関しては、それらの係数では誤差を偏微分することは不可能であり、バックプロパゲーションに代表される上述の方法を用いることができない。
【０００９】
そこで、従来は、同構成で、偏微分可能なデータ変換装置を構成できる場合については、予め、連続値で係数を算出し、その結果を丸めることによって離散値の係数を得る技術が用いられてきた。この場合には、前述の行列式と同じように、丸めによって精度が低下するなどの課題があった。
【００１０】
また、ハードウェアによる学習では、同様の微分方程式を有限精度で近似したバックプロパゲーションに類する技術が用いられてきた。この技術では、逆伝搬する誤差が計算精度を下回った時点で学習が停止してしまうという課題があった。
【００１１】
さらに、有限精度の固定小数点演算によるニューラルネットワークなどでは、固定小数点の行列式と同様に、計算過程の丸めなどの影響があり、係数と誤差の関係は更に複雑になるために、実際に最適な離散値を獲得することは困難であった。従来技術により精度を向上するためには、一般的には計算過程における有効精度や、係数の刻みを細かくするなどの技術が用いられてきた。有効精度や、係数の刻みを細かくする場合、データ変換装置の構成が複雑になる。
【００１２】
また、この手法では、微分方程式を逐次近似によって解く必要があるので、この方法に基づく装置の構成が複雑になるという課題があった。
【００１３】
ニューラルネットワークに限定すると、構成が比較的簡単な学習方法としては、特開平４−２８２４７６号公報（米国特許明細書第５４５９８１７号）にあるように、係数の更新差分量を乱数により発生し、更新前後の二者択一によって係数を更新する手法があった。この手法では各シナプスごとに乱数を発生する機構が必要となる。更に、更新量自体は制御せず、符号のみを乱数によって制御するために、学習の初期から、逐次学習が進行した段階まで、更新量を制御してはいない。そのため、学習の速度に課題が生じる上に、二者択一の構成を適切に行わなければ極少に収束するという課題があった。
【００１４】
【発明が解決しようとする課題】
以上述べた方法のうち、係数の全空間を検索する手法を除いては、各データ変換装置の構成に基づいて係数を算出する方法が異なり、これらの方法に基づく装置を構成した場合には、装置の構成が複雑になるという課題があった。また、前述したように、係数の全空間を検索する手法に基づく装置は、構成は簡単なものの、膨大な空間を検索するので、現実的ではなかった。
【００１５】
データ変換装置の精度を向上する目的では、装置や方法の構成を変更する必要があった。
【００１６】
また、微係数に基づいて係数を更新する場合については、微分方程式を構成することが必須要件であり、桁落ちなどの微分不可能な対応については微分方程式が構成できず、係数を決定できなかった。
【００１７】
そこで、本発明は、係数自体や計算過程の丸めなどの影響等も考慮した上で、各データ変換装置の構成によらず、かつ、係数の全空間を検索する手法より短時間に誤差が少ない係数を算出することを課題とする。
【００１８】
【課題を解決するための手段】
本発明は、誤差の計算と、誤差に依存した確率的な係数の選択に基づいた操作の繰り返しによって誤差を低減することにより、誤差の小さい係数を算出することを特徴とする。
【００１９】
すなわち、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において係数を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【００２０】
この構成においては、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００２１】
また、この構成においては、上記係数値選択手段が、上記少なくとも２つの係数値におけるそれぞれの誤差に、所定の分布に従う乱数をそれぞれ加え、その和の最小値を与える係数値を選択する手段を有するようにすることができる。
【００２２】
また、上記誤差ないしは微係数の大きさに対する上記確率の漸減の程度、もしくは、上記所定のステップｓ１とｓ２を、もしくはその双方を、誤差の履歴に応じて制御する手段とを設けるようにしてもよい。
【００２３】
また、上記誤差の大きさに対する上記確率の漸減の程度を誤差の履歴に応じて制御する手段は、乱数についての上記所定の分布を制御する手段によるようにしてもよい。
【００２４】
また、上記離散的な値を取る少なくとも１つの係数は、ｍ次元の入力データに対応するｍ次元の代表点のテーブルの各代表点ごとに、それぞれｎ個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってｎ次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、適宜の入力値群について誤差及び理想出力値群を規定することにより係数を更新する手段を有するようにすることができる。
【００２５】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けている。
【００２６】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００２７】
また、本発明によれば、上述の目的を達成するために、色変換装置に、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の第１の色データ群に対する第２の色データ群を算出する手段と、上記少なくとも２つの係数値について算出した第２の色データ群と上記所定の第１の色データ群に対応する理想の第２の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けている。
【００２８】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００２９】
また、この構成においては、上記誤差を色差とすることができる。
【００３０】
また、本発明によれば、上述の目的を達成するために、カラー画像形成装置（例えばカラー複写機やカラー印刷機）に、ｍ次元の第１の色データを受け取る手段と、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じて上記ｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、上記色変換手段から出力された上記第２の色データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の第１の色データ群に対する第２の色データ群を算出する手段と、上記少なくとも２つの係数値について算出した第２の色データ群と上記所定の第１の色データ群に対応する理想の第２の色データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【００３１】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００３２】
また、この構成においては、上記出力手段は上記第２の色データを後続の色変換手段を介して受け取るようにしてもよい。
【００３３】
また、本発明によれば、上述の目的を達成するために、電子機器に、ｍ次元の入力データを受け取る手段と、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じて上記ｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、上記データ変換手段から出力されたｎ次元の出力データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【００３４】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００３５】
また、本発明によれば、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において係数を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００３６】
ここで、現在の係数値を含む適宜の区間からｐ種類の係数を得るのに代えて、現在の係数値にｐ種類の所定の関数を施すことによりｐ種類の係数値を算出することができる。この関数は、任意の関数をとることができるが、とくに、適宜の離散値を現在の係数値に加えて関数値とすることも可能であり、また、適宜の値を、現在の係数値に乗じて、その結果の積を離散値に丸めた値を関数値とすることもできる。上記ｐの個数および、上記所定のｐ種類の関数を、誤差の履歴に応じて制御する手段をさらに設けてもよい。また、上記所定の関数は、適宜の離散値を、現在の係数値に加えて関数値とするものでもよい。また、上記所定の関数は、適宜の値を、現在の係数値に乗じて、もしくは、現在の係数値を適宜の値で除して、その結果の積または商を離散値に丸めた値を関数値とするものでもよい。
【００３７】
この構成においては、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００３８】
また、この構成において、現在の係数値、現在の係数値に所定のステップｓ１を加えた係数値、及び、現在の係数値から所定のステップｓ２を減じた係数値のうち少なくとも１つが上記ｐ種類の係数に含まれるようにすることができる。
【００３９】
また、上記微係数の大きさに対する上記確率の漸減の程度および上記所定のステップｓ１とｓ２の一方または双方を、誤差の履歴に応じて制御する手段を設けるようにしてもよい。
【００４０】
また、上記離散的な値を取る少なくとも１つの係数は、ｍ次元の入力データに対応するｍ次元の代表点のテーブルの各代表点ごとに、それぞれｎ個の出力に相当する離散値を予め記録し、出力に相当する値を補間することによってｎ次元の出力を得るデータ変換装置の上記代表点の出力に相当する値であって、適宜の入力値群について誤差及び理想出力値群を規定することにより係数を更新する手段を設けるようにしてもよい。
【００４１】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な適宜の計数値から誤差への関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００４２】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００４３】
また、本発明によれば、上述の目的を達成するために、色変換装置に、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について第２の色データ群を算出する手段と、上記ｐ種類の係数値について算出した第２の色データ群と上記所定の第１の色データ群に対応する理想の第２の色データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００４４】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００４５】
また、この構成において、上記誤差を色差とすることができる。
【００４６】
また、本発明によれば、上述の目的を達成するために、カラー画像形成装置（たとえばカラー複写機やカラー印刷機）に、ｍ次元の第１の色データを受け取る手段と、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じて上記ｍ次元の第１の色データをｎ次元の第２の色データに変換する色変換手段と、上記色変換手段から出力された上記第２の色データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について第２の色データ群を算出する手段と、上記ｐ種類の係数値について算出した第２の色データ群と上記所定の第１の色データ群に対応する理想の第２の色データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００４７】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００４８】
また、この構成においては、上記出力手段は上記第２の色データを後続の色変換手段を介して受け取るようにしてもよい。
【００４９】
また、本発明によれば、上述の目的を達成するために、電子機器に、ｍ次元の入力データを受け取る手段と、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じて上記ｍ次元の入力データをｎ次元の出力データに変換するデータ変換手段と、上記データ変換手段から出力されたｎ次元の出力データに基づいて所定の出力動作を行う出力手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００５０】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００５１】
また、本発明によれば、上述の目的を達成するために、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含むｋ個の係数をもつニューラルネットワークにおいて係数値の最適化を行う係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【００５２】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００５３】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含むｋ個の係数をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段とを設けるようにしている。
【００５４】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００５５】
また、本発明によれば、上述の目的を達成するために、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含むｋ個の係数をもつニューラルネットワークにおいて係数値を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００５６】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００５７】
また、本発明によれば、上述の目的を達成するために、データ変換装置に、離散的な結合係数、あるいは、離散的な閾値、あるいはその双方を少なくとも１つ含むｋ個の係数をもつニューラルネットワークと、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設けるようにしている。
【００５８】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００５９】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において係数値を最適化する係数決定装置に、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出する手段と、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択する係数値選択手段と、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出する手段と、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出する微係数算出手段と、上記微係数に基づいて、確率的ないしは確定的に係数を更新する係数値更新手段とを設け、上記係数値選択手段による係数値の選択を１回以上実行した後、上記係数値更新手段による係数値の更新を１回以上実行するようにしている。
【００６０】
この構成においては、まず、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。この後、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００６１】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップとを実行するようにしている。
【００６２】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００６３】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出するステップと、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップとを実行するようにしている。
【００６４】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００６５】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を決定する方法において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップと、上記新たな係数値が選択された後、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出するステップと、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップとを実行し、上記係数値の選択を１回以上実行した後、上記係数値の更新を１回以上実行するするようにしている。
【００６６】
この構成においては、まず、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。この後、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００６７】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、上記データ変換装置本体と同等な機能を有する標準データ変換装置において、上記離散的な値を取る係数の各々について、現在の係数値、上記現在の係数値より所定のステップｓ１だけ大きな係数値、および上記現在の係数値より所定のステップｓ２だけ小さい係数値のうち少なくとも２つの係数値について所定の入力データ群に対する出力データ群を算出するステップと、上記少なくとも２つの係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差が小さいほど高くなる確率で、上記少なくとも２つの係数値のいずれか１つを新たな係数値として選択するステップと、選択した係数を上記データ変換装置本体の係数として設定するステップとを実行するようにしている。
【００６８】
この構成においても、候補係数値について誤差を算出し、この誤差が小さい候補係数値ほど高い確率で新たな係数値とするようにしている。したがって係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００６９】
また、本発明によれば、上述の目的を達成するために、離散的な値を取る少なくとも１つの係数を含むｋ個の係数に応じてｍ次元の入力データをｎ次元の出力データに変換するデータ変換装置において上記係数値を設定する方法において、上記データ変換装置本体と同等のデータ変換機能を有する基準データ変換装置において、上記離散的な値を取る係数の各々について、現在の係数値を含む適宜の区間中のｐ種類の係数値について出力データ群を算出するステップと、上記ｐ種類の係数値について算出した出力データ群と上記所定の入力データ群に対応する理想出力データ群との誤差を算出し、ｐ種類の誤差を得る算出手段と、上記ｐ種類の誤差から、上記現在の係数値において微分可能な、係数値から誤差への所定の関数を想定し、現在の係数値における微係数を算出するステップと、上記微係数に基づいて、確率的ないしは確定的に係数を更新するステップと、更新した係数を上記データ変換装置本体の係数として設定するステップとを実行するようにしている。
【００７０】
この構成においても、候補係数値について誤差を算出し、この誤差に基づいて誤差の関数を想定し、この関数に基づいて現在の係数値における誤差の関数の微係数を求めるようにしている。そしてこの微係数に基づいて新たな係数値を求めている。係数値の更新の繰り返しにより、係数値の最適化を行うことができる。
【００７１】
【発明の実施の態様】
以下、本発明の実施例について説明する。
［実施例１］
図１は、本発明の実施例１の構成を示すものであり、この図において、データ変換装置の係数最適化システムは、入力バッファ１１、データ変換装置１２、出力バッファ１３、理想出力メモリ１４、誤差算出部１５、誤差履歴メモリ１６、乱数分布制御部１７、ステップ制御部１８および係数更新部１９を有している。入力バッファ１１は外部から与えられたｍ次元の入力データを記憶するものである。データ変換装置１２は、離散的な値をとる係数を用いてｍ次元の入力データをｎ次元の出力データに変換するものである。出力バッファ１３はデータ変換装置１２から出力されたｎ次元の出力データを記憶する。誤差算出部１５は出力データと理想出力データとの誤差を算出し、この誤差を係数更新部１９および誤差履歴メモリ１６に送出する。乱数分布制御部１７は誤差の履歴に応じて乱数の分布を可変し、またステップ制御部１８も誤差の履歴に応じてステップの大きさを可変する。これにより、アニーリングが行われる。係数更新部１９は誤差と乱数との和が最少となる係数値を新たな係数値とする。
【００７２】
つぎに係数の最適化について詳細に説明する。ｍ次元の入力データと、それに対応するｎ次元の理想出力データがｊ組与えれられた場合について説明する。すなわち、入力データｘと理想出力データｙは、｛ｘ1，ｙ1｝，｛ｘ2，ｙ2｝，…，｛ｘi，ｙi｝…，｛ｘj，ｙj｝であり、各入力データｘiは、ｍ次元で、ｘi＝（ｘi1，ｘi2，…，ｘim）であり、各理想出力データｙiは、ｎ次元で、ｙi＝（ｙi1，ｙi2，…，ｙin）であるとする。このデータ変換装置のｋ個の係数（ｗ1，ｗ2，…，ｗp，…，ｗk）は、予め適宜の初期値、一例としては、丸めなどによる従来の手法で決定した係数や、全て０などにより初期化しておく。このデータ変換装置に、ｍ次元のデータｘiを与えた時の出力を、ｆ（ｘi｜ｗ1，ｗ2，…，ｗp，…，ｗk）とする。このときの理想出力ｙiとの誤差を、ｄ（ｙi，ｆ（ｘi｜ｗ1，ｗ2，…，ｗp，…，ｗk））とする。ここで、ｄはｎ次元の適宜の距離、例えばユークリッド距離などとする。本実施例では、このデータ変換装置の誤差を、各データの誤差の和
【００７３】
【数１】
Ｅ（ｗ1，ｗ2，…，ｗp，…，ｗk）
＝Σi=1・・・jｄ（ｙi，ｆ（ｘi｜ｗ1，ｗ2，…，ｗp，…，ｗk））
とする。
【００７４】
いま、ｋ個の係数のうち、ｐ番目の係数ｗpに着目し、現在の係数値に対する誤差Ｅ0、すなわち、Ｅ0＝Ｅ（ｗ1，ｗ2，…，ｗp，…，ｗk）、現在の係数値より所定のステップｓだけ大きな係数値に対する誤差Ｅ+、すなわち、Ｅ+＝Ｅ（ｗ1，ｗ2，…，ｗp＋ｓ，…，ｗk）、および、現在の係数値より所定のステップｓだけ小さな係数値に対する誤差Ｅ-、すなわち、Ｅ-＝Ｅ（ｗ1，ｗ2，…，ｗp−ｓ，…，ｗk）の３種類の誤差を算出する。この実施例では加算の場合の所定のステップと、減算の場合の所定のステップはいずれの場合もｓとしているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも等しい値とする必要はない。
【００７５】
次に、これらの誤差に、所定の区間［０，Ｔ］に一様な分布に基づく乱数Ｎをそれぞれに加算し、
【００７６】
【数２】
ｅ0＝Ｅ0＋Ｎ
ｅ+＝Ｅ+＋Ｎ
ｅ-＝Ｅ-＋Ｎ
を得る。ここで、ｅ0，ｅ+，ｅ-のうち、ｅ0が最小であれば、ｗpは更新しない。ｅ+が最小であれば、ｗpにｓを加え、更新する。ｅ-が最小であれば、ｗpからｓを減じ、更新する。
【００７７】
この操作を各係数ｗp（ｐ＝１，２，…，ｋ）について適用する。この最適化の操作が１巡した時点で、このデータ変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定の区間を決定するＴに、１よりも大きい所定の値を乗じることによって、Ｔを増加させる。一方、誤差が最適化を１巡行う前に比較して、増加してしまった場合には、Ｔに１よりも小さい所定の値を乗じて、Ｔを減少させる。所定のステップｓについても同様の操作を行うが、最小ステップ未満の値とはしない。
【００７８】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【００７９】
つぎに、第２図に示す、本実施例の最も簡素な一例を用いて係数決定の具体的な手順を示す。１入力１出力で、２つの整数の係数ｗ1とｗ2を持つ下記の式によるデータ変換装置について説明する。
【００８０】
【数３】
ｙ＝ｘ・ｗ1＋ｗ2
ここで、ｘはデータ変換装置の入力、ｙはデータ変換装置の出力である。所定のステップを、ｓ1＝ｓ2＝１として、このデータ変換装置に、入力群と、対応する理想出力群として、以下の値を供給する。
【００８１】
【表１】
0003817866.tif 000002
本実施例による係数を決定する方法により、ｗ1とｗ2と初期値をいずれも０とする。この場合、誤差としては、合計のユークリッド距離を用いる。まず、ｗ1について、誤差と、誤差に区間［０…２］の一様乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【００８２】
【表２】
0003817866.tif 000003
この結果に基づき、ｗ1は更新しない。次に、ｗ2について、同様に、誤差と、誤差に同上の乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【００８３】
【表３】
0003817866.tif 000004
この結果に基づき、ｗ2も更新しない。この状況は、いずれの変数も変更しない方が誤差が小さいという極少の状況の例である。本実施例では誤差を付加しているので、引続きこの計算を繰り返し、所定の確率によってこのような極少から脱出できる。
【００８４】
この時点で誤差を評価し、２を得る。誤差が大きいので、引続き、ｗ1について、誤差と、誤差に乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【００８５】
【表４】
0003817866.tif 000005
この結果に基づき、ｗ1は１に更新する。更に、ｗ2について、同様に、誤差と、誤差に乱数を加えたものを算出する。その結果、次表のように算出されたとする。
【００８６】
【表５】
0003817866.tif 000006
この結果に基づき、ｗ2は−１に更新する。この時点で誤差を評価し、０を得る。誤差が十分に小さいので、係数の最適化を終了する。
【００８７】
以上に例を以て示したように、本実施例によれば、誤差は次第に減少し、所定の乱数を付加することによって誤差が極少となる点から、所定の確率によって脱出し、より誤差の小さい係数を得ることができる。
【００８８】
以上に示した簡単な例では、最適化を２巡した時点で最適化が終了したが、現実的な係数決定では、より複雑な係数を決定する必要があることが一般的である。この場合、乱数の大きさが大きいまま最適化を進めると、最適化が概ね終了しても、最終的な係数には収束しにくい。そこで、誤差が小さい係数がより高い確率で選択されるように、乱数の大きさを小さくし、収束を進めるようにする。一方、乱数が小さすぎると極少を脱出できなくなる場合がある。本実施例では誤差の履歴により、確率を制御することによってこの課題を解決した。
【００８９】
また、以上に示した簡単な例では所定のステップは、ｓ1，ｓ2とも１を用いたが、処理を高速化するためと、極少からより高い確率で脱出できる目的で、誤差の履歴により、所定のステップを制御している。また、ｓ1，ｓ2に異なる値を用い、実質的により小さいステップ、すなわちｓ1、ｓ2、｜ｓ1−ｓ2｜の最大公約数による最適化を可能にする。
【００９０】
以上、簡単な例を以て作用を説明したが、本実施例によれば複雑なデータ変換装置においても、同様の動作をする。
【００９１】
本方式においては、データ変換装置の誤差は、装置内の丸めや精度を含めた誤差による評価を行っている。従って、このような誤差を含めた上で、より誤差の少ない係数を、全探査よりも高速に算出することが可能である。
【００９２】
［実施例２］
つぎにデータ変換装置として離散的な係数をとるニューラルネットワークを用いて色変換を行う実施例２について説明する。図３は本実施例の構成を示し、この図において、図１と対応する箇所には対応する符号を付して詳細な説明を省略する。図３において、入力バッファ１１は入力データとして印刷のＣ（サイアン）、Ｍ（マジェンタ）、Ｙ（イエロー）、Ｋ（墨）の面積率を保持している。ニューラルネットワークを用いた色変換装置２１はＣ、Ｍ、Ｙ、Ｋの面積率をＣＩＥ  Ｌ*ａ*ｂ*（Ｄ５０）色座標に変換するものである。ニューラルネットワークの係数は離散的であり、係数更新部１９によって最適化されていく。変換された色座標データは出力バッファ１３にストアされ、色差算出部２２によって出力色座標データと理想色座標データとの色差が算出される。色差自乗平均算出部２３は色差の自乗平均を算出し、これが誤差とされる。
【００９３】
つぎに色変換装置２１の係数の最適化について詳細に説明する。上述のとおり、色変換装置２１は、印刷のＣ、Ｍ、Ｙ、Ｋの面積率を、印刷結果のＣＩＥ  Ｌ*ａ*ｂ*（Ｄ５０）色座標に変換するものである。この色変換装置２１の係数決定には、、入力として、ＩＴ８／７．３  ｅｘｔｅｎｄｅｄ  ｓｅｔに基づく９２８組のＣＭＹＫ面積率を、理想出力には、各面積率に基づいて印刷を行い、印刷結果をＤ５０光源により測色し、ＣＩＥ  Ｌ*ａ*ｂ*色座標としたものを用いる。すなわち、入力データｘと理想出力データｙは、｛ｘ1，ｙ1｝，｛ｘ2，ｙ2｝，…，｛ｘi，ｙi｝…，｛ｘ928，ｙ928｝であり、各入力データｘiは、４次元で、ｘi＝（Ｃi，Ｍi，Ｙi，Ｋi）であり、各理想出力データｙiは、３次元で、ｙi＝（Ｌi，ａi，ｂi）であるとする。このデータ変換装置のｋ個の係数（ｗ1，ｗ2，…，ｗp，…，ｗk）は、予め全て０に初期化しておく。このデータ変換装置に、データｘiを与えた時の出力を、ｇ（ｘi｜ｗ1，ｗ2，…，ｗp，…，ｗk）とする。このときの理想出力ｙiとの誤差を、ΔＥ色差、すなわち、ＣＩＥ  Ｌ*ａ*ｂ＊色空間上のユークリッド距離ΔＥ（ｙi，ｇ（ｘi｜ｗ1，ｗ2，…，ｗp，…，ｗk））とする。本実施例では、この色変換装置の誤差を、各色の自乗平均誤差、すなわち、
【００９４】
【数４】
0003817866.tif 000007
とする。
【００９５】
いま、ｋ個の係数のうち、ｐ番目の係数ｗpに着目し、現在の係数値に対する誤差Ｅ0、すなわち、Ｅ0＝Ｅ（ｗ1，ｗ2，…，ｗp，…，ｗk）と、現在の係数値より所定のステップｓ1だけ大きな係数値に対する誤差Ｅ+、すなわち、Ｅ+＝Ｅ（ｗ1，ｗ2，…，ｗp＋ｓ1，…，ｗk）、及び、現在の係数値より所定のステップｓ2だけ小さな係数値に対する誤差Ｅ、すなわち、Ｅ-＝Ｅ（ｗ1，ｗ2，…，ｗp−ｓ2，…，ｗk）の３種類の誤差を算出する。この実施例では加算の場合の所定のステップを異なる値としているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも異なる値とする必要はない。
【００９６】
次に、これらの誤差に基づいて、より低い誤差のものが、より高い確率で選ばれる適宜の関数によって、いずれか１つを選択する。Ｅ0が選択された場合、ｗpは更新しない。Ｅ+が選択された場合、ｗpにｓ1を加え、更新する。Ｅ-が選択された場合、ｗpからｓ2を減じ、更新する。
【００９７】
この操作を各重みｗp（ｐ＝１，２，…，ｋ）について適用する。この最適化の操作が１巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定のステップｓに、１よりも大きい所定の値を乗じることによって、ｓを増加させる。一方、誤差が最適化を１巡行う前に比較して、増加してしまった場合には、ｓ1やＳ2に１よりも小さい所定の値を乗じて、ｓ1やＳ2を減少させるが、最小ステップ以下未満の値とはしない。
【００９８】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【００９９】
［実施例３］
つぎに係数が離散値をとるテーブルと補間とを用いる色変換装置を用いた実施例３について説明する。図４は実施例３の構成を示しており、この図において、図１と対応する箇所には対応する符号を付して詳細な説明を省略する。図４において、入力バッファ１１は入力データとしてＣＩＥ  Ｌ*ａ*ｂ*  （Ｄ５０）色座標データをストアしている。色変換装置３１は、係数が離散値をとるテーブルと補間とを用いて、ＣＩＥ  Ｌ*ａ*ｂ*  （Ｄ５０）色座標を入力し、所定の印刷装置のＣ、Ｍ、Ｙ、Ｋの面積率を算出するものである。本実施例では、各格子点に記憶する値は離散値とする。この変換装置３１の詳細は後述する。Ｃ、Ｍ、Ｙ、Ｋの面積率は出力バッファ１３にストアされ、これに基づいて印刷装置３２を駆動して印刷出力を得る。こののち印刷出力を測定してＣＩＥ  Ｌ*ａ*ｂ*（Ｄ５０）色座標データを得る。この色座標データは測定値バッファ３３にストアされる。理想出力データメモリ１４には入力データ自体がストアされ、この入力データと測定値バッファ３３の色座標データとの色差が色差算出部２２で算出され、平均色差が平均色差算出部３４で算出され、誤差とされる。
【０１００】
つぎに変換装置３１の係数の最適化について詳細に説明する。変換装置３１は、入力空間上のＬ*軸、ａ*軸、ｂ*軸の各々の代表点、例えば、各軸１０点からなる３次元の表に、予め変換後のＣＭＹＫ各面積率を記録し、色変換に際しては、入力した色座標を含む直方体の各頂点に相当する格子点の変換値を、直方体内の位置に応じて補間を行い、変換結果を得るものであり、補間方法としては、４面体補間法、プリズム補間法、ｃｕｂｉｃ補間法などが知られている。本実施例はこれらの補間方法のいずれの場合でも適用することができる。
【０１０１】
一般的に、各格子点に記憶される変換値は、各代表点の変換値をテーブルの精度によって丸めた値であり、いずれの補間方法においても、入出力の対応によっては補間誤差が発生する。
【０１０２】
所定の係数における、この色変換装置の誤差を次の手順により求めた平均色差とする。十分に細かい所定の間隔、例えば、各次元とも格子点の代表値の間隔の１６分の１の間隔で、所定のの係数によって色変換し、ＣＭＹＫの各面積率を算出する。この算出結果をもとに印刷を行い、測色値と、変換前の色座標との色差を算出し、全入力範囲についての平均の色差を誤差とする。この際、実際に印刷を行って、測色することに換えて、プリンタをモデル化したものを用いて印刷後の予測値を推定しても良い。
【０１０３】
本実施例は、補間後の平均の色差が最小になるように、各格子点の値を最適化することを目的とし、以下の最適化を行う。
【０１０４】
まず、全ての格子点について、各格子点（Ｌ，Ａ，Ｂ）のテーブルに記憶する離散値の係数｛Ｃ（Ｌ，Ａ，Ｂ），Ｍ（Ｌ，Ａ，Ｂ），Ｙ（Ｌ，Ａ，Ｂ），Ｋ（Ｌ，Ａ，Ｂ）｝を、対応する変換値をテーブルの精度によって丸めた値により初期化する。Ｔ及びｓをそれぞれ適宜の初期値とする。各格子点に、色再現範囲内で、彩度の低いものから順に通し番号を付け、引続き、色再現範囲外の格子点について、変換前後の色差が小さい順に通し番号を付ける。つぎに以下の処理プを行う。
処理（１）：通し番号が小さい順に、Ｋの格子点値を、処理（１．１）〜（１．３）の操作により最適化する。
処理（１．１）：現在のＫの値に所定のステップｓを加え、色変換装置の誤差を算出する。
処理（１．２）：現在のＫの値から所定のステップｓ及びステップの最小単位を減じ、色変換装置の誤差を算出する。
【０１０５】
この際、全入力範囲に換えて、この係数が影響を持つ範囲に限って色差の平均を求めてもよい。例えば、４面体補間法、プリズム補間法、ｃｕｂｉｃ補間法では、それぞれ当該格子点を頂点に持つ４面体、３角柱、直方体に含まれる部分のみについて平均を求めても良い。
処理（１．３）：上記処理（１．１）の誤差と処理（１．２）の誤差に所定の区間［０，Ｔ］に一様な分布に基づく乱数をそれぞれに加算し、処理（１．１）の誤差と乱数の和が、処理（１．２）の誤差と乱数の和よりも小さい場合には現在のＫの値に所定のステップｓを加え、更新する。そうでない場合には、現在のＫの値から所定のステップｓ及びステップの最小単位を減じ更新する。
処理（２）：上記処理（１）の操作を、全ての格子点のＫに適用する。この最適化の操作が１巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「Ｋが最適な係数」として係数を記録し、前述の所定の区間を決定するＴに、１よりも大きい所定の値を乗じることによって、Ｔを増加させる。一方、誤差が最適化を１巡行う前に比較して、増加してしまった場合には、Ｔに１よりも小さい所定の値を乗じて、Ｔを減少させる。所定のステップｓについても同様の操作を行うが、最小ステップ未満の値とはしない。
【０１０６】
次に、「Ｋが最適な係数」を初期値として、Ｔ及びｓをそれぞれ適宜の初期値とし以下の処理を実行する。
処理（３）：通し番号が小さい順に、ＣＭＹの格子点値を、処理（３．１）〜（３．５）の操作により最適化する。
処理（３．１）：現在のＣの値に所定のステップｓを加え、色変換装置の誤差を算出する。
処理（３．２）：現在のＣの値から所定のステップｓ及びステップの最小単位を減じ、色変換装置の誤差を算出する。
処理（３．３）：上記処理（３．１）の誤差と処理（３．２）の誤差に所定の区間［０，Ｔ］に一様な分布に基づく乱数をそれぞれに加算し、処理（３．１）の誤差と乱数の和が処理（３．２）の誤差と乱数の和よりも小さい場合には現在のＣの値に所定のステップｓを加え、更新する。そうでない場合には、現在のＣの値から所定のステップｓ及びステップの最小単位を減じ更新する。
処理（３．４）：処理（３．１）〜（３．３）の操作をＣに換えてＭについて適用する。
処理（３．５）：処理（３．１）〜（３．３）の操作をＣに換えてＹについて適用する。
処理（４）：上記処理（３）の操作を、全ての格子点に適用する。この最適化の操作が１巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定の区間を決定するＴに、１よりも大きい所定の値を乗じることによって、Ｔを増加させる。一方、誤差が最適化を１巡行う前に比較して、増加してしまった場合には、Ｔに１よりも小さい所定の値を乗じて、Ｔを減少させる。所定のステップｓについてもＴと同様の操作を行うが、最小ステップ未満の値とはしない。
【０１０７】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【０１０８】
［実施例４］
つぎに離散的な係数値と誤差との間に想定可能な連続的な関数を導入して係数の最適化を行う実施例４について説明する。図５は実施例４の構成を示しており、この図において図３と対応する箇所には対応する符号を付して詳細な説明をその省略する。図５において、２次関数決定部４１はＥ0、Ｅ-、Ｅ+の誤差に基づいて２次関数を決定し、微係数算出部４２はこの２次関数のＥ0における微係数を算出する。係数更新部４３は温度（アニーリングにおける温度）および微係数に応じて係数を決定する。これについては後に詳述する。
【０１０９】
つぎにこの実施例における色変換装置２１の係数の最適化について詳細に説明する。色変換装置２１は、本実施単独で最適化を行ってもよいし、また、本実施例に先だって実施例２により適宜回数最適化を行った後に本実施例による最適化を行ってもよい。誤差などの諸定義は実施例２と同じである。
【０１１０】
いま、ｋ個の係数のうち、ｐ番目の係数ｗpに着目し、現在の係数値に対する誤差Ｅ0、すなわち、Ｅ0＝Ｅ（ｗ1，ｗ2，…，ｗp，…，ｗk）と、現在の係数値より所定のステップｓ1だけ大きな係数値に対する誤差Ｅ+、すなわち、Ｅ+＝Ｅ（ｗ1，ｗ2，…，ｗp＋ｓ1，…，ｗk）、及び、現在の係数値より所定のステップｓ2だけ小さな係数値に対する誤差Ｅ、すなわち、Ｅ-＝Ｅ（ｗ1，ｗ2，…，ｗp−ｓ2，…，ｗk）の３種類の誤差を算出する。この３点の誤差より、２次関数を推定し、ｗpにおける微係数Ｅ’pを算出する。
【０１１１】
温度ｔに応じて、微係数Ｅ’pが大きければ高い確率で１（それ以外は０）となる確率変数Ｘ+（Ｅ’p；ｔ）と、微係数Ｅ’pが小さければ高い確率で１（それ以外は０）となる確率変数Ｘ-（Ｅ’p；ｔ）によって、係数ｗpを、以下の値によって更新する。ここで、確率変数Ｘ+とＸ-は、温度が高いほど不確定的に、温度が低いほど確定的に微係数の影響を受けるものとする。
【０１１２】
【数５】
ｗｐ←ｗp＋ｓ1・Ｘ+（Ｅ’p；ｔ）−ｓ2・Ｘ-（Ｅ’p；ｔ）
この実施例では加算の場合の所定のステップを異なる値としているが、加算の場合の所定のステップと、減算の場合の所定のステップは必ずしも異なる値とする必要はない。
【０１１３】
この操作を各重みｗp（ｐ＝１，２，…，ｋ）について適用する。この最適化の操作が１巡した時点で、この色変換装置の誤差を求め、所定の値以下になるか、ほぼ収束する状態、もしくは、所定の回数まで繰り返す。その際、最小の誤差となった場合には、「最適な係数」として係数を記録し、前述の所定のステップｓ1、ｓ2と温度ｔに、１よりも大きい所定の値を乗じることによって、ステップと温度を増加させる。一方、誤差が最適化を１巡行う前に比較して、増加してしまった場合には、ｓ1、ｓ2と温度ｔに１よりも小さい所定の値を乗じて、ステップと温度をを減少させる。但し各ステップは、最小ステップ以下未満の値とはしない。
【０１１４】
以上により、学習が終了した時点で、最終的に記録された「最適な係数」を出力する。
【０１１５】
尚、本実施例では３点を取り、２次関数により微係数を算出したが、２点以上の点を取れば適宜の関数によって微係数を定めることができる。
【０１１６】
また、以上では、３点をとっていたが、ｐ種類の適宜の関数ｆ1（ｗ）、ｆ2（ｗ）…ｆp（ｗ）を用いてｐ種類の係数を算出することができる。
【０１１７】
ここで、例として、ｐ＝４の場合、
【０１１８】
【数６】
ｆ1（ｗ）＝ｗ＋１
ｆ2（ｗ）＝ｗ＋２
ｆ3（ｗ）＝ｗ＋３
ｆ4（ｗ）＝ｗ＋４
とすることができる。微係数を算出する場合では、現在の係数を含む区間でなくても現在の値の微係数を推定することが可能であるから、関数値が現在の係数を含む区間でなくてもよい。
【０１１９】
また、別の例として、ｐ＝５の場合、
【０１２０】
【数７】
ｆ1（ｗ）＝ｆｌｏｏｒ（ｗ×０．９８）
ｆ2（ｗ）＝ｆｌｏｏｒ（ｗ×０．９９）
ｆ3（ｗ）＝ｗ
ｆ4（ｗ）＝ｃｅｉｌ（ｗ／０．９９）
ｆ5（ｗ）＝ｃｅｉｌ（ｗ／０．９８）
としてもよい。ここで、ｆｌｏｏｒは切り捨て、ｃｅｉｌは切り上げによる丸めである。ここでは、係数の取り得る離散値に丸める操作の例として切り捨てや切り上げを用いて例を示したが、丸める操作は任意の方法を取ることができる。
【０１２１】
［適用例］
つぎに本発明の適用例について説明する。
【０１２２】
図６は、本発明のデータ変換装置を利用した電子機器を示しており、この図において、電子機器１００はデータ変換装置１１０を有している。データ変換装置１１０は上述した実施例と同様なものであり、変換用の係数として離散値をとっている。データ変換装置１１０は係数最適化部１１１により上述した実施例と同様な手法で最適化が行われる。
【０１２３】
この場合、基準となるデータ変換装置で予め係数の最適化を行い、これを電子機器１００のデータ変換装置１１０にインストールするようにしてもよい。この後、さらに係数最適化部１１１で最終的な最適化処理を行うようにしてもよい。
【０１２４】
図７は本発明のデータ変換装置を利用したカラー画像形成装置（カラー複写機やカラー印刷機）を示しており、この図において、画像形成装置２００はデータ変換装置からなる２つの色変換装置２１０、２２０を有している。入力部２３０から入力された色データは色変換部２１０、２２０で逐次色変換され、出力部２４０に供給され、印刷出力される。この例では色変換装置２１０、２２０の両方もしくは一方において本発明のデータ変換装置の係数最適化を行える。
【０１２５】
図８は、本発明のデータ変換装置を利用したロボット装置を示しており、この図において、ロボット３００はデータ変換装置３１０を備えており、位置入力部３２０からの位置入力に応じて姿勢等の制御を行うようになっている。誤差検出部３３０は誤差を検出し、これに応じてデータ変換装置の係数の最適化が行われる。
【０１２６】
【発明の効果】
以上説明したように、本発明によれば、離散的な値を取る係数を用いてデータの変換を行う場合であっても、係数の値を簡易かつ安定して学習させることができる。
【図面の簡単な説明】
【図１】  本発明の実施例１の構成を示す図である。
【図２】  上述実施例の詳細を具体的に説明する図である。
【図３】  本発明の実施例２の構成を示す図である。
【図４】  本発明の実施例３の構成を示す図である。
【図５】  本発明の実施例４の構成を示す図である。
【図６】  本発明の適用例を説明する図である。
【図７】  本発明の適用例を説明する図である。
【図８】  本発明の適用例を説明する図である。
【符号の説明】
１１    入力バッファ
１２    データ変換装置
１３    出力バッファ
１４    理想出力メモリ
１５    誤差算出部
１６    誤差履歴メモリ
１７    乱数分布制御部
１８    ステップ制御部
１９    係数更新部
１００    電子機器
２００    カラー画像形成装置
３００    ロボット
【図１】
0003817866.tif 000008
【図２】
0003817866.tif 000009
【図３】
0003817866.tif 000010
【図４】
0003817866.tif 000011
【図５】
0003817866.tif 000012
【図６】
0003817866.tif 000013
【図７】
0003817866.tif 000014
【図８】
0003817866.tif 000015