(57)【要約】【課題】オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができるようにする。【解決手段】処理バッファ部は、オーディオ信号を記憶する。ピッチ算出部とピッチ周期補正部は、オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出する。処理制御部と開始位置移動量補正部は、オーディオ信号の時間軸領域における圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置からＮの倍数番目のサンプルを順次決定する。演算部は、オーディオ信号の開始位置のサンプルからピッチ周期の所定数倍分のサンプルを時間軸領域で圧縮し、圧縮後のオーディオ信号のサンプル数をＮの倍数にする。本技術は、例えば、オーディオ信号処理装置に適用することができる。【選択図】図２
2012252036.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号を記憶する記憶部と、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出部と、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定部と、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮部と
を備え、
前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理装置。
【請求項２】
前記開始位置決定部は、
前記記憶部に記憶されている前記オーディオ信号に対する、前記記憶部から転送される前記オーディオ信号の長さの比率である再生速度変換率に基づいて、前記開始位置のサンプルを順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記伸張圧縮部は、前記再生速度変換率に基づいて、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の前記所定数倍分のサンプルを時間軸領域で伸張または圧縮する
請求項１に記載の信号処理装置。
【請求項３】
前記ピッチ算出部は、前記開始位置から前記ピッチ周期のサンプル数の最大値の２倍分のサンプルの前記オーディオ信号を用いて、前記開始位置ごとに前記ピッチ周期のサンプル数を算出する
請求項１に記載の信号処理装置。
【請求項４】
前記開始位置決定部は、
所定のサンプルを前記開始位置として順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記開始位置補正部は、補正後の前記開始位置の移動量から補正前の前記開始位置の移動量を減算した値の累積値を演算し、前記累積値が正の値である場合、前記開始位置のサンプルをより前のサンプルに補正し、前記累積値が負の値である場合、前記開始位置のサンプルをより後のサンプルに補正する
請求項１に記載の信号処理装置。
【請求項５】
前記伸張圧縮部は、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを、Ｎサンプル単位で並列に重み付け加算することにより、そのサンプルを時間軸領域で伸張または圧縮する
請求項１に記載の信号処理装置。
【請求項６】
前記伸張圧縮部による伸張または圧縮後のオーディオ信号のピッチ周期を変更する変更部
をさらに備える
請求項１に記載の信号処理装置。
【請求項７】
オーディオ信号を記憶する記憶部を備える信号処理装置が、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮ステップと
を含み、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理方法。
【請求項８】
オーディオ信号を記憶する記憶部を備える信号処理装置を制御するコンピュータに、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮ステップと
を含む処理を実行させ、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、信号処理装置、信号処理方法、およびプログラムに関し、特に、オーディオ信号を時間軸領域処理にて伸張または圧縮する信号処理装置、信号処理方法、およびプログラムに関する。
【背景技術】
【０００２】
オーディオ信号の時間軸領域伸張圧縮アルゴリズムとして、単純な処理でありながら高音質の処理結果を得られるPICOLA(Pointer Interval Controlled OverLap and Add)がよく知られ、用いられている（例えば、非特許文献１参照）。
【０００３】
図１は、PICOLAアルゴリズムにしたがってオーディオ信号を時間軸領域処理にて圧縮する再生速度変換装置の構成の一例を示すブロック図である。
【０００４】
図１の再生速度変換装置１０は、記録部１１、処理バッファ部１２、ピッチ算出部１３、演算部１４、処理制御部１５、および蓄積部１６により構成され、オーディオ信号の再生速度をＲ（Ｒ＞１）倍にする。
【０００５】
再生速度変換装置１０の記録部１１は、PCM（Pulse Code Modulation）信号であるオーディオ信号を時系列に記録している。記録部１１は、記録しているオーディオ信号を記録順に処理バッファ部１２にDMA（Direct Memory Access）転送する。
【０００６】
処理バッファ部１２は、記録部１１からDMA転送されてくるオーディオ信号を受信順に一時的に記憶する。また、処理バッファ部１２は、処理制御部１５から供給される開始位置Ｐと、ピッチ算出部１３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０の２倍分のサンプルのオーディオ信号を読み出す。
【０００７】
なお、開始位置Ｐとは、圧縮の開始位置のサンプルのサンプル番号であり、サンプル番号とは、処理バッファ部１２に記憶されている時系列のオーディオ信号の各サンプルに順に付与される番号である。また、ピッチ周期Ｔ０とは、オーディオ信号のピッチ周期のサンプル数である。
【０００８】
処理バッファ部１２は、読み出されたオーディオ信号を演算処理用信号として演算部１４に供給する。また、処理バッファ部１２は、開始位置Ｐとピッチ周期Ｔ０に基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０番目のサンプルのサンプル番号である位置Ｐ＋Ｔ０を決定する。処理バッファ部１２は、記憶している位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、演算部１４から供給される圧縮後の演算処理用信号で上書きする。
【０００９】
また、処理バッファ部１２は、外部から入力される再生速度変換率Ｒと、ピッチ算出部１３から供給されるピッチ周期Ｔ０とを用いて、以下の式（１）により、再生速度変換後のオーディオ信号のサンプル数を表す再生信号長Ｌを求める。
【００１０】
なお、再生速度変換率Ｒは、記録部１１に記録されている再生速度変換前のオーディオ信号に対する、蓄積部１６に記録される再生速度変換後のオーディオ信号の長さの比率である。再生速度変換率Ｒは、例えば、ユーザが図示せぬ入力部を操作することにより、処理バッファ部１２と処理制御部１５に入力される。
【００１１】
【数１】
2012252036.tif 000003
【００１２】
処理バッファ部１２は、開始位置Ｐのサンプルから次回の開始位置Ｐのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号として、圧縮演算処理用信号で上書きされたオーディオ信号を含む位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を、蓄積部１６にDMA転送する。このとき、処理バッファ部１２が、まだ位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を全て記憶していない場合、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部１６にDMA転送する。そして、処理バッファ部１２は、残りのオーディオ信号のDMA転送を記録部１１に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部１６にDMA転送する。
【００１３】
ピッチ算出部１３は、処理バッファ部１２に記憶されている、開始位置Ｐのサンプルから予め設定されたピッチ周期のサンプル数の最大値である最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を参照して、オーディオ信号のピッチ周期Ｔ０を算出する。具体的には、ピッチ算出部１３は、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号に基づいて、例えば以下の式（２）で定義される平均歪みｄ（Ｔ）を最小にするような周期Ｔをピッチ周期Ｔ０として算出する。そして、ピッチ算出部１３は、算出されたピッチ周期Ｔ０を処理バッファ部１２と処理制御部１５に供給する。
【００１４】
【数２】
2012252036.tif 000004
【００１５】
なお、式（２）において、ｘ(i)は、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号のうちの、i番目のサンプルのオーディオ信号を表している。また、Ｔｍｉｎは予め設定されたピッチ周期のサンプル数の最小値である最小ピッチ周期を表している。
【００１６】
演算部１４は、処理バッファ部１２から供給される演算処理用信号のうちの、開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を重み付け加算する。演算部１４は、その結果得られるピッチ周期Ｔ０分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部１２に供給する。
【００１７】
処理制御部１５は、最初の開始位置Ｐを所定値（例えば０）に決定する。また、処理制御部１５は、ピッチ算出部１３から供給されるピッチ周期Ｔ０と、外部から入力される再生速度変換率Ｒに基づいて、以下の式（３）および（４）により開始位置Ｐを順次更新する。処理制御部１５は、開始位置Ｐを処理バッファ部１２に供給する。
【００１８】
Ｐ＝Ｐ＋ΔＰ
・・・（３）
【００１９】
【数３】
2012252036.tif 000005
【００２０】
なお、処理バッファ部１２の記憶容量は有限であるので、処理バッファ部１２に記憶されているオーディオ信号は、適当なタイミングで更新される。従って、このとき、処理制御部１５は、処理バッファ部１２がリングバッファである場合には、開始位置Ｐを処理バッファ部１２の長さに基づくmodulo演算を用いて更新し、リングバッファでない場合には、開始位置Ｐを十分小さな値(例えば０)に更新する。
【００２１】
蓄積部１６は、処理バッファ部１２からDMA転送されてくる位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を蓄積する。
【００２２】
一方、CPU（Central Processing Unit）やDSP（Digital Signal Processor）などにおける演算やDMA転送では、処理対象となるデータの配置に制約がある場合がある。例えば、1サンプルのオーディオ信号のデータ量が32bit(4byte)である場合、4サンプルのオーディオ信号それぞれを処理対象とした演算を並列に行うためには、オーディオ信号が、4サンプル分のデータ量である16byteアラインされている必要がある場合がある。また、DMA転送では、データの転送元や転送先の開始位置が2のべき乗などの既定byte数にアラインされている必要がある場合がある。
【先行技術文献】
【非特許文献】
【００２３】
【非特許文献１】森田 直孝、板倉 文忠著「ポインター移動量制御による重複加算法(PICOLA)を用いた音声の時間軸での伸張圧縮とその評価」日本音響学会講演論文集,昭和６１年１０月発行,ｐ．１４９−１５０
【発明の概要】
【発明が解決しようとする課題】
【００２４】
図１の再生速度変換装置１０の記録部１１および処理バッファ部１２におけるDMA転送、演算部１４における重み付け加算処理等において、処理対象となるオーディオ信号の配置に制約がある場合、ピッチ周期Ｔ０と開始位置移動量ΔＰが、その制約に対応するサンプル数の倍数ではないと、例外的な処理を行う必要が生じる。その結果、余計な命令コード等が必要になり、処理量が増加する。また、このことは、PICOLAアルゴリズムにしたがってオーディオ信号を時間軸領域処理にて伸張する再生速度変換装置においても同様である。
【００２５】
本技術は、このような状況に鑑みてなされたものであり、オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができるようにするものである。
【課題を解決するための手段】
【００２６】
本技術の一側面の信号処理装置は、オーディオ信号を記憶する記憶部と、前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出部と、前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定部と、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮部とを備え、前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する信号処理装置である。
【００２７】
本技術の一側面の信号処理方法およびプログラムは、本技術の一側面の信号処理装置に対応する。
【００２８】
本技術の一側面においては、オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数が算出され、前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルが順次決定され、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルが時間軸領域で伸張または圧縮され、伸張または圧縮後の前記オーディオ信号のサンプル数が前記Ｎの倍数にされる。なお、前記オーディオ信号は記憶部に記憶され、前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する。
【発明の効果】
【００２９】
本技術の一側面によれば、オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができる。
【図面の簡単な説明】
【００３０】
【図１】従来の再生速度変換装置の構成の一例を示すブロック図である。
【図２】本技術を適用した再生速度変換装置の第１実施の形態の構成例を示すブロック図である。
【図３】オーディオ信号の例を示す図である。
【図４】図２の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図５】図２の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図６】本技術を適用した再生速度変換装置の第２実施の形態の構成例を示すブロック図である。
【図７】オーディオ信号の例を示す図である。
【図８】図６の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図９】図６の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図１０】本技術を適用した再生速度変換装置の第３実施の形態の構成例を示すブロック図である。
【図１１】コンピュータの一実施の形態の構成例を示す図である。
【発明を実施するための形態】
【００３１】
＜第１実施の形態＞
［再生速度変換装置の第１実施の形態の構成例］
図２は、本技術を適用した信号処理装置としての再生速度変換装置の第１実施の形態の構成例を示すブロック図である。
【００３２】
図２の再生速度変換装置３０は、記録部３１、処理バッファ部３２、ピッチ算出部３３、ピッチ周期補正部３４、演算部３５、処理制御部３６、開始位置移動量補正部３７、および蓄積部３８により構成され、オーディオ信号の再生速度をＲ(Ｒ>１)倍にする。
【００３３】
なお、図２の再生速度変換装置３０では、記録部３１、処理バッファ部３２、および蓄積部３８において、DMA転送の転送元および転送先の処理対象の開始位置が、Ｎサンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。例えば、DMA転送の転送元および転送先の処理対象の開始位置が16byteにアラインされていることという制約がある。この場合、1サンプルのオーディオ信号のデータ量が32bit(4byte)であると、Ｎは4である。また、演算部３５において、並列処理の対象が並列数サンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。
【００３４】
再生速度変換装置３０の記録部３１は、図１の記録部１１と同様に、PCM信号であるオーディオ信号を時系列に記録している。記録部３１は、記録しているオーディオ信号を記録順にＮサンプル単位で処理バッファ部３２にDMA転送する。
【００３５】
このように、記録部３１は、記録しているオーディオ信号を記録順にＮサンプル単位でDMA転送するので、DMA転送の転送元の処理対象の開始位置がＮサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【００３６】
処理バッファ部３２は、記憶部として機能し、記録部３１からDMA転送されてくるオーディオ信号を受信順にＮサンプル単位で一時的に記憶する。従って、処理バッファ部３２は、DMA転送の転送先の処理対象の開始位置がＮサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【００３７】
また、処理バッファ部３２は、図１の処理バッファ部１２と同様に、処理制御部３６から供給される開始位置Ｐと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０の２倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部３２は、処理バッファ部１２と同様に、そのオーディオ信号を演算処理用信号として演算部３５に供給する。
【００３８】
さらに、処理バッファ部３２は、処理バッファ部１２と同様に、開始位置Ｐとピッチ周期Ｔ０に基づいて位置Ｐ＋Ｔ０を決定する。処理バッファ部３２は、処理バッファ部１２と同様に、記憶している位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、演算部３５から供給される圧縮演算処理用信号で上書きする。
【００３９】
また、処理バッファ部３２は、処理バッファ部１２と同様に、外部から入力される再生速度変換率Ｒと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とを用いて、上述した式（１）により、再生信号長Ｌを求める。
【００４０】
処理バッファ部３２は、処理バッファ部１２と同様に、開始位置Ｐのサンプルから次回の開始位置Ｐのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号として、上書き後の位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を蓄積部３８にDMA転送する。このとき、処理バッファ部３２が、まだ位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を全て記憶していない場合、処理バッファ部１２と同様に、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部３８にDMA転送する。そして、処理バッファ部３２は、処理バッファ部１２と同様に、残りのオーディオ信号のDMA転送を記録部３１に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部３８にDMA転送する。
【００４１】
ここで、後述するように、開始位置Ｐ、および、ピッチ周期Ｔ０はＮの倍数となるように補正される。従って、処理バッファ部３２から蓄積部３８にDMA転送されるオーディオ信号の開始位置である位置Ｐ＋Ｔ０はＮの倍数である。よって、処理バッファ部３２は、DMA転送の転送元の処理対象の開始位置がＮサンプル分のデータ量にアラインされていることという制約を守っている。
【００４２】
ピッチ算出部３３とピッチ周期補正部３４は、ピッチ算出部として機能する。具体的には、ピッチ算出部３３は、図１のピッチ算出部１３と同様に、処理バッファ部３２に記憶されている、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を参照して、上述した式（２）によりピッチ周期Ｔ０を算出する。ピッチ算出部３３は、そのピッチ周期Ｔ０をピッチ周期補正部３４に供給する。また、ピッチ算出部３３は、ピッチ周期補正部３４から供給される補正後のピッチ周期Ｔ０を処理バッファ部３２に供給する。
【００４３】
ピッチ周期補正部３４は、所定の方法で、ピッチ算出部３３から供給されるピッチ周期Ｔ０をＮの倍数に補正する。ピッチ周期Ｔ０をＮの倍数に補正する方法としては、ピッチ周期Ｔ０をＮで除算し、小数点以下を切り捨て、Ｎを乗算する方法がある。また、ピッチ周期Ｔ０をＮで除算し、小数点以下を切り上げ、Ｎを乗算する方法もある。さらに、ピッチ周期Ｔ０をＮで除算し、小数点以下を四捨五入して、Ｎを乗算する方法もある。ピッチ周期補正部３４は、補正後のＮの倍数であるピッチ周期Ｔ０をピッチ算出部３３と処理制御部３６に供給する。
【００４４】
演算部３５は、伸張圧縮部として機能し、処理バッファ部３２から供給される演算処理用信号を時間領域において再生速度変換率Ｒに対応する割合で圧縮するための、演算処理用信号の重み付け加算処理を、Ｎサンプル単位で並列に行う。具体的には、演算部３５は、開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、Ｎサンプル単位で並列に重み付け加算する。
【００４５】
ここで、ピッチ周期Ｔ０はＮの倍数に補正されているので、開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号のサンプル数は、それぞれＮの倍数である。従って、重み付け加算処理において、並列処理の対象が、並列数であるＮサンプル分のオーディオ信号のデータ量にアラインされていることという制約が守られている。
【００４６】
演算部３５は、重み付け加算処理の結果得られるピッチ周期Ｔ０分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部３２に供給する。
【００４７】
処理制御部３６と開始位置移動量補正部３７は、開始位置決定部として機能する。具体的には、処理制御部３６は、決定部として機能し、最初の開始位置Ｐを０に決定する。また、処理制御部３６は、ピッチ算出部３３から供給されるピッチ周期Ｔ０と、外部から入力される再生速度変換率Ｒに基づいて、上述した式（４）により開始位置移動量ΔＰを求める。そして、処理制御部３６は、その開始位置移動量ΔＰを開始位置移動量補正部３７に供給する。
【００４８】
また、処理制御部３６は、開始位置移動量補正部３７から供給される補正後のＮの倍数である開始位置移動量ΔＰに基づいて、上述した式（３）により開始位置Ｐを順次更新する。最初の開始位置Ｐは０であり、開始位置移動量ΔＰはＮの倍数であるので、上述した式（３）により更新される開始位置Ｐは、必ず、Ｎの倍数になる。処理制御部３６は、Ｎの倍数である開始位置Ｐを処理バッファ部３２に供給する。
【００４９】
開始位置移動量補正部３７は、開始位置補正部として機能し、所定の方法で、処理制御部３６から供給される開始位置移動量ΔＰをＮの倍数に補正し、補正後の開始位置移動量ΔＰを処理制御部３６に供給する。開始位置移動量ΔＰをＮの倍数に補正する方法としては、上述したピッチ周期Ｔ０をＮの倍数に補正する方法と同様の方法を用いることができる。
【００５０】
但し、開始位置移動量補正部３７は、補正後の開始位置移動量ΔＰから補正前の開始位置移動量ΔＰを減算した結果得られる差分の累積和である累積誤差和error_sumに基づいて、開始位置移動量ΔＰをＮの倍数に補正する方法を選択する。
【００５１】
例えば、累積誤差和error_sumが正の値である場合、即ち補正後の開始位置移動量ΔＰが補正前の開始位置移動量ΔＰより大きい傾向にある場合、開始位置移動量補正部３７は、開始位置移動量ΔＰをＮで除算し、小数点以下を切り捨て、Ｎを乗算することにより補正を行う方法を選択する。これにより、補正後の開始位置移動量ΔＰを用いて更新される開始位置Ｐは、補正前の開始位置移動量ΔＰを用いて更新される開始位置Ｐより小さくなる。即ち、開始位置移動量ΔＰを用いて更新される開始位置Ｐのサンプルの位置は、より前の位置に補正される。
【００５２】
一方、累積誤差和error_sumが負の値である場合、即ち補正後の開始位置移動量ΔＰが補正前の開始位置移動量ΔＰより小さい場合、開始位置移動量ΔＰをＮで乗算し、小数点以下を切り上げ、Ｎを乗算することにより補正を行う方法を選択する。これにより、補正後の開始位置移動量ΔＰを用いて更新される開始位置Ｐは、補正前の開始位置移動量ΔＰを用いて更新される開始位置Ｐより大きくなる。即ち、開始位置移動量ΔＰを用いて更新される開始位置Ｐのサンプルの位置は、より後の位置に補正される。
【００５３】
以上のように、開始位置移動量補正部３７は、累積誤差和error_sumが小さくなる方法を選択するので、補正後の開始位置移動量ΔＰの累積値が補正前の開始位置移動量ΔＰの累積値に近づく。その結果、記録部３１に記録されているオーディオ信号のサンプル数の総和に対する、蓄積部３８に記録される再生速度変換後のオーディオ信号のサンプル数の総和の割合が、所望の再生速度変換率Ｒに近づく。
【００５４】
また、開始位置移動量補正部３７は、以下の式（５）により累積誤差和error_sumを求め（更新し）、保持する。この累積誤差和error_sumが、上述したように、次回の開始位置移動量ΔＰの補正の方法の選択に用いられる。
【００５５】
error_sum=error_sum+（ΔＰａｆｔｅｒ-ΔＰｂｅｆｏｒｅ）
・・・（５）
【００５６】
なお、式（５）において、ΔＰａｆｔｅｒは、補正後の開始位置移動量ΔＰを表し、ΔＰｂｅｆｏｒｅは、補正前の開始位置移動量ΔＰを表す。
【００５７】
蓄積部３８は、オーディオ信号を時系列に蓄積する機能を有する。蓄積部３８は、処理バッファ部３２からDMA転送されてくる再生速度変換後のオーディオ信号を、対応する時刻のオーディオ信号として蓄積する。
【００５８】
ここで、処理バッファ部３２からDMA転送されてくる再生速度変換後のオーディオ信号の先頭のサンプルのサンプル番号である位置Ｐ＋Ｔ０は、上述したようにＮの倍数である。よって、蓄積部３８は、DMA転送の転送先の処理対象の開始位置がＮサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【００５９】
以上のように、再生速度変換装置３０では、記録部３１、処理バッファ部３２、蓄積部３８、および演算部３５のそれぞれが、制約を守りながら各処理を行う。従って、記録部３１、処理バッファ部３２、蓄積部３８、および演算部３５のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図１の再生速度変換装置１０に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【００６０】
［オーディオ信号の例］
図３は、図２の処理バッファ部３２に記憶されているオーディオ信号と蓄積部３８に蓄積されるオーディオ信号の例を示す図である。なお、図３において、横軸は時刻を表している。
【００６１】
図３Ａに示すように、処理バッファ部３２に記憶されているオーディオ信号の開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号は、図中太い点線で表されるように、開始位置Ｐのサンプルから徐々に小さくなる所定の重みで重み付けされる。また、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号は、図中太い点線で表されるように、位置Ｐ＋Ｔ０のサンプルから徐々に大きくなる所定の重みで重み付けされる。
【００６２】
そして、重み付けされた開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号が加算され、ピッチ周期Ｔ０分のサンプルのオーディオ信号が生成される。このピッチ周期Ｔ０分のサンプルのオーディオ信号は、処理バッファ部３２に記憶されている位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号に上書きされる。
【００６３】
その結果、処理バッファ部３２に記憶されている位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のオーディオ信号は、図３Ｂに示すようになる。即ち、位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のオーディオ信号のうち、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプル以外のサンプルのオーディオ信号は、記録部３１からDMA転送されてきたオーディオ信号そのものである。このオーディオ信号は、再生速度変換後のオーディオ信号として蓄積部３８にDMA転送され、蓄積される。
【００６４】
また、この再生速度変換後のオーディオ信号は、図３Ａに示すように、処理バッファ部３２に記憶されている、開始位置Ｐのサンプルから次回の開始位置Ｐのサンプルまでの開始位置移動量ΔＰ分のサンプルのオーディオ信号に対するものである。従って、記録部３１に記録されているオーディオ信号の再生速度に対する、蓄積部３８に蓄積されるオーディオ信号の再生速度の割合は、ΔＰ／Ｌ、即ち再生速度変換率Ｒに略等しい。
【００６５】
［再生速度変換装置の処理の説明］
図４および図５は、図２の再生速度変換装置３０の再生速度変換処理を説明するフローチャートである。この再生速度変換処理は、例えば、ユーザが図示せぬ入力部を操作することにより、再生速度変換処理の開始を指令したとき、開始する。
【００６６】
図４のステップＳ１１において、再生速度変換装置３０の記録部３１は、記録しているオーディオ信号のＮサンプル単位の処理バッファ部３２へのDMA転送を開始し、処理バッファ部３２の空き容量が所定値以下になるまでDMA転送を行う。
【００６７】
ステップＳ１２において、処理バッファ部３２は、記録部３１からDMA転送されてくるＮサンプル単位のオーディオ信号の一時的な記憶を開始する。
【００６８】
ステップＳ１３において、処理制御部３６は、最初の開始位置Ｐを所定値(例えば０)に決定する。
【００６９】
ステップＳ１４において、処理バッファ部３２は、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を記憶しているかどうかを判定する。
【００７０】
ステップＳ１４で開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号をまだ記憶していないと判定された場合、処理はステップＳ１５に進む。
【００７１】
ステップＳ１５において、処理バッファ部３２は、自分自身の空き容量が所定値以下であるかどうかを判定する。ステップＳ１５で空き容量が所定値以下ではないと判定された場合、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を記憶するまで待機する。
【００７２】
一方、ステップＳ１４で開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を記憶していると判定された場合、処理はステップＳ１６に進む。ステップＳ１６において、ピッチ算出部３３は、処理バッファ部３２に記憶されている、開始位置Ｐのサンプルから最大ピッチ周期Ｔｍａｘの２倍分のサンプルのオーディオ信号を参照して、上述した式（２）により、オーディオ信号のピッチ周期Ｔ０を算出する。ピッチ算出部３３は、そのピッチ周期Ｔ０をピッチ周期補正部３４に供給する。
【００７３】
ステップＳ１７において、ピッチ周期補正部３４は、所定の方法でピッチ周期Ｔ０をＮの倍数に補正する。ピッチ周期補正部３４は、補正後のＮの倍数であるピッチ周期Ｔ０をピッチ算出部３３と処理制御部３６に供給する。ピッチ算出部３３は、ピッチ周期補正部３４から供給される補正後のピッチ周期Ｔ０を処理バッファ部３２に供給する。
【００７４】
ステップＳ１８において、処理バッファ部３２は、処理制御部３６から供給される開始位置Ｐと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０の２倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部３２は、そのオーディオ信号を演算処理用信号として演算部３５に供給する。
【００７５】
ステップＳ１９において、演算部３５は、処理バッファ部３２から供給される演算処理用信号の重み付け加算をＮサンプル単位で並列に行う。
【００７６】
具体的には、演算部３５は、開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、Ｎサンプル単位で並列に重み付け加算する。演算部３５は、その結果得られるピッチ周期Ｔ０分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部３２に供給する。
【００７７】
ステップＳ２０において、処理バッファ部３２は、開始位置Ｐとピッチ周期Ｔ０に基づいて位置Ｐ＋Ｔ０を決定し、記憶している位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、演算部３５からの圧縮演算処理用信号で上書きする。
【００７８】
ステップＳ２１において、処理バッファ部１２は、外部から入力される再生速度変換率Ｒと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とを用いて、上述した式（１）により、再生信号長Ｌを求める。
【００７９】
図５のステップＳ２２において、処理バッファ部３２は、圧縮演算処理用信号で上書きされたオーディオ信号を含む、位置Ｐ＋Ｔ０のサンプルから再生信号長Ｌ分のサンプルのオーディオ信号を、再生速度変換後のオーディオ信号として蓄積部３８にDMA転送する。
【００８０】
ステップＳ２３において、蓄積部３８は、処理バッファ部３２からDMA転送されてくる再生速度変換後のオーディオ信号を、対応する時刻のオーディオ信号として蓄積する。
【００８１】
ステップＳ２４において、処理制御部３６は、ピッチ算出部３３から供給されるピッチ周期Ｔ０と、外部から入力される再生速度変換率Ｒに基づいて、上述した式（４）により、開始位置移動量ΔＰを求める。そして、処理制御部３６は、その開始位置移動量ΔＰを開始位置移動量補正部３７に供給する。
【００８２】
ステップＳ２５において、開始位置移動量補正部３７は、累積誤差和error_sumを保持しているかどうかを判定する。
【００８３】
ステップＳ２５で累積誤差和error_sumを保持していると判定された場合、ステップＳ２６において、開始位置移動量補正部３７は、累積誤差和error_sumに基づいて、開始位置移動量ΔＰをＮの倍数に補正する方法を選択し、処理をステップＳ２８に進める。
【００８４】
一方、ステップＳ２５で累積誤差和error_sumを保持していないと判定された場合、ステップＳ２７において、開始位置移動量補正部３７は、開始位置移動量ΔＰをＮの倍数に補正する方法として所定の方法を選択し、処理をステップＳ２８に進める。
【００８５】
ステップＳ２８において、開始位置移動量補正部３７は、ステップＳ２６またはＳ２７の処理で選択された方法で開始位置移動量ΔＰをＮの倍数に補正し、補正後の開始位置移動量ΔＰを処理制御部３６に供給する。
【００８６】
ステップＳ２９において、開始位置移動量補正部３７は、上述した式（５）により、直前のステップＳ２４の処理で求められた補正前の開始位置移動量ΔＰｂｅｆｏｒｅと、ステップＳ２８の処理で補正された補正後の開始位置移動量ΔＰａｆｔｅｒを用いて累積誤差和error_sumを更新し、保持する。
【００８７】
ステップＳ３０において、処理制御部３６は、開始位置移動量補正部３７から供給される補正後のＮの倍数である開始位置移動量ΔＰに基づいて、上述した式（３）により開始位置Ｐを更新する。
【００８８】
ステップＳ３１において、ピッチ算出部３３は、再生速度変換処理を終了するかどうか、例えば、ユーザにより再生速度変換処理の終了が指令されたかどうかを判定する。ステップＳ３１で再生速度変換処理を終了しないと判定された場合、処理は図４のステップＳ１４に戻る。
【００８９】
一方、ステップＳ１５で空き容量が所定値以下であると判定された場合、ステップＳ３２において、処理バッファ部３２は、記憶しているオーディオ信号を削除する。そして、処理はステップＳ１１に戻り、記録部３１は、開始位置Ｐのサンプルのオーディオ信号から処理バッファ部３２へのＮサンプル単位のDMA転送を開始し、処理バッファ部３２の空き容量が所定値以下になるまでDMA転送を行う。そして、処理はステップＳ１２に進み、以降の処理が繰り返される。
【００９０】
また、ステップＳ３１で再生速度変換処理を終了すると判定された場合、記録部３１はDMA転送を終了し、処理バッファ部３２は記録部３１からDMA転送されてくるオーディオ信号の記憶を終了し、処理は終了する。
【００９１】
以上のように、再生速度変換装置３０は、ピッチ周期Ｔ０と開始位置ＰをＮの倍数にするので、記録部３１、処理バッファ部３２、蓄積部３８、および演算部３５のそれぞれが、制約を守りながら各処理を行うことができる。従って、記録部３１、処理バッファ部３２、蓄積部３８、および演算部３５のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図１の再生速度変換装置１０に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【００９２】
なお、処理バッファ部３２としては、処理バッファ部１２と同様にリングバッファを用いることもできる。
【００９３】
＜第２実施の形態＞
[再生速度変換装置の第２実施の形態の構成例]
図６は、本技術を適用した信号処理装置としての再生速度変換装置の第２実施の形態の構成例を示すブロック図である。
【００９４】
図６に示す構成のうち、図２の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【００９５】
図６の再生速度変換装置７０の構成は、主に、処理バッファ部３２、処理制御部３６の代わりに処理バッファ部７１、処理制御部７２が設けられている点が図２の構成と異なる。再生速度変換装置７０は、オーディオ信号の再生速度をＲ（0.5＜Ｒ＜1）倍にする。
【００９６】
なお、図６の再生速度変換装置７０では、図２の再生速度変換装置３０と同様に、記録部３１、処理バッファ部７１、および蓄積部３８において、DMA転送の転送元および転送先の処理対象の開始位置が、Ｎサンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。また、演算部３５において、並列処理の対象が並列数サンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。
【００９７】
再生速度変換装置７０の処理バッファ部７１は、図２の処理バッファ部３２と同様に、記憶部として機能し、記録部３１からDMA転送されてくるオーディオ信号を受信順にＮサンプル単位で一時的に記憶する。従って、処理バッファ部７１は、DMA転送の転送先の処理対象の開始位置がＮサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【００９８】
また、処理バッファ部７１は、処理制御部３６から供給される開始位置Ｐと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０のサンプルまでのオーディオ信号を蓄積部３８にDMA転送する。
【００９９】
ここで、開始位置Ｐおよびピッチ周期Ｔ０は、ピッチ周期補正部３４および開始位置移動量補正部３７によりＮの倍数となるように補正される。従って、処理バッファ部７１から蓄積部３８にDMA転送される開始位置Ｐのサンプルからピッチ周期Ｔ０のサンプルまでのオーディオ信号の開始位置である位置ＰはＮの倍数である。よって、処理バッファ部７１は、DMA転送の転送元の処理対象の開始位置がＮサンプル分のデータ量にアラインされていることという制約を守っている。
【０１００】
また、処理バッファ部７１は、処理バッファ部３２と同様に、処理制御部３６から供給される開始位置Ｐと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０の２倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部７２は、処理バッファ部３２と同様に、そのオーディオ信号を演算処理用信号として演算部３５に供給する。
【０１０１】
さらに、処理バッファ部７１は、記憶している位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、演算部３５から供給される重み付け加算処理された伸張演算処理用信号で上書きする。
【０１０２】
また、処理バッファ部７１は、外部から入力される再生速度変換率Ｒと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とを用いて、以下の式（６）により、再生信号長Ｌを求める。
【０１０３】
【数４】
2012252036.tif 000006
【０１０４】
処理バッファ部７１は、開始位置Ｐのサンプルから次回の開始位置Ｐのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号のうちの、既にDMA転送されたピッチ周期Ｔ０分のオーディオ信号以外のオーディオ信号として、上書き後の位置ＰのサンプルからＬ−Ｔ０分のサンプルのオーディオ信号を蓄積部３８にDMA転送する。このとき、処理バッファ部７１が、まだ位置Ｐのサンプルから再生信号長Ｌ−Ｔ０分のサンプルのオーディオ信号を全て記憶していない場合、処理バッファ部３２と同様に、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部３８にDMA転送する。そして、処理バッファ部７１は、処理バッファ部３２と同様に、残りのオーディオ信号のDMA転送を記録部３１に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部３８にDMA転送する。
【０１０５】
上述したように、開始位置Ｐおよびピッチ周期Ｔ０は、ピッチ周期補正部３４および開始位置移動量補正部３７によりＮの倍数となるように補正されるので、処理バッファ部７１から蓄積部３８にDMA転送される上書き後の位置Ｐのサンプルから再生信号長Ｌ−Ｔ０分のサンプルのオーディオ信号の開始位置である位置ＰはＮの倍数である。よって、処理バッファ部７１は、DMA転送の転送元の処理対象の開始位置がＮサンプル分のデータ量にアラインされていることという制約を守っている。
【０１０６】
処理制御部７２と開始位置移動量補正部３７は、開始位置決定部として機能する。具体的には、処理制御部７２は、図２の処理制御部３６と同様に、決定部として機能し、最初の開始位置Ｐを０に決定する。また、処理制御部７２は、処理制御部３６と同様に、ピッチ算出部３３から供給されるピッチ周期Ｔ０と、外部から入力される再生速度変換率Ｒに基づいて、以下の式（７）により開始位置移動量ΔＰを求める。そして、処理制御部７２は、その開始位置移動量ΔＰを開始位置移動量補正部３７に供給する。
【０１０７】
【数５】
2012252036.tif 000007
【０１０８】
また、処理制御部７２は、処理制御部３６と同様に、開始位置移動量補正部３７から供給される補正後のＮの倍数である開始位置移動量ΔＰに基づいて、上述した式（３）により開始位置Ｐを順次更新する。最初の開始位置Ｐは０であり、開始位置移動量ΔＰはＮの倍数であるので、上述した式（３）により更新される開始位置Ｐは、必ず、Ｎの倍数になる。処理制御部７２は、Ｎの倍数である開始位置Ｐを処理バッファ部７１に供給する。
【０１０９】
以上のように、再生速度変換装置７０では、記録部３１、処理バッファ部７１、蓄積部３８、および演算部３５のそれぞれが、制約を守りながら各処理を行う。従って、記録部３１、処理バッファ部７１、蓄積部３８、および演算部３５のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図１の再生速度変換装置１０に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【０１１０】
［オーディオ信号の例］
図７は、図６の処理バッファ部７１に記憶されているオーディオ信号と蓄積部３８に蓄積されるオーディオ信号の例を示す図である。なお、図７において、横軸は時刻を表している。
【０１１１】
まず、図７Ａに示す処理バッファ部７１に記憶されているオーディオ信号のうち、開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号が、再生速度変換後のオーディオ信号の一部として蓄積部３８にDMA転送され、蓄積される。
【０１１２】
次に、図７Ａに示すように、処理バッファ部７１に記憶されているオーディオ信号の開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号は、図中太い点線で表されるように、開始位置Ｐのサンプルから徐々に大きくなる所定の重みで重み付けされる。また、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号は、図中太い点線で表されるように、位置Ｐ＋Ｔ０のサンプルから徐々に小さくなる所定の重みで重み付けされる。
【０１１３】
そして、重み付けされた開始位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号と、位置Ｐ＋Ｔ０のサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号が加算され、ピッチ周期Ｔ０分のサンプルのオーディオ信号が生成される。このピッチ周期Ｔ０分のサンプルのオーディオ信号は、処理バッファ部７１に記憶されている位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号に上書きされる。
【０１１４】
その結果、処理バッファ部７１に記憶されている位置ＰのサンプルからＬ−Ｔ０分のオーディオ信号は、図７Ｂに示すようになる。即ち、位置ＰのサンプルからＬ−Ｔ０分のオーディオ信号のうち、位置Ｐのサンプルからピッチ周期Ｔ０分のサンプル以外のサンプルのオーディオ信号は、記録部３１からDMA転送されてきたオーディオ信号そのものである。このオーディオ信号は、再生速度変換後のオーディオ信号のうちのまだDMA転送されていない部分として蓄積部３８にDMA転送され、蓄積される。
【０１１５】
また、再生速度変換後のオーディオ信号は、図７Ａに示すように、処理バッファ部７１に記憶されている、開始位置Ｐのサンプルから次回の開始位置Ｐのサンプルまでの開始位置移動量ΔＰ分のサンプルのオーディオ信号に対するものである。従って、記録部３１に記録されているオーディオ信号の再生速度に対する、蓄積部３８に蓄積されるオーディオ信号の再生速度の割合は、ΔＰ／Ｌ、即ち再生速度変換率Ｒに略等しい。
【０１１６】
［再生速度変換装置の処理の説明］
図８および図９は、図６の再生速度変換装置７０の再生速度変換処理を説明するフローチャートである。この再生速度変換処理は、例えば、ユーザが図示せぬ入力部を操作することにより、再生速度変換処理の開始を指令したとき、開始する。
【０１１７】
図８のステップＳ５１乃至Ｓ５７の処理は、図４のステップＳ１１乃至Ｓ１７の処理と同様であるので、説明は省略する。
【０１１８】
ステップＳ５７の処理後、ステップＳ５８において、処理バッファ部７１は、処理制御部７２から供給される開始位置Ｐと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０のサンプルまでのオーディオ信号を蓄積部３８にDMA転送する。
【０１１９】
ステップＳ５９において、蓄積部３８は、処理バッファ部７１からDMA転送されてくる開始位置Ｐのサンプルからピッチ周期Ｔ０のサンプルまでのオーディオ信号を、再生速度変換後のオーディオ信号の一部として蓄積する。
【０１２０】
ステップＳ６０において、処理バッファ部７１は、開始位置Ｐとピッチ周期Ｔ０とに基づいて、開始位置Ｐのサンプルからピッチ周期Ｔ０の２倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部７１は、そのオーディオ信号を演算処理用信号として演算部３５に供給する。
【０１２１】
ステップＳ６１において、演算部３５は、処理バッファ部７１から供給される演算処理用信号の重み付け加算をＮサンプル単位で並列に行う。演算部３５は、その結果得られるピッチ周期Ｔ０分のサンプルのオーディオ信号を、伸張演算処理用信号として処理バッファ部７１に供給する。
【０１２２】
ステップＳ６２において、処理バッファ部７１は、記憶している位置Ｐのサンプルからピッチ周期Ｔ０分のサンプルのオーディオ信号を、演算部３５からの伸張演算処理用信号で上書きする。
【０１２３】
ステップＳ６３において、処理バッファ部７１は、外部から入力される再生速度変換率Ｒと、ピッチ算出部３３から供給されるピッチ周期Ｔ０とを用いて、上述した式（６）により、再生信号長Ｌを求める。
【０１２４】
図９のステップＳ６４において、処理バッファ部７１は、伸張演算処理用信号で上書きされたオーディオ信号を含む、位置ＰのサンプルからＬ−Ｔ０分のサンプルのオーディオ信号を蓄積部３８にDMA転送する。
【０１２５】
ステップＳ６５において、蓄積部３８は、処理バッファ部７１からDMA転送されてくる位置ＰのサンプルからＬ−Ｔ０分のサンプルのオーディオ信号を、再生速度変換後のオーディオ信号のうちの、ステップＳ５８でDMA転送されたピッチ周期Ｔ０分のオーディオ信号以外のオーディオ信号として蓄積する。
【０１２６】
ステップＳ６６乃至Ｓ７４の処理は、図４および図５のステップＳ２４乃至Ｓ３２の処理と同様であるので、説明は省略する。
【０１２７】
以上のように、再生速度変換装置７０は、ピッチ周期Ｔ０と開始位置ＰをＮの倍数にするので、記録部３１、処理バッファ部７１、蓄積部３８、および演算部３５のそれぞれが、制約を守りながら各処理を行うことができる。従って、記録部３１、処理バッファ部７１、蓄積部３８、および演算部３５のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図１の再生速度変換装置１０に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【０１２８】
なお、処理バッファ部７１としては、処理バッファ部１２と同様にリングバッファを用いることもできる。
【０１２９】
＜第３実施の形態＞
[再生速度変換装置の第３実施の形態の構成例]
図１０は、本技術を適用した信号処理装置としての再生速度変換装置の第３実施の形態の構成例を示すブロック図である。
【０１３０】
図１０に示す構成のうち、図２の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１３１】
図１０の再生速度変換装置１００の構成は、主に、サンプル数変換部１０１が新たに設けられている点が図２の構成と異なる。再生速度変換装置１００は、記録部３１に記録されているオーディオ信号の再生速度を変更するだけでなく、ピッチ周期も変更する。
【０１３２】
具体的には、再生速度変換装置１００のサンプル数変換部１０１は、変更部として機能する。即ち、サンプル数変換部１０１は、外部から入力されるピッチ変換率（詳細は後述する）に基づいて、蓄積部３８に蓄積されている再生速度変換後のオーディオ信号のサンプル数を変更することによりピッチ周期を変更し、変更後のオーディオ信号を出力する。
【０１３３】
なお、ピッチ変換率は、記録部１１に記録されているオーディオ信号に対する、再生速度変換装置１００から出力されるオーディオ信号のピッチ周期の伸縮率である。ピッチ変換率は、例えば、ユーザが図示せぬ入力部を操作することにより、サンプル数変換部１０１に入力される。
【０１３４】
なお、図１０の再生速度変換装置１００は、演算部３５とサンプル数変換部１０１を別に設け、オーディオ信号の時間軸領域における圧縮とピッチ周期の変更を別々に行ったが、両方をまとめて行うようにしてもよい。
【０１３５】
また、図示は省略するが、図６の再生速度変換装置７０においても、サンプル数変換部１０１が設けられるようにしてもよい。
【０１３６】
また、再生速度変換装置３０（７０，１００）では、ピッチ周期Ｔ０が算出された後、ピッチ周期Ｔ０がＮの倍数に補正されたが、ピッチ周期Ｔ０の算出時に、Ｎの倍数であるピッチ周期Ｔ０のみが算出されるようにしてもよい。この場合、ピッチ算出部３３は、Ｎの倍数である周期Ｔについてのみ上述した式（２）の演算を行い、平均歪みｄ（Ｔ）を最小にするような周期Ｔをピッチ周期Ｔ０として算出する。
【０１３７】
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１３８】
そこで、図１１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１３９】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部２０８やROM（Read Only Memory）２０２に予め記録しておくことができる。
【０１４０】
あるいはまた、プログラムは、リムーバブルメディア２１１に格納（記録）しておくことができる。このようなリムーバブルメディア２１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア２１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０１４１】
なお、プログラムは、上述したようなリムーバブルメディア２１１からドライブ２１０を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部２０８にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０１４２】
コンピュータは、CPU(Central Processing Unit)２０１を内蔵しており、CPU２０１には、バス２０４を介して、入出力インタフェース２０５が接続されている。
【０１４３】
CPU２０１は、入出力インタフェース２０５を介して、ユーザによって、入力部２０６が操作等されることにより指令が入力されると、それに従って、ROM２０２に格納されているプログラムを実行する。あるいは、CPU２０１は、記憶部２０８に格納されたプログラムを、RAM(Random Access Memory)２０３にロードして実行する。
【０１４４】
これにより、CPU２０１は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０１は、その処理結果を、必要に応じて、例えば、入出力インタフェース２０５を介して、出力部２０７から出力、あるいは、通信部２０９から送信、さらには、記憶部２０８に記録等させる。
【０１４５】
なお、入力部２０６は、キーボードや、マウス、マイク等で構成される。また、出力部２０７は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０１４６】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０１４７】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１４８】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１４９】
なお、本技術は、以下のような構成もとることができる。
【０１５０】
（１）
オーディオ信号を記憶する記憶部と、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出部と、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定部と、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮部と
を備え、
前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理装置。
（２）
前記開始位置決定部は、
前記記憶部に記憶されている前記オーディオ信号に対する、前記記憶部から転送される前記オーディオ信号の長さの比率である再生速度変換率に基づいて、前記開始位置のサンプルを順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記伸張圧縮部は、前記再生速度変換率に基づいて、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の前記所定数倍分のサンプルを時間軸領域で伸張または圧縮する
前記（１）に記載の信号処理装置。
（３）
前記ピッチ算出部は、前記開始位置から前記ピッチ周期のサンプル数の最大値の２倍分のサンプルの前記オーディオ信号を用いて、前記開始位置ごとに前記ピッチ周期のサンプル数を算出する
前記（１）または（２）のいずれかに記載の信号処理装置。
（４）
前記開始位置決定部は、
所定のサンプルを前記開始位置として順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記開始位置補正部は、補正後の前記開始位置の移動量から補正前の前記開始位置の移動量を減算した値の累積値を演算し、前記累積値が正の値である場合、前記開始位置のサンプルをより前のサンプルに補正し、前記累積値が負の値である場合、前記開始位置のサンプルをより後のサンプルに補正する
前記（１）に記載の信号処理装置。
（５）
前記伸張圧縮部は、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを、Ｎサンプル単位で並列に重み付け加算することにより、そのサンプルを時間軸領域で伸張または圧縮する
前記（１）乃至（４）のいずれかに記載の信号処理装置。
（６）
前記伸張圧縮部による伸張または圧縮後のオーディオ信号のピッチ周期を変更する変更部
をさらに備える
前記（１）乃至（５）のいずれかに記載の信号処理装置。
（７）
オーディオ信号を記憶する記憶部を備える信号処理装置が、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮ステップと
を含み、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理方法。
（８）
オーディオ信号を記憶する記憶部を備える信号処理装置を制御するコンピュータに、
前記オーディオ信号のピッチ周期のサンプル数として、１以上の整数であるＮの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の１つ前の開始位置から前記Ｎの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Ｎの倍数にする伸張圧縮ステップと
を含む処理を実行させ、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
プログラム。
【符号の説明】
【０１５１】
３０  再生速度変換装置，  ３２  処理バッファ部，  ３３  ピッチ算出部，  ３４  ピッチ周期補正部，  ３５  演算部，  ３６  処理制御部，  ３７  開始位置移動量補正部，  ７０  再生速度変換装置，  ７１  処理バッファ部，  ７２  処理制御部，  １００  再生速度変換装置，  １０１  サンプル数変換部
【図１】
2012252036.tif 000008
【図２】
2012252036.tif 000009
【図３】
2012252036.tif 000010
【図４】
2012252036.tif 000011
【図５】
2012252036.tif 000012
【図６】
2012252036.tif 000013
【図７】
2012252036.tif 000014
【図８】
2012252036.tif 000015
【図９】
2012252036.tif 000016
【図１０】
2012252036.tif 000017
【図１１】
2012252036.tif 000018