(57)【要約】【課題】コーディングおよびデコーディングの処理内容を人手で再設計することなく、様々な構造のパラメータの最適化処理を行う。【解決手段】信号処理用パラメータである第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値を得る評価ステップと、少なくとも、前記信号処理用パラメータの属性を定義した定義ファイルに基づき、前記第１信号処理用パラメータ値を、外部パラメータである第１外部パラメータ値に変換するコーディングステップと、前記評価値および前記第１外部パラメータ値に基づいて、前記第１外部パラメータ値と値の異なる前記外部パラメータである第２外部パラメータ値を生成する生成ステップと、前記定義ファイルに基づき、前記第２外部パラメータ値を前記信号処理用パラメータである第２信号処理用パラメータ値に変換するデコーディングステップを実行する。【選択図】図１
2020076874.tif 000002
【特許請求の範囲】
【請求項１】
信号処理用パラメータである第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値を得る評価部と、
少なくとも、前記信号処理用パラメータの属性を定義した定義ファイルに基づき、前記第１信号処理用パラメータ値を、外部パラメータである第１外部パラメータ値に変換するコーディング部と、
前記評価値および前記第１外部パラメータ値に基づいて、前記第１外部パラメータ値と値の異なる前記外部パラメータである第２外部パラメータ値を生成する生成部と、
前記定義ファイルに基づき、前記第２外部パラメータ値を前記信号処理用パラメータである第２信号処理用パラメータ値に変換するデコーディング部と、
を有する最適化装置。
【請求項２】
請求項１の最適化装置であって、
前記外部パラメータは、予め定められたメタヒューリスティクスな方法で最適化が可能なパラメータである、最適化装置。
【請求項３】
請求項１または２の最適化装置であって、
前記デコーディング部で得られた前記第２信号処理用パラメータ値を新たな前記第１信号処理用パラメータ値に設定して、前記評価部の処理と前記コーディング部の処理と前記生成部の処理と前記デコーディング部の処理とを再び実行する、最適化装置。
【請求項４】
請求項３の最適化装置であって、
前記第１信号処理用パラメータ値を用いた前記信号処理の前記評価値を蓄積する最適化経過記憶部を有し、
前記生成部は、前記最適化経過記憶部に蓄積された前記評価値に基づいて前記第２外部パラメータ値を生成する、最適化装置。
【請求項５】
請求項４の最適化装置であって、
前記最適化経過記憶部は、
前記評価部の処理の繰り返し回数に対応する情報と、前記評価部の処理で用いられた前記第１信号処理用パラメータ値に対応する識別情報と、前記第１信号処理用パラメータ値を用いた前記信号処理の評価結果を表す前記評価値と、を対応付けて蓄積するか、または、
前記評価部の処理で用いられた前記第１信号処理用パラメータ値に対応し、かつ、前記評価部の処理の繰り返し回数を表す情報を含む識別情報と、前記第１信号処理用パラメータ値を用いた前記信号処理の評価結果を表す前記評価値と、を対応付けて蓄積する、
最適化装置。
【請求項６】
請求項４または５の最適化装置であって、
前記最適化経過記憶部に蓄積された前記評価値を用い、前記評価部の処理と前記コーディング部の処理と前記生成部の処理と前記デコーディング部の処理とを実行する、最適化装置。
【請求項７】
評価部が、信号処理用パラメータである第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値を得る評価ステップと、
コーディング部が、少なくとも、前記信号処理用パラメータ値の属性を定義した定義ファイルに基づき、前記第１信号処理用パラメータ値を、外部パラメータである第１外部パラメータ値に変換するコーディングステップと、
生成部が、前記評価値および前記第１外部パラメータ値に基づいて、前記第１外部パラメータ値と値の異なる前記外部パラメータである第２外部パラメータ値を生成する生成ステップと、
デコーディング部が、前記定義ファイルに基づき、前記第２外部パラメータ値を前記信号処理用パラメータである第２信号処理用パラメータ値に変換するデコーディングステップと、
を有する最適化方法。
【請求項８】
請求項１から６の何れかの最適化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理のパラメータ調整に関するものであり、特に、パラメータの値を自動探索するための技術に関する。
【背景技術】
【０００２】
信号処理では、入力信号によって処理内容を調整すると出力信号の品質が向上することがある。そのため、処理を調整するためのパラメータが実行の度に設定できる設計となっていることが多い。たとえば音声強調ソフトでは、以下のパラメータが設定される。
・雑音抑圧量
・雑音推定に用いる時定数
・音声の冒頭で雑音推定する場合の時間区間
・音声区間と非音声区間を分ける閾値
・出力ゲイン
・周波数分析の分解能
【０００３】
ここで、パラメータの値を理論的に決定することは難しく、多くの場合、信号処理ソフトウェア開発者により経験的にパラメータ値が決定される。適切なパラメータ値を決定するための人的コストを削減するために、パラメータ調整を最適化問題と捉え、自動化が可能である。最適化のアルゴリズムとしては、パラメータの評価値を数式であらわすのが難しいため、メタヒューリスティクスが適用される（例えば、特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許６２１６８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パラメータをメタヒューリスティクスで扱うためには、信号処理で扱うパラメータをメタヒューリスティクスで扱う値の集合に変換するコーディングと、メタヒューリスティクスで得られた値を信号処理で扱うパラメータに戻すデコーディングが必要である。パラメータの構造は信号処理によって様々であり、更に同じ信号処理でもアップデートや仕様変更があるとパラメータの構造も変わり得る。そのため、対象とするパラメータの構造ごとに、コーディングおよびデコーディングの処理内容を人手で再設計しなければならないという問題があった。
【０００６】
本発明はこのような点に鑑みてなされたものであり、コーディングおよびデコーディングの処理内容を人手で再設計することなく、様々な構造のパラメータの最適化処理を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では上記課題を解決するために、信号処理用パラメータである第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値を得る評価ステップと、少なくとも、前記信号処理用パラメータの属性を定義した定義ファイルに基づき、前記第１信号処理用パラメータ値を、外部パラメータである第１外部パラメータ値に変換するコーディングステップと、前記評価値および前記第１外部パラメータ値に基づいて、前記第１外部パラメータ値と値の異なる前記外部パラメータである第２外部パラメータ値を生成する生成ステップと、前記定義ファイルに基づき、前記第２外部パラメータ値を前記信号処理用パラメータである第２信号処理用パラメータ値に変換するデコーディングステップと、を実行する。
【発明の効果】
【０００８】
本発明では、信号処理用パラメータの属性を定義した定義ファイルに基づき、コーディングおよびデコーディングを行うため、コーディングおよびデコーディングの処理内容を人手で再設計することなく、様々な構造のパラメータの最適化処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は実施形態の最適化装置の機能構成を例示したブロック図である。
【図２】図２は実施形態の最適化方法を説明するためのシーケンス図である。
【図３】図３は実施形態の最適化方法を説明するためのフロー図である。
【図４】図４は実施形態の定義ファイルの内容を例示した図である。
【図５】図５は実施形態の最適化経過の内容を例示した図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
＜構成＞
図１に例示するように、本実施形態の最適化装置１は、制御部１０１、入力部１０２、定義ファイル記憶部１０３、初期化部１０４、パラメータファイル記憶部１０５、データ記憶部１０６、評価部１０７、最適化経過記憶部１０８、生成部１０９、コーディング部１１０、およびデコーディング部１１１を有する。最適化装置１は、制御部１０１の制御の下で各処理を実行する。
【００１１】
＜事前処理＞
最適化処理の前提として、以下の事前処理が実行される。
パラメータの最適化処理の対象となる信号処理の対象データおよび終了条件が入力部１０２に入力され、データ記憶部１０６に格納される。最適化処理の対象となる信号処理の内容に限定はなく、パラメータによって処理内容が規定されるものであればどのようなものであってもよい。このような信号処理の例は、音声認識処理、音声信号強調処理、ノイズキャンセル処理、信号分離処理、画像認識処理、符号化処理、機械学習処理などである。また終了条件にも限定はない。例えば、最適化処理が所定時間以上実行されたこと、最適化処理が所定回数以上繰り返されたこと、信号処理の評価値の変化が所定値以下となったことなどを終了条件とする。
【００１２】
またパラメータの最適化処理の対象となる信号処理を行う処理機能が評価部１０７に設定される。例えば、当該信号処理を行うアルゴリズムが評価部１０７に実装される。
【００１３】
さらに、上述の信号処理を規定するパラメータである「信号処理用パラメータ」の属性を定義した「定義ファイル」が入力部１０２に入力され、定義ファイル記憶部１０３に格納される。定義ファイルは、信号処理用パラメータの構造を規定する情報であれば、どのようなものであってもよい。例えば、定義ファイルは、以下の情報を含む。
・信号処理用パラメータを構成する要素（パラメータ）である「パラメータ要素」の名前
・パラメータ要素の変数型
・信号処理用パラメータのうち、最適化処理によって値を変更するパラメータ要素とその値の最大値と最小値
・信号処理用パラメータのうち、値が固定されたパラメータ要素とその値
【００１４】
また、定義ファイルが複数の信号処理に対応する場合、各信号処理を識別可能なように、各信号処理用パラメータの構造を規定する属性が定義ファイルに設定される。
【００１５】
定義ファイルのデータ構造に限定はない。例えば、定義ファイルは、パラメータ要素の名前、パラメータ要素の変数型、パラメータ要素の値が変更可能か固定されたものかを表す情報、変更可能なパラメータ要素の値の最大値と最小値、固定されたパラメータ要素の値などを含み、これらはパラメータ要素ごとに対応付けられている。例えば、値の変更が可能なパラメータ要素の場合、パラメータ要素の名前に、当該パラメータ要素の変数型と当該パラメータ要素の値が変更可能であることを示す情報と当該パラメータ要素の値の最大値と最小値とが対応付けられている。例えば、値が固定されたパラメータ要素の場合、パラメータ要素の名前に、当該パラメータ要素の変数型と当該パラメータ要素の値が固定されたものであることを示す情報と当該パラメータ要素の値とが対応付けられている。例えば、定義ファイルは、各情報の項目名とその値とのペアの集合を格納する。一例としては、定義ファイルは、JSON(JavaScript(登録商標） Object Notation)形式で各情報の項目名とその値とのペアの集合を格納する。図４の例では、項目名“name”とパラメータ要素の名前“det_frame_num”とのペア、項目名“type”とパラメータ要素の変数型“int”とのペア、項目“tuning”とパラメータ要素の値が固定されたものであることを示す情報“false”とのペア、および項目“value”とパラメータ要素の値“80”とのペアを格納している。さらに、この例では、項目名“name”とパラメータ要素の名前“det_th_on”とのペア、項目名“type”とパラメータ要素の変数型“int”とのペア、項目“tuning”とパラメータ要素の値が変更可能であることを示す情報“true”とのペア、項目“min”とパラメータ要素の値の最小値“60”とのペア、および項目“max”とパラメータ要素の値の最大値“70”とのペアを格納している。
【００１６】
＜最適化処理＞
次に、図１から図３を参照し、本実施形態の最適化処理について説明する。
まず、最適化装置１（図１）の制御部１０１が、最適化処理の繰り返し回数（世代数）を表すループカウンタ値ｉを１に初期化する（ステップＳ１０１ａ）。
【００１７】
次に、最適化対象の信号処理に対応する定義ファイルが定義ファイル記憶部１０３から読み出され、初期化部１０４に送られる。この定義ファイルは信号処理用パラメータの属性を定義する。初期化部１０４は、送られた定義ファイルに基づき、当該定義ファイルが定義する属性の信号処理用パラメータの初期値を表す「第１世代パラメータファイル」を生成して出力する。例えば、初期化部１０４は、信号処理用パラメータのうち、値が固定されたパラメータ要素の初期値を定義ファイルが示す値とし、値が変更可能なパラメータ要素の初期値をランダムに生成する（すなわち、初期化部１０４は、生成した乱数を、値が変更可能なパラメータ要素の初期値に設定する）。なお「第i世代パラメータファイル」のデータ構造に限定はない。「第i世代パラメータファイル」の一例は、パラメータ要素の名前と当該パラメータ要素の値を、最適化対象の信号処理で扱える形式で記録したファイルである。また初期化部１０４は、生成した信号処理用パラメータの初期値に対応する識別情報（名称）である「第１世代パラメータ名」を生成して出力する。第１世代パラメータファイルおよびその第１世代パラメータ名は互いに対応付けられてパラメータファイル記憶部１０５に格納され、第１世代パラメータ名は最適化経過記憶部１０８にも格納される（ステップＳ１０４）。
【００１８】
評価部１０７には、パラメータファイル記憶部１０５から読み出した第i世代パラメータファイル、ならびにデータ記憶部１０６から読み出した対象データおよび最適化処理の終了条件が入力される。評価部１０７は、第i世代パラメータファイルが表す信号処理用パラメータである「第１信号処理用パラメータ値」を用いた信号処理を対象データに適用し、その信号処理の評価結果を表す評価値を得て出力する。この評価値は、例えば、第１信号処理用パラメータ値によって規定される信号処理の性能を表すものである。例えば、信号処理が音声強調処理の場合、音声品質評価値や音声認識率などが評価値に相当する。得られた評価値は最適化経過記憶部１０８に送られる（ステップＳ１０７ａ）。
【００１９】
最適化経過記憶部１０８は、第i世代パラメータファイルが表す信号処理用パラメータである第１信号処理用パラメータ値に対応する「第i世代パラメータ名」（第１信号処理用パラメータ値に対応する識別情報）と、ステップＳ１０７ａで得られた当該第１信号処理用パラメータ値を用いた信号処理の評価値と、を対応付けて蓄積する。さらに、これらの情報に加え、繰り返し回数（世代数）を表すループカウンタ値ｉに対応する値も対応付けて、最適化経過記憶部１０８に蓄積されてもよい。あるいは、第i世代パラメータ名がループカウンタ値ｉを表す情報を含んでいてもよい。すなわち、最適化経過記憶部１０８は、評価部１０７の処理の繰り返し回数（世代数、すなわちループカウンタ値ｉ）に対応する情報と、評価部１０７の処理で用いられた第１信号処理用パラメータ値に対応する識別情報（第i世代パラメータ名）と、第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値と、を対応付けて蓄積するか、または、評価部１０７の処理で用いられた第１信号処理用パラメータ値に対応し、かつ、評価部１０７の処理の繰り返し回数（世代数、すなわちループカウンタ値ｉ）を表す情報を含む識別情報（第i世代パラメータ名）と、第１信号処理用パラメータ値を用いた信号処理の評価結果を表す評価値と、を対応付けて蓄積してもよい。これにより、ループカウンタ値ｉを最適化処理（例えば、終了条件の判定）に利用することができる。なお、これらの情報の蓄積形式には限定はないが、例えば、CSV形式でこれらの情報を記述することができる。最適化経過記憶部１０８に蓄積される情報を「最適化経過」と呼ぶことにする。図５に、最適化経過記憶部１０８に蓄積された最適化経過を例示する。図５に例示した最適化経過は、世代数（ループカウンタ値ｉ）と第i世代パラメータ名と評価値とを互いに対応付けて蓄積したものである（ステップＳ１０７ｂ）。
【００２０】
生成部１０９は、最適化経過記憶部１０８から最適化経過を読み出し、最適化経過から第i世代パラメータ名を抽出する。生成部１０９は、第i世代パラメータ名をコーディング部１１０に送る（ステップＳ１０９ａ）。
【００２１】
コーディング部１１０には、生成部１０９から送られた第i世代パラメータ名および定義ファイル記憶部１０３から読み出された定義ファイルが入力される。コーディング部１１０は、入力された第i世代パラメータ名に対応付けられている第ｉ世代パラメータファイルをパラメータファイル記憶部１０５から抽出する。次にコーディング部１１０は入力された定義ファイルに基づき、抽出した第１信号処理用パラメータ値をコーディングして、外部パラメータである第ｉ世代パラメータ値（第１外部パラメータ値）を得る。すなわち、コーディング部１１０は、定義ファイルに基づいて第１信号処理用パラメータ値の構造を特定し、予め定められたコーディング方法を用い、その構造の第１信号処理用パラメータ値を第ｉ世代パラメータ値に変換する。外部パラメータは、予め定められたメタヒューリスティクスな方法で最適化が可能なパラメータである。例えば、外部パラメータは、パラメータ要素の名前が取り除かれたパラメータ要素の値のみの集合からなる集合形式のパラメータである。このような外部パラメータは、定義ファイルに基づいて第１信号処理用パラメータ値の構造を特定できるのであれば、予め定められたアルゴリズムによって生成可能である。メタヒューリスティクスな方法には様々な周知技術が存在し、例えば、多スタート局所探索、可変近傍法、タブー探索、遺伝アルゴリズムなどの様々な方法を利用できる。第ｉ世代パラメータ値は生成部１０９に送られる（ステップＳ１１０ａ）。
【００２２】
生成部１０９には、コーディング部１１０から送られた第ｉ世代パラメータ値、および最適化経過記憶部１０８から読み出した最適化経過が入力される。生成部１０９は、当該最適化経過（前述の評価値を含む）と第ｉ世代パラメータ値（第１外部パラメータ値）とを用い、予め定められたメタヒューリスティクスな方法で、新しい第ｉ＋１世代パラメータ値（外部パラメータである第２外部パラメータ値）を生成して出力する。通常、第ｉ＋１世代パラメータ値は第ｉ世代パラメータ値（第１外部パラメータ値）と異なる。生成部１０９は、最適化経過記憶部１０８に蓄積された第１〜第ｉ世代パラメータ名（識別情報）およびそれらに対応する評価値の少なくとも一部に基づいて第２外部パラメータ値を生成する。生成部１０９は、これまでに得られた第１〜第ｉ世代パラメータ名およびそれらに対応する評価値の少なくとも一部を利用することで、最適化された第ｉ＋１世代パラメータ値を効率的に求めることができる（ステップＳ１０９ｂ）。
【００２３】
次に、新しい第ｉ＋１世代パラメータ値に対応する信号処理を評価部１０７で評価するために、第ｉ＋１世代パラメータ値を当該信号処理に利用可能な第ｉ＋１世代パラメータファイルに変換する。まず生成部１０９は、第ｉ＋１世代パラメータ値をデコーディング部１１１に送る。デコーディング部１１１には、生成部１０９から送られた第ｉ＋１世代パラメータ値および定義ファイル記憶部１０３から読み出された定義ファイルが入力される。生成部１０９は、定義ファイルに基づき、第ｉ＋１世代パラメータ値（第２外部パラメータ値）をデコーディングし、当該第ｉ＋１世代パラメータ値を、信号処理用パラメータである第２信号処理用パラメータ値を表す「第i＋１世代パラメータファイル」に変換して出力する。「第i＋１世代パラメータファイル」のデータ構造は前述の「第i世代パラメータファイル」のデータ構造と同一である。また生成部１０９は、生成した第２信号処理用パラメータ値に対応する識別情報（名称）である「第ｉ＋１世代パラメータ名」を生成して出力する。第ｉ＋１世代パラメータファイルおよびその第ｉ＋１世代パラメータ名は互いに対応付けられてパラメータファイル記憶部１０５に格納され、第ｉ＋１世代パラメータ名は最適化経過記憶部１０８にも格納される（ステップＳ１１１）。
【００２４】
次に、評価部１０７は、データ記憶部１０６に格納されている終了条件を満たすか否かを判断する。終了条件は前述の通りであり、例えば、評価部１０７は、最適化処理(例えば、図３に示す処理)が所定時間以上実行されたか、最適化処理が所定回数以上繰り返されたか（例えば、ループカウンタ値ｉが所定数以上か）、信号処理の評価値の変化が所定値以下となったか（例えば、ループカウンタ値ｉ１のステップＳ１０７ａで得られた評価値とその次のループカウンタ値ｉ１＋１のステップＳ１０７ａで得られた評価値と間の差分が所定値以下となったか）などの終了条件を判定する（ステップＳ１０７ｃ）。終了条件を満たす場合には最適化処理を終了する。一方、終了条件を満たさない場合には、制御部１０１がｉ＋１を新たなｉに設定し（ステップＳ１０１ｂ）、処理をステップＳ１０７ａに戻す。これにより、最適化装置１は、デコーディング部１１１で得られた第２信号処理用パラメータ値（第i＋１世代パラメータファイル）を新たな第１信号処理用パラメータ値（第i世代パラメータファイル）に設定して、評価部１０７の処理とコーディング部１１０の処理と生成部１０９の処理とデコーディング部１１１の処理と（すなわち、ステップＳ１０７ａ，Ｓ１０７ｂ，１０９ａ，Ｓ１１０ａ，Ｓ１０９ｂ，Ｓ１０９ｃ，Ｓ１１１，Ｓ１０７ｃ）を再び実行する（繰り返し処理）。
【００２５】
なお、終了条件を満たす前に最適化処理が一旦中断され、最適化処理が再開される場合には、最適化装置１はステップＳ１０７ａ，Ｓ１０７ｂ，１０９ａ，Ｓ１１０ａ，Ｓ１０９ｂ，Ｓ１０９ｃ，Ｓ１１１，Ｓ１０７ｃの何れかから処理を再開すればよい。例えば、最適化装置１は、最適化処理を再開する場合には、ステップＳ１０９ａから処理を再開すればよい。すなわち、最適化装置１は、最適化経過記憶部１０８に蓄積された最適化経過の評価値の全部または一部を用い、評価部１０７の処理とコーディング部１１０の処理と生成部１０９の処理とデコーディング部１１１の処理とを実行する。本実施形態では最適化経過記憶部１０８に最適化経過が記憶されているため、最適化処理が一旦中断された場合であっても、最適化装置１はこの最適化経過を利用して最適化処理を再開できる。すなわち、最適化装置１は、中断前の最適化処理で得られていた「第１信号処理用パラメータ値」に対応する評価値の全部または一部を用いて最適化処理を再開できる。これにより、中断前の最適化処理で得られていた評価値を用いることなく、単に中断前の「第１信号処理用パラメータ値」または「第２信号処理用パラメータ値」を初期値として処理を再開する場合に比べ、効率的に最適化処理を再開できる。
【００２６】
＜実施形態の特徴＞
上述の実施形態では、信号処理用パラメータの属性を定義した定義ファイルを最適化装置１に入力し、初期化部１０４、コーディング部１１０、およびデコーディング部１１１が、この定義ファイルに基づいて、信号処理用パラメータの初期値の設定（ステップＳ１０４）、第１信号処理用パラメータ値から第１外部パラメータ値へのコーディング（ステップＳ１１０ａ）、および第２外部パラメータ値から第２信号処理用パラメータ値へのデコーディング（ステップＳ１０９ｃ）を行った。このような構成により、信号処理用パラメータの構造ごとに初期化部１０４、コーディング部１１０、およびデコーディング部１１１を再設計する必要がなくなる。例えば、信号処理を行うソフトウェアを更改してパラメータ構造が変化した場合でも、初期化部１０４、コーディング部１１０、およびデコーディング部１１１を実装するアルゴリズムを更改する必要がない。すなわち、定義ファイルに定義された属性に従って各処理を実行するように、汎用的に初期化部１０４、コーディング部１１０、およびデコーディング部１１１を設計しておくことができ、定義ファイルを変更するだけで様々なデータ構造の信号処理用パラメータの最適化を行うことができる。
【００２７】
また本実施形態では、最適化経過記憶部１０８に最適化経過を蓄積していくため、最適化処理を中断した場合であっても、それまでに蓄積された最適化経過を利用して、効率よく中断後の最適化処理を再開できる。すなわち、パラメータの調整が進むたびにその最適化経過が記録されるので、終了条件を満たさない状態で最適化処理を中断しても、効率性を損なうことなく、最適化処理を再開できる。信号処理ソフトウェアの実装や実環境への適用の場面ではパラメータの調整が断続的に必要になる場合があり、一旦中断したパラメータの調整を効率的に再開できることは有意義である。また、最適化経過は第ｉ世代パラメータ名（識別情報）や評価値などのテキストファイルで記載可能なサイズの小さな情報であり、最適化経過記憶部１０８の記憶容量を圧迫しない。
【００２８】
［変形例等］
本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態では初期化部１０４が信号処理用パラメータの初期値を設定したが、信号処理用パラメータの初期値が人手で設定されてもよい。
【００２９】
また、上述の実施形態では、第i世代パラメータファイルが表す第１信号処理用パラメータ値に対応する識別情報（第ｉ世代パラメータ名）と当該第１信号処理用パラメータ値を用いた信号処理の評価値とを対応付けた最適化経過を最適化経過記憶部１０８に格納し、生成部１０９がこの最適化経過と第ｉ世代パラメータ値（第１外部パラメータ値）とを用い、新しい第ｉ＋１世代パラメータ値（外部パラメータである第２外部パラメータ値）を生成した。しかし、最適化経過への格納順序や格納位置や最適化経過に格納されたループカウンタ値ｉなどの情報から、評価値に対応する第i世代パラメータ名または第i世代パラメータファイルが表す信号処理用パラメータである第１信号処理用パラメータ値を特定できるのであれば、最適化経過が第ｉ世代パラメータ名（識別情報）を含まなくてもよい。この場合、ステップＳ１０９ａで、生成部１０９が第i世代パラメータ名をコーディング部１１０に送ることに代え、生成部１０９が第i世代パラメータ名または第i世代パラメータファイルが表す信号処理用パラメータである第１信号処理用パラメータ値を特定する特定情報（例えば、最適化経過への格納順序や格納位置を表す情報や最適化経過に格納されたループカウンタ値ｉを表す情報）をコーディング部１１０に送る。この場合、ステップＳ１１０ａでは、コーディング部１１０が、当該特定情報を用いて、パラメータファイル記憶部１０５から当該第ｉ世代パラメータファイルを抽出し、当該第ｉ世代パラメータファイルが表す第１信号処理用パラメータ値をコーディングして、外部パラメータである第ｉ世代パラメータ値（第１外部パラメータ値）を得ればよい。
【００３０】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、ステップＳ１０７ｃがステップＳ１１１の後ではなく、ステップＳ１０７ｂとステップＳ１０９ａとの間で実行され、ステップＳ１０７ｃで終了条件を満たすと判断した場合に最適化処理を終了し、終了条件を満たさないと判断した場合にステップＳ１０９ａに進んでもよい。この場合にはステップＳ１１１の後にステップＳ１０１ｂが実行される。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００３１】
上記の装置は、例えば、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）およびＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。
【００３２】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００３３】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００３４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００３５】
コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【００３６】
１  最適化装置
１０７  評価部
１０９  生成部
１１０  コーディング部
１１１  デコーディング部
１０８  最適化経過記憶部
【図１】
2020076874.tif 000003
【図２】
2020076874.tif 000004
【図３】
2020076874.tif 000005
【図４】
2020076874.tif 000006
【図５】
2020076874.tif 000007