(57)【要約】【課題】同じ音波形を別個独立にサンプリングして得られる複数の音信号の同期を従来よりも短い計算時間で実現することが可能で、かつ高い汎用性を有する技術を提供する。【解決手段】上記複数の音信号のうちの１つを基準信号とし、残りの信号の各々を補正対象信号とする。基準信号と補正対象信号の一方を時間軸方向にずらしつつ両信号の相互相関関数をフレーム毎に算出し、その算出結果に応じて両信号の時間ズレ量をフレーム毎に算出する。このようにしてフレーム毎に算出された時間ズレ量から、補正対象信号のサンプリング周波数の誤差の推定値をフレーム毎に算出する。そして、フレーム毎に算出された誤差の推定値に、エラーを多く含むと推定される外れ値を除外する第１の統計フィルタ処理を施し、更に中央値を選択して出力する第２の統計フィルタ処理を施して補正対象信号のサンプリング周波数の誤差を推定する。【選択図】図１
2018010712.tif 000002
【特許請求の範囲】
【請求項１】
同じ波形を別個独立にサンプリングして得られる複数の信号のうちの１つを基準信号とし、残りの信号のうちの１つを補正対象信号として、前記基準信号と前記補正対象信号の一方を時間軸方向にずらしつつ両信号の相関をフレーム毎に算出し、その算出結果に応じて両信号の時間ズレ量をフレーム毎に算出する時間ズレ量算出部と、
前記時間ズレ量算出部により算出された時間ズレ量から、各フレームにおける前記補正対象信号のサンプリング周波数の誤差の推定値である第１の推定値をフレーム毎に算出する誤差算出部と、
前記誤差算出部によりフレーム毎に算出された前記第１の推定値に統計処理を施して前記補正対象信号全体に亘るサンプリング周波数の誤差の推定値である第２の推定値を算出し出力する統計処理部と、
を有することを特徴とするサンプリング周波数推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、同じ波形を各々別個にサンプリングして得られる複数の信号の同期技術に関する。
【背景技術】
【０００２】
近年では、ＩＣレコーダなどの手軽にデジタル録音を行える録音機器や、スマートフォンのようにデジタル録音と同時に録画も行える機器が一般に普及している。ここでデジタル録音とは、音波形をサンプリングして得られるサンプル列の形式で音信号を記録することを言う。スマートフォンを用いて例えばライブ演奏の動画と演奏音を奏者から離れた場所で録音しつつ、奏者の近くに置かれたＩＣレコーダで演奏音を録音し、スマートフォンにより録音された演奏音をＩＣレコーダにより録音された演奏音に差し替えて（或いは前者に後者を重ね合わせて）再生する、といったことも行われている。一般にデバイスの設定で全ての録音機器のサンプリング周波数を同一に設定していたとしても、各録音機器のサンプリング周波数には微細なバラツキが生じてしまう。これはサンプリング周波数を決めるクロック・ジェネレータが完全に同一のクロック周波数で動作しないことに起因する。したがって、同じ音波形を複数の録音機器で別個独立にデジタル録音する場合、たとえ録音開始タイミングを揃えたとしても、録音機器毎にサンプリング周波数が異なるために、サンプリングタイミングに時々刻々とズレが生じてしまう。このようなサンプリング周波数のズレを補正する技術としては、特許文献１、非特許文献１および非特許文献２の各先行技術文献に開示の技術が挙げられる。
【０００３】
非特許文献１には、送信機から基準信号（パイロット信号）を送出し、受信機側で受信した信号に含まれる基準信号からサンプリング周波数ズレによる周波数シフトを検出し、補正する技術が開示されている。特許文献１には、音場の伝達特性を計測するときに計測信号（ＴＳＰ信号など）を送出する側と、受信する側でサンプリング周波数が異なってしまう場合の補正技術が開示されている。特許文献１に開示の技術では、計測時に雑音の影響を抑制するためにＴＳＰ信号を繰り返し送出し、測定した複数のＴＳＰ信号を一定時間ごとに切出し、このようにして切り出した各ＴＳＰ信号の位相差を検出することでサンプリング周波数ズレを推定し補正している。
【０００４】
非特許文献２には、複数の録音機器間のサンプリング周波数のズレを統計信号処理を利用して補正する技術が開示されている。非特許文献２に開示の技術では、まず、複数の録音機器により録音された各録音信号に対して基準信号を定める。そして、その基準信号に対してサンプリング周波数がズレていた場合の信号を統計的にモデル化し、基準信号以外の信号を統計的モデルに当てはめることでサンプリング周波数のズレを推定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１０１５００号公報
【非特許文献】
【０００６】
【非特許文献１】松岡 保静，中島 祐輔, 吉村 健, “移動端末のマイクロホンで情報を取得する音波情報伝達方式”,NTT DocomoTechnical Journal, vol.14, No.2, 2006
【非特許文献２】Shigeki Miyabe, Nobutaka Ono, andShoji Makino, “BLIND COMPENSATION OF INTER-CHANNEL SAMPLING FREQUENCY MISMATCH WITHMAXIMUM LIKELIHOOD ESTIMATION IN STFT DOMAIN,” proc. ICASSP 2013, pp.674-678
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、非特許文献１に開示の技術や特許文献１に開示の技術には、制約が多く、汎用性に欠けるといった問題がある。例えば、非特許文献１に開示の技術には、基準信号（パイロット信号）を発生する装置が必要になり、また、基準信号によって録音信号に影響が生じてしまう、といった問題がある。一方、特許文献１に開示の技術には、同一の信号が一定間隔で繰り返し送出されるという条件でなければ利用することができない、といった問題がある。これに対して、非特許文献２には、汎用性に欠けるといった問題はないものの、その実行には多大な計算量を要し、サンプリング周波数ズレの推定を完了するまでに要する計算時間が長い、とった問題がある。
【０００８】
本発明は以上に説明した課題に鑑みて為されたものであり、同じ波形を別個独立にサンプリングして得られる複数の信号の同期を従来よりも短い計算時間で実現することが可能で、かつ高い汎用性を有する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、同じ波形を別個独立にサンプリングして得られる複数の信号のうちの１つを基準信号とし、残りの信号のうちの１つを補正対象信号として、前記基準信号と前記補正対象信号の一方を時間軸方向にずらしつつ両信号の相関をフレーム毎に算出し、その算出結果に応じて両信号の時間ズレ量をフレーム毎に算出する時間ズレ量算出部と、前記時間ズレ量算出部により算出された時間ズレ量から、各フレームにおける前記補正対象信号のサンプリング周波数の誤差の推定値である第１の推定値をフレーム毎に算出する誤差算出部と、前記誤差算出部によりフレーム毎に算出された前記第１の推定値に統計処理を施して前記補正対象信号全体に亘るサンプリング周波数の誤差の推定値である第２の推定値を算出し出力する統計処理部と、を有することを特徴とするサンプリング周波数推定装置、を提供する。なお、補正対象信号のサンプリング周波数の誤差は基準信号のサンプリング周波数からの補正対象信号のサンプリング周波数のズレであるから、当該誤差と基準信号のサンプリング周波数とから補正対象信号のサンプリング周波数を求めることができる。したがって、当該誤差の推定値を算出すること（すなわち、当該誤差を推定すること）は補正対象信号のサンプリング周波数を推定することと等価である。
【００１０】
このようなサンプリング周波数推定装置によれば、同じ波形を別個独立にサンプリングして得られる複数の信号のうちの１つを基準信号とし、残りの信号の各々を補正対象信号として各補正対象信号のサンプリング周波数の誤差の推定値を算出し、時間軸圧伸などの既存の技術を用いてその誤差を補正することで、各補正対象信号を基準信号に同期させることが可能になる。本発明のサンプリング周波数推定装置では、パイロット信号を必要とせず、また各信号は一定時間に亙って繰り返し出力されたものである必要もないため、非特許文献１や特許文献１に開示の技術に比較して汎用性が高い。また詳細については後述するが、本発明のサンプリング周波数推定装置によれば非特許文献２に開示の技術を用いた場合よりも短い計算時間で補正対象信号のサンプリング周波数の誤差を算出することができ、同じ波形を別個独立にサンプリングして得られる複数の信号の同期を従来よりも短い計算時間で実現することが可能になる。
【００１１】
統計処理部の具体的な構成としては、誤差算出部によりフレーム毎に算出された第１の推定値（すなわち、各フレームにおける大まかな誤差の推定値）から、統計的にエラーを多く含むと推定される外れ値を除外する第１の統計フィルタ処理と、第１の統計フィルタ処理より外れ値が除外された一群の第１の推定値を平滑化するフィルタ処理（例えば、平均値を算出する処理）と当該一群の第１の推定値から代表値を選択するフィルタ処理（例えば、中央値を選択する処理）の何れか一方からなる第２の統計フィルタ処理とで上記統計処理を構成し、第２の統計フィルタ処理の処理結果を第２の推定値（補正対象信号全体に亘るサンプリング周波数の誤差の推定値）として出力する構成が考えられる。
【００１２】
第１の統計フィルタ処理の具体例としては、誤差算出部によりフレーム毎に算出された第１の推定値をその大きさ順にソートした場合における両端から所定個数分、または両端から所定個数番目の各値に応じて定まる範囲に属さないもの、を外れ値として除去する処理が挙げられる。例えば、上記所定個数が誤差算出部により算出された第１の推定値の総数の１／４であれば、第１四分位数未満の値と第３四分位数より大きい値を外れ値として除外することになる。また、第１四分位数および第３四分位数に重みを付与して上記範囲を定める態様であれば所謂四分位数範囲法により外れ値を除外することになる。
【００１３】
より好ましい態様においては、時間ズレ量算出部は、基準信号および補正対象信号のパワーが所定の閾値未満であるフレームを時間ズレ量の算出対象から除外することを特徴とする。上記閾値を適切な値に定めておけば、基準信号を充分な強度で含んでいないフレームや補正対象信号を充分な強度で含んでいないフレームは時間ズレ量の算出対象から除外される。基準信号を充分な強度で含んでいないフレームや補正対象信号を充分な強度で含んでいないフレームを参照して時間ズレ量を算出したとしてもエラーを多く含むものとなってしまう。このような時間ズレ量に基づいて算出された誤差の推定値は外れ値として第１の統計フィルタ処理で除外される可能性が高く、そもそも時間ズレ量の算出自体が無駄になってしまう。このような態様によれば、時間ズレ量算出部において無駄な演算が行われることを回避して補正対象信号のサンプリング周波数の推定に要する処理時間をさらに短くしつつ、サンプリング周波数の誤差を高い精度で算出することが可能になる。
【００１４】
また、別の好ましい態様においては、時間ズレ量算出部は、基準信号と補正対象信号の相関を表す値（例えば、時間をずらしつつ算出した複数の相互相関関数のうちの最大値）が所定の閾値を下回るフレームを時間ズレ量の算出対象から除外することを特徴とする。上記閾値を適切な値に定めておけば、補正対象信号を構成するフレームのうち基準信号にて対応するフレームとの相関が低いフレームについて時間ズレ量の算出が行われることはない。このようなフレームについて時間ズレ量を算出したとしてもエラーを多く含むものとなってしまい、このような時間ズレ量に基づいて算出された誤差の推定値は外れ値として上記第１の統計フィルタ処理にて除外される可能性が高く、そもそも時間ズレ量の算出自体が無駄になってしまう。このような態様によっても、時間ズレ量算出部において無駄な演算が行われることを回避し補正対象信号のサンプリング周波数の推定に要する処理時間をさらに短くしつつ、サンプリング周波数を高い精度で算出することが可能になる。
【００１５】
上記課題を解決するための別の態様としては、ＣＰＵ（Central Processing Unit）などの一般的なコンピュータを、上記時間ズレ量算出部、誤差算出部および統計処理部として機能させるプログラムを提供する態様が考えられる。このようなプログラムにしたがって一般的なコンピュータを作動させることで、当該コンピュータを本発明のサンプリング周波数推定装置として機能させることが可能になるからである。なお、このようなプログラムの具体的な提供態様としては、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に当該プログラムを書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【００１６】
また、上記課題を解決するためのさらに別の態様としては、同じ波形を別個独立にサンプリングして得られる複数の信号のうちの１つを基準信号とし、残りの信号のうちの１つを補正対象信号として、前記基準信号と前記補正対象信号の一方を時間軸方向にずらしつつ両信号の相互相関関数をフレーム毎に算出し、その算出結果に応じて両信号の時間ズレ量をフレーム毎に算出する時間ズレ量算出ステップと、前記時間ズレ量算算出ステップにて算出された時間ズレ量から、各フレームにおける前記補正対象信号のサンプリング周波数の誤差の推定値をフレーム毎に算出する誤差算出ステップと、誤差算出ステップにてフレーム毎に算出された誤差の推定値に統計処理を施して前記補正対象信号のサンプリング周波数の誤差の推定値を算出し出力する統計処理ステップと、を有することを特徴とするサンプリング周波数推定方法を提供する態様も考えられる。また、ＣＰＵなどの一般的なコンピュータに、上記時間ズレ量算出ステップ、上記誤差算出ステップおよび上記統計処理ステップの各ステップを実行させるプログラムを提供する態様も考えられる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態のサンプリング周波数推定装置１０の構成例および同サンプリング周波数推定装置１０を含む信号処理システム１の構成例を示すブロック図である。
【図２】サンプリング周波数推定装置１０により得られたフレーム毎のサンプリング周波数の推定結果を示す図である。
【図３】四分位数と四分位数範囲を説明するための図である。
【図４】四分位数に基づく外れ値除去処理の効果を説明するための図である。
【図５】本実施形態と非特許文献２に開示の技術についての評価実験の実験結果を示す図である。
【図６】本実施形態と非特許文献２に開示の技術についての評価実験の実験結果を示す図である。
【発明を実施するための形態】
【００１８】
以下図面を参照しつつ本発明の実施形態を説明する。
（Ａ：構成）
図１は、本発明の一実施形態のサンプリング周波数推定装置１０の構成例および同サンプリング周波数推定装置１０を含む信号処理システム１の構成例を示すブロック図である。この信号処理システム１には、同じ音波形をＮ（Ｎは２以上の自然数）台の録音機器（例えばスマートフォンやＩＣレコーダなど）の各々により別個独立にサンプリングして得られた各音信号（サンプル列）Ｘｎ（ｔ）（ｎ＝１〜Ｎ）が入力される。なお、Ｎ台の録音機器における録音開始タイミングの同期については既存技術を適宜用いるようにすれば良い。例えば、各録音機器がインターネットなどの電気通信回線経由の通信を実行可能であれば、当該通信により録音開始タイミングを合せれば良く、Bluetooth(登録商標)など他の通信手段による通信が可能であれば、当該通信手段による通信により録音開始タイミングを合せれば良い。
【００１９】
上記Ｎ台の録音機器におけるサンプリング周波数は何れも同じ値（例えば４４．１ｋＨｚ）に設定されてはいるが、各録音機器のクロック・ジェネレータが完全に同一のクロック周波数で動作する訳ではなく、各録音機器におけるサンプリング周波数には微妙なズレがある。このため、各録音機器で録音開始タイミングを揃えて録音を行い、上記Ｎ個の音信号をその先頭を揃えて再生したとしても、次第に音がズレ、再生が進むにつれてそのズレは大きくなる。本実施形態の信号処理システム１は、上記Ｎ個の音信号間のサンプリング周波数の誤差を推定して補正し、これらＮ個の音信号を同期させることができるようにするためのものである。
【００２０】
図１に示すように信号処理システム１は、サンプリング周波数推定装置１０と、時間軸圧伸装置２０とを含んでいる。サンプリング周波数推定装置１０には、上記Ｎ個の音信号が与えられる。サンプリング周波数推定装置１０は、これらＮ個の音信号のうちの１つを基準信号とし、残りのＮ−１個の音信号の各々を補正対象信号として、基準信号のサンプリング周波数に対する各補正対象信号のサンプリング周波数のズレ（すなわち、誤差）を補正対象信号毎に推定し、その推定結果を示すデータを時間軸圧伸装置２０に与える。時間軸圧伸装置２０は、補正対象信号毎に推定されたサンプリング周波数の誤差が解消されるように各補正対象信号に時間軸圧伸を施す。これにより、Ｎ個の音信号の同期が実現さされる。時間軸圧伸装置２０における時間軸圧伸アルゴリズムとしては既存の技術を適宜用いるようにすれば良い。本実施形態では、サンプリング周波数推定装置１０に本実施形態の特徴を顕著に示す処理を実行させることで、上記各補正対象信号のサンプリング周波数の誤差の推定を従来よりも短い計算時間で実現しつつ、高い汎用性を確保することが可能になっている。以下では、本実施形態の特徴を顕著に示すサンプリング周波数推定装置１０を中心に説明する。
【００２１】
サンプリング周波数推定装置１０は、図１に示すように、短時間フーリエ変換（図１では、「ＳＴＦＴ」と表記）部１００、時間ズレ量算出部１１０、誤差算出部１２０、および統計処理部１３０を含んでいる。図１に示す各部は電子回路で構成されたハードウェアモジュールであっても良いし、ＣＰＵ（Central Processing Unit）を信号処理プログラムに従って作動させることで実現されるソフトウェアモジュールであっても良い。
【００２２】
ＳＴＦＴ部１００は、サンプリング周波数推定装置１０へ入力された音信号Ｘｎ（ｔ）（ｎ＝１〜Ｎ）の各々を所定サンプル数ずつのフレームに区切り、フレーム毎に短時間フーリエ変換を施して周波数領域の信号Ｘｎ（ｆ）（ｆは周波数を表す変数、以下、同じ）に変換して時間ズレ量算出部１１０に与える。ＳＴＦＴ部１００にて使用する変換アルゴリズムについては周知のものを適宜利用すれば良い。
【００２３】
時間ズレ量算出部１１０は、Ｎ個の音信号のうちの１つを基準信号として選択し、残りのＮ−１個の音信号の各々を補正対象信号として順次選択し、基準信号と補正対象信号の一方を時間軸方向にずらしつつ両信号の相互相関関数をフレーム毎に算出して両信号の時間ズレ量をフレーム毎に算出する。以下では基準信号としてＸｒｅｆ（ｆ）が選択され、補正対象信号としてＸｋ（ｆ）（ｋ≠ｒｅｆ）が選択された場合を例に取って時間ズレ量算出部１１０が実行する処理を詳細に説明する。
【００２４】
時間ズレ量算出部１１０は、まず、基準信号Ｘｒｅｆ（ｆ）と補正対象信号Ｘｋ（ｆ）（ｋ≠ｒｅｆ）の各々のフレーム毎の相互相関関数Ｃ（τ）をτの値を変えつつ算出する。相互相関関数Ｃ（τ）を算出するのは、時間ズレ量を補正する方法として相互相関関数が最大となるサンプル点を推定する方法が一般に知られているからである。一般に相互相関関数Ｃ（τ）は、時間領域の２つのアナログ信号ｘ（ｔ）とｙ（ｔ）があった時、以下の数１で表される。また、デジタル信号であれば、以下の数２で表される。
【数１】
2018010712.tif 000003
【数２】
2018010712.tif 000004
【００２５】
数１或いは数２により算出される相互相関関数Ｃ（τ）は、２つの信号のどちらかを時間軸方向にτだけずらして内積を取ることに相当する。「同じ信号が２つの信号のどこかに含まれている」という仮定が成り立つのであれば、相互相関関数が最大となるτを求めることで、２つの信号の時間ズレ量を推定できると考えられる。なお、２つの信号のフーリエ変換Ｘ（ｆ）とＹ（ｆ）とを考えると、相互相関関数Ｃ（τ）は以下の数３により計算される。数３の右辺のＩＦＦＴ（）は逆フーリエ変換を表す演算子であり、Ｘ＊（ｆ）はＸ（ｆ）の複素共役を表す。
【数３】
2018010712.tif 000005
【００２６】
本実施形態の時間ズレ量算出部１１０は、基準信号Ｘｒｅｆ（ｆ）と補正対象信号Ｘｋ（ｆ）（ｋ≠ｒｅｆ）の各フレームの相互相関関数Ｃ（τ）をτの値を変えつつ数３にしたがって算出する。具体的には、時間ズレ量算出部１１０は、基準信号におけるｉ番目のフレームについての信号Ｘｒｅｆ（ｆ）の複素共役を数３右辺のＸ＊（ｆ）とし、補正対象信号におけるｉ番目のフレームについての信号Ｘｋ（ｆ）（ｋ≠ｒｅｆ）を数３右辺のＹ（ｆ）としてτを変えつつ数３の演算を行い、相互相関関数Ｃ（τ）が最大になるτを特定する。そして、時間ズレ量算出部１１０は、このようにして特定したτを、補正対象信号Ｘｋ（ｆ）のｉ番目のフレームについての時間ズレ量の推定値Ｎki（すなわち、相互相関関数Ｃ（τ）を最大にするτ）として誤差算出部１２０に与える。他の番号のフレームについても同様である。
【００２７】
本実施形態において数１或いは数２の時間領域の演算ではなく、数３に示す周波数領域の演算により相互相関関数Ｃ（τ）を算出するようにしたのは、計算量の点で有利なことがあるからである。本実施形態では、時間ズレ量算出部１１０にて数３に示す演算により相互相関関数Ｃ（τ）を算出できるようにするために、ＳＴＦＴ部１００が設けられている。したがって、時間ズレ量算出部１１０にて数１或いは数２に示す演算により相互相関関数Ｃ（τ）を算出するのであればＳＴＦＴ部１００を省略しても良い。
【００２８】
誤差算出部１２０は、時間ズレ量算出部１１０から与えられる各フレームの時間ズレ量Ｎｋｉに基づいて、基準信号のサンプリング周波数ｆｓに対する補正対象信号のサンプリング周波数の誤差の推定値（以下、第１の推定値）Ｅｋｉをフレーム毎に算出する。例えば、ｉ番目のフレームについての時間ズレ量がＮkiであり、補正対象信号Ｘｋ（ｆ）におけるｉ番目のフレームの先頭サンプルが当該信号の先頭からＳki番目のサンプルであった場合には、誤差算出部１２０は、当該ｉ番目のフレームについての上記第１の推定値Ｅkiを以下の数４にしたがって算出し、統計処理部１３０に与える。前述したように、時間ズレ量算出部１１０により算出された時間ズレ量Ｎkiは基準信号の先頭を基準としたズレ量であるため、本実施形態のようにＳＴＦＴによって各フレームの相互相関関数を求めた場合にはフレーム先頭を基準としたズレ量である。このため、ｉ番目のフレームでの相互相関関数を基にした補正対象信号Ｘｋ（ｆ）のサンプリング周波数の誤差の推定値Ｅkiは以下の数４により表される。
【数４】
2018010712.tif 000006
【００２９】
統計処理部１３０は、誤差算出部１２０によりフレーム毎に算出された第１の推定値Ｅkiに統計処理を施して補正対象信号全体に亘るサンプリング周波数の誤差の推定値（以下、第２の推定値）Ｅを算出し、時間軸圧伸装置２０へ出力する。図１に示すように、統計処理部１３０は、第１の統計フィルタ処理部１３０ａと第２の統計フィルタ処理部１３０ｂとを含んでいる。つまり、統計処理部１３０の実行する統計処理は、第１の統計フィルタ処理部１３０ａの実行する処理と第２の統計フィルタ処理部１３０ｂの実行する処理により構成されている。これら各統計フィルタ処理部の実行する処理の内容は以下の通りである。
【００３０】
第１の統計フィルタ処理部１３０ａは、誤差算出部１２０によりフレーム毎に算出された第１の推定値Ｅkiから、統計的にエラーを多く含むと推定される外れ値を除外する第１の統計フィルタ処理を実行する。誤差算出部１２０によりフレーム毎に算出された第１の推定値Ｅkiには、多くのエラーが含まれていることが多い。上記第１の推定値Ｅkiは、補正対象信号Ｘｋ（ｆ）および基準信号Ｘｒｅｆ（ｆ）の各々のｉ番目のフレームの情報のみに基づいて、両信号のサンプリング周波数のズレを大まかに推定した値だからである。図２は人工的にサンプリング周波数を３Ｈｚずらして実験した時のフレーム毎のサンプリング周波数推定結果である。なお、基準信号のサンプリング周波数に対する補正対象信号のサンプリング周波数の誤差が判れば、基準信号のサンプリング周波数と当該誤差から補正対象信号のサンプリング周波数を算出できるのであるから、上記誤差の推定と補正対象信号のサンプリング周波数の推定は等価である。図２に示すように、フレーム毎に推定したサンプリング周波数に大きなバラツキがあるのは、サンプリング周波数ズレに起因するごく小さな時間ズレを高い精度で推定することが難しいためであると考えられる。
【００３１】
本実施形態では、誤差算出部１２０により算出された第１の推定値Ｅkiのうち、他のものと比較して大きく外れるような値を外れ値として除去する処理が第１の統計フィルタ処理として採用されている。具体的には、本実施形態では、第１の統計フィルタ処理として所謂四分位数に基づく処理が採用されている。ここで、四分位数とは、処理対象のデータを大きさの順にソートした後に、それらを四等分する区切りの数のことを言い、小さい方から第１四分位数、第２四分位数、第３四分位数と呼ばれる（図３参照）。また、第１四分位数と第２四分位数の差は、四分位数範囲（Interquartile range; ＩＱＲ）と呼ばれる。四分位数範囲はサンプルのバラつき具合を表す１つの指標である。
【００３２】
より詳細に説明すると、第１の統計フィルタ処理部１３０ａは、まず、誤差算出部１２０によりフレーム毎に算出された第１の推定値Ｅkiをその大きさ順にソートする。次いで、第１の統計フィルタ処理部１３０ａは、誤差算出部１２０によりフレーム毎に算出された第１の推定値Ｅkiのうち、上記ソート結果における第１四分位数より小さい値、もしくは第３四分位数より大きい値を外れ値として除外し、その残り（すなわち、外れ値を含まない一群の第１の推定値Ｅ´ki）を第２の統計フィルタ処理部１３０ｂに引き渡す。ここで、外れ値を検出する演算ｏ（）は以下の数５により表される。具体的には、数５におけるｅ（ｎ）に誤差算出部１２０により算出された第１の推定値Ｅkiの各々を代入し、演算ｏ（）の値が１であれば当該第１の推定値Ｅkiを外れ値として除外するといった具合である。ｑＬおよびｑＨはそれぞれ第１四分位数および第３四分位数を表す。
【数５】
2018010712.tif 000007
【００３３】
本実施形態では、第１の統計フィルタ処理として四分位数に基づく処理が採用されていたが、四分位数に加えて、四分位数範囲を使った処理であっても良い。具体的には、外れ値であるか否かを識別するための演算として数５に示す演算ｏ（）に代えて数６に示す演算ｏ（）を行えば良い。数６に示す演算は第１、３四分位数にＩＱＲの値を重み付きで加算あるいは減算することを意味している。α＝０とすると、数６は数５と一致する。α＝１．５で計算する方法が広く知られており、例えば図４に示す箱ひげ図の上下のひげに当たる部分はこれで計算されている。
【数６】
2018010712.tif 000008
【００３４】
第２の統計フィルタ処理部１３０ｂは、第１の統計フィルタ処理部１３０ａより外れ値を除外された一群の第１の推定値Ｅ´kiから代表値を選択する第２の統計フィルタ処理（具体的には、中央値を選択するフィルタ処理）を実行し、その処理結果を第２の推定値Ｅｋとして時間軸圧伸装置２０に与える。なお、上記代表値としては最大値や最小値などを用いることが考えられるが、中央値を用いることが最も好ましいと考えられる。また、第２の統計フィルタ処理部１３０ｂの実行する第２の統計フィルタ処理として、第１の統計フィルタ処理部１３０ａより外れ値を除外された一群の第１の推定値Ｅ´kiを平滑化するフィルタ処理（第１の統計フィルタ処理部１３０ａより外れ値を除外された一群の第１の推定値Ｅ´kiの平均値を算出する処理）を採用しても良いが、本出願人の行った実験によれば、上記中央値を選択するフィルタ処理を採用した方が良好な結果が得られた。このため、本実施形態では、中央値を選択するフィルタ処理が採用されている。
以上がサンプリング周波数推定装置１０の構成である。
【００３５】
（Ｂ：実施形態の効果）
本実施形態によれば、Ｎ個の音信号のうちの１つを基準信号、残りのＮ−１個の音信号の各々を補正対象信号とし、基準信号のサンプリング周波数に対する補正対象信号のサンプリング周波数の誤差が補正対象信号毎にサンプリング周波数推定装置１０によって推定され、その誤差が解消されるように時間軸圧伸を補正対象信号に施すことで、Ｎ個の音信号の同期が実現される。本出願人は本実施形態の効果を評価するために、非特許文献２に開示の技術を対比の対象として、サンプリング周波数の誤差の推定性能および計算速度（サンプリング周波数の誤差の推定値の算出を完了するまでに要した計算時間の時間長）の観点から評価実験を行った。この評価実験の概要は以下の通りである。
【００３６】
まず、４４．１ｋＨｚのサンプリング周波数でサンプリングされた１６ビットの１０曲の市販曲（ジャンルはポップス、各曲の時間長は１０秒）の音信号を原信号とし、この原信号そのままを基準信号、この原信号に人工的にリサンプリング（±５Ｈｚ）を施した信号を補正対象信号とし、各補正対象信号のサンプリング周波数の誤差を本実施形態のサンプリング周波数推定装置１０および非特許文献２に開示の技術により推定した。なお、本評価実験では、ＣＰＵとして３．４ＧＨｚ駆動のＣｏｒｅｉ７  ３７７０を有し、３２ＧＢのＲＡＭを有する計算機をサンプリング周波数推定装置１０として用い、ＳＴＦＴ部１００等の各部の実装にはＭＡＴＬＡＢ（登録商標）を用いた。ＭＡＴＬＡＢ（登録商標）とは、米国The MathWorks社の数値解析ソフトウェアである。同様に、非特許文献２に開示の手法もＣ／Ｃ＋＋およびＭＡＴＬＡＢ（登録商標）で同計算機に実装して実行した。また、ＦＦＴ長は４０９６サンプルであり、解析窓として窓長が４０９６サンプルのＨａｍｍｉｎｇ窓を用い、さらに、相互相関関数Ｃ（τ）を算出する際のシフトサイズ（すなわち、τの更新単位）として８１９２、４０９６，２０４８および１０２４サンプルを用い、使用するデータ範囲を（３／８）×Ｔ〜（５／８）×Ｔ（Ｔはデータ数）とした。
【００３７】
図５（ａ）は、本実施形態についての推定性能に関する実験結果を示す図であり、図５（ｂ）は非特許文献２に開示の手法についての推定性能に関する実験結果を示す図である。図５（ａ）と図５（ｂ）を対比すれば明らかなように、最高性能では非特許文献２に開示の技術が上回っている（すなわち、推定誤差が小さい）。しかし、例えば２時間（７２００秒）録音し、補正後の補正対象信号の基準信号に対する時間ズレを５ミリ秒以下に押さえる（サンプリング周波数の推定誤差を０．０３Ｈｚ以内に抑える）といった実用的な範囲の性能は本実施形態でも達成されている。したがって、本実施形態でも実用的な範囲での問題は何ら発生しない。また、図５（ａ）からは、本実施形態ではシフトサイズによらず同程度の推定性能を実現できていることが判る。シフトサイズは計算量に影響する。つまり、図５（ａ）の実験結果は、本実施形態によれば計算量を少なくしても実用的な範囲の性能を十分に達成できることを意味している。
【００３８】
図６（ａ）は、本実施形態についての計算速度に関する実験結果を示す図であり、図６（ｂ）は非特許文献２に開示の手法についての計算速度に関する実験結果を示す図である。る。図６（ａ）と図６（ｂ）を対比すれば明らかなように、非特許文献２に開示の手法に比較して本実施形態の手法は圧倒的に高速（サンプリング周波数ズレの推定を完了するまでに要した計算時間が短い）であり、ＭＡＴＬＡＢ（登録商標）による実装でも、Ｃ／Ｃ＋＋による非特許文献２に開示の手法の実装を凌ぐ計算速度が得られていることが判る。以上の実験結果を総括すると、本実施形態によれば、非特許文献２に開示の技術に比較して短い計算時間で実用的な範囲の推定性能を達成することができる、と結論付けられる。
【００３９】
以上説明したように本実施形態によれば、同じ音波形を各々別個にサンプリングして得られる複数の音信号の同期を、非特許文献２に開示の技術に比較して短い計算時間で実現することが可能になる。加えて、本実施形態では、サンプリングされた音信号（換言すれば、録音された音信号）だけで同期が可能であり、パイロット信号を必要とはしないので非特許文献１に開示の技術に比較して高い汎用性を有する。また、本実施形態では、同期対象の各音信号は繰り返し送出されたものである必要はなく、特許文献１に開示の技術に比較して高い汎用性を有する。つまり、本実施形態によれば、同じ波形を別個独立にサンプリングして得られる複数の信号の同期を従来よりも短い計算時間で実現することが可能になり、かつ高い汎用性を実現することが可能になる。
【００４０】
（Ｃ：変形）
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
（１）上記実施形態では、サンプリング周波数推定装置１０に入力される複数の信号が、同じ音波形を各々別個独立にサンプリングして得られた複数の音信号である場合について説明した。しかし、サンプリング周波数推定装置１０に入力される複数の信号は、同じ波形を各々別個独立にサンプリングして得られたものであれば良く、音信号に限定される訳ではない。また、上記実施形態では、第１の統計フィルタ処理として四分位数を利用した処理を採用したが、例えば、誤差算出部１２０によりフレーム毎に算出された推定値をその大きさ順にソートした後にそれらを三等分に区切り、小さい方の区切り位置に対応する値よりも小さいもの、および大きい方の区切り位置に対応する値よりも大きいものを外れ値とする処理を採用しても良い。要は、誤差算出部１２０によりフレーム毎に算出された第１の推定値をその大きさ順にソートした場合における両端から所定個数分、または両端から所定個数番目の各値に応じて定まる範囲に属さないもの、を外れ値とする処理であれば良い。
【００４１】
（２）上記実施形態の統計処理部１３０が実行する統計処理は、決定論的アプローチによる処理であり、四分位数法等を利用して外れ値を除外する第１の統計フィルタ処理と、第１の統計フィルタ処理の処理結果から代表値（上記実施形態では、中央値）を選択し、当該値を補正対象信号全体に亘るサンプリング周波数の誤差の推定値とする第２の統計フィルタ処理により構成さていた。しかし、フレーム毎に算出された第１の推定値を指数関数族で統計的にモデル化し、モデルパラメータを推定することにより、第２の推定値を算出する処理を上記統計処理として採用しても良い。具体的には、例えばラプラス分布で上記モデル化を行い、ラプラス分布のパラメータを推定することで分布の形状を決定し、決定された分布から最頻値を求め、その最頻値を上記第２の推定値とすることで、サンプリング周波数の誤差の尤も確からしい値を推定するといった具合である。
【００４２】
（３）上記実施形態の時間ズレ量算出部１１０は、相互相関関数Ｃ（τ）が最大となるτのみに基づいて時間ズレ量を算出したが、相互相関関数Ｃ（τ）の大きい順に最大Ｍ個のτを候補として残し、これらＭ個のτに基づいて時間ズレ量を算出しても良い。例えばこれらＭ個のτの平均値から時間ズレ量を算出するといった具合である。また、相互相関関数Ｃ（τ）の値が所定の閾値以上となる全てのτを時間ズレ量の候補としてもよい。この場合、パワーの大小の影響を避けるため、正規化相互相関関数を用いるようにすれば良い。
【００４３】
（４）時間ズレ量算出部１１０において、基準信号および補正対象信号のパワーが所定の閾値未満であるフレームを時間ズレ量の算出対象から除外するようにしても良い。上記閾値を適切な値に定めておけば、基準信号を充分な強度で含んでいないフレームや補正対象信号を充分な強度で含んでいないフレームが時間ズレ量の算出対象から除外される。基準信号を充分な強度で含んでいないフレームや補正対象信号を充分な強度で含んでいないフレームは、そもそもサンプリング周波数ズレの推定に対する寄与は小さく、このようなフレームについて時間ズレ量を算出したとしてもエラーを多く含むものとなってしまう。このような時間ズレ量に基づいて算出された第１の推定値は外れ値として第１の統計フィルタ処理部１３０ａによって外れ値として除外される可能性が高く、そもそも時間ズレ量の算出自体が無駄になってしまう。このような態様によれば、時間ズレ量算出部１１０において無駄な演算が行われることを回避しつつ、サンプリング周波数の誤差を高い精度で算出することが可能になる。
【００４４】
（５）時間ズレ量算出部１１０において、相互相関関数Ｃ（τ）の最大値が所定の閾値を下回るフレームを時間ズレ量の算出対象から除外するようにしても良い。上記閾値を適切な値に定めておけば、当該閾値を下回る相互相関関数に基づいて時間ズレ量の算出が行われることはない。上記閾値を下回る相互相関関数に基づいて時間ズレ量を算出したとしてもエラーを多く含むものとなってしまい、このような時間ズレ量に基づいて算出され第１の推定値は外れ値として除外される可能性が高く、そもそも時間ズレ量の算出自体が無駄になってしまう。このような態様によっても、時間ズレ量算出部において無駄な演算が行われることを回避しつつ、サンプリング周波数を高い精度で算出することが可能になる。
【００４５】
（６）上記実施形態では、基準信号および補正対象信号をフレームに区切る際のフレームサイズを固定としたが、このような態様ではフレーム番号が大きくなるほど両信号のサンプルズレが大きくなり、相互相関関数Ｃ（τ）を計算が無意味になる（或いは、相互相関関数Ｃ（τ）を計算できなくなる）ことが考えられる。そこで、相互相関関数Ｃ（τ）の最大値が所定の閾値を下回った時点で処理を停止し、サンプリング周波数推定装置１０の利用者に何らかの報知を行っても良く、また、フレームサイズを大きくして基準信号および補正対象信号のフレームを区切り直すようにしても良い。
【００４６】
（７）上記実施形態では、基準信号と補正対象信号の相互相関関数をフレーム毎に算出することで、各フレームにおける両信号の時間ズレ量を算出した。しかし、両信号を正規化してから両信号の相互相関を算出し、その算出結果に基づいて時間ズレ量を算出しても勿論良い。また、基準信号と補正対象信号の一方を他方に対して時間軸方向にずらしつつ両信号の差信号を算出する処理をフレーム毎に実行するとともに当該差信号の振幅の最大値（或いはパワー）を両信号の相関を表す値として算出し、その算出結果に基づいて両信号のフレーム毎の時間ズレ量を算出しても良く、また両信号の和信号と差信号の比を算出することで両信号の相関を表す値をフレーム毎に算出しその算出結果に応じて両信号のフレーム毎の時間ズレ量を算出しても良い。また、パターンマッチングにより、基準信号と補正対象信号の相関を表す値をフレーム毎に算出し、その算出結果に応じて両信号のフレーム毎の時間ズレ量を算出しても良い。要は、基準信号と補正対象信号の相関をフレーム毎に算出し、その算出結果に応じて両信号のフレーム毎の時間ズレ量を算出する態様であれば良い。
【符号の説明】
【００４７】
１…信号処理システム、１０…サンプリング周波数推定装置、２０…時間軸圧伸装置、１００…ＳＴＦＴ部、１１０…時間ズレ量算出部、１２０…誤差算出部、１３０…統計処理部、１３０ａ…第１の統計フィルタ処理部、１３０ｂ…第２の統計フィルタ処理部。
【図１】
2018010712.tif 000009
【図２】
2018010712.tif 000010
【図３】
2018010712.tif 000011
【図４】
2018010712.tif 000012
【図５】
2018010712.tif 000013
【図６】
2018010712.tif 000014
【手続補正書】
【提出日】平成29年11月13日(2017.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の音信号である基準信号のサンプリング周波数に対する第２の音信号である補正対象信号のサンプリング周波数の誤差をフレーム毎に算出する誤差算出ステップと、
前記誤差算出ステップにて算出された誤差が解消されるように前記補正対象信号に時間軸圧伸を施して前記補正対象信号を前記基準信号に同期させる同期ステップと、
を含む同期方法。
【請求項２】
前記誤差算出ステップにてフレーム毎に算出された誤差に統計処理を施して前記補正対象信号全体に亘るサンプリング周波数の誤差を推定する統計処理ステップを含み、
前記同期ステップでは、前記統計処理ステップにて推定された誤差が解消されるように前記補正対象信号に時間軸圧伸を施す
ことを特徴とする請求項１に記載の同期方法。
【請求項３】
前記基準信号と前記補正対象信号の一方を時間軸方向にずらしつつ両信号の相関をフレーム毎に算出し、その算出結果に応じて両信号の時間ズレ量をフレーム毎に算出する時間ズレ量算出ステップを含み、
前記誤差算出ステップでは、前記時間ズレ量算出ステップにて算出された時間ズレ量から、各フレームにおける前記補正対象信号のサンプリング周波数の誤差をフレーム毎に算出する
ことを特徴とする請求項１または請求項２に記載の同期方法。
【請求項４】
第１の音信号である基準信号のサンプリング周波数に対する第２の音信号である補正対象信号のサンプリング周波数の誤差をフレーム毎に算出する誤差算出手段と、
前記誤差算出手段により算出された誤差が解消されるように時間軸圧伸を前記補正対象信号に施して前記補正対象信号を前記基準信号に同期させる同期手段と、
を備える同期装置。