(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】最適化装置、最適化方法、およびプログラム
(51)【国際特許分類】
G10L 19/00 20130101AFI20221101BHJP
G10L 25/69 20130101ALI20221101BHJP
【FI】
G10L19/00 320
G10L25/69
(21)【出願番号】P 2018210243
(22)【出願日】2018-11-08
【審査請求日】2021-02-08
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】川瀬 智子
(72)【発明者】
【氏名】小林 和則
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2013-122508(JP,A)
【文献】特開2016-12285(JP,A)
【文献】特開2000-348010(JP,A)
【文献】特開2017-134197(JP,A)
【文献】国際公開第2009/110578(WO,A1)
【文献】米国特許出願公開第2003/0014248(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-99/00
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
信号処理を規定する信号処理用パラメータである第1信号処理用パラメータ値を用いた
前記信号処理の評価結果を表す評価値を得る評価部と、
少なくとも、前記信号処理用パラメータ
の構造を規定した定義ファイルに基づき、前記第1信号処理用パラメータ値を、外部パラメータである第1外部パラメータ値に変換するコーディング部と、
前記評価値および前記第1外部パラメータ値に基づいて、前記第1外部パラメータ値と値の異なる前記外部パラメータである第2外部パラメータ値を生成する生成部と、
前記定義ファイルに基づき、前記第2外部パラメータ値を前記信号処理用パラメータである第2信号処理用パラメータ値に変換するデコーディング部と、
を有する最適化装置。
【請求項2】
請求項1の最適化装置であって、
前記外部パラメータは、予め定められたメタヒューリスティクスな方法で最適化が可能なパラメータである、最適化装置。
【請求項3】
請求項1または2の最適化装置であって、
前記デコーディング部で得られた前記第2信号処理用パラメータ値を新たな前記第1信号処理用パラメータ値に設定して、前記評価部の処理と前記コーディング部の処理と前記生成部の処理と前記デコーディング部の処理とを再び実行する、最適化装置。
【請求項4】
請求項3の最適化装置であって、
前記第1信号処理用パラメータ値を用いた前記信号処理の前記評価値を蓄積する最適化経過記憶部を有し、
前記生成部は、前記最適化経過記憶部に蓄積された前記評価値に基づいて前記第2外部パラメータ値を生成する、最適化装置。
【請求項5】
請求項4の最適化装置であって、
前記最適化経過記憶部は、
前記評価部の処理の繰り返し回数に対応する情報と、前記評価部の処理で用いられた前記第1信号処理用パラメータ値に対応する識別情報と、前記第1信号処理用パラメータ値を用いた前記信号処理の評価結果を表す前記評価値と、を対応付けて蓄積するか、または、
前記評価部の処理で用いられた前記第1信号処理用パラメータ値に対応し、かつ、前記評価部の処理の繰り返し回数を表す情報を含む識別情報と、前記第1信号処理用パラメータ値を用いた前記信号処理の評価結果を表す前記評価値と、を対応付けて蓄積する、
最適化装置。
【請求項6】
請求項4または5の最適化装置であって、
前記最適化経過記憶部に蓄積された前記評価値を用い、前記評価部の処理と前記コーディング部の処理と前記生成部の処理と前記デコーディング部の処理とを実行する、最適化装置。
【請求項7】
評価部が、
信号処理を規定する信号処理用パラメータである第1信号処理用パラメータ値を用いた
前記信号処理の評価結果を表す評価値を得る評価ステップと、
コーディング部が、少なくとも、前記信号処理用パラメータ
の構造を規定した定義ファイルに基づき、前記第1信号処理用パラメータ値を、外部パラメータである第1外部パラメータ値に変換するコーディングステップと、
生成部が、前記評価値および前記第1外部パラメータ値に基づいて、前記第1外部パラメータ値と値の異なる前記外部パラメータである第2外部パラメータ値を生成する生成ステップと、
デコーディング部が、前記定義ファイルに基づき、前記第2外部パラメータ値を前記信号処理用パラメータである第2信号処理用パラメータ値に変換するデコーディングステップと、
を有する最適化方法。
【請求項8】
請求項1から6の何れかの最適化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理のパラメータ調整に関するものであり、特に、パラメータの値を自動探索するための技術に関する。
【背景技術】
【0002】
信号処理では、入力信号によって処理内容を調整すると出力信号の品質が向上することがある。そのため、処理を調整するためのパラメータが実行の度に設定できる設計となっていることが多い。たとえば音声強調ソフトでは、以下のパラメータが設定される。
・雑音抑圧量
・雑音推定に用いる時定数
・音声の冒頭で雑音推定する場合の時間区間
・音声区間と非音声区間を分ける閾値
・出力ゲイン
・周波数分析の分解能
【0003】
ここで、パラメータの値を理論的に決定することは難しく、多くの場合、信号処理ソフトウェア開発者により経験的にパラメータ値が決定される。適切なパラメータ値を決定するための人的コストを削減するために、パラメータ調整を最適化問題と捉え、自動化が可能である。最適化のアルゴリズムとしては、パラメータの評価値を数式であらわすのが難しいため、メタヒューリスティクスが適用される(例えば、特許文献1等参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
パラメータをメタヒューリスティクスで扱うためには、信号処理で扱うパラメータをメタヒューリスティクスで扱う値の集合に変換するコーディングと、メタヒューリスティクスで得られた値を信号処理で扱うパラメータに戻すデコーディングが必要である。パラメータの構造は信号処理によって様々であり、更に同じ信号処理でもアップデートや仕様変更があるとパラメータの構造も変わり得る。そのため、対象とするパラメータの構造ごとに、コーディングおよびデコーディングの処理内容を人手で再設計しなければならないという問題があった。
【0006】
本発明はこのような点に鑑みてなされたものであり、コーディングおよびデコーディングの処理内容を人手で再設計することなく、様々な構造のパラメータの最適化処理を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では上記課題を解決するために、信号処理用パラメータである第1信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値を得る評価ステップと、少なくとも、前記信号処理用パラメータの属性を定義した定義ファイルに基づき、前記第1信号処理用パラメータ値を、外部パラメータである第1外部パラメータ値に変換するコーディングステップと、前記評価値および前記第1外部パラメータ値に基づいて、前記第1外部パラメータ値と値の異なる前記外部パラメータである第2外部パラメータ値を生成する生成ステップと、前記定義ファイルに基づき、前記第2外部パラメータ値を前記信号処理用パラメータである第2信号処理用パラメータ値に変換するデコーディングステップと、を実行する。
【発明の効果】
【0008】
本発明では、信号処理用パラメータの属性を定義した定義ファイルに基づき、コーディングおよびデコーディングを行うため、コーディングおよびデコーディングの処理内容を人手で再設計することなく、様々な構造のパラメータの最適化処理を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は実施形態の最適化装置の機能構成を例示したブロック図である。
【
図2】
図2は実施形態の最適化方法を説明するためのシーケンス図である。
【
図3】
図3は実施形態の最適化方法を説明するためのフロー図である。
【
図4】
図4は実施形態の定義ファイルの内容を例示した図である。
【
図5】
図5は実施形態の最適化経過の内容を例示した図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。
<構成>
図1に例示するように、本実施形態の最適化装置1は、制御部101、入力部102、定義ファイル記憶部103、初期化部104、パラメータファイル記憶部105、データ記憶部106、評価部107、最適化経過記憶部108、生成部109、コーディング部110、およびデコーディング部111を有する。最適化装置1は、制御部101の制御の下で各処理を実行する。
【0011】
<事前処理>
最適化処理の前提として、以下の事前処理が実行される。
パラメータの最適化処理の対象となる信号処理の対象データおよび終了条件が入力部102に入力され、データ記憶部106に格納される。最適化処理の対象となる信号処理の内容に限定はなく、パラメータによって処理内容が規定されるものであればどのようなものであってもよい。このような信号処理の例は、音声認識処理、音声信号強調処理、ノイズキャンセル処理、信号分離処理、画像認識処理、符号化処理、機械学習処理などである。また終了条件にも限定はない。例えば、最適化処理が所定時間以上実行されたこと、最適化処理が所定回数以上繰り返されたこと、信号処理の評価値の変化が所定値以下となったことなどを終了条件とする。
【0012】
またパラメータの最適化処理の対象となる信号処理を行う処理機能が評価部107に設定される。例えば、当該信号処理を行うアルゴリズムが評価部107に実装される。
【0013】
さらに、上述の信号処理を規定するパラメータである「信号処理用パラメータ」の属性を定義した「定義ファイル」が入力部102に入力され、定義ファイル記憶部103に格納される。定義ファイルは、信号処理用パラメータの構造を規定する情報であれば、どのようなものであってもよい。例えば、定義ファイルは、以下の情報を含む。
・信号処理用パラメータを構成する要素(パラメータ)である「パラメータ要素」の名前
・パラメータ要素の変数型
・信号処理用パラメータのうち、最適化処理によって値を変更するパラメータ要素とその値の最大値と最小値
・信号処理用パラメータのうち、値が固定されたパラメータ要素とその値
【0014】
また、定義ファイルが複数の信号処理に対応する場合、各信号処理を識別可能なように、各信号処理用パラメータの構造を規定する属性が定義ファイルに設定される。
【0015】
定義ファイルのデータ構造に限定はない。例えば、定義ファイルは、パラメータ要素の名前、パラメータ要素の変数型、パラメータ要素の値が変更可能か固定されたものかを表す情報、変更可能なパラメータ要素の値の最大値と最小値、固定されたパラメータ要素の値などを含み、これらはパラメータ要素ごとに対応付けられている。例えば、値の変更が可能なパラメータ要素の場合、パラメータ要素の名前に、当該パラメータ要素の変数型と当該パラメータ要素の値が変更可能であることを示す情報と当該パラメータ要素の値の最大値と最小値とが対応付けられている。例えば、値が固定されたパラメータ要素の場合、パラメータ要素の名前に、当該パラメータ要素の変数型と当該パラメータ要素の値が固定されたものであることを示す情報と当該パラメータ要素の値とが対応付けられている。例えば、定義ファイルは、各情報の項目名とその値とのペアの集合を格納する。一例としては、定義ファイルは、JSON(JavaScript(登録商標) Object Notation)形式で各情報の項目名とその値とのペアの集合を格納する。
図4の例では、項目名“name”とパラメータ要素の名前“det_frame_num”とのペア、項目名“type”とパラメータ要素の変数型“int”とのペア、項目“tuning”とパラメータ要素の値が固定されたものであることを示す情報“false”とのペア、および項目“value”とパラメータ要素の値“80”とのペアを格納している。さらに、この例では、項目名“name”とパラメータ要素の名前“det_th_on”とのペア、項目名“type”とパラメータ要素の変数型“int”とのペア、項目“tuning”とパラメータ要素の値が変更可能であることを示す情報“true”とのペア、項目“min”とパラメータ要素の値の最小値“60”とのペア、および項目“max”とパラメータ要素の値の最大値“70”とのペアを格納している。
【0016】
<最適化処理>
次に、
図1から
図3を参照し、本実施形態の最適化処理について説明する。
まず、最適化装置1(
図1)の制御部101が、最適化処理の繰り返し回数(世代数)を表すループカウンタ値iを1に初期化する(ステップS101a)。
【0017】
次に、最適化対象の信号処理に対応する定義ファイルが定義ファイル記憶部103から読み出され、初期化部104に送られる。この定義ファイルは信号処理用パラメータの属性を定義する。初期化部104は、送られた定義ファイルに基づき、当該定義ファイルが定義する属性の信号処理用パラメータの初期値を表す「第1世代パラメータファイル」を生成して出力する。例えば、初期化部104は、信号処理用パラメータのうち、値が固定されたパラメータ要素の初期値を定義ファイルが示す値とし、値が変更可能なパラメータ要素の初期値をランダムに生成する(すなわち、初期化部104は、生成した乱数を、値が変更可能なパラメータ要素の初期値に設定する)。なお「第i世代パラメータファイル」のデータ構造に限定はない。「第i世代パラメータファイル」の一例は、パラメータ要素の名前と当該パラメータ要素の値を、最適化対象の信号処理で扱える形式で記録したファイルである。また初期化部104は、生成した信号処理用パラメータの初期値に対応する識別情報(名称)である「第1世代パラメータ名」を生成して出力する。第1世代パラメータファイルおよびその第1世代パラメータ名は互いに対応付けられてパラメータファイル記憶部105に格納され、第1世代パラメータ名は最適化経過記憶部108にも格納される(ステップS104)。
【0018】
評価部107には、パラメータファイル記憶部105から読み出した第i世代パラメータファイル、ならびにデータ記憶部106から読み出した対象データおよび最適化処理の終了条件が入力される。評価部107は、第i世代パラメータファイルが表す信号処理用パラメータである「第1信号処理用パラメータ値」を用いた信号処理を対象データに適用し、その信号処理の評価結果を表す評価値を得て出力する。この評価値は、例えば、第1信号処理用パラメータ値によって規定される信号処理の性能を表すものである。例えば、信号処理が音声強調処理の場合、音声品質評価値や音声認識率などが評価値に相当する。得られた評価値は最適化経過記憶部108に送られる(ステップS107a)。
【0019】
最適化経過記憶部108は、第i世代パラメータファイルが表す信号処理用パラメータである第1信号処理用パラメータ値に対応する「第i世代パラメータ名」(第1信号処理用パラメータ値に対応する識別情報)と、ステップS107aで得られた当該第1信号処理用パラメータ値を用いた信号処理の評価値と、を対応付けて蓄積する。さらに、これらの情報に加え、繰り返し回数(世代数)を表すループカウンタ値iに対応する値も対応付けて、最適化経過記憶部108に蓄積されてもよい。あるいは、第i世代パラメータ名がループカウンタ値iを表す情報を含んでいてもよい。すなわち、最適化経過記憶部108は、評価部107の処理の繰り返し回数(世代数、すなわちループカウンタ値i)に対応する情報と、評価部107の処理で用いられた第1信号処理用パラメータ値に対応する識別情報(第i世代パラメータ名)と、第1信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値と、を対応付けて蓄積するか、または、評価部107の処理で用いられた第1信号処理用パラメータ値に対応し、かつ、評価部107の処理の繰り返し回数(世代数、すなわちループカウンタ値i)を表す情報を含む識別情報(第i世代パラメータ名)と、第1信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値と、を対応付けて蓄積してもよい。これにより、ループカウンタ値iを最適化処理(例えば、終了条件の判定)に利用することができる。なお、これらの情報の蓄積形式には限定はないが、例えば、CSV形式でこれらの情報を記述することができる。最適化経過記憶部108に蓄積される情報を「最適化経過」と呼ぶことにする。
図5に、最適化経過記憶部108に蓄積された最適化経過を例示する。
図5に例示した最適化経過は、世代数(ループカウンタ値i)と第i世代パラメータ名と評価値とを互いに対応付けて蓄積したものである(ステップS107b)。
【0020】
生成部109は、最適化経過記憶部108から最適化経過を読み出し、最適化経過から第i世代パラメータ名を抽出する。生成部109は、第i世代パラメータ名をコーディング部110に送る(ステップS109a)。
【0021】
コーディング部110には、生成部109から送られた第i世代パラメータ名および定義ファイル記憶部103から読み出された定義ファイルが入力される。コーディング部110は、入力された第i世代パラメータ名に対応付けられている第i世代パラメータファイルをパラメータファイル記憶部105から抽出する。次にコーディング部110は入力された定義ファイルに基づき、抽出した第1信号処理用パラメータ値をコーディングして、外部パラメータである第i世代パラメータ値(第1外部パラメータ値)を得る。すなわち、コーディング部110は、定義ファイルに基づいて第1信号処理用パラメータ値の構造を特定し、予め定められたコーディング方法を用い、その構造の第1信号処理用パラメータ値を第i世代パラメータ値に変換する。外部パラメータは、予め定められたメタヒューリスティクスな方法で最適化が可能なパラメータである。例えば、外部パラメータは、パラメータ要素の名前が取り除かれたパラメータ要素の値のみの集合からなる集合形式のパラメータである。このような外部パラメータは、定義ファイルに基づいて第1信号処理用パラメータ値の構造を特定できるのであれば、予め定められたアルゴリズムによって生成可能である。メタヒューリスティクスな方法には様々な周知技術が存在し、例えば、多スタート局所探索、可変近傍法、タブー探索、遺伝アルゴリズムなどの様々な方法を利用できる。第i世代パラメータ値は生成部109に送られる(ステップS110a)。
【0022】
生成部109には、コーディング部110から送られた第i世代パラメータ値、および最適化経過記憶部108から読み出した最適化経過が入力される。生成部109は、当該最適化経過(前述の評価値を含む)と第i世代パラメータ値(第1外部パラメータ値)とを用い、予め定められたメタヒューリスティクスな方法で、新しい第i+1世代パラメータ値(外部パラメータである第2外部パラメータ値)を生成して出力する。通常、第i+1世代パラメータ値は第i世代パラメータ値(第1外部パラメータ値)と異なる。生成部109は、最適化経過記憶部108に蓄積された第1~第i世代パラメータ名(識別情報)およびそれらに対応する評価値の少なくとも一部に基づいて第2外部パラメータ値を生成する。生成部109は、これまでに得られた第1~第i世代パラメータ名およびそれらに対応する評価値の少なくとも一部を利用することで、最適化された第i+1世代パラメータ値を効率的に求めることができる(ステップS109b)。
【0023】
次に、新しい第i+1世代パラメータ値に対応する信号処理を評価部107で評価するために、第i+1世代パラメータ値を当該信号処理に利用可能な第i+1世代パラメータファイルに変換する。まず生成部109は、第i+1世代パラメータ値をデコーディング部111に送る。デコーディング部111には、生成部109から送られた第i+1世代パラメータ値および定義ファイル記憶部103から読み出された定義ファイルが入力される。生成部109は、定義ファイルに基づき、第i+1世代パラメータ値(第2外部パラメータ値)をデコーディングし、当該第i+1世代パラメータ値を、信号処理用パラメータである第2信号処理用パラメータ値を表す「第i+1世代パラメータファイル」に変換して出力する。「第i+1世代パラメータファイル」のデータ構造は前述の「第i世代パラメータファイル」のデータ構造と同一である。また生成部109は、生成した第2信号処理用パラメータ値に対応する識別情報(名称)である「第i+1世代パラメータ名」を生成して出力する。第i+1世代パラメータファイルおよびその第i+1世代パラメータ名は互いに対応付けられてパラメータファイル記憶部105に格納され、第i+1世代パラメータ名は最適化経過記憶部108にも格納される(ステップS111)。
【0024】
次に、評価部107は、データ記憶部106に格納されている終了条件を満たすか否かを判断する。終了条件は前述の通りであり、例えば、評価部107は、最適化処理(例えば、
図3に示す処理)が所定時間以上実行されたか、最適化処理が所定回数以上繰り返されたか(例えば、ループカウンタ値iが所定数以上か)、信号処理の評価値の変化が所定値以下となったか(例えば、ループカウンタ値i
1のステップS107aで得られた評価値とその次のループカウンタ値i
1+1のステップS107aで得られた評価値と間の差分が所定値以下となったか)などの終了条件を判定する(ステップS107c)。終了条件を満たす場合には最適化処理を終了する。一方、終了条件を満たさない場合には、制御部101がi+1を新たなiに設定し(ステップS101b)、処理をステップS107aに戻す。これにより、最適化装置1は、デコーディング部111で得られた第2信号処理用パラメータ値(第i+1世代パラメータファイル)を新たな第1信号処理用パラメータ値(第i世代パラメータファイル)に設定して、評価部107の処理とコーディング部110の処理と生成部109の処理とデコーディング部111の処理と(すなわち、ステップS107a,S107b,109a,S110a,S109b,S109c,S111,S107c)を再び実行する(繰り返し処理)。
【0025】
なお、終了条件を満たす前に最適化処理が一旦中断され、最適化処理が再開される場合には、最適化装置1はステップS107a,S107b,109a,S110a,S109b,S109c,S111,S107cの何れかから処理を再開すればよい。例えば、最適化装置1は、最適化処理を再開する場合には、ステップS109aから処理を再開すればよい。すなわち、最適化装置1は、最適化経過記憶部108に蓄積された最適化経過の評価値の全部または一部を用い、評価部107の処理とコーディング部110の処理と生成部109の処理とデコーディング部111の処理とを実行する。本実施形態では最適化経過記憶部108に最適化経過が記憶されているため、最適化処理が一旦中断された場合であっても、最適化装置1はこの最適化経過を利用して最適化処理を再開できる。すなわち、最適化装置1は、中断前の最適化処理で得られていた「第1信号処理用パラメータ値」に対応する評価値の全部または一部を用いて最適化処理を再開できる。これにより、中断前の最適化処理で得られていた評価値を用いることなく、単に中断前の「第1信号処理用パラメータ値」または「第2信号処理用パラメータ値」を初期値として処理を再開する場合に比べ、効率的に最適化処理を再開できる。
【0026】
<実施形態の特徴>
上述の実施形態では、信号処理用パラメータの属性を定義した定義ファイルを最適化装置1に入力し、初期化部104、コーディング部110、およびデコーディング部111が、この定義ファイルに基づいて、信号処理用パラメータの初期値の設定(ステップS104)、第1信号処理用パラメータ値から第1外部パラメータ値へのコーディング(ステップS110a)、および第2外部パラメータ値から第2信号処理用パラメータ値へのデコーディング(ステップS109c)を行った。このような構成により、信号処理用パラメータの構造ごとに初期化部104、コーディング部110、およびデコーディング部111を再設計する必要がなくなる。例えば、信号処理を行うソフトウェアを更改してパラメータ構造が変化した場合でも、初期化部104、コーディング部110、およびデコーディング部111を実装するアルゴリズムを更改する必要がない。すなわち、定義ファイルに定義された属性に従って各処理を実行するように、汎用的に初期化部104、コーディング部110、およびデコーディング部111を設計しておくことができ、定義ファイルを変更するだけで様々なデータ構造の信号処理用パラメータの最適化を行うことができる。
【0027】
また本実施形態では、最適化経過記憶部108に最適化経過を蓄積していくため、最適化処理を中断した場合であっても、それまでに蓄積された最適化経過を利用して、効率よく中断後の最適化処理を再開できる。すなわち、パラメータの調整が進むたびにその最適化経過が記録されるので、終了条件を満たさない状態で最適化処理を中断しても、効率性を損なうことなく、最適化処理を再開できる。信号処理ソフトウェアの実装や実環境への適用の場面ではパラメータの調整が断続的に必要になる場合があり、一旦中断したパラメータの調整を効率的に再開できることは有意義である。また、最適化経過は第i世代パラメータ名(識別情報)や評価値などのテキストファイルで記載可能なサイズの小さな情報であり、最適化経過記憶部108の記憶容量を圧迫しない。
【0028】
[変形例等]
本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態では初期化部104が信号処理用パラメータの初期値を設定したが、信号処理用パラメータの初期値が人手で設定されてもよい。
【0029】
また、上述の実施形態では、第i世代パラメータファイルが表す第1信号処理用パラメータ値に対応する識別情報(第i世代パラメータ名)と当該第1信号処理用パラメータ値を用いた信号処理の評価値とを対応付けた最適化経過を最適化経過記憶部108に格納し、生成部109がこの最適化経過と第i世代パラメータ値(第1外部パラメータ値)とを用い、新しい第i+1世代パラメータ値(外部パラメータである第2外部パラメータ値)を生成した。しかし、最適化経過への格納順序や格納位置や最適化経過に格納されたループカウンタ値iなどの情報から、評価値に対応する第i世代パラメータ名または第i世代パラメータファイルが表す信号処理用パラメータである第1信号処理用パラメータ値を特定できるのであれば、最適化経過が第i世代パラメータ名(識別情報)を含まなくてもよい。この場合、ステップS109aで、生成部109が第i世代パラメータ名をコーディング部110に送ることに代え、生成部109が第i世代パラメータ名または第i世代パラメータファイルが表す信号処理用パラメータである第1信号処理用パラメータ値を特定する特定情報(例えば、最適化経過への格納順序や格納位置を表す情報や最適化経過に格納されたループカウンタ値iを表す情報)をコーディング部110に送る。この場合、ステップS110aでは、コーディング部110が、当該特定情報を用いて、パラメータファイル記憶部105から当該第i世代パラメータファイルを抽出し、当該第i世代パラメータファイルが表す第1信号処理用パラメータ値をコーディングして、外部パラメータである第i世代パラメータ値(第1外部パラメータ値)を得ればよい。
【0030】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、ステップS107cがステップS111の後ではなく、ステップS107bとステップS109aとの間で実行され、ステップS107cで終了条件を満たすと判断した場合に最適化処理を終了し、終了条件を満たさないと判断した場合にステップS109aに進んでもよい。この場合にはステップS111の後にステップS101bが実行される。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0031】
上記の装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
【0032】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【0033】
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0034】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
【0035】
コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【0036】
1 最適化装置
107 評価部
109 生成部
110 コーディング部
111 デコーディング部
108 最適化経過記憶部