(57)【要約】【課題】基本周期を特定する処理量を削減する。【解決手段】第１処理部３１は、入力信号ＶINのうち区間長Ｌが同等で相隣接する区間Ｓ1と区間Ｓ2とについて波形の類似度Ｒを算定する処理を、２個以上のサンプルに対応する変化幅Ｄ1ずつ変化させた複数の区間長Ｌについて実行する。第２処理部３２は、入力信号ＶINの区間Ｓ1と区間Ｓ2とについて波形の類似度Ｒを算定する処理を、第１処理部３１の算定した類似度Ｒが類似を示す仮区間長ＬXを変化幅Ｄ1よりも小さい変化幅Ｄ2ずつ変化させた複数の区間長Ｌについて実行する。圧伸処理部２４は、第１処理部３１および第２処理部３２の算定した類似度Ｒが類似を示す区間長Ｌを基本周期ＬWとして、入力信号ＶINを時間軸上で伸長または圧縮した波形の出力信号ＶOUTを生成する。【選択図】図１
2008209447.tif 000002
【特許請求の範囲】
【請求項１】
入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１段階と、
前記サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、前記第１段階で算定した類似度が類似を示す区間長を前記第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２段階と、
前記第１段階および前記第２段階にて算定された類似度が類似を示す区間長を基本周期として、前記入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理段階と
を有する時間軸圧伸方法。
【請求項２】
前記第２段階において、前記第１段階にて算定された類似度が高い順番に選択された複数の区間長の各々を対象として、当該区間長を前記第２変化幅ずつ変化させた複数の区間長について第１区間と第２区間との類似度を算定する
請求項１に記載の時間軸圧伸方法。
【請求項３】
前記第２変化幅は、前記サンプル列にて相前後する各サンプルの間隔に相当する
請求項１または請求項２に記載の時間軸圧伸方法。
【請求項４】
前記第１段階においては、前記入力信号のサンプリング周波数が高いほど前記第１変化幅を増加させる
請求項３に記載の時間軸圧伸方法。
【請求項５】
前記第１段階にて各区間長について算定された類似度の分布幅が小さいほど、前記第２段階にて類似度を算定する区間長の個数を減少させる
請求項１から請求項４の何れかに記載の時間軸圧伸方法。
【請求項６】
前記第１段階にて各区間長について算定された類似度の分布幅が所定値を下回る場合、前記第２段階においては類似度の算定を停止する
請求項１から請求項４の何れかに記載の時間軸圧伸方法。
【請求項７】
入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１処理手段と、
前記サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、前記第１処理手段の算定した類似度が類似を示す区間長を前記第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２処理手段と、
前記第１処理手段および前記第２処理手段の算定した類似度が類似を示す区間長を基本周期として、前記入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理手段と
を具備する時間軸圧伸装置。
【請求項８】
コンピュータを、
入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１処理手段と、
前記サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、前記第１処理手段の算定した類似度が類似を示す区間長を前記第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２処理手段と、
前記第１処理手段および前記第２処理手段の算定した類似度が類似を示す区間長を基本周期として、前記入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理手段と
として機能させるプログラム。
【請求項９】
入力信号の複数のサンプルが時系列に配列されたサンプル列に基づいて当該入力信号の基本周期を特定する方法であって、
前記サンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１段階と、
前記サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、前記第１段階で算定した類似度が類似を示す区間長を前記第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２段階と、
前記第１段階および前記第２段階にて算定された類似度が類似を示す区間長を基本周期として特定する第３段階と
を有する基本周期特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ信号などの入力信号のうち相類似する波形が反復する区間の時間長（以下「基本周期」という）を特定する技術に関する。
【背景技術】
【０００２】
基本周期分の波形を削除または挿入することで、ピッチやホルマントを維持しながら入力信号を時間軸の方向に圧縮または伸長する技術が従来から提案されている（例えば特許文献１）。特許文献１の技術においては、入力信号のうち同じ区間長で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理が、第１区間および第２区間の区間長をひとつのサンプル分ずつ変化させながら複数回にわたって反復され、類似度が最も高い区間長が基本周期として特定される。
【特許文献１】特許第３４６５６２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術は、第１区間および第２区間の各々についてサンプルを間引いたうえで類似度を算定することで処理量の削減を図っている。しかし、類似度の算定の対象となるサンプルを間引いただけでは実際には処理量が充分に削減されない場合もあり、さらなる処理量の削減が望まれるところである。以上の事情に鑑みて、本発明は、基本周期の特定のための処理量を削減するという課題の解決を目的としている。
【課題を解決するための手段】
【０００４】
以上の課題を解決するために、本発明に係る時間軸圧伸方法は、入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１段階（例えば図３の処理）と、サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、第１段階で算定した類似度が類似を示す区間長（仮区間長）を第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２段階（例えば図４の処理）と、第１段階および第２段階にて算定された類似度が類似を示す区間長を基本周期として、入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理段階とを有する。
【０００５】
以上の構成においては、区間長を第１変化幅ずつ変化させながら第１区間と第２区間との波形の類似度が算定されたうえで、第１区間と第２区間との波形が類似する特定の区間長を第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について類似度が算定される。したがって、区間長を第１変化幅ずつ変化させた区間長についてのみ類似度を算定する方法と比較して基本周期を高い精度で特定することができ、第２変化幅ずつ変化させた総ての区間長について類似度を算定する構成と比較して処理量を削減することができる。
【０００６】
本発明の好適な態様に係る時間軸圧伸方法の第２段階においては、第１段階にて算定された類似度が高い順番に選択された複数（例えば図３や図４のＮ個）の区間長の各々を対象として、当該区間長を第２変化幅ずつ変化させた複数の区間長について第１区間と第２区間との類似度を算定する。以上の態様によれば、第１段階で算定されたひとつの区間長のみを第２段階における処理の対象とする場合と比較して、基本周期の特定の精度を高めることができる。
【０００７】
なお、第２変化幅は、第１変化幅よりも小さいという条件を満たす範囲で任意に設定される。ただし、第２変化幅を、入力信号のサンプル列にて相前後する各サンプルの間隔に相当する大きさに設定すれば、基本周期を高精度に特定するという効果が特に顕著となる。
【０００８】
本発明の具体的な態様に係る時間軸圧伸方法の第１段階においては、第１段階に関する変数が入力信号のサンプリング周波数に応じて可変に制御される。例えば、入力信号のサンプリング周波数が高いほど第１変化幅が増加する。以上の態様によれば、サンプリング周波数が高い場合であっても第１段階における処理量を抑制することが可能である。
【０００９】
本発明の具体的な態様に係る時間軸圧伸方法においては、第１段階にて各区間長について算定された類似度の分布幅が小さいほど、第２段階にて類似度を算定する区間長の個数（例えば図４の再検索幅ＬD）を減少させる。入力信号のうち類似度の分布幅が小さい区間（例えば無音や無声子音の区間）には明確な周期性が現れない可能性が高い。したがって、以上の態様によれば、入力信号のうち有声音の区間（すなわち本来的に基本周期を特定すべき区間）について基本周期の特定の精度を高水準に維持しながら、第２段階における処理量を削減することが可能である。また、第１段階にて各区間長について算定された類似度の分布幅が所定値を下回る場合に、第２段階における類似度の算定を停止すれば、第２段階における処理量を削減するという効果はさらに顕著となる。
【００１０】
本発明は、入力信号を時間軸の方向に圧縮または伸長する装置としても特定される。本発明の時間軸圧伸装置は、入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１処理手段と、サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、第１処理手段の算定した類似度が類似を示す区間長を第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２処理手段と、第１処理手段および第２処理手段の算定した類似度が類似を示す区間長を基本周期として、入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理手段とを具備する。以上の装置によっても、本発明に係る時間軸圧伸方法と同様の作用および効果が相される。
【００１１】
本発明に係る時間軸圧伸装置は、特定の信号処理に専用されるＤＳＰ（Digital Signal Processor）などのハードウェア（電子回路）によって実現されるほか、ＣＰＵ（Central Processing Unit）などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、入力信号の複数のサンプルが時系列に配列されたサンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１処理手段と、サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、第１処理手段の算定した類似度が類似を示す区間長を第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２処理手段と、第１処理手段および第２処理手段の算定した類似度が類似を示す区間長を基本周期として、入力信号を時間軸上で伸長または圧縮した波形の出力信号を生成する圧伸処理手段としてコンピュータを機能させる内容である。以上のプログラムによっても、本発明の時間軸圧伸装置と同様の作用および効果が奏される。なお、本発明のプログラムは、ＣＤ−ＲＯＭなど可搬型の記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、ネットワークを介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【００１２】
また、本発明のひとつの形態は、入力信号の複数のサンプルが時系列に配列されたサンプル列に基づいて当該入力信号の基本周期を特定する方法である。本形態に係る基本周期特定方法は、サンプル列のうち区間長が同等で相隣接する第１区間と第２区間とについて波形の類似度を算定する処理を、２個以上のサンプルに対応する第１変化幅ずつ変化させた複数の区間長について実行する第１段階と、サンプル列の第１区間と第２区間とについて波形の類似度を算定する処理を、第１段階で算定した類似度が類似を示す区間長を第１変化幅よりも小さい第２変化幅ずつ変化させた複数の区間長について実行する第２段階と、第１段階および第２段階にて算定された類似度が類似を示す区間長を基本周期として特定する第３段階とを含む。以上の方法によれば、処理量を削減しながら基本周期を高い精度で特定することが可能である。なお、以上の態様に係る基本周期特定方法を実現する装置（基本周期特定装置）やプログラムとしても本発明は特定され得る。
【発明を実施するための最良の形態】
【００１３】
＜Ａ：第１実施形態＞
図１は、本発明の第１実施形態に係る時間軸圧伸装置の構成を示すブロック図である。時間軸圧伸装置１００は、楽音や音声の波形を示す入力信号（オーディオ信号）ＶINを時間軸の方向に伸長または圧縮した波形の出力信号ＶOUTを生成する装置である。図１に示すように、時間軸圧伸装置１００は、記憶回路１０と制御回路２０と出力回路４０とを具備する。
【００１４】
記憶回路１０には入力信号ＶINのサンプル列が外部から供給される。サンプル列は、入力信号ＶINから抽出された多数のサンプルを時系列に配列した集合である。記憶回路１０は、各サンプルを順次に格納する入力バッファ回路である。
【００１５】
制御回路２０は、プログラムを実行することで入力信号ＶINのサンプル列から出力信号ＶOUTのサンプル列を生成する演算処理装置（ＣＰＵ）である。出力回路４０は、出力信号ＶOUTの各サンプルを順次に蓄積するとともに所定の周期で各サンプルを順次に出力する出力バッファ回路である。
【００１６】
図１に示すように、制御回路２０は、プログラムを実行することで基本周期特定部２２および圧伸処理部２４として機能する。ただし、基本周期特定部２２や圧伸処理部２４はＤＳＰなどのハードウェア回路によって実現されてもよい。基本周期特定部２２は、入力信号ＶINのうち相類似する波形が反復する区間の時間長である基本周期ＬWを特定する。図１に示すように、基本周期特定部２２は、第１処理部３１と第２処理部３２とに区分される。
【００１７】
図２は、第１処理部３１および第２処理部３２の動作の概略を説明するための概念図である。図２の部分(a)には、入力信号ＶINの各サンプルＰが白丸および黒丸で図示されている。図２の部分(b)は第１処理部３１の動作を示す概念図であり、図２の部分(c)は第２処理部３２の動作を示す概念図である。
【００１８】
図２の部分(b)および部分(c)に示すように、第１処理部３１および第２処理部３２の各々は、入力信号ＶINのうち区間長Ｌが等しい区間Ｓ1と区間Ｓ2とにおける波形の類似度Ｒを、各々の区間長Ｌ（区間Ｓ1および区間Ｓ2の各々に属するサンプルＰの個数）を変化させながら複数回にわたって算定する。区間Ｓ1と区間Ｓ2とは時間軸上で相隣接する。第１処理部３１および第２処理部３２の各々は、類似度Ｒを算定するたびに、当該類似度Ｒと算定時の区間長Ｌとを対応させて記憶回路１０に格納する。なお、類似度Ｒの算定には公知の任意の方法を採用することが可能であるが、本形態においては、区間Ｓ1と区間Ｓ2とで波形が類似する（類似性が高い）ほど類似度Ｒが減少するように類似度Ｒが算定される場合を想定する。例えば、類似度Ｒは、区間Ｓ1の波形の各サンプルＰと区間Ｓ2の波形の各サンプルＰとの２乗誤差である。
【００１９】
図２の部分(b)に示すように、第１処理部３１は、最大値ＬMAXから最小値ＬMINまでの範囲内で変化幅Ｄ1ずつ変化させた複数の区間長Ｌの各々について区間Ｓ1と区間Ｓ2との類似度Ｒを算定する。変化幅Ｄ1は２以上の数値である。図２の部分(a)には、入力信号ＶINの多数のサンプルＰを所定の間引数（本形態では「４」）で間引いた後のサンプルＰが便宜的に白丸で図示され、それ以外のサンプルＰ（間引かれたサンプルＰ）が黒丸で図示されている。図２の部分(b)に示すように、変化幅Ｄ1は、入力信号ＶINの間引き後の各サンプルＰの間隔（すなわち間引き前の入力信号ＶINにて相前後する各サンプルＰの間隔ＤSの２個分以上）に相当する。図２の変化幅Ｄ1は間隔ＤSの４個分に相当する。換言すると、第１処理部３１は、最大値ＬMAXから最小値ＬMINまでの範囲内でひとつのサンプルＰに相当する「１」ずつ変化させた全種類（「ＬMAX−ＬMIN＋１」種類）の区間長Ｌを所定の間引数（Ｄ1）で間引いたときの残余の区間長Ｌについて類似度Ｒを算定し、間引かれた区間長Ｌについては類似度Ｒの算定を省略する。
【００２０】
第１処理部３１が類似度Ｒを算定した全部の区間長Ｌのなかから類似度Ｒが小さい順番（すなわち区間Ｓ1と区間Ｓ2とで波形が類似する順番）に所定個の区間長Ｌ（以下では特に「仮区間長ＬX」という）が第２処理部３２による処理の対象として選択される。図２の部分(c)においては、第１処理部３１の算定した類似度Ｒが小さいひとつの区間長Ｌ（ＬMAX−２・Ｄ1）が仮区間長ＬXとして代表的に図示されている。
【００２１】
図２の部分(c)に示すように、第２処理部３２は、各仮区間長ＬXを変化幅Ｄ2ずつ増減させた所定個（(２・ＬD)個）の区間長Ｌの各々について区間Ｓ1と区間Ｓ2との類似度Ｒを算定する。変化幅Ｄ2は変化幅Ｄ1よりも小さい。本形態における変化幅Ｄ2は、間隔ＤSの１個分（１サンプル分）に相当する「１」である。
【００２２】
数値ＬD（以下では「再検索幅ＬD」という）は、ひとつの仮区間長ＬXから変化幅Ｄ2ずつ変化させて類似度Ｒを算定する区間長Ｌの個数を規定する。図２の部分(c)には、再検索幅ＬDを「３」に設定した場合が例示されている。したがって、図２の部分(c)に示すように、第２処理部３２は、第１処理部３１による処理の結果から抽出された仮区間長ＬXごとに、区間長「ＬX−３」から区間長「ＬX＋３」までの６個（既に類似度Ｒを算定した区間長ＬXは除外する）の区間長Ｌについて類似度Ｒを算定する。
【００２３】
第１処理部３１および第２処理部３２の算定した類似度Ｒが最小である区間長Ｌ（区間Ｓ1と区間Ｓ2とで波形が最も類似する区間長Ｌ）が基本周期ＬWとして特定される。圧伸処理部２４は、基本周期特定部２２が特定した基本周期ＬWと外部から指定される圧伸率Ｃとに基づいて出力信号ＶOUTのサンプル列を生成する。圧伸率Ｃは、例えば入力装置（図示略）に対する利用者からの操作に応じて設定される。
【００２４】
圧伸率Ｃが入力信号ＶINの圧縮を示す場合、圧伸処理部２４は、入力信号ＶINのうち基本周期ＬWの区間Ｓ1と区間Ｓ2とを合成（例えばクロスフェード）し、合成後の波形を区間Ｓ1および区間Ｓ2に置換することで出力信号ＶOUTを生成する。また、圧伸率Ｃが入力信号ＶINの伸長を示す場合、圧伸処理部２４は、入力信号ＶINのうち基本周期ＬWの区間Ｓ1と区間Ｓ2とを合成し、合成後の波形を区間Ｓ1および区間Ｓ2との間に挿入することで出力信号ＶOUTを生成する。なお、基本周期ＬWと圧伸率Ｃとに応じた入力信号ＶINの圧伸には公知の任意の方法を採用することが可能である。
【００２５】
次に、図３を参照して、第１処理部３１がＮ個（Ｎは自然数）の仮区間長ＬXを特定する動作の具体例を説明する。第１処理部３１は、記憶回路１０に格納された変数ＬX[1]〜ＬX[N]と変数ＲX[1]〜ＲX[N]とをゼロに初期化する（ステップＳA1）。図３の処理が完了した段階における変数ＬX[1]〜ＬX[N]がＮ個の仮区間長ＬXに相当する。変数ＲX[1]〜ＲX[N]は、変数ＬX[1]〜ＬX[N]の各々を区間長Ｌとしたときの区間Ｓ1と区間Ｓ2との類似度Ｒである。
【００２６】
第１処理部３１は、区間Ｓ1および区間Ｓ2の区間長Ｌを最大値ＬMAXに設定し（ステップＳA2）、区間長Ｌの区間Ｓ1と区間Ｓ2とについて波形の類似度Ｒを算定する（ステップＳA3）。区間Ｓ1の波形は、未処理で最も古いサンプルＰに対応した時点ＴCから時点「ＴC＋Ｌ−１」までのＬ個のサンプルＰで表現され、区間Ｓ2の波形は、時点「ＴC＋Ｌ」から時点「ＴC＋２Ｌ−１」までのＬ個のサンプルＰで表現される。
【００２７】
第１処理部３１は、ステップＳA3で算定した類似度Ｒを変数ＲX[1]および変数ＲPに格納するとともに現段階の区間長Ｌ（最大値ＬMAX）を変数ＬX[1]および変数ＬPに格納する（ステップＳA4）。さらに、第１処理部３１は、区間長Ｌから変化幅Ｄ1を減算する（ステップＳA5）。図２に示したように変化幅Ｄ1は２以上の数値である。そして、第１処理部３１は、ステップＳA5における更新後の区間長Ｌの区間Ｓ1と区間Ｓ2とについて、ステップＳA3と同様の方法で類似度Ｒを算定する（ステップＳA6）。
【００２８】
第１処理部３１は、変数ｉを「１」に初期化する（ステップＳA7）。次いで、第１処理部３１は、直前のステップＳA6で算定した類似度Ｒが変数ＲX[i]を下回るか否かを判定する（ステップＳA8）。ステップＳA8の結果が肯定である場合（区間長Ｌの区間Ｓ1と区間Ｓ2とで波形の類似性が高い場合）、第１処理部３１は、現段階で記憶回路１０に格納されている変数ＬX[i]〜ＬX[N-1]を変数ＬX[i+1]〜ＬX[N]にシフトするとともに変数ＲX[i]〜ＲX[N-1]を変数ＲX[i+1]〜ＬX[N]にシフトする（ステップＳA9）。そして、第１処理部３１は、変数ＲX[i]を今回の類似度Ｒに更新するとともに変数ＬX[i]を現段階の区間長Ｌに更新してからステップＳA11に処理を移行する（ステップＳA10）。一方、ステップＳA8の結果が否定である場合、第１処理部３１は、ステップＳA9およびステップＳA10の処理を実行せずにステップＳA11に処理を移行する。
【００２９】
ステップＳA11において、第１処理部３１は、変数ｉに「１」を加算したうえで、加算後の変数ｉが数値Ｎを上回るか否かを判定する（ステップＳA12）。ステップＳA12の結果が否定である場合、第１処理部３１は、更新後の変数ｉについてステップＳA8からステップＳA11までの処理を繰返す。一方、ステップＳA12の結果が肯定である場合、第１処理部３１は、ステップＳA13に処理を移行する。以上のようにステップＳA6からステップＳA12までの処理が反復されることで、変数ＬX[i]には、第１処理部３１が算定した類似度Ｒの小さい順番（区間Ｓ1と区間Ｓ2とで波形の類似性が高い順番）に数えて第ｉ番目の区間長Ｌが格納され、変数ＲX[i]には、区間Ｓ1および区間Ｓ2を区間長ＬX[i]に設定したときの類似度Ｒが格納される。
【００３０】
ステップＳA13において、第１処理部３１は、現段階の区間長Ｌから変化幅Ｄ1を減算した数値を新たな区間長Ｌとして設定する。そして、第１処理部３１は、ステップＳA13における更新後の区間長Ｌが最小値ＬMINを下回るか否かを判定する（ステップＳA14）。ステップＳA14の結果が否定である場合、第１処理部３１は、更新後の区間長ＬについてステップＳA6からステップＳA12の処理を繰返す。ステップＳA14の結果が肯定である場合（すなわち最大値ＬMAXから最小値ＬMINまでの範囲で変化幅Ｄ1ずつ変化させた全部の区間長Ｌについて処理が完了した場合）、第１処理部３１は図３の処理を終了する。
【００３１】
以上に説明したように、最大値ＬMAXから最小値ＬMINまでの範囲内で区間長Ｌを変化幅Ｄ1ずつ変化させながらステップＳA6からステップＳA13の処理が反復される。図３の処理が完了した段階では、類似度Ｒが小さい順番（区間Ｓ1と区間Ｓ2とで波形の類似性が高い順番）に数えてＮ個の区間長Ｌが仮区間長ＬXとして変数ＬX[1]〜ＬX[N]に格納されるとともに、Ｎ個の仮区間長ＬXの各々に対応する類似度Ｒが変数ＲX[1]〜ＲX[N]に格納されている。
【００３２】
次に、図４を参照して、第２処理部３２が基本周期ＬWを特定する動作の具体例を説明する。
第２処理部３２は、変数ｉを「１」に初期化したうえで（ステップＳB1）、変数ＲX[i]が変数ＲP（初期値はステップＳA4で設定される）を下回るか否かを判定する（ステップＳB2）。ステップＳB2の結果が肯定である場合、第２処理部３２は、変数ＬPを変数ＬX[i]に更新するとともに変数ＲPを変数ＲX[i]に更新する（ステップＳB3）。一方、ステップＳB2の結果が否定である場合にはステップＳB3の処理は実行されない。すなわち、変数ＬPは、現時点で類似度ＲX[i]が最小である仮区間長ＬX[i]に維持され、変数ＲPは、当該類似度ＲX[i]に維持される。
【００３３】
次いで、第２処理部３２は、区間長Ｌを、変数ＬPと再検索幅ＬDとの加算値に更新する（ステップＳB4）。第２処理部３２は、ステップＳB4における更新後の区間長Ｌの区間Ｓ1と区間Ｓ2とについて、ステップＳA3やステップＳA6と同様の方法で類似度Ｒを算定する（ステップＳB5）。
【００３４】
第２処理部３２は、ステップＳB5で算定した類似度Ｒが変数ＲPを下回るか否かを判定する（ステップＳB6）。ステップＳB6の結果が肯定である場合、第２処理部３２は、ステップＳB5で算定した類似度Ｒを変数ＲPに格納するとともに現段階の区間長Ｌを変数ＬPに格納する（ステップＳB7）。一方、ステップＳB6の結果が否定である場合にはステップＳB7の処理が実行されない。
【００３５】
次いで、第２処理部３２は、現段階の区間長Ｌから変化幅Ｄ2を減算した数値を新たな区間長Ｌとして設定する（ステップＳB8）。図２に示したように変化幅Ｄ2はステップＳA5やステップＳA13における変化幅Ｄ1よりも小さい。なお、仮区間長ＬX[i]の類似度Ｒは既に算定されているから、ステップＳB8において、第２処理部３２は、変化幅Ｄ2の減算後の区間長Ｌが仮区間長ＬX[i]に合致する場合にはさらに変化幅Ｄ2を減算する。すなわち、仮区間長ＬX[i]についてはステップＳB5からステップＳB7までの処理が省略される。
【００３６】
第２処理部３２は、ステップＳB8における更新後の区間長Ｌが、変数ＬPと再検索幅ＬDとの差分値（ＬP−ＬD）以上であるか否かを判定する（ステップＳB9）。ステップＳB9の結果が肯定である場合、第２処理部３２はステップＳB5に処理を移行する。以上のように、ステップＳB5からステップＳB9においては、仮区間長ＬX[i]を中央値として変化幅Ｄ2ずつ増減させた所定個（「２・ＬD」個）の区間長Ｌについて類似度Ｒが算定されるとともに変数ＬPと変数ＲPとが類似度Ｒの大小に応じて更新される。
【００３７】
ステップＳB9の結果が否定である場合（すなわち、第ｉ番目の仮区間長ＬX[i]を中央値とした「２・ＬD」個の区間長ＬについてステップＳB5からステップＳB9までの処理が完了した場合）、第２処理部３２は、変数ｉに「１」を加算したうえで（ステップＳB10）、加算後の変数ｉが数値Ｎを上回るか否かを判定する（ステップＳB11）。ステップＳB11の結果が否定である場合、第２処理部３２は、ステップＳB10における更新後の変数ｉについてステップＳB2以後の処理を実行する。一方、ステップＳB11の結果が肯定である場合（すなわちＮ個の仮区間長ＬX[1]〜ＬX[N]についてステップＳB2からステップＳB10までの処理が完了した場合）、第２処理部３２は、現段階での変数ＬPを基本周期ＬWとして特定したうえで（ステップＳB12）、図４の処理を終了する。
【００３８】
以上に説明したように、本形態においては、第１に、区間長Ｌを変化幅Ｄ1ずつ変化させながら区間Ｓ1と区間Ｓ2との類似度Ｒを算定することでＮ個の仮区間長ＬXが特定され、第２に、変化幅Ｄ1よりも小さい変化幅Ｄ2ずつ仮区間長ＬXを変化させた「２・ＬD」個の区間長Ｌについて類似度Ｒを算定することで基本周期ＬWが特定される。したがって、最小値ＬMINから最大値ＬMAXまでの全範囲にわたって区間長Ｌを「１」ずつ変化させて類似度Ｒを算定する構成（以下「対比例」という）と比較して、基本周期ＬWを特定するための処理量が削減されるという利点がある。
【００３９】
図５は、類似度Ｒを算定する処理の回数を入力信号ＶINのサンプリング周波数ＦSごとに本形態と対比例とで比較した図表である。同図においては、図２に示したように、変化幅Ｄ1を「４」、変化幅Ｄ2を「１」、第１処理部３１が特定する仮区間長ＬXの個数Ｎを「８」、再検索幅ＬDを「３」とした場合を想定している。また、対比例における類似度Ｒの算定の回数に対する本形態における類似度の算定の回数の割合が「比率」として記載されている。
【００４０】
図５に示すように、入力信号ＶINのサンプリング周波数ＦSが16ｋHzである場合、類似度Ｒを算定する処理の回数は、本形態においては対比例の44.8％まで低減される。また、対比例と比較したときの効果は、サンプリング周波数ＦSが増加するほど顕著となる。例えば、サンプリング周波数ＦSが48ｋHzである場合、本形態によれば対比例の31.6％まで類似度Ｒの算定の回数が削減される。
【００４１】
また、変化幅Ｄ1よりも小さい変化幅Ｄ2ずつ仮区間長ＬXを変化させた各区間長Ｌについて第２処理部３２が類似度Ｒを算定するから、変化幅Ｄ1ずつ変化させた区間長Ｌについてのみ第１処理部３１が類似度Ｒを算定するとは言っても、基本周期ＬWを特定する精度が対比例と比較して不当に低下するということはない。さらに詳述すると以下の通りである。
【００４２】
図６から図８は、入力信号ＶINに設定された区間Ｓ1および区間Ｓ2の区間長Ｌと類似度Ｒとの関係を示すグラフである。図６においては、入力信号ＶINが有声音を示す場合が図示されている。同図に示すように、有声音については区間Ｓ1と区間Ｓ2との波形の類似度Ｒが区間長Ｌに対して周期的に変化するから、変化幅Ｄ1が類似度Ｒの変動の周期よりも小さければ、本形態のように区間長Ｌを変化幅Ｄ1ずつ変化させた場合であっても、第１処理部３１が特定する仮区間長ＬXのなかには、図６において類似度Ｒが最小（最も類似する）となる区間長Ｌに近い仮区間長ＬXが含まれる。したがって、仮区間長ＬXを変化幅Ｄ2ずつ変化させた各区間長Ｌについて第２処理部３２が類似度Ｒを算定することで、図６にて類似度Ｒが最小となる区間長Ｌ（すなわち基本周期ＬW）を対比例と同等の精度で特定することが可能である。
【００４３】
図７は、有声音が存在しない状態（以下「無音の状態」という）で入力信号ＶINが収録された場合を示し、図８は、入力信号ＶINが無声子音を示す場合を示す。無音の状態や無声子音が存在する状態では、類似度Ｒは区間長Ｌに対して不規則に変動する。したがって、第１処理部３１が区間長Ｌを変化幅Ｄ1ずつ変化させる本形態と区間長Ｌを「１」ずつ変化させる対比例とでは、実際に特定される基本周期ＬWが相違する。しかし、無音の状態や無声子音が存在する状態の入力信号ＶINは元来的に周期性に乏しい（明確な基本周期ＬWが現れない）から、区間長Ｌを変化幅Ｄ1ずつ変化させることで基本周期ＬWが対比例と相違するとしても出力信号ＶOUTの音質には殆ど影響しない。以上のように、本形態によれば、基本周期ＬWを特定する精度を対比例と同等に維持しながら処理量を削減できるという利点がある。
【００４４】
＜Ｂ：変形例＞
以上の各形態には様々な変形を加えることができる。具体的な変形の態様を例示すれば以下の通りである。なお、以下の各態様を適宜に組み合わせてもよい。
【００４５】
（１）変形例１  
以上の形態においては変化幅Ｄ1を固定した場合を例示したが、変化幅Ｄ1（サンプル列の間引数）を可変に制御してもよい。例えば、図９に示すように、入力信号ＶINのサンプリング周波数ＦSに応じて変化幅Ｄ1を変化させる構成が採用される。図９の周波数特定部２６は、例えば入力装置（図示略）に対する利用者からの操作や上位装置による指示に基づいて入力信号ＶINのサンプリング周波数ＦSを特定する手段である。第１処理部３１は、周波数特定部２６の特定したサンプリング周波数ＦSが高いほど変化幅Ｄ1が増加するように変化幅Ｄ1を制御する。
【００４６】
変化幅Ｄ1を固定値とした場合には、サンプリング周波数ＦSが増加するほど第１処理部３１による類似度Ｒの算定の回数は増加する。図９の構成によれば、サンプリング周波数ＦSが高いほど変化幅Ｄ1（サンプルＰの間引数）が増加するから、サンプリング周波数ＦSが高い場合であっても、基本周期ＬWの特定の精度を低下させることなく第１処理部３１による類似度Ｒの算定の回数を削減することが可能である。なお、変化幅Ｄ1以外の数値をサンプリング周波数ＦSに応じて変化させてもよい。例えば、仮区間長ＬXの個数Ｎを第１処理部３１がサンプリング周波数ＦSに応じて制御する構成も採用される。例えば、サンプリング周波数ＦSが高いほど個数Ｎを増加させるといった具合である。
【００４７】
（２）変形例２  
有声音には明確な周期性が現れる。したがって、図６ないし図８から把握されるように、入力信号ＶINが有声音を示す場合に、区間長Ｌに対する類似度Ｒの分布幅（類似度Ｒの最大値ＲMAXと最小値ＲMINとの差分値）ΔＲは、入力信号ＶINが無音の状態を示す場合や無声子音を示す場合（すなわち入力信号ＶINに周期性が現れない場合）と比較して充分に大きい。換言すると、類似度Ｒの分布幅ΔＲが大きい場合には入力信号ＶINが有声音を示し、類似度Ｒの分布幅ΔＲが小さい場合には入力信号ＶINが無音の状態または無声子音を示すという傾向がある。一方、無音や無声子音を示す入力信号ＶINには明確な周期性が現れないから、そもそも基本周期ＬWを厳密に探索する意義に乏しい。
【００４８】
したがって、第１処理部３１が複数の区間長Ｌについて算定した類似度Ｒの分布幅ΔＲが小さい場合（すなわち入力信号ＶINが無音や無声子音を示す可能性が高い場合）には第２処理部３２による処理量を低減させる構成が好適に採用される。例えば、第１に、類似度Ｒの分布幅ΔＲが小さいほど、ステップＳB4やステップＳB9で利用される再検索幅ＬD（すなわち第２処理部３２が類似度Ｒを算定する回数）を第２処理部３２が減少させるといった構成が採用される。第２に、分布幅ΔＲが所定の閾値を下回る場合には第２処理部３２が図４の処理（特に類似度Ｒの算定）を停止する構成も採用される。図４の処理を停止した場合、第２処理部３２は、例えば、入力信号ＶINに拘わらず予め定められた基本周期ＬWを圧伸処理部２４に指定する。
【００４９】
以上の構成によれば、入力信号ＶINが無音や無声子音を示す場合の第２処理部３２の処理量を削減することが可能である。なお、第２処理部３２の処理が簡略化または省略されるとは言っても、入力信号ＶINが有声音である場合には以上の形態と同様に基本周期ＬWが特定されるから、出力信号ＶOUTについては以上の形態と同等の音質を維持することが可能である。
【００５０】
（３）変形例３  
図３や図４の処理に使用される各数値は適宜に変更される。例えば、再検索幅ＬDを変化幅Ｄ1よりも大きい数値に設定した構成によれば、基本周期ＬWをさらに高い精度で特定することが可能となる。なお、再検索幅ＬDが変化幅Ｄ1よりも大きい場合には、第２処理部３２が類似度Ｒを算定する範囲（「ＬX＋ＬD・Ｄ2」から「ＬX−ＬD・Ｄ2」までの範囲）内に、第１処理部３１が既に類似度Ｒを算定した区間長Ｌが含まれる。したがって、類似度Ｒが既に算定された区間長Ｌについては、ステップＳB5からステップＳB8までの処理を第２処理部３２が省略する構成も採用される。
【００５１】
（４）変形例  
変化幅Ｄ1ずつ変化させた全部の区間長Ｌの類似度Ｒを第１処理部３１が記憶回路１０に格納しておき、第２処理部３２が、記憶回路１０内の類似度Ｒが高い順番に選択したＮ個の区間長Ｌを仮区間長ＬXとして図４の処理を実行する構成も採用される。すなわち、第１処理部３１による処理（図３）のなかでＮ個の仮区間長ＬXが絞り込まれる構成は必ずしも必要ではない。
【００５２】
（５）変形例５  
基本周期特定部２２は時間軸圧伸装置１００以外にも使用される。例えば、基本周期ＬWの逆数をピッチとして出力するピッチ検出装置において入力信号ＶINから基本周期ＬWを特定するために基本周期特定部２２を使用してもよい。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施形態に係る時間軸圧伸装置の構成を示すブロック図である。
【図２】第１処理部および第２処理部の動作を説明するための概念図である。
【図３】第１処理部の動作を示すフローチャートである。
【図４】第２処理部の動作を示すフローチャートである。
【図５】本発明の効果を説明するための図表である。
【図６】入力信号ＶINが有声音を示す場合の区間長と類似度との関係を示すグラフである。
【図７】入力信号ＶINが無音を示す場合の区間長と類似度との関係を示すグラフである。
【図８】入力信号ＶINが有声子音を示す場合の区間長と類似度との関係を示すグラフである。
【図９】変形例に係る時間軸圧伸装置の構成を示すブロック図である。
【符号の説明】
【００５４】
１００……時間軸圧伸装置、１０……記憶回路、２０……制御回路、２２……基本周期特定部、２４……圧伸処理部、３１……第１処理部、３２……第２処理部、４０……出力回路、ＶIN……入力信号、ＶOUT……出力信号。
【図１】
2008209447.tif 000003
【図２】
2008209447.tif 000004
【図３】
2008209447.tif 000005
【図４】
2008209447.tif 000006
【図５】
2008209447.tif 000007
【図６】
2008209447.tif 000008
【図７】
2008209447.tif 000009
【図８】
2008209447.tif 000010
【図９】
2008209447.tif 000011