(57)【要約】  音声信号列に基づく標本化等で高域成分等を失って生成された入力信号データについて、歪および雑音を抑えて、失われた成分の復元を行い得る音声信号処理装置を提供する。音声信号処理装置は、複数の入力ユニットを備える入力層と、中間層と、複数の出力ユニットを備える出力層と、を含むニューラルネットワーク回路と、音声信号列に基づいて標本化を経て生成された入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、複数の入力ユニットへ一対一に対応させて一括入力し、単位時間毎の一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力部と、連続する複数の単位時間に亘る一括入力に応じて複数の出力ユニットから複数の単位時間の各々において出力されたデータに基づく演算結果を、単位時間毎に出力する出力部と、を備える。
2018062021.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層と、を含むニューラルネットワーク回路と、
音声信号列に基づいて標本化を経て生成された入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力部と、
連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記単位時間毎に出力する出力部と、を備える、
音声信号処理装置。
【請求項２】
前記入力層の入力ユニットの数と前記出力層の出力ユニットの数とは、いずれもＮ個（Ｎは２以上の整数）であり、
前記入力部は、Ｎ個の単位データを、入力単位データ列として保持可能な第１シフトレジスタ回路を含み、
前記第１シフトレジスタ回路は、前記単位時間毎に前記入力信号データ列からＭ個（Ｍは１以上Ｎ未満の整数）の単位データを前記入力単位データ列に取り込み、前記単位時間毎に前記入力単位データ列について単位データＭ個分のシフトを行い、前記単位時間毎に前記入力単位データ列におけるＮ個の単位データを前記Ｎ個の入力ユニットへ一括入力し、
前記出力部は、
Ｎ個の単位データを、出力単位データ列として保持可能な第２シフトレジスタ回路と、
前記Ｎ個の出力ユニットのそれぞれから出力されたデータに係数を乗じる乗算回路と、
前記乗算回路の乗算結果と前記第２シフトレジスタ回路に保持されている出力単位データ列とを加算し、当該加算結果により当該第２シフトレジスタ回路のＮ個の単位データを更新する加算回路と、を含み、
前記第２シフトレジスタ回路は、前記単位時間毎に前記出力単位データ列からＭ個の単位データを出力し、前記単位時間毎に前記出力単位データ列について単位データＭ個分のシフトを行い、前記単位時間毎に前記出力単位データ列におけるＮ個の単位データを前記加算回路に送出することで取得した前記加算結果を、前記出力単位データ列として保持する、
請求項１記載の音声信号処理装置。
【請求項３】
前記Ｍは１であり、
前記乗算回路が前記Ｎ個の出力ユニットのそれぞれから出力されたデータに乗じる係数はいずれも１／Ｎである、
請求項２に記載の音声信号処理装置。
【請求項４】
前記音声信号処理装置は、さらに、前記ニューラルネットワーク回路に学習を行わせるための制御を行う制御部を備え、
前記制御部は、Ｎ個の単位データを、教師単位データ列として保持可能な第３シフトレジスタ回路を含み、
前記制御部は、前記第３シフトレジスタ回路が、学習用音声信号列に基づき第１標本化周波数で標本化されて第１量子化ビット数で量子化された教師信号データ列から、前記単位時間毎にＭ個の単位データを前記教師単位データ列に取り込み、前記単位時間毎に前記教師単位データ列について単位データＭ個分のシフトを行い、前記単位時間毎に前記教師単位データ列におけるＮ個の単位データを前記Ｎ個の出力ユニットへ与えるように制御し、かつ、前記学習用音声信号列に基づき前記第１標本化周波数より低い第２標本化周波数で標本化されて前記第１量子化ビット数より少ない第２量子化ビット数で量子化されてから、標本化周波数および量子化ビット数について前記教師信号データ列と同一となるように変換されることで得られた学習信号データ列を、前記第１シフトレジスタ回路に前記入力信号データ列として扱わせるように制御することで、前記ニューラルネットワーク回路に学習を行わせる、
請求項２〜３のいずれか一項に記載の音声信号処理装置。
【請求項５】
前記ニューラルネットワーク回路は、自己符号化器を積み重ねた積層自己符号化器である、
請求項４記載の音声信号処理装置。
【請求項６】
前記中間層の各ユニットは非線形処理を行う、
請求項１〜５のいずれか一項に記載の音声信号処理装置。
【請求項７】
複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層と、を含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理方法であって、
前記入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行い、
連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記出力信号データ列の構成要素として前記単位時間毎に出力する、
音声信号処理方法。
【請求項８】
前記音声信号処理方法は、さらに、前記ニューラルネットワーク回路に学習を行わせる際には、
学習用音声信号列に基づき第１標本化周波数で標本化されて第１量子化ビット数で量子化された教師信号データ列における複数の連続する標本単位の各単位データを、前記単位時間毎に前記複数の出力ユニットへ一対一に対応させて一括付与し、前記単位時間毎の前記一括付与を、一の単位時間において一の出力ユニットに付与された単位データが他の単位時間において他の出力ユニットに付与されるように行い、かつ、
前記学習用音声信号列に基づき前記第１標本化周波数より低い第２標本化周波数で標本化されて前記第１量子化ビット数より少ない第２量子化ビット数で量子化されてから、標本化周波数および量子化ビット数について前記教師信号データ列と同一となるように変換されることで得られた学習信号データ列における複数の連続する標本単位の各単位データを、前記単位時間毎に前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う、
請求項７記載の音声信号処理方法。
【請求項９】
前記学習用音声信号列は、周波数スイープした信号または振幅スイープした信号である、
請求項８に記載の音声信号処理方法。
【請求項１０】
複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層と、を含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理をコンピュータに行わせるための制御プログラムであって、
前記音声信号処理は、
前記入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力処理と、
連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記出力信号データ列の構成要素として前記単位時間毎に出力する出力処理と、を含む、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声信号に基づき、標本化等を経て生成された音声信号データに対して音声信号処理を施す音声信号処理装置、音声信号処理方法、および制御プログラムに関する。
【背景技術】
【０００２】
特許文献１は、アナログデータの伝送時に除去された高域成分を、受信側においてニューラルネットワークにより復元するアナログデータ伝送方式を開示する。このアナログデータ伝送方式は、予めデータ特性に合わせて学習されたニューラルネットワークと、受信側で受信した狭帯域信号にニューラルネットワークにより復元した高域信号を合成する合成器と、を備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−２５４２２３号公報
【発明の概要】
【０００４】
本開示は、音声信号の標本化により高域成分を失い、量子化により微小振幅成分を失って生成された音声信号データについて、歪および雑音を抑えて、失われた成分の復元を行い得る音声信号処理装置を提供する。
【０００５】
また、本開示は、その音声信号データについて歪および雑音を抑えて復元を行うための音声信号処理方法、および、音声信号処理装置で用いられる制御プログラムを提供する。
【０００６】
本開示における音声信号処理装置は、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路と、音声信号列に基づいて標本化を経て生成された入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力部と、連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記単位時間毎に出力する出力部と、を備える。
【０００７】
また、本開示における音声信号処理方法は、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理方法であって、前記入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行い、連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記出力信号データ列の構成要素として前記単位時間毎に出力する。
【０００８】
また、本開示における制御プログラムは、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理をコンピュータに行わせるための制御プログラムであって、前記音声信号処理は、前記入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、前記複数の入力ユニットへ一対一に対応させて一括入力し、前記単位時間毎の前記一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力処理と、連続する複数の単位時間に亘る前記一括入力に応じて前記複数の出力ユニットから前記複数の単位時間の各々において出力されたデータに基づく演算結果を、前記出力信号データ列の構成要素として前記単位時間毎に出力する出力処理と、を含む。
【０００９】
本開示における音声信号処理装置等によれば、音声信号データにおける標本化等で失われた成分を復元することができる。また、歪、雑音を抑えてその復元を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１における音声信号処理装置の構成の一例を模式的に示すブロック図である。
【図２】図２は、実施の形態１における音声信号処理装置で実行される学習制御処理の一例を示すフローチャートである。
【図３】図３は、実施の形態１における音声信号処理装置で実行される復元処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
音声信号の標本化により高域成分を失い、量子化により微小振幅成分を失って生成された音声信号データについて、歪および雑音を抑えて、失われた成分を復元することを目的とする。
【００１２】
本開示における音声信号処理装置は、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路と、音声信号列に基づいて標本化を経て生成された入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の入力ユニットへ一対一に対応させて一括入力し、単位時間毎の当該一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力部と、連続する複数の単位時間に亘る当該一括入力に応じて当該複数の出力ユニットから当該複数の単位時間の各々において出力されたデータに基づく演算結果を、単位時間毎に出力する出力部と、を備える。
【００１３】
これにより、その音声信号処理装置では、ニューラルネットワーク回路の入力層に複数の単位時間に亘り複数回入力された１つの単位データを反映したデータが、出力層から複数の単位時間に亘って出力され、その複数の単位時間に亘る各データを用いた演算がなされる。したがって、その音声信号処理装置により、歪および雑音成分の影響を抑制した出力が得られる可能性がある。このため、その音声信号処理装置では、ニューラルネットワーク回路が学習済の状態である場合において、音声信号の標本化により高域成分を失い、量子化により微小振幅成分を失って生成された音声信号データを入力信号データ列として与えたときに、失われた成分を復元したデータを、歪および雑音を抑えて得ることが可能となり得る。
【００１４】
例えば、入力層の入力ユニットの数と出力層の出力ユニットの数とは、いずれもＮ個（Ｎは２以上の整数）であってもよい。入力部は、Ｎ個の単位データを、入力単位データ列として保持可能な第１シフトレジスタ回路を含んでもよい。第１シフトレジスタ回路は、単位時間毎に入力信号データ列からＭ個（Ｍは１以上Ｎ未満の整数）の単位データを入力単位データ列に取り込み、単位時間毎に入力単位データ列について単位データＭ個分のシフトを行い、単位時間毎に入力単位データ列におけるＮ個の単位データをＮ個の入力ユニットへ一括入力してもよい。出力部は、Ｎ個の単位データを、出力単位データ列として保持可能な第２シフトレジスタ回路と、Ｎ個の出力ユニットのそれぞれから出力されたデータに係数を乗じる乗算回路と、乗算回路の乗算結果と第２シフトレジスタ回路に保持されている出力単位データ列とを加算し、その加算結果により第２シフトレジスタ回路のＮ個の単位データを更新する加算回路と、を含んでもよい。第２シフトレジスタ回路は、単位時間毎に出力単位データ列からＭ個の単位データを出力し、単位時間毎に出力単位データ列について単位データＭ個分のシフトを行い、単位時間毎に出力単位データ列におけるＮ個の単位データを加算回路に送出することで取得した加算結果を、出力単位データ列として保持してもよい。また、例えば、Ｍは１であってもよく、乗算回路がＮ個の出力ユニットのそれぞれから出力されたデータに乗じる係数はいずれも１／Ｎであってもよい。
【００１５】
これらにより、その音声信号処理装置では、第１シフトレジスタ回路でデータのシフトを行うことで、容易に、ニューラルネットワーク回路の入力層に同じ単位データを逐次入力すること等を実現できる。また、その音声信号処理装置では、第１シフトレジスタ回路と同期してデータをシフトする第２シフトレジスタ回路と、乗算回路と、加算回路とにより、ニューラルネットワーク回路が複数の単位時間に亘り出力するデータを用いた累積乗算が行われるので、歪および雑音を抑えた出力信号データ列を得ることが可能となり得る。
【００１６】
例えば、音声信号処理装置は、さらに、ニューラルネットワーク回路に学習を行わせるための制御を行う制御部を備えてもよい。制御部は、Ｎ個の単位データを教師単位データ列として保持可能な第３シフトレジスタ回路を含んでもよい。制御部は、第３シフトレジスタ回路が、学習用音声信号列に基づき第１標本化周波数で標本化されて第１量子化ビット数で量子化された教師信号データ列から、単位時間毎にＭ個の単位データを教師単位データ列に取り込み、単位時間毎に教師単位データ列について単位データＭ個分のシフトを行い、単位時間毎に教師単位データ列におけるＮ個の単位データをＮ個の出力ユニットへ与えるように、第３シフトレジスタ回路を制御してもよい。制御部は、学習用音声信号列に基づき第１標本化周波数より低い第２標本化周波数で標本化され、第１量子化ビット数より少ない第２量子化ビット数で量子化されてから、標本化周波数および量子化ビット数について教師信号データ列と同一となるように変換されることで得られた学習信号データ列を、第１シフトレジスタ回路に入力信号データ列として扱わせるように制御してもよい。こうすることで、制御部は、ニューラルネットワーク回路に学習を行わせてもよい。
【００１７】
これにより、その音声信号処理装置では、学習用音声信号列に基づく学習信号データ列および教師信号データ列を音声信号処理装置のニューラルネットワーク回路に与えて、そのニューラルネットワーク回路を学習させることができる。
【００１８】
例えば、ニューラルネットワーク回路は、自己符号化器を積み重ねた積層自己符号化器であってもよい。
【００１９】
これにより、その音声信号処理装置は、ニューラルネットワーク回路の中間層を複数設けて、音声信号の標本化等で失われた高域成分および微小振幅成分の復元を、より適切に行うことが可能となり得る。
【００２０】
例えば、中間層の各ユニットは、非線形処理を行ってもよい。
【００２１】
これにより、その音声信号処理装置は、ニューラルネットワーク回路で、音声信号の、標本化等で失われた高域成分および微小振幅成分の復元を適切に行うことができ得る。また、出力部において、その非線形処理により生じる可能性がある歪を、抑制することができ得る。
【００２２】
本開示における音声信号処理方法は、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理方法であって、入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の入力ユニットへ一対一に対応させて一括入力し、単位時間毎の当該一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行い、連続する複数の単位時間に亘る当該一括入力に応じて当該複数の出力ユニットから当該複数の単位時間の各々において出力されたデータに基づく演算結果を、出力信号データ列の構成要素として単位時間毎に出力する。
【００２３】
これにより、この音声信号処理方法が実行される音声信号処理装置では、ニューラルネットワーク回路の入力層に複数の単位時間に亘り複数回入力された１つの単位データを反映したデータが、出力層から複数の単位時間に亘って出力され、その複数の単位時間に亘る各データを用いた演算がなされる。したがって、その音声信号処理装置により、歪および雑音成分の影響を抑制した出力が得られる可能性がある。このため、その音声信号処理装置では、ニューラルネットワーク回路が学習済の状態である場合において、音声信号の標本化により高域成分を失い、量子化により微小振幅成分を失って生成された音声信号データを入力信号データ列として与えたときに、失われた成分を復元したデータを、歪および雑音を抑えて得ることが可能となり得る。
【００２４】
例えば、音声信号処理方法では、さらに、ニューラルネットワーク回路に学習を行わせる際に、学習用音声信号列に基づき第１標本化周波数で標本化されて第１量子化ビット数で量子化された教師信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の出力ユニットへ一対一に対応させて一括付与してもよい。単位時間毎の当該一括付与を、一の単位時間において一の出力ユニットに付与された単位データが他の単位時間において他の出力ユニットに付与されるように行ってもよい。学習用音声信号列に基づき第１標本化周波数より低い第２標本化周波数で標本化され、第１量子化ビット数より少ない第２量子化ビット数で量子化されてから、標本化周波数および量子化ビット数について教師信号データ列と同一となるように変換されることで得られた学習信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の入力ユニットへ一対一に対応させて一括入力してもよい。単位時間毎の当該一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行ってもよい。
【００２５】
これにより、学習用音声信号列に基づく学習信号データ列および教師信号データ列をニューラルネットワーク回路に与えて、そのニューラルネットワーク回路を、標本化により高域成分を失い、量子化により微小振幅成分を失って生成された入力信号データ列の入力に対して、その失われた成分を復元した出力信号データ列を出力できるように、学習させることができる。
【００２６】
例えば、学習用音声信号列は、周波数スイープした信号または振幅スイープした信号であってもよい。
【００２７】
これにより、ニューラルネットワーク回路が、各種の音声信号列に基づく入力信号データ列に対して、標本化等で失われた成分を適切に復元できるようになり得る。
【００２８】
また、本開示における制御プログラムは、複数の入力ユニットを備えて構成される入力層と、中間層と、複数の出力ユニットを備えて構成される出力層とを含むニューラルネットワーク回路を用いて、音声信号列に基づいて標本化を経て生成された入力信号データ列に応じた出力信号データ列を出力する音声信号処理をコンピュータに行わせるための制御プログラムであって、音声信号処理は、入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の入力ユニットへ一対一に対応させて一括入力し、単位時間毎の当該一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う入力処理と、連続する複数の単位時間に亘る当該一括入力に応じて当該複数の出力ユニットから当該複数の単位時間の各々において出力されたデータに基づく演算結果を、出力信号データ列の構成要素として単位時間毎に出力する出力処理と、を含む。
【００２９】
この制御プログラムがインストールされて実行される音声信号処理装置は、入力信号データ列において標本化等で失われた成分を、歪および雑音を抑えて復元した出力信号データ列を、入力信号データ列に応じて出力することが可能性となり得る。
【００３０】
なお、これらの包括的または具体的な各種態様は、装置、システム、方法、集積回路、コンピュータプログラム、またはコンピュータで読み取り可能な記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム、および記録媒体のうちの複数の組合せで実現されてもよい。
【００３１】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、すでによく知られた事項の詳細説明、および実質的に同一の構成に対する重複説明等を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００３２】
なお、添付図面および以下で説明する実施の形態は、当業者が本開示を十分に理解するために提供されるのであって、いずれも本開示の一例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ（工程）、ステップの順序、等は、一例であり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素は、独立請求項に示された構成要素に任意に付加可能な構成要素である。
【００３３】
また、各図は、必ずしも厳密に図示されたものではなく、本開示をわかりやすく示すために適宜省略等を行った模式図である。また、各図において、実質的に同じ構成要素については同じ符号を付し、説明を省略または簡略化する場合がある。
【００３４】
（実施の形態１）
実施の形態１では、音声信号列の標本化により高域成分を失い、量子化により微小振幅成分を失って生成された音声信号データ列について、歪および雑音を抑えて失われた成分を復元するための音声信号処理方法を実行する音声信号処理装置１００について説明する。
【００３５】
以下、図面を用いて、実施の形態１を説明する。
【００３６】
［１−１．構成］
図１は、実施の形態１における音声信号処理装置１００の構成の一例を模式的に示すブロック図である。
【００３７】
音声信号処理装置１００は、図１に示すように、ニューラルネットワーク回路１１０、入力部１２０、出力部１３０、制御部１４０、および変換部１５０を備える。
【００３８】
音声信号処理装置１００は、入力される音声信号データ列（入力信号データ列）に基づいて高域成分および微小振幅成分を復元する音声信号処理を、ニューラルネットワーク回路１１０を用いて入力信号データ列に施して得られた出力信号データ列を出力する装置である。
【００３９】
ニューラルネットワーク回路１１０は、教師信号データ列を用いて学習する。出力信号データ列および教師信号データ列は、アナログ音声信号列を、比較的高い第１標本化周波数（例えば、８８．２ｋＨｚ）で標本化し、比較的多い第１量子化ビット数（例えば、２４ビット）で量子化することで生成されたデジタル音声信号データと同様の構成（形式）を有するデータ列である。
【００４０】
入力部１２０に入力される入力信号データ列は、変換部１５０から出力されるデータ列である。変換部１５０に入力される入力信号データ列は、アナログ音声信号列を、第１標本化周波数より低い第２標本化周波数（例えば、４４．１ｋＨｚ）で標本化し、かつ第１量子化ビット数より少ない第２量子化ビット数（例えば、１６ビット）で量子化することで生成されたデジタル音声信号データである。そのデジタル音声信号データを、変換部１５０において、標本化周波数および量子化ビット数が上述の出力信号データ列および教師信号データ列と同一となるように、変換する。こうすることで得られたデータ列が、入力部１２０に入力される入力信号データ列である。なお、変換部１５０において行われるこの変換は、出力信号データ列および教師信号データ列と相違する入力信号データ列の標本化周波数を、出力信号データ列および教師信号データ列と揃えるための換算と、出力信号データ列および教師信号データ列と相違する入力信号データ列の量子化ビット数を、出力信号データ列および教師信号データ列と揃えるための換算と、による形式的な変換（ビット数の拡張）に過ぎない。すなわち、変換部１５０において行われる変換では、信号成分は実質的には変化しない（つまり、この変換で、入力信号データ列に高域成分および微小振幅成分は補われない）。
【００４１】
なお、変換部１５０に入力される入力信号データ列は、例えば音楽ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）に記録されている音声信号データ列と同品質の音声信号データ列（標本化周波数４４．１ｋＨｚで標本化され、量子化ビット数１６ビットで量子化されたデータ列）である。この入力信号データ列に、変換部１５０において上述の変換が施されて、入力部１２０に入力される入力信号データ列が生成される。
【００４２】
なお、アナログ音声信号列は時間軸に沿った時系列な信号であり、アナログ音声信号列の逐次標本化等は、その時間軸に沿ってなされる。変換部１５０に入力される入力信号データ列は、その生成の基礎となったアナログ音声信号列と同様に時系列なデータ列である。
【００４３】
音声信号処理装置１００は、シフトレジスタ回路、ニューラルネットワーク回路等の電子回路（半導体集積回路、等）を含んで構成される装置である。この電子回路は、メモリ、プロセッサ（マイクロプロセッサ）等を含んで構成されてもよい。
【００４４】
メモリは、プログラムおよびデータを予め保持しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、プログラムの実行に際してデータ等の記憶に利用するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、等である。メモリは、例えば不揮発性メモリを含んでいてもよい。メモリには、音声信号処理方法に係る音声信号処理を実現するための制御プログラム、およびその制御プログラムで利用するための設定値、等が予め記憶されていてもよい。
【００４５】
プロセッサは、制御プログラムを実行することにより、音声信号処理装置１００の各部を制御して音声信号処理等を行う。音声信号処理には、ニューラルネットワーク回路１１０を用いて、入力信号データ列に基づく高域成分等の復元を行うための復元処理、および、その復元を適切に行えるようにニューラルネットワーク回路１１０に学習を行わせる学習制御処理、がある。
【００４６】
メモリは、制御プログラムがプロセッサで実行される際に用いられる各数値を、一時的に記憶するために用いられてもよい。
【００４７】
なお、ニューラルネットワーク回路１１０は、プログラムを実行するプロセッサおよびメモリにより実現されるものであってもよい。
【００４８】
次に、図１に示す音声信号処理装置１００の音声信号処理に係る構成要素としての、ニューラルネットワーク回路１１０、入力部１２０、出力部１３０、および制御部１４０、について説明する。
【００４９】
［１−１−１．ニューラルネットワーク回路］
ニューラルネットワーク回路１１０は、入力層１１１と、２つの中間層１１２ａおよび中間層１１２ｂと、出力層１１３と、を有する。
【００５０】
入力層１１１は、Ｎ個（例えば２５６個、１０２４個、等）のユニット（入力ユニット１１１ａ）を含んで構成される。出力層１１３も同様にＮ個（例えば２５６個、１０２４個、等）のユニット（出力ユニット１１３ａ）を含んで構成される。本実施の形態では、ニューラルネットワーク回路１１０が、中間層１１２ａおよび中間層１１２ｂの２層を有する構成例を示すが、本開示は何らこの構成例に限定されない。ニューラルネットワーク回路１１０が備える中間層は、例えば１層であってもよく、３層以上であってもよい。
【００５１】
中間層１１２ａ、中間層１１２ｂは、それぞれ任意の数のユニットを含んで構成される。図１では、入力層１１１の各入力ユニット１１１ａ、出力層１１３の各出力ユニット１１３ａ、中間層１１２ａの各ユニット１１２ａａ、および、中間層１１２ｂの各ユニット１１２ｂａを円で表している。また、図１では、便宜的に、ユニットの数を省略して示している。
【００５２】
入力層１１１のＮ個の入力ユニット１１１ａのそれぞれには、ｎビット（例えば、２４ビット）のデータを、−１≦（入力信号データ）＜＋１の範囲に正規化してｋビット（例えば、３２ビット）に変換したデータが入力される。そして、入力層１１１の各入力ユニット１１１ａは、ｋビットのデータを、中間層１１２ａの各ユニット１１２ａａを出力先として、出力する。これは、活性化関数演算に使う非線形関数が、例えばｔａｎｈ（双曲線正接関数）の場合に、データをｔａｎｈの出力値の範囲に一致させるためである。例えば、このｎビットのデータは固定小数点データであり、このｋビットのデータは浮動小数点データである。この場合において、データの正規化は、例えば、小数点の位置を変えることで実現可能である。また、ｋ＞ｎとすることで、演算途中での桁落ちを防ぐことができる。
【００５３】
なお、ｎビットのデータをｋビットに変換する処理は、例えば、入力部１２０において行われてもよい。
【００５４】
中間層１１２ａの各ユニット１１２ａａは、入力層１１１のＮ個の入力ユニット１１１ａのそれぞれからｋビットのデータを入力される。中間層１１２ａの各ユニット１１２ａａは、入力データのそれぞれに重みを乗じ、重みを乗じた入力データの総和に基づく活性化関数による演算結果としてｋビットのデータを算出する。そして、中間層１１２ａの各ユニット１１２ａａは、そのｋビットのデータを、中間層１１２ｂの各ユニット１１２ｂａを出力先として出力する。この重み（つまり層間でのユニット間を結合する重み）は、学習により変化し得る。また、この重みは、入力層１１１の入力ユニット１１１ａから中間層１１２ａのユニット１１２ａａまでの間で、ｋビットのデータに乗じられてもよい。あるいは、この重みが乗じられたｋビットのデータが入力層１１１の入力ユニット１１１ａから出力されてもよい。また、この活性化関数は非線形関数であり、例えば、ｔａｎｈ（双曲線正接関数）、等である。このため、中間層１１２ａの各ユニット１１２ａａは、活性化関数の演算として非線形処理を行うことができる。
【００５５】
中間層１１２ｂの各ユニット１１２ｂａは、中間層１１２ａのユニット１１２ａａのそれぞれからｋビットのデータを入力される。中間層１１２ｂの各ユニット１１２ｂａは、入力データのそれぞれに重みを乗じ、重みを乗じた入力データの総和に基づく活性化関数による演算結果としてｋビットのデータを算出する。そして、中間層１１２ｂの各ユニット１１２ｂａは、そのｋビットのデータを、出力層１１３の各出力ユニット１１３ａを出力先として出力する。この重みは、学習により変化し得る。また、この重みは、中間層１１２ａのユニット１１２ａａから中間層１１２ｂのユニット１１２ｂａまでの間で、ｋビットのデータに乗じられてもよい。あるいは、この重みが乗じられたｋビットのデータが中間層１１２ａのユニット１１２ａａから出力されてもよい。また、この活性化関数は、例えば中間層１１２ａの各ユニット１１２ａａが用いる活性化関数と同様に非線形関数であり、例えば、ｔａｎｈ（双曲線正接関数）、等である。このため、中間層１１２ｂの各ユニット１１２ｂａは、活性化関数の演算として非線形処理を行うことができる。
【００５６】
出力層１１３のＮ個の各出力ユニット１１３ａは、中間層１１２ｂのユニット１１２ｂａのそれぞれからｋビットのデータを入力される。出力層１１３の各出力ユニット１１３ａは、入力データのそれぞれに重みを乗じ、重みを乗じた入力データの総和による演算結果としてｋビットのデータを算出する。そして、出力層１１３のＮ個の各出力ユニット１１３ａは、その算出したｋビットのデータを、入力部１２０に入力される入力信号データ列と同じｎビットに変換し、そのｎビットのデータを出力する。この重みは、学習により変化し得る。また、この重みは、中間層１１２ｂのユニット１１２ｂａから出力層１１３の出力ユニット１１３ａまでの間で、ｋビットのデータに乗じられてもよい。あるいは、この重みが乗じられたｋビットのデータが中間層１１２ｂのユニット１１２ｂａから出力されてもよい。
【００５７】
ニューラルネットワーク回路１１０は、自己符号化器を積み重ねた積層自己符号化器である。ニューラルネットワーク回路１１０の学習には、入力層１１１に近い中間層１１２ａによる自己符号化器で教師なし学習を行い、順次、後段の中間層で同様の学習をすることで良い重みを積み上げる、事前学習の方法が用いられる。また、ニューラルネットワーク回路１１０では、教師あり学習において誤差逆伝播法（バックプロパゲーション）が用いられる。各層のユニット間を結合する重みの初期値をランダムに設定するのではなく、積層自己符号化器により重みを事前学習することで、誤差逆伝播法で誤差が伝播されずに重みが更新されなくなる勾配消失問題を解決し得る。
【００５８】
［１−１−２．入力部］
入力部１２０は、入力信号データ列の構成要素となる標本単位の各単位データを、逐次取得して保持し、ニューラルネットワーク回路１１０の入力層１１１の各入力ユニット１１１ａへ入力する機能を有する。標本単位は第１標本化周波数（例えば、８８．２ｋＨｚ）での標本化の単位量であり、単位データはｎビットのデータ（第１量子化ビット数のデータ、例えば、２４ビットのデータ）である。
【００５９】
入力部１２０は、シフトレジスタ回路１２１を用いて、入力信号データ列における複数（Ｎ個）の連続する各単位データを、単位時間Ｔ毎に、入力層１１１の複数（Ｎ個）の入力ユニット１１１ａへ一対一に対応させて一括入力する。そして、入力部１２０は、単位時間Ｔ毎のその一括入力を、一の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ））において一の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ））に入力された単位データが、他の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ）の直後の単位時間Ｔ（Ｘ＋１））において他の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ）の直後の入力ユニット１１１ａ（ｘ＋１））に入力されるように、行う。このとき、入力部１２０は、シフトレジスタ回路１２１に新たに取り込まれた単位データを、先頭の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（１））に入力する。なお、上述の動作例はＭ＝１の場合の例であり、Ｘは任意の整数であり、ｘは１≦ｘ≦（Ｎ−１）を満たす整数である。
【００６０】
単位時間Ｔは、音声信号処理装置１００における各部の処理を同期させるために、クロックジェネレータまたはカウンタ（図示せず）等により計時される一定時間であり、単位時間Ｔの時間長は任意に定めることができる。例えば、単位時間Ｔは、クロックジェネレータで生成されるクロック信号の１周期の期間である。ただし、この単位時間Ｔは、音声信号処理装置１００における各部の処理を同期させるためのものであり、同期が確保される限りにおいて、単位時間Ｔの経過の都度、その単位時間Ｔの時間長が変化することは許容される。
【００６１】
入力部１２０は、具体的には、Ｎ個の単位データを、入力単位データ列として保持可能なシフトレジスタ回路１２１（第１シフトレジスタ回路）を含む。シフトレジスタ回路１２１は、単位時間Ｔ毎に、入力信号データ列からＭ個（Ｍは１以上Ｎ未満の整数）の単位データを入力単位データ列として取り込み、単位時間Ｔ毎に、入力単位データ列について単位データＭ個分のシフトを行う。そして、シフトレジスタ回路１２１は、単位時間Ｔ毎に、入力単位データ列におけるＮ個の単位データを、入力層１１１のＮ個の入力ユニット１１１ａへ一括入力する。Ｍは、例えば１である。入力単位データ列は、時系列な音声信号に基づく入力信号データ列に対応した時系列なデータである。
【００６２】
［１−１−３．出力部］
出力部１３０は、入力信号データ列に応じてニューラルネットワーク回路１１０から出力されるデータに、歪および雑音を低減化させるための演算を施し、この演算結果の時系列データとして構成される出力信号データ列を出力する機能を有する。すなわち、出力部１３０は、連続する複数の単位時間Ｔに亘る入力部１２０による入力ユニット１１１ａへの一括入力に応じて複数（Ｎ個）の出力ユニット１１３ａからその複数の単位時間Ｔの各々において出力されたデータに基づく演算結果を、単位時間Ｔ毎に出力する。
【００６３】
出力部１３０は、具体的には、乗算回路１３１と、加算回路１３２と、Ｎ個の単位データ（ｎビットのデータ）を、出力単位データ列として保持可能なシフトレジスタ回路１３３（第２シフトレジスタ回路）と、を含む。
【００６４】
乗算回路１３１は、出力層１１３のＮ個の出力ユニット１１３ａのそれぞれから出力されたデータに係数を乗じる。複数の単位時間Ｔの各々においてデータに乗じられる各係数の総和は１である。例えばＭが１の場合に、乗算回路１３１がＮ個の出力ユニット１１３ａのそれぞれから出力されたｎビットのデータに乗じる係数は、例えば、いずれも１／Ｎである。
【００６５】
加算回路１３２は、単位時間Ｔ毎に、乗算回路１３１から出力されるｎビットの各データの乗算結果と、シフトレジスタ回路１３３に保持されている出力単位データ列（Ｎ個の単位データ）の各単位データとを、ｎビットのデータ毎に加算する。そして、加算回路１３２は、その加算結果により、シフトレジスタ回路１３３のＮ個の単位データ（ｎビットのデータ）を更新する。
【００６６】
シフトレジスタ回路１３３は、単位時間Ｔ毎に、Ｍ個の初期値ゼロの単位データを取り込む。そして、シフトレジスタ回路１３３は、単位時間Ｔ毎に、出力単位データ列からＭ個の単位データを出力し、単位時間Ｔ毎に、出力単位データ列について単位データＭ個分のシフトを行う。そして、シフトレジスタ回路１３３は、単位時間Ｔ毎に出力単位データ列におけるＮ個の単位データを加算回路１３２に送出することで取得した加算結果を、出力単位データ列として保持する。出力単位データ列は、シフトレジスタ回路１２１における時系列な入力単位データ列に対応して、時系列の出力信号データ列を形成するための、時系列なデータ列である。シフトレジスタ回路１３３から単位時間Ｔ毎に出力されるＭ個の単位データの列が、入力信号データ列に対応した、失われた高域成分および微小振幅成分が復元された出力信号データ列となる。
【００６７】
［１−１−４．制御部］
制御部１４０は、ニューラルネットワーク回路１１０に学習を行わせるための制御（学習制御処理等）を行う機能を有する。制御部１４０は、ニューラルネットワーク回路１１０に学習を行わせた後に、ニューラルネットワーク回路１１０に、学習後の状態で演算させることで、復元処理を開始させる。
【００６８】
具体的には、制御部１４０は、ニューラルネットワーク回路１１０に、自己符号化器で教師なし学習を行わせる。また、ニューラルネットワーク回路１１０に教師あり学習を行わせるために、制御部１４０は、Ｎ個の単位データを、教師単位データ列として保持可能なシフトレジスタ回路１４１（第３シフトレジスタ回路）を含む。そして、制御部１４０は、次のようにシフトレジスタ回路１４１を制御する。すなわち、シフトレジスタ回路１４１は、学習用音声信号列に基づき第１標本化周波数（例えば、８８．２ｋＨｚ）で標本化されて第１量子化ビット数（例えば、２４ビット）で量子化された教師信号データ列から、単位時間Ｔ毎に、Ｍ個の単位データを教師単位データ列に取り込み、単位時間Ｔ毎に、教師単位データ列について単位データＭ個分のシフトを行い、単位時間Ｔ毎に、教師単位データ列におけるＮ個の単位データを出力層１１３のＮ個の出力ユニット１１３ａへ与える。制御部１４０は、このようにシフトレジスタ回路１４１を制御する。なお、学習用音声信号列は、ニューラルネットワーク回路１１０の学習に用いられるアナログ音声信号列である。
【００６９】
学習用音声信号列は、例えば、周波数スイープした信号または振幅スイープした信号で構成されてもよく、周波数スイープしかつ振幅スイープした信号で構成されてもよい。周波数スイープした信号は、時間経過に応じて周波数を変更して、可聴域の周波数範囲を離散的または網羅的に包含した音声信号であり、少なくとも３つの異なる周波数を含む音声信号である。また、振幅スイープした信号は、時間経過に応じて振幅を変更して、信号波形としてとり得る各種振幅を離散的または網羅的に包含した音声信号であり、少なくとも３つの異なる振幅を含む音声信号である。なお、学習用音声信号列は、周波数スイープした信号でなくてもよく、振幅スイープした信号でなくてもよい。学習用音声信号列は、例えば音楽の音声信号列であってもよい。
【００７０】
さらに、制御部１４０は、次のように変換部１５０および入力部１２０を制御する。すなわち、学習用音声信号列に基づき第２標本化周波数（例えば、４４．１ｋＨｚ）で標本化されて第２量子化ビット数（例えば、１６ビット）で量子化されたデータ列が、標本化周波数および量子化ビット数について教師信号データ列と同一となるように変換部１５０で変換されることで得られた学習信号データ列を、シフトレジスタ回路１２１に入力信号データ列として扱わせる。制御部１４０は、このように、変換部１５０および入力部１２０を制御する。
【００７１】
これにより、ニューラルネットワーク回路１１０の入力層１１１に、学習用音声信号列に基づく学習信号データ列が与えられ、出力層１１３に、学習用音声信号列に基づく教師信号データ列が与えられる。このようにして、制御部１４０は、ニューラルネットワーク回路１１０に、誤差逆伝播法を用いた教師あり学習を行わせる。
【００７２】
［１−２．動作］
以下、上述の構成を備える音声信号処理装置１００の動作について説明する。
【００７３】
音声信号処理装置１００は、音声信号処理方法のための音声信号処理として学習制御処理および復元処理を行う。
【００７４】
［１−２−１．学習制御処理］
学習制御処理では、同じ学習用音声信号列を基礎として生成された教師信号データ列と学習信号データ列とが用いられる。教師信号データ列は、学習用音声信号列が、相対的に高い標本化周波数（例えば、８８．２ｋＨｚ）で標本化され、かつ相対的に多い量子化ビット数（例えば、２４ビット）で量子化されることで生成されたデータ列であり、相対的に高い周波数成分（高域成分）および相対的に小さい振幅成分（微小振幅成分）を含む。それに対して、学習信号データ列は、学習用音声信号列が、相対的に低い標本化周波数（例えば、４４．１ｋＨｚ）で標本化され、かつ相対的に少ない量子化ビット数（例えば、１６ビット）で量子化されることで生成されたデータ列であり、その生成過程で、教師信号データ列が有する高域成分および微小振幅成分を失っている。学習用音声信号列は時間軸に沿った時系列な信号である。学習信号データ列および教師信号データ列は、それらの生成の基礎となった学習用音声信号列と同様に、時系列なデータ列である。
【００７５】
図２は、実施の形態１における音声信号処理装置１００で実行される学習制御処理の一例を示すフローチャートである。以下、本実施の形態における学習制御処理について、図２に即して説明する。
【００７６】
音声信号処理装置１００の制御部１４０の制御により、入力部１２０は、学習信号データ列の１標本単位の単位データ（ｎビットのデータ）を、変換部１５０を通して取得する。そして、入力部１２０は、取得した単位データを、シフトレジスタ回路１２１の入力単位データ列に加えて保持する（ステップＳ１１）。
【００７７】
入力部１２０は、シフトレジスタ回路１２１で保持している入力単位データ列のＮ個分の単位データを、ニューラルネットワーク回路１１０の入力層１１１のＮ個の入力ユニット１１１ａに一対一に対応させて入力する（ステップＳ１２）。これにより、入力部１２０が取得した学習信号データ列における最後に取得した分からＮ個の単位データ（取得した順番の逆順にＮ個の単位データ）の１つずつが、入力層１１１のＮ個の入力ユニット１１１ａの１つずつに、一斉に入力される。
【００７８】
制御部１４０は、教師信号データ列の１標本単位の単位データ（ｎビットのデータ）を取得し、取得した単位データをシフトレジスタ回路１４１の教師単位データ列に加えて保持する（ステップＳ１３）。
【００７９】
制御部１４０は、入力部１２０と同期して各シフトレジスタ回路への入力を行う。すなわち、制御部１４０が、ステップＳ１３で取得してシフトレジスタ回路１４１に入力する教師信号データ列の単位データは、入力部１２０がステップＳ１１で取得してシフトレジスタ回路１２１に入力した学習信号データ列の単位データの基となった学習用音声信号列と同じ学習用音声信号列を基にして生成されたものである。
【００８０】
制御部１４０は、シフトレジスタ回路１４１で保持している教師単位データ列のＮ個分の単位データを、ニューラルネットワーク回路１１０の出力層１１３のＮ個の出力ユニット１１３ａに一対一に対応させて付与（入力）する（ステップＳ１４）。これにより、制御部１４０が取得した教師信号データ列における最後に取得した分からＮ個の単位データ（取得した順番の逆順にＮ個の単位データ）の１つずつが、出力層１１３のＮ個の出力ユニット１１３ａの１つずつに、一斉に与えられる。
【００８１】
制御部１４０は、ニューラルネットワーク回路１１０に、入力層１１１に与えたデータと出力層１１３に与えたデータとに基づいて、誤差逆伝播法等による学習を行わせる（ステップＳ１５）。
【００８２】
この学習には、一般的に用いられている誤差逆伝播法による学習等を適用できるので、詳細な説明は省略する。
【００８３】
制御部１４０の制御により、入力部１２０は、シフトレジスタ回路１２１に保持されたデータ（Ｎ個の単位データを含む入力単位データ列）を、単位データ１つ分（１標本単位分）シフトする（ステップＳ１６）。
【００８４】
制御部１４０は、シフトレジスタ回路１４１に保持されたデータ（Ｎ個の単位データを含む教師単位データ列）を、単位データ１つ分（１標本単位分）シフトする（ステップＳ１７）。
【００８５】
制御部１４０は、学習終了条件が成立したか否かを判定する（ステップＳ１８）。学習終了条件は、例えば、教師信号データ列についての全ての処理を終える、等である。
【００８６】
ステップＳ１８において、制御部１４０が、学習終了条件が成立したと判定した場合には（ステップＳ１８でＹｅｓ）、音声信号処理装置１００は学習制御処理を終える。
【００８７】
ステップＳ１８において、制御部１４０が、学習終了条件は成立していないと判定した場合には（ステップＳ１８でＮｏ）、音声信号処理装置１００は、学習終了条件が成立するまで、ステップＳ１１〜Ｓ１７の処理を繰り返す。
【００８８】
なお、図２は学習制御処理の手順の一例を示したに過ぎない。学習制御処理の各手順の実行順序は入れ替えられてもよく、複数の手順が並列に実行されてもよい。
【００８９】
ニューラルネットワーク回路１１０に学習を行わせる学習制御処理では、音声信号処理装置１００の制御部１４０は、シフトレジスタ回路１４１を用いて、教師信号データ列における複数の連続する各単位データを、単位時間Ｔ毎に、出力層１１３のＮ個の出力ユニット１１３ａへ一対一に対応させて一括付与する。そして、制御部１４０は、単位時間Ｔ毎のその一括付与を、一の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ））において一の出力ユニット１１３ａ（例えば、出力ユニット１１３ａ（ｘ））に付与された単位データが、他の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ）の直後の単位時間Ｔ（Ｘ＋１））において他の出力ユニット１１３ａ（例えば、出力ユニット１１３ａ（ｘ）の直後の出力ユニット１１３ａ（ｘ＋１））に付与されるように、行う。このとき、制御部１４０は、シフトレジスタ回路１４１に新たに取り込まれた単位データを、先頭の出力ユニット１１３ａ（例えば、出力ユニット１１３ａ（１））に付与する。また、制御部１４０は、入力部１２０のシフトレジスタ回路１２１を用いて、学習信号データ列における複数の連続する各単位データを、単位時間Ｔ毎に、入力層１１１のＮ個の入力ユニット１１１ａへ一対一に対応させて一括入力する。そして、制御部１４０は、入力部１２０を制御して、単位時間Ｔ毎のその一括入力を、一の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ））において一の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ））に入力された単位データが、他の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ）の直後の単位時間Ｔ（Ｘ＋１））において他の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ）の直後の入力ユニット１１１ａ（ｘ＋１））に入力されるように、行う。このとき、入力部１２０は、シフトレジスタ回路１２１に新たに取り込まれた単位データを、先頭の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（１））に入力する。なお、Ｘは任意の整数であり、ｘは１≦ｘ≦（Ｎ−１）を満たす整数である。
【００９０】
図２では、学習制御処理を逐次処理とする動作例を示した。したがって、図２に示す動作例では、ステップＳ１１〜Ｓ１７の処理を１回行う期間が、単位時間Ｔとなる。
【００９１】
この学習制御処理により、ニューラルネットワーク回路１１０は、相対的に低い標本化周波数での標本化および相対的に少ない量子化ビット数での量子化を経て生成され高域成分および微小振幅成分を失っている音声信号データ列から、その高域成分および微小振幅成分を復元した音声信号データ列を生成し得る能力を習得することができる。
【００９２】
なお、上述の学習制御処理の動作例では、Ｍ＝１の場合を説明した。
【００９３】
［１−２−２．復元処理］
図３は、実施の形態１における音声信号処理装置１００で実行される復元処理の一例を示すフローチャートである。以下、本実施の形態における復元処理について、図３に即して説明する。
【００９４】
上述の学習制御処理が終了した後は、音声信号処理装置１００の制御部１４０は、復元処理を開始可能であることを入力部１２０に通知することができる。
【００９５】
音声信号処理装置１００の入力部１２０は、復元処理の対象となる入力信号データ列の１標本単位の単位データ（ｎビットのデータ）を、変換部１５０を通して取得し、取得した単位データを、シフトレジスタ回路１２１の入力単位データ列に加えて保持する（ステップＳ２１）。
【００９６】
復元処理の対象となる入力信号データ列は、相対的に低い標本化周波数（例えば、４４．１ｋＨｚ）での標本化および相対的に少ない量子化ビット数（例えば、１６ビット）での量子化を経て生成された音声信号データ列であり、標本化および量子化の過程で高域成分および微小振幅成分を失っている可能性がある。
【００９７】
入力部１２０は、シフトレジスタ回路１２１で保持している入力単位データ列のＮ個分の単位データを、ニューラルネットワーク回路１１０の入力層１１１のＮ個の入力ユニット１１１ａに一対一に対応させて入力する（ステップＳ２２）。これにより、入力部１２０が取得した入力信号データ列における最後に取得した分からＮ個の単位データ（取得した順番の逆順にＮ個の単位データ）の１つずつが、入力層１１１のＮ個の入力ユニット１１１ａの１つずつに、一斉に入力される。
【００９８】
音声信号処理装置１００は、ニューラルネットワーク回路１１０に、演算処理を行わせる（ステップＳ２３）。
【００９９】
ニューラルネットワーク回路１１０内のユニットにおいて用いられる重み（各層のユニット間を結合する重み）は、上述の学習制御処理を経てすでに更新されている。そのため、この演算処理により、ニューラルネットワーク回路１１０は、入力信号データ列が失った高域成分および微小振幅成分を復元したデータを出力できる可能性がある。ニューラルネットワーク回路１１０からの出力については、出力部１３０により、歪および雑音の低減化のための処理が施される。
【０１００】
出力部１３０の乗算回路１３１は、ニューラルネットワーク回路１１０の出力層１１３のＮ個の出力ユニット１１３ａから出力されたＮ個のｎビットのデータに対して、総和が１となる各係数（例えば、いずれも１／Ｎ）の乗算を行う（ステップＳ２４）。乗算結果は、Ｎ個のｎビットのデータとなる。
【０１０１】
出力部１３０の加算回路１３２は、乗算回路１３１によるＮ個の乗算結果と、シフトレジスタ回路１３３に保持されているＮ個の出力単位データ列（新たに取り込まれるデータの初期値がゼロの、Ｎ個のｎビットの単位データ）とをそれぞれ加算する。そして、加算回路１３２は、加算結果をシフトレジスタ回路１３３に戻す。これにより、出力部１３０は、シフトレジスタ回路１３３に保持されているＮ個の出力単位データ列を更新する（ステップＳ２５）。
【０１０２】
乗算回路１３１および加算回路１３２によるステップＳ２４およびステップＳ２５での処理（乗算回路１３１による乗算結果を加算回路１３２によって累積加算する累積乗算）により、シフトレジスタ回路１３３には、出力単位データ列として累積乗算結果が保持されることになる。
【０１０３】
次に、出力部１３０は、シフトレジスタ回路１３３に保持された出力単位データ列（Ｎ個の単位データで構成される出力単位データ列）を、単位データ１つ分（１標本単位分）シフトする。出力部１３０は、このシフトによって出力単位データ列（シフトレジスタ回路１３３）から押し出される単位データを、出力信号データ列の構成要素として出力する（ステップＳ２６）。
【０１０４】
次に、入力部１２０は、シフトレジスタ回路１２１に保持されたデータ（Ｎ個の単位データを含む入力単位データ列）を、単位データ１つ分（１標本単位分）シフトする（ステップＳ２７）。
【０１０５】
音声信号処理装置１００は、復元処理の終了条件が成立したか否かを判定する（ステップＳ２８）。復元処理の終了条件、例えば、入力信号データ列についての全ての処理を終える、等である。
【０１０６】
ステップＳ２８において、復元処理の終了条件が成立したと判定した場合には、音声信号処理装置１００は、復元処理を終える。
【０１０７】
ステップＳ２８において、復元処理の終了条件は成立していないと判定した場合には、音声信号処理装置１００は、復元処理の終了条件が成立するまで、ステップＳ２１〜Ｓ２７の処理を繰り返す。
【０１０８】
なお、図３は復元処理の手順の一例を示したに過ぎない。復元処理の各手順の実行順序は入れ替えられてもよく、複数の手順が並列に実行されてもよい。
【０１０９】
音声信号処理装置１００は、学習後のニューラルネットワーク回路１１０を用いて復元処理を行う。音声信号処理装置１００は、入力部１２０のシフトレジスタ回路１２１を用いて、入力信号データ列における複数の連続する各単位データを、単位時間Ｔ毎に、入力層１１１のＮ個の入力ユニット１１１ａへ一対一に対応させて一括入力する。そして、入力部１２０は、単位時間Ｔ毎のその一括入力を、一の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ））において一の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ））に入力された単位データが、他の単位時間Ｔ（例えば、単位時間Ｔ（Ｘ）の直後の単位時間Ｔ（Ｘ＋１））において他の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（ｘ）の後の入力ユニット１１１ａ（ｘ＋Ｍ））に入力されるように、行う。なお、Ｘは任意の整数であり、ｘは１≦ｘ≦（Ｎ−Ｍ）を満たす整数である。このとき、入力部１２０は、シフトレジスタ回路１２１に新たに取り込まれたＭ個の単位データを、先頭からＭ個の入力ユニット１１１ａ（例えば、入力ユニット１１１ａ（１）〜入力ユニット１１１ａ（Ｍ））に入力する。そして、音声信号処理装置１００は、連続する複数の単位時間Ｔに亘るその一括入力に応じて出力層１１３のＮ個の出力ユニット１１３ａから単位時間Ｔの各々において出力されたデータに基づく演算結果（累積乗算が終了したＭ個のデータ）を、出力信号データ列の構成要素として、単位時間Ｔ毎に出力する。
【０１１０】
図３では、復元処理を逐次処理とする動作例を示した。したがって、図３に示す動作例では、ステップＳ２１〜Ｓ２７の処理を１回行う期間が、上述の単位時間Ｔとなる。
【０１１１】
［１−３．効果等］
本実施の形態において、音声信号処理装置１００は音声信号処理装置の一例である。入力層１１１は入力層の一例である。中間層１１２ａおよび中間層１１２ｂは、それぞれが中間層の一例である。出力層１１３は出力層の一例である。ニューラルネットワーク回路１１０はニューラルネットワーク回路の一例である。入力部１２０は入力部の一例である。入力ユニット１１１ａは入力ユニットの一例である。出力部１３０は出力部の一例である。出力ユニット１１３ａは出力ユニットの一例である。シフトレジスタ回路１２１は第１シフトレジスタ回路の一例である。シフトレジスタ回路１３３は第２シフトレジスタ回路の一例である。乗算回路１３１は乗算回路の一例である。加算回路１３２は加算回路の一例である。制御部１４０は制御部の一例である。シフトレジスタ回路１４１は第３シフトレジスタ回路の一例である。第１標本化周波数は、例えば８８．２ｋＨｚである。第２標本化周波数は、例えば４４．１ｋＨｚである。第１量子化ビット数は、例えば２４ビットである。第２量子化ビット数は、例えば１６ビットである。
【０１１２】
例えば、本実施の形態に示した音声信号処理装置１００は、ニューラルネットワーク回路１１０と、入力部１２０と、出力部１３０と、を備える。ニューラルネットワーク回路１１０は、複数の入力ユニット１１１ａを備えて構成される入力層１１１と、中間層１１２ａおよび中間層１１２ｂと、複数の出力ユニット１１３ａを備えて構成される出力層１１３と、を含む。入力部１２０は、音声信号列に基づいて標本化を経て生成された入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、当該複数の入力ユニット１１１ａへ一対一に対応させて一括入力する。また、入力部１２０は、単位時間毎の当該一括入力を、一の単位時間Ｔにおいて一の入力ユニット１１１ａに入力された単位データが他の単位時間Ｔにおいて他の入力ユニット１１１ａに入力されるように行う。出力部１３０は、連続する複数の単位時間に亘る当該一括入力に応じて当該複数の出力ユニット１１３ａから当該複数の単位時間の各々において出力されたデータに基づく演算結果を、単位時間毎に出力する。
【０１１３】
また、本実施の形態に示した例では、音声信号処理装置１００において、入力層１１１の入力ユニット１１１ａの数と出力層１１３の出力ユニット１１３ａの数とは、いずれもＮ個（Ｎは２以上の整数）である。入力部１２０は、Ｎ個の単位データを、入力単位データ列として保持可能なシフトレジスタ回路１２１を含む。シフトレジスタ回路１２１は、単位時間毎に入力信号データ列からＭ個（Ｍは１以上Ｎ未満の整数）の単位データを入力単位データ列に取り込み、単位時間毎に入力単位データ列について単位データＭ個分のシフトを行い、単位時間毎に入力単位データ列におけるＮ個の単位データをＮ個の入力ユニット１１１ａへ一括入力する。出力部１３０は、Ｎ個の単位データを、出力単位データ列として保持可能なシフトレジスタ回路１３３と、Ｎ個の出力ユニット１１３ａのそれぞれから出力されたデータに係数を乗じる乗算回路１３１と、加算回路１３２と、を含む。加算回路１３２は、乗算回路１３１の乗算結果とシフトレジスタ回路１３３に保持されている出力単位データ列とを加算し、その加算結果によりシフトレジスタ回路１３３のＮ個の単位データを更新する。シフトレジスタ回路１３３は、単位時間毎に出力単位データ列からＭ個の単位データを出力し、単位時間毎に出力単位データ列について単位データＭ個分のシフトを行う。また、シフトレジスタ回路１３３は、単位時間毎に出力単位データ列におけるＮ個の単位データを加算回路に送出することで取得した加算結果を、出力単位データ列として保持する。
【０１１４】
また、本実施の形態に示した例では、音声信号処理装置１００において、Ｍは１であり、乗算回路１３１がＮ個の出力ユニット１１３ａのそれぞれから出力されたデータに乗じる係数はいずれも１／Ｎである。
【０１１５】
また、本実施の形態に示した例では、音声信号処理装置１００は、ニューラルネットワーク回路１１０に学習を行わせるための制御を行う制御部１４０をさらに備える。制御部１４０は、Ｎ個の単位データを教師単位データ列として保持可能なシフトレジスタ回路１４１を含む。制御部１４０は、シフトレジスタ回路１４１が、学習用音声信号列に基づき第１標本化周波数（例えば、８８．２ｋＨｚ）で標本化され、第１量子化ビット数（例えば、２４ビット）で量子化された教師信号データ列から、単位時間毎にＭ個の単位データを教師単位データ列に取り込み、単位時間毎に教師単位データ列について単位データＭ個分のシフトを行い、単位時間毎に教師単位データ列におけるＮ個の単位データをＮ個の出力ユニット１１３ａへ与えるように、シフトレジスタ回路１４１を制御する。また、制御部１４０は、学習用音声信号列に基づき第１標本化周波数より低い第２標本化周波数（例えば、４４．１ｋＨｚ）で標本化され、第１量子化ビット数より少ない第２量子化ビット数（例えば、１６ビット）で量子化されてから、標本化周波数および量子化ビット数について教師信号データ列と同一となるように変換されることで得られた学習信号データ列を、シフトレジスタ回路１２１に入力信号データ列として扱わせるように制御する。こうすることで、制御部１４０は、ニューラルネットワーク回路１１０に学習を行わせる。
【０１１６】
また、本実施の形態に示した例では、音声信号処理装置１００において、ニューラルネットワーク回路１１０は、自己符号化器を積み重ねた積層自己符号化器である。
【０１１７】
また、本実施の形態に示した例では、音声信号処理装置１００において、中間層１１２ａおよび中間層１１２ｂの各ユニット（ユニット１１２ａａ、ユニット１１２ｂａ）は、非線形処理を行う。
【０１１８】
音声信号処理装置１００において、学習用音声信号列は、周波数スイープした信号または振幅スイープした信号であってもよい。
【０１１９】
このように構成された本実施の形態に係る音声信号処理装置１００において、ニューラルネットワーク回路１１０は、学習制御処理により、入力層１１１に学習信号データ列を、出力層１１３に教師信号データ列を、それぞれ１標本単位の単位データ毎に同期して付与される。そして、ニューラルネットワーク回路１１０は、学習信号データ列に基づいて入力層１１１に与えられた内容に応じた出力層１１３の出力が、教師信号データ列に基づいて出力層１１３に与えられた目標の出力に近付くように、学習（各層のユニット間を結合する重みの更新）を行う。学習信号データ列は、学習用音声信号列を基礎として、相対的に低い標本化周波数（例えば、４４．１ｋＨｚ）での標本化および相対的に少ない量子化ビット数（例えば、１６ビット）での量子化を経て生成され、ナイキスト周波数（標本化周波数の１／２）を超える高域成分および微小振幅成分を失っている音声信号データ列である。教師信号データ列は、その学習用音声信号列を基礎として、相対的に高い標本化周波数（例えば、８８．２ｋＨｚ）での標本化および相対的に多い量子化ビット数（例えば、２４ビット）での量子化を経て生成され、その高域成分および微小振幅成分を相対的に失っていない音声信号データ列である。したがって、この学習により、ニューラルネットワーク回路１１０は、標本化および量子化の過程で高域成分および微小振幅成分を失っている音声信号データ列から、その高域成分および微小振幅成分を復元した音声信号データ列を生成し得る能力を習得することができる。
【０１２０】
また、音声信号処理装置１００では、学習制御処理においては、シフトレジスタ回路１２１とシフトレジスタ回路１４１とが同期してシフトされる。また、学習信号データ列と教師信号データ列とにおける、互いに対応する１標本単位の単位データの組のそれぞれが、複数回、入力層１１１における相違する入力ユニット１１１ａと出力層１１３における相違する出力ユニット１１３ａとに付与される。これにより、ニューラルネットワーク回路１１０は学習を効率的に行える。
【０１２１】
また、音声信号処理装置１００では、復元処理においては、入力信号データ列の各単位データが、シフトレジスタ回路１２１でシフトされることにより、ニューラルネットワーク回路１１０の入力層１１１に複数回の異なるタイミングで入力される。その入力層１１１に一括入力された各単位データを反映したデータが、出力層１１３から出力される。また、その入力層１１１に複数回の異なるタイミングで入力された１つの単位データを反映したデータが、出力層１１３から複数回の異なるタイミングで出力される。その複数回の異なるタイミングで出力層１１３から出力されるデータに基づく累積乗算結果（乗算回路１３１による乗算結果が加算回路１３２によって累積された結果）は、雑音成分の影響を抑制したものとなり得る。これは、雑音成分が、各瞬時においてランダムであることから入力信号データ列の各単位データについてランダムな値と想定されるため、累積乗算により、その雑音成分を抑制でき得るためである。また、非線形処理を行う（つまり活性化関数として非線形関数を用いる）ニューラルネットワーク回路１１０による出力の歪は、乗算回路１３１および加算回路１３２による累積乗算により抑制することができる。このため、音声信号処理装置１００は、歪および雑音が抑えられた出力信号データ列であって、入力信号データ列が失った高域成分および微小振幅成分が復元された出力信号データ列、を出力することが可能となる。したがって、音声信号に係る信号データ列から音声を再生する再生装置（音響機器等）が、音声信号処理装置１００から出力される出力信号データ列に基づき音声を再生すると、その再生音声は、音声信号処理装置１００に入力される入力信号データ列から音声を再生する場合に比べて、高音質となる可能性がある。
【０１２２】
（他の実施の形態）
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用できる。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
【０１２３】
そこで、以下、他の実施の形態を例示する。
【０１２４】
（１）実施の形態１では、第１標本化周波数の一例として８８．２ｋＨｚ、第１量子化ビット数の一例として２４ビット、第２標本化周波数の一例として４４．１ｋＨｚ、第２量子化ビット数の一例として１６ビットを示した。しかし、本開示は何らこれらの数値に限定されるものではなく、これらの数値は他の数値であってもよい。
【０１２５】
（２）実施の形態１では、音声信号処理装置１００が、シフトレジスタ回路１２１、シフトレジスタ回路１３３、およびシフトレジスタ回路１４１を備える構成例を示した。しかし、本開示は何らこの構成例に限定されない。例えば、音声信号処理装置１００が、メモリと、メモリに記憶された制御プログラムを実行するプロセッサとを備え、プロセッサが、メモリの任意のアドレスに配置された複数の単位データを列（入力単位データ列、教師単位データ列、出力単位データ列）として管理してシフト等の操作を行うことで、上述の各シフトレジスタ回路と同様の機能を実現してもよい。また、音声信号処理装置１００が、メモリと、メモリに記憶された制御プログラムを実行するプロセッサとを備え、累積乗算に係る演算処理をプロセッサが行うことで、乗算回路１３１および加算回路１３２と同様の機能を実現してもよい。また、音声信号処理装置１００においてメモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に各種機能（例えば、音声信号処理を実行する機能）を実現する代わりに、専用のハードウェア（デジタル回路、アナログ回路、等）により、その機能を実現してもよい。
【０１２６】
（３）実施の形態１では、ニューラルネットワーク回路１１０が中間層を２層有する構成例（図１参照）を示した。しかし、この構成は単なる一例に過ぎず、本開示は何らこの構成例に限定されない。ニューラルネットワーク回路１１０の内部構成（中間層の層数、ユニット数、演算方式、等）は、図１に例示した構成から任意の構成に変更可能である。また、実施の形態１では、中間層の各ユニットが、活性化関数として双曲線正接関数を用いる構成例を示したが、本開示は何らこの構成例に限定されない。中間層の各ユニットは、双曲線正接関数以外の関数を用いてもよい。
【０１２７】
（４）実施の形態１の学習制御処理（図２参照）、および復元処理（図３参照）では、シフトレジスタ回路１２１、シフトレジスタ回路１３３、およびシフトレジスタ回路１４１が、保持したデータを、単位時間Ｔ毎に、１標本単位の単位データ分だけシフトする構成例を示した。しかし、本開示は何らこの構成例に限定されない。各シフトレジスタ回路は、保持したデータを、単位時間Ｔ毎に、単位データＭ個分シフトしてもよい。Ｍは、Ｎ未満の任意の自然数である。なお、Ｎは、ニューラルネットワーク回路１１０の入力層１１１および出力層１１３のそれぞれにおけるユニットの数である。例えば、各シフトレジスタ回路が、単位時間Ｔ毎に、保持したデータをＭ個シフトするように構成された場合は、シフトレジスタ回路１２１およびシフトレジスタ回路１３３は、単位時間Ｔ毎に、Ｍ個の単位データを取得して新たに取り込むことになる。また、シフトレジスタ回路１３３は、単位時間Ｔ毎に、Ｍ個の初期値ゼロの単位データを取り込み、シフトレジスタ回路１３３から押し出されたＭ個の単位データを、出力信号データ列の構成要素として出力することになる。なお、音声信号処理装置１００では、ニューラルネットワーク回路１１０が学習している時とそれ以外の時（復元に係る処理を行っている時）とで、各シフトレジスタ回路におけるシフト数であるＭの値を相違させてもよい。
【０１２８】
（５）実施の形態１の学習制御処理（図２参照）、および復元処理（図３参照）では、乗算回路１３１が、出力層１１３の各出力ユニット１１３ａから出力されるデータに、いずれも同じ係数（例えば、１／Ｎ）を乗じる乗算を行う構成例を示した。しかし、例えば、シフトレジスタ回路１３３が、保持したデータを単位時間Ｔ毎にＭ個シフトする場合は、その係数を、例えばＭ／Ｎとしてもよい。また、出力層１１３の各出力ユニット１１３ａから出力されるデータに乗じる各係数は、必ずしも同じ値でなくてもよく、任意に調整されてもよい。例えば、ニューラルネットワーク回路１１０の出力層１１３におけるＮ個の出力ユニット１１３ａの並び順において、中央付近の出力ユニット１１３ａに対する係数を相対的に大きくしてもよい。この出力ユニット１１３ａの並び順（順位）に対して、窓関数により係数を特定することとしてもよい。窓関数としては、例えば、ハン窓（ｈａｎｎｉｎｇ  ｗｉｎｄｏｗ）、ハミング窓（ｈａｍｍｉｎｇ  ｗｉｎｄｏｗ）、等が挙げられる。
【０１２９】
（６）実施の形態１では、音声信号処理装置１００が、ニューラルネットワーク回路１１０の学習のために、制御部１４０により学習制御処理を行う構成例を示した。しかし、本開示は何らこの構成例に限定されない。例えば、音声信号処理装置１００は、学習のための構成要素を備えず、学習制御処理を行わないように構成されていてもよい。このような構成の場合、音声信号処理装置１００は、実施の形態１で示したような学習制御処理による学習の結果としてのニューラルネットワーク回路１１０の各層のユニット間を結合する重みに関する情報等を、外部から取得するように構成されてもよい。そして、音声信号処理装置１００は、取得した情報をニューラルネットワーク回路１１０に伝達することで、ニューラルネットワーク回路１１０を学習後の状態と同様の状態にする機能を有するように構成されてもよい。または、音声信号処理装置１００は、製造段階において、ニューラルネットワーク回路１１０が予めその学習後と同様の状態となるように、製造されてもよい。
【０１３０】
（７）実施の形態１では、音声信号処理装置１００が、出力部１３０から出力信号データ列を出力する構成例を示した。しかし、本開示は何らこの構成例に限定されない。例えば、出力部１３０の出力に基づいて音声信号列の出力あるいは音声の出力を行う再生装置が、音声信号処理装置１００に包含されていてもよい。
【０１３１】
（８）実施の形態１に示した音声信号処理装置１００における各構成要素（機能ブロック）は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、またはＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の半導体集積回路により個別に１チップ化されてもよいし、各構成要素の一部または全部を含むように１チップ化されてもよい。あるいは、各構成要素の一部または全部は、制御プログラムを記憶したメモリ、制御プログラムを実行するマイクロプロセッサ、および信号処理の一部を実行する回路を含む複数の構成部を１つのチップ上に集積したシステムＬＳＩで構成されてもよい。また、集積回路化の手法はＬＳＩに限定されるものではなく、専用回路または汎用プロセッサで機能ブロックの回路が実現されてもよい。ＬＳＩ製造後に、回路構成をプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、ＬＳＩ内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサが利用されてもよい。あるいは、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、その技術を用いて機能ブロックの集積化が行われてもよい。そのような技術には、例えば、バイオ技術の適用等が可能性としてあり得る。
【０１３２】
（９）実施の形態１に示した各種処理（例えば図２、図３に示す手順、等）の全部または一部は、電子回路等のハードウェアにより実現されてもよく、ソフトウェアを用いて実現されてもよい。あるいは、コンピュータまたは信号処理装置に脱着可能な半導体メモリカードまたは単体のモジュールを含んで構成されてもよい。なお、ソフトウェアによる処理は、音声信号処理装置１００に含まれるプロセッサがメモリに記憶された制御プログラムを実行することにより実現されるものである。また、その制御プログラムを、コンピュータまたは信号処理装置で読み取り可能な記録媒体（例えば、光ディスク、磁気ディスク、磁気テープ、または半導体メモリ、等）に記録して頒布または流通させてもよい。あるいは、その制御プログラムを、電気通信回線、無線または有線通信回線、インターネット等のネットワーク、データ放送、等を経由して伝送してもよい。例えば、頒布された制御プログラムを音声信号処理装置にインストールし、その制御プログラムを音声信号処理装置のプロセッサが実行することで、その音声信号処理装置は、各種処理（図２、図３に示す音声信号処理の手順、等）を行うことが可能となる。あるいは、独立した他のコンピュータシステムがその制御プログラムを実行することで各種処理を実行してもよい。制御プログラムを実行するプロセッサにより実行され得る音声信号処理は、例えば、入力処理と出力処理とを含む。入力処理は、入力信号データ列における複数の連続する標本単位の各単位データを、単位時間毎に、ニューラルネットワーク回路の入力層の複数の入力ユニットへ一対一に対応させて一括入力し、単位時間毎の一括入力を、一の単位時間において一の入力ユニットに入力された単位データが他の単位時間において他の入力ユニットに入力されるように行う処理である。また、出力処理は、連続する複数の単位時間に亘る入力処理での一括入力に応じてニューラルネットワーク回路の出力層の複数の出力ユニットからその複数の単位時間の各々において出力されたデータに基づく演算結果を、出力信号データ列の構成要素として単位時間毎に出力する処理である。
【０１３３】
（１０）実施の形態１で示した構成要素および機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
【０１３４】
実施の形態１に示した各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１３５】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１３６】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１３７】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１３８】
本開示は、音声信号に基づいて標本化等を経て生成された音声信号データを処理する音声信号処理装置および音声信号処理方法に適用可能である。
【符号の説明】
【０１３９】
１００    音声信号処理装置
１１０    ニューラルネットワーク回路
１１１    入力層
１１１ａ    入力ユニット
１１２ａ，１１２ｂ    中間層
１１２ａａ，１１２ｂａ    ユニット
１１３    出力層
１１３ａ    出力ユニット
１２０    入力部
１２１    シフトレジスタ回路
１３０    出力部
１３１    乗算回路
１３２    加算回路
１３３    シフトレジスタ回路
１４０    制御部
１４１    シフトレジスタ回路
１５０    変換部
【図１】
2018062021.tif 000003
【図２】
2018062021.tif 000004
【図３】
2018062021.tif 000005
【手続補正書】
【提出日】平成31年3月19日(2019.3.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
入力層１１１のＮ個の入力ユニット１１１ａのそれぞれには、ｎビット（例えば、１６ビット）のデータを、−１≦（入力信号データ）＜＋１の範囲に正規化してｋビット（例えば、２４ビット）に変換したデータが入力される。そして、入力層１１１の各入力ユニット１１１ａは、ｋビットのデータを、中間層１１２ａの各ユニット１１２ａａを出力先として、出力する。これは、活性化関数演算に使う非線形関数が、例えばｔａｎｈ（双曲線正接関数）の場合に、データをｔａｎｈの出力値の範囲に一致させるためである。例えば、このｎビットのデータは固定小数点データであり、このｋビットのデータは固定小数点データまたは浮動小数点データである。この場合において、データの正規化は、例えば、小数点の位置を変えることで実現可能である。また、ｋ＞ｎとすることで、演算途中での桁落ちを防ぐことができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
出力層１１３のＮ個の各出力ユニット１１３ａは、中間層１１２ｂのユニット１１２ｂａのそれぞれからｋビットのデータを入力される。出力層１１３の各出力ユニット１１３ａは、入力データのそれぞれに重みを乗じ、重みを乗じた入力データの総和による演算結果としてｋビットのデータを算出する。そして、出力層１１３のＮ個の各出力ユニット１１３ａは、その算出したｋビットのデータを出力する。この重みは、学習により変化し得る。また、この重みは、中間層１１２ｂのユニット１１２ｂａから出力層１１３の出力ユニット１１３ａまでの間で、ｋビットのデータに乗じられてもよい。あるいは、この重みが乗じられたｋビットのデータが中間層１１２ｂのユニット１１２ｂａから出力されてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
［１−１−２．入力部］
入力部１２０は、入力信号データ列の構成要素となる標本単位の各単位データを、逐次取得して保持し、ニューラルネットワーク回路１１０の入力層１１１の各入力ユニット１１１ａへ入力する機能を有する。標本単位は第１標本化周波数（例えば、８８．２ｋＨｚ）での標本化の単位量であり、単位データはｋビットのデータ（第１量子化ビット数のデータ、例えば、２４ビットのデータ）である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
出力部１３０は、具体的には、乗算回路１３１と、加算回路１３２と、Ｎ個の単位データ（ｋビットのデータ）を、出力単位データ列として保持可能なシフトレジスタ回路１３３（第２シフトレジスタ回路）と、を含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
乗算回路１３１は、出力層１１３のＮ個の出力ユニット１１３ａのそれぞれから出力されたデータに係数を乗じる。複数の単位時間Ｔの各々においてデータに乗じられる各係数の総和は１である。例えばＭが１の場合に、乗算回路１３１がＮ個の出力ユニット１１３ａのそれぞれから出力されたｋビットのデータに乗じる係数は、例えば、いずれも１／Ｎである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
加算回路１３２は、単位時間Ｔ毎に、乗算回路１３１から出力されるｋビットの各データの乗算結果と、シフトレジスタ回路１３３に保持されている出力単位データ列（Ｎ個の単位データ）の各単位データとを、ｋビットのデータ毎に加算する。そして、加算回路１３２は、その加算結果により、シフトレジスタ回路１３３のＮ個の単位データ（ｋビットのデータ）を更新する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
具体的には、制御部１４０は、ニューラルネットワーク回路１１０に、自己符号化器で教師なし学習を行わせる。また、ニューラルネットワーク回路１１０に教師あり学習を行わせるために、制御部１４０は、Ｎ個の単位データを、教師単位データ列として保持可能なシフトレジスタ回路１４１（第３シフトレジスタ回路）を含む。そして、制御部１４０は、次のようにシフトレジスタ回路１４１を制御する。すなわち、シフトレジスタ回路１４１は、学習用音声信号列に基づき第１標本化周波数（例えば、８８．２ｋＨｚ）で標本化されて第１量子化ビット数（例えば、２４ビット）で量子化された教師信号データ列から、単位時間Ｔ毎に、Ｍ個の単位データを教師単位データ列に取り込み、単位時間Ｔ毎に、教師単位データ列について単位データＭ個分のシフトを行い、単位時間Ｔ毎に、教師単位データ列におけるＮ個の単位データを出力層１１３のＮ個の出力ユニット１１３ａへ与える。制御部１４０は、このようにシフトレジスタ回路１４１を制御する。なお、学習用音声信号列は、ニューラルネットワーク回路１１０の学習に用いられるアナログ音声信号列またはデジタル音声信号列である。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
音声信号処理装置１００の制御部１４０の制御により、入力部１２０は、学習信号データ列の１標本単位の単位データ（ｋビットのデータ）を、変換部１５０を通して取得する。そして、入力部１２０は、取得した単位データを、シフトレジスタ回路１２１の入力単位データ列に加えて保持する（ステップＳ１１）。この学習信号データ列は、変換部１５０で、相対的に高い標本化周波数（例えば、８８．２ｋＨｚ）での標本化および相対的に多い量子化ビット数（例えば、２４ビット）での量子化に形式的に変換して、入力部１２０に入力される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
制御部１４０は、教師信号データ列の１標本単位の単位データ（ｋビットのデータ）を取得し、取得した単位データをシフトレジスタ回路１４１の教師単位データ列に加えて保持する（ステップＳ１３）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
音声信号処理装置１００の入力部１２０は、復元処理の対象となる入力信号データ列の１標本単位の単位データ（ｋビットのデータ）を、変換部１５０を通して取得し、取得した単位データを、シフトレジスタ回路１２１の入力単位データ列に加えて保持する（ステップＳ２１）。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
変換部１５０に入力される復元処理の対象となる入力信号データ列は、相対的に低い標本化周波数（例えば、４４．１ｋＨｚ）での標本化および相対的に少ない量子化ビット数（例えば、１６ビット）での量子化を経て生成された音声信号データ列であり、標本化および量子化の過程で高域成分および微小振幅成分を失っている可能性がある。この入力信号データ列は、変換部１５０で、相対的に高い標本化周波数（例えば、８８．２ｋＨｚ）での標本化および相対的に多い量子化ビット数（例えば、２４ビット）での量子化に形式的に変換して、入力部１２０に入力される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
出力部１３０の乗算回路１３１は、ニューラルネットワーク回路１１０の出力層１１３のＮ個の出力ユニット１１３ａから出力されたＮ個のｋビットのデータに対して、総和が１となる各係数（例えば、いずれも１／Ｎ）の乗算を行う（ステップＳ２４）。乗算結果は、Ｎ個のｋビットのデータとなる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
出力部１３０の加算回路１３２は、乗算回路１３１によるＮ個の乗算結果と、シフトレジスタ回路１３３に保持されているＮ個の出力単位データ列（新たに取り込まれるデータの初期値がゼロの、Ｎ個のｋビットの単位データ）とをそれぞれ加算する。そして、加算回路１３２は、加算結果をシフトレジスタ回路１３３に戻す。これにより、出力部１３０は、シフトレジスタ回路１３３に保持されているＮ個の出力単位データ列を更新する（ステップＳ２５）。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
（４）実施の形態１の学習制御処理（図２参照）、および復元処理（図３参照）では、シフトレジスタ回路１２１、シフトレジスタ回路１３３、およびシフトレジスタ回路１４１が、保持したデータを、単位時間Ｔ毎に、１標本単位の単位データ分だけシフトする構成例を示した。しかし、本開示は何らこの構成例に限定されない。各シフトレジスタ回路は、保持したデータを、単位時間Ｔ毎に、単位データＭ個分シフトしてもよい。Ｍは、Ｎ未満の任意の自然数である。なお、Ｎは、ニューラルネットワーク回路１１０の入力層１１１および出力層１１３のそれぞれにおけるユニットの数である。例えば、各シフトレジスタ回路が、単位時間Ｔ毎に、保持したデータをＭ個シフトするように構成された場合は、シフトレジスタ回路１２１およびシフトレジスタ回路１４１は、単位時間Ｔ毎に、Ｍ個の単位データを取得して新たに取り込むことになる。また、シフトレジスタ回路１３３は、単位時間Ｔ毎に、Ｍ個の初期値ゼロの単位データを取り込み、シフトレジスタ回路１３３から押し出されたＭ個の単位データを、出力信号データ列の構成要素として出力することになる。なお、音声信号処理装置１００では、ニューラルネットワーク回路１１０が学習している時とそれ以外の時（復元に係る処理を行っている時）とで、各シフトレジスタ回路におけるシフト数であるＭの値を相違させてもよい。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
（５）実施の形態１の復元処理（図３参照）では、乗算回路１３１が、出力層１１３の各出力ユニット１１３ａから出力されるデータに、いずれも同じ係数（例えば、１／Ｎ）を乗じる乗算を行う構成例を示した。しかし、例えば、シフトレジスタ回路１３３が、保持したデータを単位時間Ｔ毎にＭ個シフトする場合は、その係数を、例えばＭ／Ｎとしてもよい。また、出力層１１３の各出力ユニット１１３ａから出力されるデータに乗じる各係数は、必ずしも同じ値でなくてもよく、任意に調整されてもよい。例えば、ニューラルネットワーク回路１１０の出力層１１３におけるＮ個の出力ユニット１１３ａの並び順において、中央付近の出力ユニット１１３ａに対する係数を相対的に大きくしてもよい。この出力ユニット１１３ａの並び順（順位）に対して、窓関数により係数を特定することとしてもよい。窓関数としては、例えば、ハン窓（ｈａｎｎｉｎｇ  ｗｉｎｄｏｗ）、ハミング窓（ｈａｍｍｉｎｇ  ｗｉｎｄｏｗ）、等が挙げられる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
１００    音声信号処理装置
１１０    ニューラルネットワーク回路
１１１    入力層
１１１ａ    入力ユニット
１１２ａ，１１２ｂ    中間層
１１２ａａ，１１２ｂａ    中間ユニット
１１３    出力層
１１３ａ    出力ユニット
１２０    入力部
１２１    シフトレジスタ回路
１３０    出力部
１３１    乗算回路
１３２    加算回路
１３３    シフトレジスタ回路
１４０    制御部
１４１    シフトレジスタ回路
１５０    変換部
【国際調査報告】
2018062021.tif 000006
2018062021.tif 000007
2018062021.tif 000008
2018062021.tif 000009
2018062021.tif 000010
2018062021.tif 000011