(57)【要約】      （修正有）【課題】使用可能な演算量が制限されている状況であっても波形復元処理を確実に行う。【解決手段】波形復元装置１０は、クリップ後信号から所定の複雑度のクリップ前信号を推定することを、複雑度を所定の更新量だけ増加させながら繰り返し行うことで、クリップ前信号を復元する。パラメータ決定部２２は、クリップ後信号に基づいて最大繰り返し数を決定する。波形復元部１２は、最大繰り返し数を推定の最大回数としてクリップ前信号の推定を繰り返し行う。【選択図】図２
2020106713.tif 000002
【特許請求の範囲】
【請求項１】
クリップ後信号から所定の複雑度のクリップ前信号を推定することを、上記複雑度を所定の更新量だけ増加させながら繰り返し行うことで、クリップ前信号を復元する復元装置であって、
上記クリップ後信号に基づいて最大繰り返し数を決定するパラメータ決定部と、
上記最大繰り返し数を上記推定の最大回数として上記クリップ前信号の推定を繰り返し行う推定部と、
を含む復元装置。
【請求項２】
請求項１に記載の復元装置であって、
上記クリップ後信号から上記クリップ前信号のスパース度を推定するスパース度推定部をさらに含み、
上記パラメータ決定部は、上記クリップ前信号のスパース度に基づいてあらかじめ定めた上記最大繰り返し数および上記更新量を修正する、
復元装置。
【請求項３】
請求項１または２に記載の復元装置であって、
上記推定部は、上記推定を繰り返した回数に応じて上記更新量を増加させる、
復元装置。
【請求項４】
クリップ後信号から所定の複雑度のクリップ前信号を推定することを、上記複雑度を所定の更新量だけ増加させながら繰り返し行うことで、クリップ前信号を復元する復元方法であって、
パラメータ決定部が、上記クリップ後信号に基づいて最大繰り返し数を決定し、
推定部が、上記最大繰り返し数を上記推定の最大回数として上記クリップ前信号の推定を繰り返し行う、
復元方法。
【請求項５】
請求項１から３のいずれかに記載の復元装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クリップ後の信号からクリップ前の信号を復元する技術に関する。
【背景技術】
【０００２】
装置間で信号を入出力する際に、信号振幅が装置の入出力レンジより大きい部分は一定値にクリッピングされる。クリッピングは、例えば、センサーから信号を得るとき、信号を何らかの機器に出力するとき、アナログ信号をA/Dコンバータに入力してデジタル化するとき等、広範囲な状況で生じる可能性がある。そこで、クリップされた信号からクリップ前の信号波形を復元する研究がこれまでなされてきた。
【０００３】
そのような方法として、SPADE（SParse Audio DEclipper）と呼ばれる方法が提案されている（非特許文献１）。以下、SPADEについて説明する。
【０００４】
なお、文中で使用する記号「−」「^」は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。例えば、「z-」は数式中では次式で表される。
【数１】
2020106713.tif 000003
また、例えば、「z^」は数式中では次式で表される。
【数２】
2020106713.tif 000004
【０００５】
本来の信号（クリップ前の信号）を信号ベクトルx=[x1, …, xN]、クリップされた信号を信号ベクトルy=[y1, …, yN]で表現する。クリッピング前後の信号の各サンプルは、式（１）の関係がある。
【数３】
2020106713.tif 000005
【０００６】
ここでθはクリッピングレベルである。クリッピング後の信号サンプルは、上限でクリップされる信号サンプルS+、クリップされない信号サンプルSr、下限でクリップされる信号サンプルS-のいずれかに属する。
【０００７】
SPADEでは、まず辞書行列Dを定める。そして、辞書行列Dの逆行列D-1を信号ベクトルxにかけて得られる信号表現ベクトルzに注目して、信号の複雑さをz中の非ゼロ要素の数、すなわちzのL0ノルム||z||0ではかる。辞書行列Dとしては、DFT行列（Discrete Fourier Transform Matrix）やDCT行列（Discrete Cosine Transform Matrix）等が用いられる。
【０００８】
SPADEは、クリップ前の信号の複雑さ（以下、「複雑度」とも呼ぶ）をkとし、所定の更新量sを複雑さkの初期値として想定する。まず、入力信号すなわちクリップ後の信号yを、D-1で信号表現ベクトルzへ変換する。z中で絶対値の大きい方からk個の要素を残し、それ以外の値を0にすることで、複雑さkの信号表現ベクトルz-へと変換する。この操作はhard thresholdingと呼ばれ、数式でz-=Hk(z)と表現される（下記表１のステップ２に対応）。次に、この信号表現ベクトルz-にDをかけて、推定信号ベクトルx-=Dz-へ変換する。推定信号ベクトルx-は、この段階でのクリップ前の信号ベクトルxの推定結果になる。通常、この推定信号ベクトルx-と入力信号ベクトルyでは非クリップ部分でも乖離がある。そこで下記の二つの条件を満たす信号表現ベクトルz^を求める（下記表１のステップ３に対応）。
条件１．クリップされたDz^がyと一致する。
条件２．z^とz-の距離が最小になる。
【０００９】
z^とz-の距離があらかじめ決めた値より大きい場合には、「想定する信号の複雑さkが不足しているためにターゲット信号を表現できない」と判定して複雑さkを更新量sずつ増やし、上記の処理を繰り返す。
【００１０】
以上の処理を、最適化手法ADMM（非特許文献２）を用いて実装すると、表１のアルゴリズムが得られる。
【００１１】
【表１】
2020106713.tif 000006
【００１２】
なお、表１では、複雑さkを固定してz-からz^を推定する処理をr回行っている。通常r=1に設定される。また、max_iterは上記のz-からz^を推定する処理の最大繰り返し回数であり、式（２）で与えられる。
【数４】
2020106713.tif 000007
ただしceil()は切り上げ関数であり、dim(z)はベクトルzの次元である。
【００１３】
SPADEは、通常のフレーム信号処理と組み合わせて使用される。つまり、図１に示すように、入力されたクリップ後の信号は、フレーム分割部１１で重なりをもつ一定長のフレームに分割され、各フレームに窓かけ処理をした後、波形復元部１２で上記SPADE処理が適用される。そして、フレーム合成部１３でその処理結果にフレーム合成処理が適用され、復元したクリップ前の信号が得られる。
【００１４】
なお、非特許文献３によれば、表１のステップ３のz-からz^を推定する処理は、射影
【数５】
2020106713.tif 000008
を用い、
【数６】
2020106713.tif 000009
で実現される。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】S. Kitic, N. Bertin, and R. Gribnoval, "Sparsity and cosparsity for audio declipping: a flexible non-convex approach", The 12th International conference on Latent Variable Analysis and Signal Separation (LVA/ICA2015), 2015.
【非特許文献２】S. Boyd, N. Parkikh, E. Chu, B. Peleato, and J. Eckstein, "Distributed optimization and statistical learning via the alternating direction method of multipliers", Foundation and Trend in Machine Learning, vol. 3, no. 1, 2011.
【非特許文献３】P. Zaviska, P. Rajmic, Z. Prusa, and V. Vesely, "Revisiting synthesis model in sparse audio declipper", arXiv 1807.03612, 2018.
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、例えば、IoT（Internet of Thing）等においてリアルタイムに複数のセンサー信号の波形を復元する必要がある場合には、SPADEの演算量は大きいという問題がある。それは、SPADEが複雑さの想定kを順次増やしながら波形復元処理を進める必要があるためであり、また、そもそも入力信号の複雑さが未知で絶えず変動しているためである。
【００１７】
この発明の目的は、上記のような技術的課題を鑑みて、使用可能な演算量が制限されている状況であっても確実に波形復元を行うことができる技術を実現することである。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、この発明の一態様の復元装置は、クリップ後信号から所定の複雑度のクリップ前信号を推定することを、複雑度を所定の更新量だけ増加させながら繰り返し行うことで、クリップ前信号を復元する復元装置であって、クリップ後信号に基づいて最大繰り返し数を決定するパラメータ決定部と、最大繰り返し数を推定の最大回数としてクリップ前信号の推定を繰り返し行う推定部と、を含む。
【発明の効果】
【００１９】
この発明の波形復元技術によれば、使用可能な演算量が制限されている状況であっても波形復元処理を確実に行うことが可能となる。
【図面の簡単な説明】
【００２０】
【図１】図１は、従来の波形復元装置の機能構成を例示する図である。
【図２】図２は、実施形態の波形復元装置の機能構成を例示する図である。
【図３】図３は、実施形態の波形復元方法の処理手順を例示する図である。
【発明を実施するための形態】
【００２１】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００２２】
［第一実施形態］
第一実施形態の波形復元装置は、まず、ディープニューラルネットワーク（DNN: Deep Neural Network）（参考文献１参照）を用いて、クリップ後の信号からクリップ前の信号の複雑さ（スパース度）を推定する。また、推定処理の最大繰り返し数を演算量の制限指標としてあらかじめ指定し、推定されたスパース度に基づいて複雑さkの更新量sを制御する。これにより、使用可能な演算量が制限されている状況であっても波形復元処理を確実に行うことを可能とする。
〔参考文献１〕I. Goodfellow, Y. Bensio, and A. Courville, "Deep learning", MIT Press, 2016.
【００２３】
なお、許容する推定処理の最大繰り返し数は、本来必要なmax_iterのα倍（0<α<1）で指定されるものとする。
【００２４】
第一実施形態の波形復元装置１０（以下、「復元装置」とも呼ぶ）は、図２に例示するように、フレーム分割部１１、波形復元部１２（以下、「推定部」とも呼ぶ）、およびフレーム合成部１３に加えて、スパース度推定部２１およびパラメータ決定部２２を備える。この波形復元装置１０が、図３に例示する各ステップの処理を行うことにより第一実施形態の波形復元方法が実現される。
【００２５】
波形復元装置１０は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。波形復元装置１０は、例えば、中央演算処理装置の制御のもとで各処理を実行する。波形復元装置１０に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。波形復元装置１０の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００２６】
ステップＳ１１において、フレーム分割部１１は、入力されたクリップ後の信号をフレーム分割する。フレーム分割部１１は、クリップ後の信号フレームyを波形復元部１２およびスパース度推定部２１へ送る。
【００２７】
ステップＳ２１において、スパース度推定部２１は、クリップ後の信号フレームyの信号表現ベクトルをD-1yにより求め、その各成分の絶対値をとったベクトルから、あらかじめ学習したDNNを用いて、x^の複雑さ、すなわちスパース度K^を推定する。スパース度推定部２１は、推定したスパース度K^をパラメータ決定部２２へ送る。
【００２８】
このDNNは、隠れ層が２ないし３層のDNNで構成可能である。フレーム長がLで、DとしてDFT行列を用いた場合、１層目はL/2次元になる。このDNNの事前学習に使うトレーニングデータは、DNN入力層に与える入力データとDNN出力層に与える教師データからなる。各データは以下のように生成する。
・想定される入力信号xのサンプルを集める。
・クリップ後の信号yの信号表現ベクトルをD-1yにより求め、その各成分の絶対値をとったベクトルを入力データとする。
・クリップ前の信号xの信号表現ベクトルをD-1xにより求め、各要素の絶対値２乗を求め、大きい順にソートする。大きい要素から和をとり、その和が総和の95％を越える際の要素数を求める。この要素数を信号のスパース度と定義し、教師データとする。
【００２９】
ステップＳ２２において、パラメータ決定部２２は、推定されたスパース度K^から式（３）（４）を用いて、SPADE向けのパラメータsとmax_iterとを修正する。パラメータ決定部２２は、修正されたパラメータs_revとmax_iter_revとを波形復元部１２へ送る。
【数７】
2020106713.tif 000010
【００３０】
ステップＳ１２において、波形復元部１２は、修正された更新量s_revおよび修正された最大繰り返し数max_iter_revを用いてSPADE処理を実行することで、クリップ前の信号フレームxを推定する。波形復元部１２は、推定したクリップ前の信号フレームxをフレーム合成部１３へ送る。
【００３１】
ステップＳ１３において、フレーム合成部１３は、推定されたクリップ前の信号フレームxにフレーム合成処理を適用し、クリップ前の信号を復元する。
【００３２】
［第二実施形態］
SPADE内部において、繰り返し数iに応じて複雑さkの更新量sを増やす制御を行う。そのような制御の一例として、更新量sを一定間隔でT段階に切り替えることが考えられる。このケースではCを式（５）を満たす最大の自然数とし、
【数８】
2020106713.tif 000011
複雑さkの更新量sを式（６）に示す繰り返し数iの関数s(i)で決める。
【数９】
2020106713.tif 000012
ただしfloor()は切り下げ関数である。
【００３３】
s(i)は、SPADE内でz-からz^の推定をC回繰り返す度に、1, 2, …, 2Tと増えていく。この制御では、SPADEの繰り返し初期では、複雑さkをゆっくり増加させながらz-からz^の推定を行い、その後、複雑さkの増加を大きくしなからz-からz^の推定を行う。
【００３４】
SPADEでは、複雑さkの更新量sを大きく設定すると復元後の信号の振幅が小さくなる傾向がある。そのため繰り返し初期で複雑さkの増加をゆっくりにすることで、復元後の信号の推定精度を上げることができる。
【００３５】
［変形例］
C2を式（７）を満たす最大の自然数とし、
【数１０】
2020106713.tif 000013
複雑さkの更新量sを式（８）に示す関数s(i)で決める。
【数１１】
2020106713.tif 000014
【００３６】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００３７】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００３８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００３９】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００４２】
１０、９０  波形復元装置
１１  フレーム分割部
１２  波形復元部
１３  フレーム合成部
２１  スパース度推定部
２２  パラメータ決定部
【図１】
2020106713.tif 000015
【図２】
2020106713.tif 000016
【図３】
2020106713.tif 000017