(57)【要約】【課題】音声品質の劣化の小さい音声波形データ伸縮処理を実行する音声処理装置、音声処理方法及びプログラムを提供する。【解決手段】音声処理装置１１０１は、入力装置１１１１を介して指示された倍率で音声信号を伸縮する。制御部１１２１は伸縮処理対象の音声波形データを所定の区分データに分割をする。分割をする際に、区分データの一様性が高くなるように分割の起点となるデータを決める。制御部１１２１は、新規区分データの挿入または置換を行うにあたって、伸縮処理を行う処理対象区分の優先順位をつける。処理対象の区分データに基づいて挿入または置換するための新規区分データを作成し、該優先順位に従って新規区分データの挿入または置換を繰り返すことにより、音声信号を徐々に伸張処理または縮小処理していく。【選択図】図１
2016065901.tif 000002
【特許請求の範囲】
【請求項１】
時系列音声波形データから、特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして複数の区分データ列を作成させる区分データ列作成手段と、
該区分データ列作成手段により作成された区分データ列ごとに、区分データ列の一様性を求める音声品質推定手段と、
該音声品質推定手段で求めた一様性が最も高い区分データ列を選択する区分データ列選択手段と、
前記区分データ列選択手段によって選択された区分データ列に対して、区分ごとに一様性を求める一様性評価手段と、
一様性が高い区分ほど処理の優先順位を高く設定する処理区分順位決定手段と、
処理区分順位にしたがって処理対象区分を決定する処理対象区分決定手段と、
該処理対象区分決定手段によって決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成する新規区分データ作成手段と、
該処理対象区分決定手段によって決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換する、新規区分データ挿入置換手段と、
前記新規区分データ挿入置換手段により処理された区分データ列を音声波形データとして出力する音声波形データ出力手段と、
を備える音声処理装置。
【請求項２】
前記区分データ列作成手段は、時系列音声波形データを、起点を切り替えつつ順次区分することにより、複数の区分データ列を作成する、
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記音声品質推定手段は、区分データ列作成手段で作成した複数の区分データ列について区分データ列ごとに、区分ごとのデータの周期性を求め、この周期性の平均値をそれぞれの区分データ列の一様性の判断指標とし、
前記一様性評価手段は、選択された区分データ列について、区分ごとにデータの周期性を求め、その周期性が高い順に処理対象とする区分の優先順位を決める、
ことを特徴とする請求項１又は２に記載の音声処理装置。
【請求項４】
前記音声品質推定手段は、区分データ列作成手段で作成した複数の区分データ列について区分データ列ごとに、隣接する区分データの相関性の平均値を求め、この平均値をそれぞれの区分データ列の一様性の判断指標とし、
前記一様性評価手段は、選択された区分データ列について、隣接する区分データの相関性が高い順に、処理対象とする区分の優先順位を決める、
ことを特徴とする請求項１又は２に記載の音声処理装置。
【請求項５】
時系列音声波形データを伸縮処理するにあたって、
特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして複数の区分データ列を作成させる区分データ列作成ステップと、
該区分データ列作成ステップにより作成された区分データ列ごとに、区分データ列の一様性を求める音声品質推定ステップと、
該音声品質推定ステップで求めた一様性が最も高い区分データ列を選択する区分データ列選択ステップと、
前記区分データ列選択ステップによって選択された区分データ列に対して、区分ごとに一様性を求める一様性評価ステップと、
一様性が高い区分ほど処理の優先順位を高く設定する処理区分順位決定ステップと、
処理区分順位にしたがって処理対象区分を決定する処理対象区分決定ステップと、
該処理対象区分決定ステップによって決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成する新規区分データ作成ステップと、
該処理対象区分決定ステップによって決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換する、新規区分データ挿入置換ステップと、
前記新規区分データ挿入置換ステップにより処理された区分データ列を音声波形データとして出力する音声波形データ出力ステップと、
を備える音声処理方法。
【請求項６】
コンピュータを、
時系列音声波形データを伸縮処理するにあたって、
特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして、複数の区分データ列を作成し、
該区分データ列ごとに、区分データ列の一様性を求め、
一様性が最も高い区分データ列を選択し、
選択された区分データ列に対して、区分ごとに一様性を求め、
一様性が高い区分ほど処理の優先順位を高く設定し、
処理区分順位にしたがって処理対象区分を決定し、
決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成し、
決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換することにより、伸縮処理された音声波形データとして出力する、
音声伸縮装置として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号を伸張処理もしくは縮小処理する音声処理装置、音声処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
英会話教材で聞き取りにくい部分をゆっくり再生するような場面では、音声波形データの伸張処理が必要である。一方、録音された会議や講演の内容を短時間で把握したいような場面では、音声波形データの縮小処理が必要である。
【０００３】
特許文献１は、音声波形データを複数の区分データに分割し、隣接する区分データに基づいて新たな区分データを生成し、区分間に適宜挿入することによって、音声波形データの伸張処理を行う音声波形データ伸縮方法を開示している。
【０００４】
しかしながら、特許文献１に記載の音声波形データ伸縮方法では、伸縮処理された音声波形データの音質が劣化してしまうという問題がある。
このような問題に対処するために、特許文献２には、音質の劣化を抑えた音声波形データ伸縮方法が開示されている。この音声波形データ伸縮方法は、相関性の高い隣接区分データを選択し、選択した隣接区分データ間に新たに生成した区分データを追加することにより音声波形データを伸張し、また、選択した隣接区分データを新たに生成した区分データに置換することにより、音声波形データを縮小する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７５０１０号公報
【特許文献２】特開２００８−４６１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に開示された音声波形データ伸縮技術を用いても、音声波形データの伸縮倍率が高くなり、処理対象の区分データの数が多くなると、伸縮処理後の音声が不自然になる場合がある。
【０００７】
本発明は、上記問題点に鑑みてなされたもので、音声品質の劣化の小さい音声波形データ伸縮処理を実行する音声処理装置、音声処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る音声処理装置は、
時系列音声波形データから、特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして複数の区分データ列を作成させる区分データ列作成手段と、
該区分データ列作成手段により作成された区分データ列ごとに、区分データ列の一様性を求める音声品質推定手段と、
該音声品質推定手段で求めた一様性が最も高い区分データ列を選択する区分データ列選択手段と、
前記区分データ列選択手段によって選択された区分データ列に対して、区分ごとに一様性を求める一様性評価手段と、
一様性が高い区分ほど処理の優先順位を高く設定する処理区分順位決定手段と、
処理区分順位にしたがって処理対象区分を決定する処理対象区分決定手段と、
該処理対象区分決定手段によって決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成する新規区分データ作成手段と、
該処理対象区分決定手段によって決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換する、新規区分データ挿入置換手段と、
前記新規区分データ挿入置換手段により処理された区分データ列を音声波形データとして出力する音声波形データ出力手段と、
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、音声品質の劣化の小さい音声波形データ伸縮処理を実行できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係る音声処理装置のブロック図である。
【図２】処理対象である音声波形データを区分データに分割して、区分データ列を作成する処理について説明するための図である。
【図３】本発明の実施形態１に係る音声処理装置の異なるデータを起点とする複数の区分データ列を作成し、その中から処理対象とする区分データ列を選択する処理を説明するためのフローチャート図である。
【図４】異なるデータを起点とする複数の区分データ列を作成する処理を説明するための図である。
【図５】本発明の実施形態１に係る音声処理装置の音声伸張処理を説明するためのフローチャート図である。
【図６】連続する２つの区分データに基づいて新規区分データを生成し、それを挿入して音声波形データを伸張する処理について説明するための図である。
【図７】本発明の実施形態２に係る音声処理装置の音声縮小処理を説明するためのフローチャート図である。
【図８】連続する２つの区分データに基づいて新規区分データを生成し、それをもとの２つの区分データと置換して、音声波形データを縮小する処理について説明するための図である。
【図９】本発明の実施形態３に係る音声処理装置において、異なるデータを起点とする複数の区分データ列を作成し、その中から処理対象とする区分データ列を選択する処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【００１１】
以下本発明の実施形態に係る音声処理装置と音声処理方法について、図面を参照しながら説明する。
【００１２】
（実施形態１）
本発明の実施形態１に係る音声処理装置について図面を参照しながら説明する。
実施形態１に係る音声処理装置１１０１は、図１に示すように、制御部１１２１と、入力制御部１１３１と、出力制御部１１３３と、プログラム格納部１１３５と、記憶部１１３７と、外部メモリインタフェース（ＩＦ）１１３９とを備える。
【００１３】
入力制御部１１３１には入力装置１１１１が接続され、出力制御部１１３３には出力装置１１１３が接続される。また、外部メモリＩＦ１１３９には記録媒体１１１５が着脱可能に接続される。
【００１４】
入力装置１１１１は、例えば、キーボードやポインティングデバイスから構成され、ユーザの操作に応答して、指示やデータを入力する。出力装置１１１３は、例えば、ディスプレイやスピーカから構成さ、種々のデータを出力する。記録媒体１１１５は、ＣＤ−ＲＷ（Compact Disk Re-Writable）やＵＳＢ（Universal Serial Bus）等の記録媒体から構成され、音声波形データを記録する。
【００１５】
音声処理装置１１０１は、入力制御部１１３１から指示を受けて、記録媒体１１１５から外部メモリＩＦ１１３９を介して入力された時系列音声波形データを、データ数が指定された倍数となるように伸張処理し、記録媒体１１１５に出力する。
【００１６】
なお、この実施形態では、図２に示す時系列音声波形データは、アナログの音声波形データを特定のサンプリング周期（例えば、８ｋＨｚ）でサンプリングして、量子化することにより得られたデジタル音声波形データであるとする。
【００１７】
音声処理装置１１０１は、入力制御部１１３１と、出力制御部１１３３と、プログラム格納部１１３５と、記憶部１１３７と、外部メモリＩＦ１１３９と、制御部１１２１と、を備える。
【００１８】
入力制御部１１３１は、入力装置１１１１から入力データを取り込み、制御部１１２１に供給するインタフェースユニットである。
出力制御部１１３３は、制御部１１２１からの指示に従って、出力装置１１１３を制御し、様々なデータを出力する。
プログラム格納部１１３５は、ＲＯＭ（Read Only Memory）、フラッシュメモリ等で構成され、制御部１１２１が実行するＡＭＤＦ（Average Magnitude Difference Function：平均振幅差関数）処理プログラムを含む音声処理プログラムを格納する。
記憶部１１３７は、ハードディスク装置やＲＡＭ（Random Access Memory）などの記憶装置から構成され、制御部１１２１のワークエリアとして使用される。
外部メモリＩＦ１１３９は、制御部１１２１の制御に従って、装着されている記憶媒体１１１５にアクセスする。
制御部１１２１は、プロセッサ等から構成され、プログラム格納部１１３５に格納されている音声処理プログラムを実行し、音声波形データを伸張する等の処理を実行する。
【００１９】
次に、制御部１１２１が実行する伸張処理の概要について説明する。
制御部１１２１は、時系列音声波形データを複数の区分データに分割し、いずれかの区分データを選択し、選択した区分データとその隣接区分データとの間に新たに生成した区分データを追加することにより音声波形データを伸張する。このような伸張処理を行う場合、区分データの一様性が高くなるように、時系列音声波形データを区分することが望ましい。
しかしながら、一様性が高くなるように、時系列音声波形データを区分することは容易ではない。そこで、制御部１１２１は、複数パターンの区分データ列を生成し、最も一様性の高い区分データ列を選択し、選択した区分データ列に伸張処理を施す。
【００２０】
以下、複数パターンの区分データ列を生成し、最も一様性の高い区分データ列を選択する処理を、図３を参照して詳細に説明する。
【００２１】
まず、ユーザは、入力装置１１１１を操作して、伸張処理対象の時系列音声波形データを指定する情報と、伸張倍率と、分割の起点となるデータを何個おきに設定するかを指示するパラメータαを指定し、続いて、伸張処理の開始を指示する。
指示に応答して、制御部１１２１は、図３に示す区分データ列作成処理を開始し、まず、指定された時系列音声波形データを、例えば、記録媒体１１１５から外部メモリＩＦ１１３９を介して記憶部１１３７に転送する（ステップＳ１３０１）。
【００２２】
まず、制御部１１２１は、図２に例示する時系列音声波形データの分割の開始位置を示すパラメータＡに初期値１を設定する（ステップＳ１３０２）。また、続いて、制御部１１２１は、パラメータＡで特定されるデータから時系列音声波形データの分割処理を開始したときの、最初の区分データに含まれるデータの数ｐｌ（１）を、ＡＭＤＦプログラムを実行して求め、このｐｌ（１）をＭｍａｘに設定する。（ステップＳ１３０２）。分割の起点となるデータより若番のデータは、音声処理の対象外となる。したがって、分割の起点データをｐｌ（１）以下とすることにより、音声波形データの喪失を防止している。
【００２３】
次に、制御部１１２１は、区分データの先頭データの位置を示す変数ＰｔｒにＡをセットする。ここでは、Ａ＝１であるため、Ｐｔｒ＝Ａ＝１である（ステップＳ１３０３）。これにより、図２に示す時系列音声波形データの分割処理の開始点が第１番目のデータとされ、最初の区分データの先頭データが時系列音声波形データの第１番目のデータに設定される。
【００２４】
次に、最初の区分データ列の第１の区分データＳ１を作成するために、区分の番号を示す変数ｊをｊ＝１に設定する（ステップＳ１３０４）。
続いて、制御部１１２１は、時系列音声波形データのＰｔｒ番目のデータを起点として、ＡＭＤＦプログラムを用いて、図２に示すように区分データＳｊを作成し、区分データＳｊに含まれるデータ数ｐｌ（ｊ）と対応付けて記憶部１１３７に格納する（ステップＳ１３０５）。ここでは、変数Ｐｔｒ＝ｊ＝１に設定されているので、時系列音声波形データの第１番目のデータを起点として、１番目の区分データＳ１を作成し、区分データＳ１とデータ数ｐｌ（１）とを対応付けて格納する。
続いて、制御部１１２１は、次の区分データＳ２を作成する準備のために、Ｐｔｒを区分データＳ１の最終データの次のデータの番号に合わせる（ステップＳ１３０６）。
【００２５】
制御部１１２１は、次の分割の起点となるデータから時系列音声波形データの最終データまでのデータ数（残データ数）が、ＡＭＤＦ計算に必要な最小データ数以上であるか否かを判別する（ステップＳ１３０７）。残データ数が、ＡＭＤＦ計算に必要な最小データ数以上であると判別された場合は（ステップＳ１３０７：Ｙｅｓ）、次の区分データを作成するために、「ｊ＝ｊ＋１」とし（ステップＳ１３０８）、ステップＳ１３０５にリターンし、更新されたＰｔｒ番目のデータを起点として区分データを生成する。この例では、２番目の区分データＳ２を作成する。
【００２６】
制御部１１２１は、処理を繰り返すことによって、時系列音声波形データから１つの区分データ列Ｓ=｛Ｓ1、Ｓ2、・・・、Ｓｊ、・・・、ＳN｝を作成する。
【００２７】
一方、ステップＳ１３０７で、残データ数が必要最小データ数未満であると判別された場合（ステップＳ１３０７：Ｎｏ）、次の分割が困難なため、区分データの作成処理を終了し、ステップＳ１３０９に進む。
【００２８】
以上の処理で、１つ目の区分データ列Ｓの作成処理を終えたので、制御部１１２１は、その区分データ列の周期性の程度を示す平均スコアＳｃｏｒｅを、式（１）を用いて計算する（ステップＳ１３０９）。この平均スコアは、今回作成された区分データ列の一様性の程度を表す指標の例であり、データの周期性（データの繰り返しの単調性）が高いほどスコアが小さくなる。
【００２９】
平均スコアＳｃｏｒｅ＝（ΣＰｊ）／ｍ                    ．．．（１）
ｊ＝１〜ｍ
ここで、Ｐｊは、各区分データの周期性のスコアを表し、式（２）で表される。
Ｐｊ＝ｍｉｎ［ＡＭＤＦ（τ）］                    ．．．（２）
ｍｉｎ［ＡＭＤＦ（τ）］は、ＡＭＤＦ（τ）のτをτ＝１〜ｐｌ（ｊ）まで変化させた最小値である。ここで、τは、データの間隔を表す変数である。図２に示す例では、τは３データ分の間隔であるので、τ＝３である。ＡＭＤＦ（τ）は、区分データ内のデータの周期性を表し、式（３）で表される。
ＡＭＤＦ（τ）＝Σ｜Ｓ（ｉ）−Ｓ（ｉ＋｜τ｜）｜        ．．．（３）
ｉ＝１〜（ｐｌ（ｊ）−τ）
【００３０】
制御部１１２１は、作成された区分データ列の中で、平均スコアＳｃｏｒｅが最も小さい、即ち、周期性の最も高い区分データ列を残す。この例では、最初の区部データ列が求められた段階であるので、今回求められた、先頭データを起点とする区分データ列が残される（ステップＳ１３１０）。
【００３１】
以上で、１つ目の区分データ列を求める処理が終了する。
次に、制御部１１２１は、起点となるデータを変更して、次の区分データ列を求めるために、起点データを示すＡにステップＳ１３０２でユーザにより指定されたαを加算し、Ａ＝Ａ＋αとする（ステップＳ１３１１）。
次に、制御部１１２１は、更新されたＡ、即ち、分割処理の起点となるデータが、ステップＳ１３０２で求めた上限値Ｍｍａｘ以上となったか否かを判別する（ステップＳ１３１２）。この例では、まだ、１＋αなので、Ｎｏと判別され、フローは、ステップＳ１３０３にリターンし、更新されたＡに基づいて、時系列音声波形データのＡ番目のデータを起点として、前述したと同様の処理により、２番目の区分データ列を生成し、平均スコアを計算する（ステップＳ１３０３〜Ｓ１３０９）。
次に、制御部１１２１は、今回作成された区分データ列の平均スコアと、以前の処理で生成されてステップＳ１３１０の処理で残されている平均スコアとを比較し、平均スコアの小さい方の区分データ列を残す（ステップＳ１３１０）。
以後、Ａを更新して、Ａ≧Ｍｍａｘと判別されるまで、同様の処理を繰り返して、起点データをα個おきに起点として、区分データ列を順次生成する（ステップＳ１３０３〜Ｓ１３１２）。
区分データ列の生成が終了すると、ステップＳ１３１２で、Ａ≧Ｍｍａｘと判別され（ステップＳ１３１２：Ｙｅｓ）、制御部１１２１は、残されている区分データ列をワークエリアＳＢＥＳＴに格納して伸張処理の対象とし（ステップＳ１３１３）、今回の処理を終了する。
ワークエリアＳＢＥＳＴに格納された区部データ列は、時系列音声波形データの分割起点データを、α個おきに順次選択して求めた複数の区分データ列のうちで、周期性が最も高い区分データ列である。
【００３２】
ここで、上述した区分データ列作成処理について、図４を参照して具体例に基づいて説明する。
図４（ａ）に時系列音声波形データの一例を示す。
ここで、理解を容易にするため、即ち、音声波形データの第１番目のデータを起点として区分データ列を生成したときの最初の区分データＳ1に含まれるデータの数が１００個、起点として選択するデータをシフトする数を示すパラメータαを１０として、以下説明する。
制御部１１２１は、初期値として、Ｐｔｒ＝Ａ＝１をセットする（ステップＳ１３０２、Ｓ１３０３）。図４（ａ）の時系列音声波形データのＰｔｒ番目のデータ、即ち、先頭データを起点として分割を行うと、図４（ｂ）に示すように、先頭データを起点とした区分データＳ1が作成される（ステップＳ１３０５）。次に、制御部１１２１は、区分データＳ1の最終データの次のデータを起点として、次の区分データＳ２を作成する。この処理を繰り返すことにより、先頭データを起点とする図４（ｂ）の区分データ列が作成される。
【００３３】
次に、制御部１１２１は、Ａにαを加算して（ステップＳ１３１１）、Ａ＝１１とし、時系列音声波形データの先頭データから１０個のデータを飛ばした１１番目のデータを起点として分割を開始し、図４（ｃ）に示す区分データ列を作成する。
次に、制御部１１２１は、Ａにαを加算して（ステップＳ１３１１）、Ａ＝２１とし、２１番目のデータを起点として分割を開始し、図４（ｄ）に示す区分データ列を作成する。以後、同様の処理を繰り返して、３１番目、４１番目、．．．９１番目のデータを起点として区分データ列を作成する。
処理が進み、Ａ＝１０１となると、ステップＳ１３１２で、Ａ≧Ｍｍａｘと判別され、区分データ列の作成は終了する。
この時点で、合計で１０個の区分データ列が作成され、平均スコアの最も小さい即ち、周期性の最も高い区分データ列がワークエリアＳＢＥＳＴに格納される（ステップＳ１３１３）。
【００３４】
制御部１１２１は、図３のステップＳ１３１３で伸張処理の対象となる区分データ列を選択したので、この区部データ列を伸張する処理を実行する。この伸張処理を図５のフローチャートを参照して説明する。伸張処理は、時系列音声波形データを区分データに分割し、分割後の区分データを評価して、区分データを適宜選択し、選択した区分データと隣接する区分データとの間に新規データを追加することによりデータを伸張処理する。
以下、データの周期性に基づいて、区分データを選択して、伸張処理を行う具体例を説明する。
伸張処理を行う際、周期性が高い区分データの境界に新規区分データを挿入した方が、音声の不自然さを生じにくい。制御部１１２１は、区分データの周期性を評価して、周期性が高い順に、区分データの境界に新しい区分データを挿入する。
【００３５】
制御部１１２１は、区分データの周期性を比較するために、前述したＡＭＤＦの計算式を用い、各区分データ内のデータの周期性を、前述の式（２）より求める（ステップＳ１５０１）。
【００３６】
次に、式（２）に示す区分データＳｊの周期性の程度を示す指標Ｐｊが小さい区分の境界に優先して新規区分データを挿入するため、制御部１１２１は、Ｐｊを昇順にソートし、Ｋ番目に周期性が高いＰｊと、Ｐｊに対応する区分データＳｊとをセットにした｛Ｋ、Ｐｊ、Ｓｊ｝からなるテーブルを作成する（ステップＳ１５０２）。これは、区分データＳjと区分データＳj+1との境界が、伸張用の新規区分データの挿入先としてはＫ番目の候補であることを意味する。
【００３７】
次に、新規区分データの挿入先として、優先順位の最も高い区分データ、即ち、Ｋ＝１に設定された区分データＳｊとＳｊ＋１の間を特定する（ステップＳ１５０３）。
次に、ＳｊとＳｊ＋１に基づいて、挿入する区分データを新たに作成するために、区分データＳｊと、時系列音声波形データのうち、区分データＳｊ＋１の先頭データから始まり、区部データＳｊのデータ数ｐｌ（ｊ）と同一数のデータをＳｊ’としてロードする（ステップＳ１５０４）。これは、ＳｊとＳｊ＋１とでは、含まれているデータの数が同一とは限らないので、Ｓｊ＋１をそのままでは、区分データの生成に使用できないためである。
【００３８】
次に、制御部１１２１は、区分データＳj｛ｓj、1、・・・、ｓj、pl(j)｝と、区分データＳｊ’｛ｓｊ’、1、・・・、ｓｊ’、pl(j)｝とから、新規区分データＤj＝｛ｄj、1、・・・、ｄj、pl(j)｝を、生成する（Ｓ１５０５）。区分データＳjと区分データＳｊ’から新規区分データを生成する手法は任意である。例えば、図６（ｂ）に示すように、Ｓｊについては、スタート点を「０」、終了点を「１」とする重み係数を各構成データに乗算し、Ｓj’については、スタート点を「１」、終了点を「０」とする重み係数を各構成データに乗算し、図６（ｃ）に模式的に示すように、両者を加算し新規区分データＤｊを作成することができる。こうして作成された新規区分データＤｊは、挿入先の境界の両側の２個の区分データと近似する周期性を有しているとともに、連続性も有している。
【００３９】
続いて、制御部１１２１は、作成した新規区分データＤｊを、図６（ｄ）に例示するように、元の区分データＳｊとＳj+1の間に挿入することにより、音声波形データの長さを伸張する（ステップＳ１５０６）。
図２を参照して説明すると、区分データＳｊのデータ数がｐｌ（ｊ）個で、データの間隔がｑであるとすると、区分データの１回の挿入で、｛ｐｌ（ｊ）×ｑ｝の時間ずつ、時系列音声波形データは伸張される。
【００４０】
次に、制御部１１２１は、伸張処理の目標倍率を達成しているかを判別するために、ステップＳ１５０６で伸張された区分データ列のデータ長を測定する（ステップＳ１５０７）。
【００４１】
制御部１１２１は、ステップＳ１５０７で（測定されたデータ長≧元のデータ長×伸張目標値）が成立しているか否かを判別する（ステップＳ１５０８）。
【００４２】
ステップＳ１５０８で、（測定されたデータ長＜元のデータ長×伸張目標値）の場合（ステップＳ１５０８；Ｎｏ）、制御部１１２１は、優先順位を表すカウンタＫを１だけ増加し（ステップＳ１５０９）、次の区分データを挿入処理するために、ステップＳ１５０４に戻る。
【００４３】
一方、ステップＳ１５０８で、（測定されたデータ長≧元のデータ長×伸張目標値）の場合（ステップＳ１５０８；Ｙｅｓ）、これ以上の伸張処理は不要なので、制御部１１２１は伸張処理を終了する。制御部１１２１は、この時点における区分データ列を伸張処理の最終結果として外部メモリＩＦ１１３９を介して記録媒体１１１５に記録する。また、伸張処理完了の旨を出力制御部１１３３を介して出力装置１１１３に出力してユーザに知らせる。
【００４４】
以上に説明したように、実施形態１に係る音声処理装置と音声処理方法によれば、時系列音声波形データを区分データに分割して音声処理を行う際に、周期性の高い、即ち、一様性の高い区分データ列に伸張処理を施す。従って、多くの区分に伸張用の区分データを挿入しても、音声の不自然さを生じにくい。
【００４５】
（実施形態２）
実施形態１においては、データ伸張処理について説明したが、この発明は、データ縮小処理についても適用可能である。以下、実施形態２として、縮小処理を実行する音声処理装置について説明する。
実施形態２の音声処理装置の構成は図１に示す音声処理装置１１０１と同一であり、区分データ列作成処理も図３を用いて説明した処理と同一であるが、伸張処理の代わりに縮小処理を行う。
そこで、以下、実施形態１と異なる縮小処理について説明する。
縮小処理においては、周期性が高い区分データと隣接する区分データとを１個の新規区分データと置換する処理を繰り返すことにより、音声波形データを縮小する。
【００４６】
縮小処理を開始すると、制御部１１２１は、置換対象とする区分データの優先順位を決めるため、データの周期性を区分データごとに計算し（ステップＳ１７０１）、周期性が高い順にソートした｛Ｋ、Ｐｊ，Ｓｊ｝のデータテーブルを作成する（ステップＳ１７０２）。  
【００４７】
次に、制御部１１２１は、図８に示すように、置換対象の２個の区分データを利用して、縮小用の新規区分データを作成する。
【００４８】
次に、置換対象の区分データとして、優先順位の最も高い区分データ、即ち、Ｋ＝１に設定された区分データＳｊとＳｊ＋１を特定する（ステップＳ１７０３）。
次に、置換する区分データを新たに作成するために、区分データＳｊと、区分データＳｊ＋１の先頭データから始まり、区部データＳｊのデータ数ｐｌ（ｊ）と同一数のデータをＳｊ’としてロードする（ステップＳ１７０４）。これは、ＳｊとＳｊ＋１とでは、含まれているデータの数が同一とは限らないからである。
【００４９】
次に、制御部１１２１は、区分データＳj｛ｓj、1、・・・、ｓj、pl(j)｝と、区分データＳｊ’｛ｓｊ’、1、・・・、ｓｊ’、pl(j)｝とから、新規区分データＣj＝｛ｃj、1、・・・、ｃj、pl(j)｝を、生成する（Ｓ１７０５）。区分データＳjと区分データＳｊ’から新規区分データを生成する手法は任意である。例えば、図８（ｂ）に示すように、Ｓｊについては、スタート点を「１」、終了点を「０」とする重み係数を各構成データに乗算し、Ｓj’については、スタート点を「０」、終了点を「１」とする重み係数を各構成データに乗算する。
続いて、図８（ｃ）に模式的に示すように、両者を加算し新規区分データＣｊを作成する。
【００５０】
続いて、制御部１１２１は、作成した新規区分データＣｊで、図８（ｄ）に例示するように、元の区分データＳｊとＳj+1とを置換することにより、音声波形データを縮小する（ステップＳ１７０６）。図２を参照して説明すると、１回の置換処理によって、１区分分のデータが減少するのであるから、区分データＳｊのデータ数がｐｌ（ｊ）個で、データの間隔がｑであるとすると、区分データの１回の置換で、｛ｐｌ（ｊ）×ｑ｝の時間ずつ、時系列音声波形データは縮小される。
【００５１】
次に、制御部１１２１は、縮小処理の目標倍率を達成しているかを判別するために、縮小された区分データ列のデータ長を測定する（ステップＳ１７０７）。
【００５２】
制御部１１２１は、（測定されたデータ長≦元のデータ長×縮小目標値）が成立しているか否かを判別し（ステップＳ１７０８）、成立していなければ、カウンタＫを１だけ増加し（ステップＳ１７０９）、ステップＳ１７０４に戻る。
【００５３】
一方、ステップＳ１７０８で、（測定されたデータ長≦元のデータ長×縮小目標値）の場合（ステップＳ１７０８；Ｙｅｓ）、これ以上の縮小処理は不要なので、縮小処理を終了する。制御部１１２１は、この時点における区分データ列を縮小処理の最終結果として外部メモリＩＦ１１３９を介して記録媒体１１１５に記録する。また、縮小処理完了の旨を出力制御部１１３３を介して出力装置１１１３に出力してユーザに知らせる。
【００５４】
以上に説明したように、実施形態２に係る音声処理装置と音声処理方法によれば、時系列音声波形データを区分データに分割して音声処理を行う際に、周期性の高い、即ち、一様性の高い区分データ列に縮小処理を施す。従って、多くの処理対象となる区分データと縮小用の区分データとを置換しても、音声の不自然さを生じにくい。
【００５５】
（実施形態３）
実施形態１と２では、データの一様性の評価指標として、データの周期性を用いた。しかし、この発明は、これに限定されず、データの一様性を特定できるならば、任意の指標を使用可能である。以下、データの一様性の指標として、隣接する区分データの相関の程度を示す相関値を用いる例を説明する。
【００５６】
ユーザがデータ伸縮処理を指示すると制御部１１２１は、図９の区分データ列作成処理を開始し、まず、時系列音声波形データを分割する際の起点データを特定するパラメータＡを１に設定し、さらに、その上限値Ｍｍａｘを、最初の区分データＳ１内のデータ数ｐｌ（１）に設定する（ステップＳ１９０１）。
【００５７】
時系列音声波形データのＡ番目のデータを起点として、区分データ列を作成する（ステップＳ１９０２）。
【００５８】
起点位置ポインタＡ≧Ｍｍａｘであるか否かを判別し（ステップＳ１９０３）、Ａ＜Ｍｍａｘであれば（ステップＳ１９０３：Ｎｏ）、起点位置ポインタＡを更新して、Ａ＝Ａ＋αとし（ステップＳ１９０４）、起点となるデータを変更して、ステップＳ１９０２にリターンし、次の区分データ列を作成する。
【００５９】
制御部１１２１は、同様の処理を繰り返し、複数の区分データ列を作成する。
【００６０】
Ａ≧Ｍｍａｘが成立した場合（ステップＳ１９０３：Ｙｅｓ）、区分データ列の作成は終了し、作成された区分データ列Ｓを記憶部１１３７に格納する（ステップＳ１９０５）。
【００６１】
次に、制御部１１２１は、作成した複数の区分データ列の中から、伸縮処理の対象とする区分データ列を選択するため、区分データ間の相関性が最も高い区分データ列を選択する。なお、本実施形態では、区分データ列の相関性の評価指数として、平均２乗誤差を用いた乖離度を使用する。
【００６２】
具体的には、制御部１１２１は、１つの区分データ列をロードし（ステップＳ１９０６）、その中の区分データの順番を示すポインタｊを更新しながら、区分データＳｊと、Ｓｊの最終データの次のデータから、Ｓｊに含まれているデータの数ｐｌ（ｊ）個と同じ数のデータで構成される区分データＳｊ’をロードして乖離度の計算を行う。
【００６３】
隣接する区分データＳjとＳj’との乖離度ｅjは、区分データＳｊに含まれるデータの数がｐｌ（ｊ）個とすると、
ｅj＝｛（ｓj、1−ｓj’、1）2＋・・・＋（ｓj、pl(j)−ｓj’、pl(j)）2｝／ｐｌ（ｊ）
として求められる。なお、ｓj,iは、ｊ番目の区分データのｉ番目のデータを示す。
図２に例示する時系列音声波形データでは、隣接する区分データが近似した波形である。このような場合には隣接する区分データの各対応するデータの値は近似しているので乖離度は小さくなる。
この計算を区分データ列を構成する全ての区分データについて行い、式（４）により、その平均値Ｅ（Ａ＝１）を求める（ステップＳ１９０７）。
Ｅ（Ａ＝１）＝１／（Ｎ−１）・Σ｛ｅ１、ｅ２、・・・・・・ｅＮ−１｝    ．．．（４）
このＥ（Ａ＝１）が、先頭データを分割の起点とした区分データ列の乖離度の平均値である。
【００６４】
全ての区分データ列について乖離度の平均値の計算が終了したか否かを判別する（ステップＳ１９０８）。Ａ＜Ｍｍａｘと判別すると（ステップＳ１９０８：Ｎｏ）、まだ処理が残っているので、（Ａ＝Ａ＋α）の処理を行い（ステップＳ１９０９）、次の区分データ列をロードして、平均乖離度Ｅ（Ａ）を計算する（ステップＳ１９０７）。
Ａ≧Ｍｍａｘであれば（ステップＳ１９０８：Ｙｅｓ）、全ての区分データ列の平均乖離度の計算を終了している。
【００６５】
制御部１１２１は、作成した区分データ列の中で、平均乖離度Ｅ（Ａ）の値が最小である区分データ列を検索し、最小の平均乖離度Ｅ（Ａ）に対応する区分データ列Ｓ（Ａ）を伸張処理の対象とする区分データ列として、ワークエリアＳＢＥＳＴに格納する（ステップＳ１９１０）。
【００６６】
その後、制御部１１２１は、実施形態１で図５を参照して説明した伸張処理、或いは、実施形態２で図７を参照して説明した縮小処理等を適宜実施し、所望のデータ長の時系列音声波形データを生成する。
【００６７】
以上に説明したように、本発明の実施形態に係る音声処理装置は、時系列音声波形データを区分データに分割して音声処理を行う際に、区部データ相互の相関性の高い区分データ列を選択して、伸張・縮小処理を行う。これにより、区分データ間の相関性が向上するので、より多くの区分間に伸張用のデータを挿入しても、もしくは、処理対象の区分データと縮小用のデータとを置換しても、音声の不自然さを生じることを低減することができる。
【００６８】
（実施形態４）
上記実施形態においては、ユーザ自らがαを設定したが、適切なαの値はよくわからないのが一般である。そこで、制御部１１２１が、αを自動設定するようにしてもよい。
この場合、ユーザは、例えば、１つの時系列音声波形データから複数の区分データ列を生成する時間の上限値Ｔmaxを指定する。
制御部１１２１は、Ａ＝１のときの、区分データ列を実際に作成し、その作成に要した時間Ｔを計測する。制御部１１２１は、α＝［Ｔmax／Ｔ］とする。［Ｘ］は、Ｘを超えない最大の自然数を示す。
【００６９】
また、制御部１１２１は、時系列音声波形データの主要周波数からαを求めて自動的に設定してもよい。制御部１１２１は、伸張・縮小対象の時系列音声波形データを、例えば、ＦＦＴ（Fast Fourier Transform）変換して、伸張・縮小対象の時系列音声波形データの主要周波数成分ｆを求める。
制御部１１２１は、主要周波数成分ｆが高くなるほど、αが小さくなる関数α＝ｇ（ｆ）を予め記憶しておき、求めたｆをこれに代入してαを求めて、設定する。図２に示す波形を例にとると、波形の周期は約６データから８データであるので、サンプリングの定理を考慮するとτ≦３が望ましい。波形の変化がなだらかである場合には、τを大きくしても音質の劣化を生じにくい。
【００７０】
以上の説明では、区分データ列の一様性を評価する指標として、区分データの周期性と区分間の相関性を用いた。しかし、この発明は、これらに限定されるものではなく、一様性を評価できる指標があれば、いかなる指標を用いても良い。
【００７１】
上記実施の形態においては、時系列音声波形データを複数パターンの区分データ列に分割するために、起点データをαデータずつシフトしながら、区分データ列を生成した。ただし、この発明はこれに限定されない。時系列音声波形データを複数パターンの区分データ列に分割できるならば、区分データ列を生成する手法自体は任意である。
また、図３のフローチャートでは、区分データ列を求めながら、一様性が最も高い区分データ列を求めたが、始めに、全て又は一部の区分データ列を求め、次に、各区分データ列の一様性を求め、これらを相互に比較することにより、最も一様性の高い区分データ列を求めても良い。
また、図９のフローチャートでは、複数の区分データ列を求めてから、各区分データ列の一様性を求め、これらを相互に比較することにより、最も一様性の高い区分データ列を特定した。図３のフローチャートと同様に、区分データ列を求めながら、最も一様性の高い、区分データ列を求めるようにしてもよい。
また、上記の実施例において、周期性を評価する計算手法としてＡＭＤＦを用いた例を説明したが、周期性を評価できる計算手法であれば他の計算手法を用いることもできる。
例えば、フーリエ変換を用いて周波数成分を解析し、スペクトル分布の分散を用いて評価することもできる。
【００７２】
なお、実施形態１における区分データ列作成手段の説明では、分割の起点となるデータをランダムに選択するのではなく、起点となるデータを一定間隔でシフトした場合について説明したが、起点となるデータをランダムに選択することもできる。
【００７３】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本出願の当初の特許請求の範囲に記載された発明を付記する。
【００７４】
（付記１）
時系列音声波形データから、特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして複数の区分データ列を作成させる区分データ列作成手段と、
該区分データ列作成手段により作成された区分データ列ごとに、区分データ列の一様性を求める音声品質推定手段と、
該音声品質推定手段で求めた一様性が最も高い区分データ列を選択する区分データ列選択手段と、
前記区分データ列選択手段によって選択された区分データ列に対して、区分ごとに一様性を求める一様性評価手段と、
一様性が高い区分ほど処理の優先順位を高く設定する処理区分順位決定手段と、
処理区分順位にしたがって処理対象区分を決定する処理対象区分決定手段と、
該処理対象区分決定手段によって決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成する新規区分データ作成手段と、
該処理対象区分決定手段によって決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換する、新規区分データ挿入置換手段と、
前記新規区分データ挿入置換手段により処理された区分データ列を音声波形データとして出力する音声波形データ出力手段と、
を備える音声処理装置。
【００７５】
（付記２）
前記区分データ列作成手段は、時系列音声波形データを、起点を切り替えつつ順次区分することにより、複数の区分データ列を作成する、
ことを特徴とする付記１に記載の音声処理装置。
【００７６】
（付記３）
前記音声品質推定手段は、区分データ列作成手段で作成した複数の区分データ列について区分データ列ごとに、区分ごとのデータの周期性を求め、この周期性の平均値をそれぞれの区分データ列の一様性の判断指標とし、
前記一様性評価手段は、選択された区分データ列について、区分ごとにデータの周期性を求め、その周期性が高い順に処理対象とする区分の優先順位を決める、
ことを特徴とする付記１又は２に記載の音声処理装置。
【００７７】
（付記４）
前記音声品質推定手段は、区分データ列作成手段で作成した複数の区分データ列について区分データ列ごとに、隣接する区分データの相関性の平均値を求め、この平均値をそれぞれの区分データ列の一様性の判断指標とし、
前記一様性評価手段は、選択された区分データ列について、隣接する区分データの相関性が高い順に、処理対象とする区分の優先順位を決める、
ことを特徴とする付記１又は２に記載の音声処理装置。
【００７８】
（付記５）
時系列音声波形データを伸縮処理するにあたって、
特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして複数の区分データ列を作成させる区分データ列作成ステップと、
該区分データ列作成ステップにより作成された区分データ列ごとに、区分データ列の一様性を求める音声品質推定ステップと、
該音声品質推定ステップで求めた一様性が最も高い区分データ列を選択する区分データ列選択ステップと、
前記区分データ列選択ステップによって選択された区分データ列に対して、区分ごとに一様性を求める一様性評価ステップと、
一様性が高い区分ほど処理の優先順位を高く設定する処理区分順位決定ステップと、
処理区分順位にしたがって処理対象区分を決定する処理対象区分決定ステップと、
該処理対象区分決定ステップによって決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成する新規区分データ作成ステップと、
該処理対象区分決定ステップによって決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換する、新規区分データ挿入置換ステップと、
前記新規区分データ挿入置換ステップにより処理された区分データ列を音声波形データとして出力する音声波形データ出力ステップと、
を備える音声処理方法。
【００７９】
（付記６）
コンピュータを、
時系列音声波形データを伸縮処理するにあたって、
特定のデータを起点として順次時系列音声波形データを区分することにより、区分データ列を作成し、さらに複数のデータを前記特定のデータとして、複数の区分データ列を作成し、
該区分データ列ごとに、区分データ列の一様性を求め、
一様性が最も高い区分データ列を選択し、
選択された区分データ列に対して、区分ごとに一様性を求め、
一様性が高い区分ほど処理の優先順位を高く設定し、
処理区分順位にしたがって処理対象区分を決定し、
決定された処理対象区分に、挿入もしくは置換する新規区分データを、処理対象となる区分データに基づいて作成し、
決定された処理対象区分に、該新規区分データを挿入し、もしくは、処理対象の区分データと置換することにより、伸縮処理された音声波形データとして出力する、
音声伸縮装置として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【００８０】
１１０１…音声処理装置、１１１１…入力装置、１１１３…出力装置、１１１５…記録媒体、１１２１…制御部、１１３１…入力制御部、１１３３…出力制御部、１１３５…プログラム格納部、１１３７…記憶部、１１３９…外部メモリＩＦ
【図１】
2016065901.tif 000003
【図２】
2016065901.tif 000004
【図３】
2016065901.tif 000005
【図４】
2016065901.tif 000006
【図５】
2016065901.tif 000007
【図６】
2016065901.tif 000008
【図７】
2016065901.tif 000009
【図８】
2016065901.tif 000010
【図９】
2016065901.tif 000011