説明

信号処理装置、信号処理方法、およびプログラム

【課題】オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができるようにする。
【解決手段】処理バッファ部は、オーディオ信号を記憶する。ピッチ算出部とピッチ周期補正部は、オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出する。処理制御部と開始位置移動量補正部は、オーディオ信号の時間軸領域における圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置からNの倍数番目のサンプルを順次決定する。演算部は、オーディオ信号の開始位置のサンプルからピッチ周期の所定数倍分のサンプルを時間軸領域で圧縮し、圧縮後のオーディオ信号のサンプル数をNの倍数にする。本技術は、例えば、オーディオ信号処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、信号処理装置、信号処理方法、およびプログラムに関し、特に、オーディオ信号を時間軸領域処理にて伸張または圧縮する信号処理装置、信号処理方法、およびプログラムに関する。
【背景技術】
【0002】
オーディオ信号の時間軸領域伸張圧縮アルゴリズムとして、単純な処理でありながら高音質の処理結果を得られるPICOLA(Pointer Interval Controlled OverLap and Add)がよく知られ、用いられている(例えば、非特許文献1参照)。
【0003】
図1は、PICOLAアルゴリズムにしたがってオーディオ信号を時間軸領域処理にて圧縮する再生速度変換装置の構成の一例を示すブロック図である。
【0004】
図1の再生速度変換装置10は、記録部11、処理バッファ部12、ピッチ算出部13、演算部14、処理制御部15、および蓄積部16により構成され、オーディオ信号の再生速度をR(R>1)倍にする。
【0005】
再生速度変換装置10の記録部11は、PCM(Pulse Code Modulation)信号であるオーディオ信号を時系列に記録している。記録部11は、記録しているオーディオ信号を記録順に処理バッファ部12にDMA(Direct Memory Access)転送する。
【0006】
処理バッファ部12は、記録部11からDMA転送されてくるオーディオ信号を受信順に一時的に記憶する。また、処理バッファ部12は、処理制御部15から供給される開始位置Pと、ピッチ算出部13から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tの2倍分のサンプルのオーディオ信号を読み出す。
【0007】
なお、開始位置Pとは、圧縮の開始位置のサンプルのサンプル番号であり、サンプル番号とは、処理バッファ部12に記憶されている時系列のオーディオ信号の各サンプルに順に付与される番号である。また、ピッチ周期Tとは、オーディオ信号のピッチ周期のサンプル数である。
【0008】
処理バッファ部12は、読み出されたオーディオ信号を演算処理用信号として演算部14に供給する。また、処理バッファ部12は、開始位置Pとピッチ周期Tに基づいて、開始位置Pのサンプルからピッチ周期T番目のサンプルのサンプル番号である位置P+Tを決定する。処理バッファ部12は、記憶している位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を、演算部14から供給される圧縮後の演算処理用信号で上書きする。
【0009】
また、処理バッファ部12は、外部から入力される再生速度変換率Rと、ピッチ算出部13から供給されるピッチ周期Tとを用いて、以下の式(1)により、再生速度変換後のオーディオ信号のサンプル数を表す再生信号長Lを求める。
【0010】
なお、再生速度変換率Rは、記録部11に記録されている再生速度変換前のオーディオ信号に対する、蓄積部16に記録される再生速度変換後のオーディオ信号の長さの比率である。再生速度変換率Rは、例えば、ユーザが図示せぬ入力部を操作することにより、処理バッファ部12と処理制御部15に入力される。
【0011】
【数1】

【0012】
処理バッファ部12は、開始位置Pのサンプルから次回の開始位置Pのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号として、圧縮演算処理用信号で上書きされたオーディオ信号を含む位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を、蓄積部16にDMA転送する。このとき、処理バッファ部12が、まだ位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を全て記憶していない場合、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部16にDMA転送する。そして、処理バッファ部12は、残りのオーディオ信号のDMA転送を記録部11に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部16にDMA転送する。
【0013】
ピッチ算出部13は、処理バッファ部12に記憶されている、開始位置Pのサンプルから予め設定されたピッチ周期のサンプル数の最大値である最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を参照して、オーディオ信号のピッチ周期Tを算出する。具体的には、ピッチ算出部13は、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号に基づいて、例えば以下の式(2)で定義される平均歪みd(T)を最小にするような周期Tをピッチ周期Tとして算出する。そして、ピッチ算出部13は、算出されたピッチ周期Tを処理バッファ部12と処理制御部15に供給する。
【0014】
【数2】

【0015】
なお、式(2)において、x(i)は、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号のうちの、i番目のサンプルのオーディオ信号を表している。また、Tminは予め設定されたピッチ周期のサンプル数の最小値である最小ピッチ周期を表している。
【0016】
演算部14は、処理バッファ部12から供給される演算処理用信号のうちの、開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を重み付け加算する。演算部14は、その結果得られるピッチ周期T分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部12に供給する。
【0017】
処理制御部15は、最初の開始位置Pを所定値(例えば0)に決定する。また、処理制御部15は、ピッチ算出部13から供給されるピッチ周期Tと、外部から入力される再生速度変換率Rに基づいて、以下の式(3)および(4)により開始位置Pを順次更新する。処理制御部15は、開始位置Pを処理バッファ部12に供給する。
【0018】
P=P+ΔP
・・・(3)
【0019】
【数3】

【0020】
なお、処理バッファ部12の記憶容量は有限であるので、処理バッファ部12に記憶されているオーディオ信号は、適当なタイミングで更新される。従って、このとき、処理制御部15は、処理バッファ部12がリングバッファである場合には、開始位置Pを処理バッファ部12の長さに基づくmodulo演算を用いて更新し、リングバッファでない場合には、開始位置Pを十分小さな値(例えば0)に更新する。
【0021】
蓄積部16は、処理バッファ部12からDMA転送されてくる位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を蓄積する。
【0022】
一方、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などにおける演算やDMA転送では、処理対象となるデータの配置に制約がある場合がある。例えば、1サンプルのオーディオ信号のデータ量が32bit(4byte)である場合、4サンプルのオーディオ信号それぞれを処理対象とした演算を並列に行うためには、オーディオ信号が、4サンプル分のデータ量である16byteアラインされている必要がある場合がある。また、DMA転送では、データの転送元や転送先の開始位置が2のべき乗などの既定byte数にアラインされている必要がある場合がある。
【先行技術文献】
【非特許文献】
【0023】
【非特許文献1】森田 直孝、板倉 文忠著「ポインター移動量制御による重複加算法(PICOLA)を用いた音声の時間軸での伸張圧縮とその評価」日本音響学会講演論文集,昭和61年10月発行,p.149−150
【発明の概要】
【発明が解決しようとする課題】
【0024】
図1の再生速度変換装置10の記録部11および処理バッファ部12におけるDMA転送、演算部14における重み付け加算処理等において、処理対象となるオーディオ信号の配置に制約がある場合、ピッチ周期Tと開始位置移動量ΔPが、その制約に対応するサンプル数の倍数ではないと、例外的な処理を行う必要が生じる。その結果、余計な命令コード等が必要になり、処理量が増加する。また、このことは、PICOLAアルゴリズムにしたがってオーディオ信号を時間軸領域処理にて伸張する再生速度変換装置においても同様である。
【0025】
本技術は、このような状況に鑑みてなされたものであり、オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができるようにするものである。
【課題を解決するための手段】
【0026】
本技術の一側面の信号処理装置は、オーディオ信号を記憶する記憶部と、前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出部と、前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定部と、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮部とを備え、前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する信号処理装置である。
【0027】
本技術の一側面の信号処理方法およびプログラムは、本技術の一側面の信号処理装置に対応する。
【0028】
本技術の一側面においては、オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数が算出され、前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルが順次決定され、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルが時間軸領域で伸張または圧縮され、伸張または圧縮後の前記オーディオ信号のサンプル数が前記Nの倍数にされる。なお、前記オーディオ信号は記憶部に記憶され、前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する。
【発明の効果】
【0029】
本技術の一側面によれば、オーディオ信号を時間軸領域処理にて伸張または圧縮する場合において、処理対象となるオーディオ信号の配置に制約がある場合でも処理量を低減することができる。
【図面の簡単な説明】
【0030】
【図1】従来の再生速度変換装置の構成の一例を示すブロック図である。
【図2】本技術を適用した再生速度変換装置の第1実施の形態の構成例を示すブロック図である。
【図3】オーディオ信号の例を示す図である。
【図4】図2の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図5】図2の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図6】本技術を適用した再生速度変換装置の第2実施の形態の構成例を示すブロック図である。
【図7】オーディオ信号の例を示す図である。
【図8】図6の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図9】図6の再生速度変換装置の再生速度変換処理を説明するフローチャートである。
【図10】本技術を適用した再生速度変換装置の第3実施の形態の構成例を示すブロック図である。
【図11】コンピュータの一実施の形態の構成例を示す図である。
【発明を実施するための形態】
【0031】
<第1実施の形態>
[再生速度変換装置の第1実施の形態の構成例]
図2は、本技術を適用した信号処理装置としての再生速度変換装置の第1実施の形態の構成例を示すブロック図である。
【0032】
図2の再生速度変換装置30は、記録部31、処理バッファ部32、ピッチ算出部33、ピッチ周期補正部34、演算部35、処理制御部36、開始位置移動量補正部37、および蓄積部38により構成され、オーディオ信号の再生速度をR(R>1)倍にする。
【0033】
なお、図2の再生速度変換装置30では、記録部31、処理バッファ部32、および蓄積部38において、DMA転送の転送元および転送先の処理対象の開始位置が、Nサンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。例えば、DMA転送の転送元および転送先の処理対象の開始位置が16byteにアラインされていることという制約がある。この場合、1サンプルのオーディオ信号のデータ量が32bit(4byte)であると、Nは4である。また、演算部35において、並列処理の対象が並列数サンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。
【0034】
再生速度変換装置30の記録部31は、図1の記録部11と同様に、PCM信号であるオーディオ信号を時系列に記録している。記録部31は、記録しているオーディオ信号を記録順にNサンプル単位で処理バッファ部32にDMA転送する。
【0035】
このように、記録部31は、記録しているオーディオ信号を記録順にNサンプル単位でDMA転送するので、DMA転送の転送元の処理対象の開始位置がNサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【0036】
処理バッファ部32は、記憶部として機能し、記録部31からDMA転送されてくるオーディオ信号を受信順にNサンプル単位で一時的に記憶する。従って、処理バッファ部32は、DMA転送の転送先の処理対象の開始位置がNサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【0037】
また、処理バッファ部32は、図1の処理バッファ部12と同様に、処理制御部36から供給される開始位置Pと、ピッチ算出部33から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tの2倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部32は、処理バッファ部12と同様に、そのオーディオ信号を演算処理用信号として演算部35に供給する。
【0038】
さらに、処理バッファ部32は、処理バッファ部12と同様に、開始位置Pとピッチ周期Tに基づいて位置P+Tを決定する。処理バッファ部32は、処理バッファ部12と同様に、記憶している位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を、演算部35から供給される圧縮演算処理用信号で上書きする。
【0039】
また、処理バッファ部32は、処理バッファ部12と同様に、外部から入力される再生速度変換率Rと、ピッチ算出部33から供給されるピッチ周期Tとを用いて、上述した式(1)により、再生信号長Lを求める。
【0040】
処理バッファ部32は、処理バッファ部12と同様に、開始位置Pのサンプルから次回の開始位置Pのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号として、上書き後の位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を蓄積部38にDMA転送する。このとき、処理バッファ部32が、まだ位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を全て記憶していない場合、処理バッファ部12と同様に、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部38にDMA転送する。そして、処理バッファ部32は、処理バッファ部12と同様に、残りのオーディオ信号のDMA転送を記録部31に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部38にDMA転送する。
【0041】
ここで、後述するように、開始位置P、および、ピッチ周期TはNの倍数となるように補正される。従って、処理バッファ部32から蓄積部38にDMA転送されるオーディオ信号の開始位置である位置P+TはNの倍数である。よって、処理バッファ部32は、DMA転送の転送元の処理対象の開始位置がNサンプル分のデータ量にアラインされていることという制約を守っている。
【0042】
ピッチ算出部33とピッチ周期補正部34は、ピッチ算出部として機能する。具体的には、ピッチ算出部33は、図1のピッチ算出部13と同様に、処理バッファ部32に記憶されている、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を参照して、上述した式(2)によりピッチ周期Tを算出する。ピッチ算出部33は、そのピッチ周期Tをピッチ周期補正部34に供給する。また、ピッチ算出部33は、ピッチ周期補正部34から供給される補正後のピッチ周期Tを処理バッファ部32に供給する。
【0043】
ピッチ周期補正部34は、所定の方法で、ピッチ算出部33から供給されるピッチ周期TをNの倍数に補正する。ピッチ周期TをNの倍数に補正する方法としては、ピッチ周期TをNで除算し、小数点以下を切り捨て、Nを乗算する方法がある。また、ピッチ周期TをNで除算し、小数点以下を切り上げ、Nを乗算する方法もある。さらに、ピッチ周期TをNで除算し、小数点以下を四捨五入して、Nを乗算する方法もある。ピッチ周期補正部34は、補正後のNの倍数であるピッチ周期Tをピッチ算出部33と処理制御部36に供給する。
【0044】
演算部35は、伸張圧縮部として機能し、処理バッファ部32から供給される演算処理用信号を時間領域において再生速度変換率Rに対応する割合で圧縮するための、演算処理用信号の重み付け加算処理を、Nサンプル単位で並列に行う。具体的には、演算部35は、開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を、Nサンプル単位で並列に重み付け加算する。
【0045】
ここで、ピッチ周期TはNの倍数に補正されているので、開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号のサンプル数は、それぞれNの倍数である。従って、重み付け加算処理において、並列処理の対象が、並列数であるNサンプル分のオーディオ信号のデータ量にアラインされていることという制約が守られている。
【0046】
演算部35は、重み付け加算処理の結果得られるピッチ周期T分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部32に供給する。
【0047】
処理制御部36と開始位置移動量補正部37は、開始位置決定部として機能する。具体的には、処理制御部36は、決定部として機能し、最初の開始位置Pを0に決定する。また、処理制御部36は、ピッチ算出部33から供給されるピッチ周期Tと、外部から入力される再生速度変換率Rに基づいて、上述した式(4)により開始位置移動量ΔPを求める。そして、処理制御部36は、その開始位置移動量ΔPを開始位置移動量補正部37に供給する。
【0048】
また、処理制御部36は、開始位置移動量補正部37から供給される補正後のNの倍数である開始位置移動量ΔPに基づいて、上述した式(3)により開始位置Pを順次更新する。最初の開始位置Pは0であり、開始位置移動量ΔPはNの倍数であるので、上述した式(3)により更新される開始位置Pは、必ず、Nの倍数になる。処理制御部36は、Nの倍数である開始位置Pを処理バッファ部32に供給する。
【0049】
開始位置移動量補正部37は、開始位置補正部として機能し、所定の方法で、処理制御部36から供給される開始位置移動量ΔPをNの倍数に補正し、補正後の開始位置移動量ΔPを処理制御部36に供給する。開始位置移動量ΔPをNの倍数に補正する方法としては、上述したピッチ周期TをNの倍数に補正する方法と同様の方法を用いることができる。
【0050】
但し、開始位置移動量補正部37は、補正後の開始位置移動量ΔPから補正前の開始位置移動量ΔPを減算した結果得られる差分の累積和である累積誤差和error_sumに基づいて、開始位置移動量ΔPをNの倍数に補正する方法を選択する。
【0051】
例えば、累積誤差和error_sumが正の値である場合、即ち補正後の開始位置移動量ΔPが補正前の開始位置移動量ΔPより大きい傾向にある場合、開始位置移動量補正部37は、開始位置移動量ΔPをNで除算し、小数点以下を切り捨て、Nを乗算することにより補正を行う方法を選択する。これにより、補正後の開始位置移動量ΔPを用いて更新される開始位置Pは、補正前の開始位置移動量ΔPを用いて更新される開始位置Pより小さくなる。即ち、開始位置移動量ΔPを用いて更新される開始位置Pのサンプルの位置は、より前の位置に補正される。
【0052】
一方、累積誤差和error_sumが負の値である場合、即ち補正後の開始位置移動量ΔPが補正前の開始位置移動量ΔPより小さい場合、開始位置移動量ΔPをNで乗算し、小数点以下を切り上げ、Nを乗算することにより補正を行う方法を選択する。これにより、補正後の開始位置移動量ΔPを用いて更新される開始位置Pは、補正前の開始位置移動量ΔPを用いて更新される開始位置Pより大きくなる。即ち、開始位置移動量ΔPを用いて更新される開始位置Pのサンプルの位置は、より後の位置に補正される。
【0053】
以上のように、開始位置移動量補正部37は、累積誤差和error_sumが小さくなる方法を選択するので、補正後の開始位置移動量ΔPの累積値が補正前の開始位置移動量ΔPの累積値に近づく。その結果、記録部31に記録されているオーディオ信号のサンプル数の総和に対する、蓄積部38に記録される再生速度変換後のオーディオ信号のサンプル数の総和の割合が、所望の再生速度変換率Rに近づく。
【0054】
また、開始位置移動量補正部37は、以下の式(5)により累積誤差和error_sumを求め(更新し)、保持する。この累積誤差和error_sumが、上述したように、次回の開始位置移動量ΔPの補正の方法の選択に用いられる。
【0055】
error_sum=error_sum+(ΔPafter-ΔPbefore
・・・(5)
【0056】
なお、式(5)において、ΔPafterは、補正後の開始位置移動量ΔPを表し、ΔPbeforeは、補正前の開始位置移動量ΔPを表す。
【0057】
蓄積部38は、オーディオ信号を時系列に蓄積する機能を有する。蓄積部38は、処理バッファ部32からDMA転送されてくる再生速度変換後のオーディオ信号を、対応する時刻のオーディオ信号として蓄積する。
【0058】
ここで、処理バッファ部32からDMA転送されてくる再生速度変換後のオーディオ信号の先頭のサンプルのサンプル番号である位置P+Tは、上述したようにNの倍数である。よって、蓄積部38は、DMA転送の転送先の処理対象の開始位置がNサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【0059】
以上のように、再生速度変換装置30では、記録部31、処理バッファ部32、蓄積部38、および演算部35のそれぞれが、制約を守りながら各処理を行う。従って、記録部31、処理バッファ部32、蓄積部38、および演算部35のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図1の再生速度変換装置10に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【0060】
[オーディオ信号の例]
図3は、図2の処理バッファ部32に記憶されているオーディオ信号と蓄積部38に蓄積されるオーディオ信号の例を示す図である。なお、図3において、横軸は時刻を表している。
【0061】
図3Aに示すように、処理バッファ部32に記憶されているオーディオ信号の開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号は、図中太い点線で表されるように、開始位置Pのサンプルから徐々に小さくなる所定の重みで重み付けされる。また、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号は、図中太い点線で表されるように、位置P+Tのサンプルから徐々に大きくなる所定の重みで重み付けされる。
【0062】
そして、重み付けされた開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号が加算され、ピッチ周期T分のサンプルのオーディオ信号が生成される。このピッチ周期T分のサンプルのオーディオ信号は、処理バッファ部32に記憶されている位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号に上書きされる。
【0063】
その結果、処理バッファ部32に記憶されている位置P+Tのサンプルから再生信号長L分のオーディオ信号は、図3Bに示すようになる。即ち、位置P+Tのサンプルから再生信号長L分のオーディオ信号のうち、位置P+Tのサンプルからピッチ周期T分のサンプル以外のサンプルのオーディオ信号は、記録部31からDMA転送されてきたオーディオ信号そのものである。このオーディオ信号は、再生速度変換後のオーディオ信号として蓄積部38にDMA転送され、蓄積される。
【0064】
また、この再生速度変換後のオーディオ信号は、図3Aに示すように、処理バッファ部32に記憶されている、開始位置Pのサンプルから次回の開始位置Pのサンプルまでの開始位置移動量ΔP分のサンプルのオーディオ信号に対するものである。従って、記録部31に記録されているオーディオ信号の再生速度に対する、蓄積部38に蓄積されるオーディオ信号の再生速度の割合は、ΔP/L、即ち再生速度変換率Rに略等しい。
【0065】
[再生速度変換装置の処理の説明]
図4および図5は、図2の再生速度変換装置30の再生速度変換処理を説明するフローチャートである。この再生速度変換処理は、例えば、ユーザが図示せぬ入力部を操作することにより、再生速度変換処理の開始を指令したとき、開始する。
【0066】
図4のステップS11において、再生速度変換装置30の記録部31は、記録しているオーディオ信号のNサンプル単位の処理バッファ部32へのDMA転送を開始し、処理バッファ部32の空き容量が所定値以下になるまでDMA転送を行う。
【0067】
ステップS12において、処理バッファ部32は、記録部31からDMA転送されてくるNサンプル単位のオーディオ信号の一時的な記憶を開始する。
【0068】
ステップS13において、処理制御部36は、最初の開始位置Pを所定値(例えば0)に決定する。
【0069】
ステップS14において、処理バッファ部32は、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を記憶しているかどうかを判定する。
【0070】
ステップS14で開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号をまだ記憶していないと判定された場合、処理はステップS15に進む。
【0071】
ステップS15において、処理バッファ部32は、自分自身の空き容量が所定値以下であるかどうかを判定する。ステップS15で空き容量が所定値以下ではないと判定された場合、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を記憶するまで待機する。
【0072】
一方、ステップS14で開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を記憶していると判定された場合、処理はステップS16に進む。ステップS16において、ピッチ算出部33は、処理バッファ部32に記憶されている、開始位置Pのサンプルから最大ピッチ周期Tmaxの2倍分のサンプルのオーディオ信号を参照して、上述した式(2)により、オーディオ信号のピッチ周期Tを算出する。ピッチ算出部33は、そのピッチ周期Tをピッチ周期補正部34に供給する。
【0073】
ステップS17において、ピッチ周期補正部34は、所定の方法でピッチ周期TをNの倍数に補正する。ピッチ周期補正部34は、補正後のNの倍数であるピッチ周期Tをピッチ算出部33と処理制御部36に供給する。ピッチ算出部33は、ピッチ周期補正部34から供給される補正後のピッチ周期Tを処理バッファ部32に供給する。
【0074】
ステップS18において、処理バッファ部32は、処理制御部36から供給される開始位置Pと、ピッチ算出部33から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tの2倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部32は、そのオーディオ信号を演算処理用信号として演算部35に供給する。
【0075】
ステップS19において、演算部35は、処理バッファ部32から供給される演算処理用信号の重み付け加算をNサンプル単位で並列に行う。
【0076】
具体的には、演算部35は、開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を、Nサンプル単位で並列に重み付け加算する。演算部35は、その結果得られるピッチ周期T分のサンプルのオーディオ信号を、圧縮演算処理用信号として処理バッファ部32に供給する。
【0077】
ステップS20において、処理バッファ部32は、開始位置Pとピッチ周期Tに基づいて位置P+Tを決定し、記憶している位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号を、演算部35からの圧縮演算処理用信号で上書きする。
【0078】
ステップS21において、処理バッファ部12は、外部から入力される再生速度変換率Rと、ピッチ算出部33から供給されるピッチ周期Tとを用いて、上述した式(1)により、再生信号長Lを求める。
【0079】
図5のステップS22において、処理バッファ部32は、圧縮演算処理用信号で上書きされたオーディオ信号を含む、位置P+Tのサンプルから再生信号長L分のサンプルのオーディオ信号を、再生速度変換後のオーディオ信号として蓄積部38にDMA転送する。
【0080】
ステップS23において、蓄積部38は、処理バッファ部32からDMA転送されてくる再生速度変換後のオーディオ信号を、対応する時刻のオーディオ信号として蓄積する。
【0081】
ステップS24において、処理制御部36は、ピッチ算出部33から供給されるピッチ周期Tと、外部から入力される再生速度変換率Rに基づいて、上述した式(4)により、開始位置移動量ΔPを求める。そして、処理制御部36は、その開始位置移動量ΔPを開始位置移動量補正部37に供給する。
【0082】
ステップS25において、開始位置移動量補正部37は、累積誤差和error_sumを保持しているかどうかを判定する。
【0083】
ステップS25で累積誤差和error_sumを保持していると判定された場合、ステップS26において、開始位置移動量補正部37は、累積誤差和error_sumに基づいて、開始位置移動量ΔPをNの倍数に補正する方法を選択し、処理をステップS28に進める。
【0084】
一方、ステップS25で累積誤差和error_sumを保持していないと判定された場合、ステップS27において、開始位置移動量補正部37は、開始位置移動量ΔPをNの倍数に補正する方法として所定の方法を選択し、処理をステップS28に進める。
【0085】
ステップS28において、開始位置移動量補正部37は、ステップS26またはS27の処理で選択された方法で開始位置移動量ΔPをNの倍数に補正し、補正後の開始位置移動量ΔPを処理制御部36に供給する。
【0086】
ステップS29において、開始位置移動量補正部37は、上述した式(5)により、直前のステップS24の処理で求められた補正前の開始位置移動量ΔPbeforeと、ステップS28の処理で補正された補正後の開始位置移動量ΔPafterを用いて累積誤差和error_sumを更新し、保持する。
【0087】
ステップS30において、処理制御部36は、開始位置移動量補正部37から供給される補正後のNの倍数である開始位置移動量ΔPに基づいて、上述した式(3)により開始位置Pを更新する。
【0088】
ステップS31において、ピッチ算出部33は、再生速度変換処理を終了するかどうか、例えば、ユーザにより再生速度変換処理の終了が指令されたかどうかを判定する。ステップS31で再生速度変換処理を終了しないと判定された場合、処理は図4のステップS14に戻る。
【0089】
一方、ステップS15で空き容量が所定値以下であると判定された場合、ステップS32において、処理バッファ部32は、記憶しているオーディオ信号を削除する。そして、処理はステップS11に戻り、記録部31は、開始位置Pのサンプルのオーディオ信号から処理バッファ部32へのNサンプル単位のDMA転送を開始し、処理バッファ部32の空き容量が所定値以下になるまでDMA転送を行う。そして、処理はステップS12に進み、以降の処理が繰り返される。
【0090】
また、ステップS31で再生速度変換処理を終了すると判定された場合、記録部31はDMA転送を終了し、処理バッファ部32は記録部31からDMA転送されてくるオーディオ信号の記憶を終了し、処理は終了する。
【0091】
以上のように、再生速度変換装置30は、ピッチ周期Tと開始位置PをNの倍数にするので、記録部31、処理バッファ部32、蓄積部38、および演算部35のそれぞれが、制約を守りながら各処理を行うことができる。従って、記録部31、処理バッファ部32、蓄積部38、および演算部35のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図1の再生速度変換装置10に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【0092】
なお、処理バッファ部32としては、処理バッファ部12と同様にリングバッファを用いることもできる。
【0093】
<第2実施の形態>
[再生速度変換装置の第2実施の形態の構成例]
図6は、本技術を適用した信号処理装置としての再生速度変換装置の第2実施の形態の構成例を示すブロック図である。
【0094】
図6に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0095】
図6の再生速度変換装置70の構成は、主に、処理バッファ部32、処理制御部36の代わりに処理バッファ部71、処理制御部72が設けられている点が図2の構成と異なる。再生速度変換装置70は、オーディオ信号の再生速度をR(0.5<R<1)倍にする。
【0096】
なお、図6の再生速度変換装置70では、図2の再生速度変換装置30と同様に、記録部31、処理バッファ部71、および蓄積部38において、DMA転送の転送元および転送先の処理対象の開始位置が、Nサンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。また、演算部35において、並列処理の対象が並列数サンプル分のオーディオ信号のデータ量にアラインされていることという制約がある。
【0097】
再生速度変換装置70の処理バッファ部71は、図2の処理バッファ部32と同様に、記憶部として機能し、記録部31からDMA転送されてくるオーディオ信号を受信順にNサンプル単位で一時的に記憶する。従って、処理バッファ部71は、DMA転送の転送先の処理対象の開始位置がNサンプル分のオーディオ信号のデータ量にアラインされていることという制約を守っている。
【0098】
また、処理バッファ部71は、処理制御部36から供給される開始位置Pと、ピッチ算出部33から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tのサンプルまでのオーディオ信号を蓄積部38にDMA転送する。
【0099】
ここで、開始位置Pおよびピッチ周期Tは、ピッチ周期補正部34および開始位置移動量補正部37によりNの倍数となるように補正される。従って、処理バッファ部71から蓄積部38にDMA転送される開始位置Pのサンプルからピッチ周期Tのサンプルまでのオーディオ信号の開始位置である位置PはNの倍数である。よって、処理バッファ部71は、DMA転送の転送元の処理対象の開始位置がNサンプル分のデータ量にアラインされていることという制約を守っている。
【0100】
また、処理バッファ部71は、処理バッファ部32と同様に、処理制御部36から供給される開始位置Pと、ピッチ算出部33から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tの2倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部72は、処理バッファ部32と同様に、そのオーディオ信号を演算処理用信号として演算部35に供給する。
【0101】
さらに、処理バッファ部71は、記憶している位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号を、演算部35から供給される重み付け加算処理された伸張演算処理用信号で上書きする。
【0102】
また、処理バッファ部71は、外部から入力される再生速度変換率Rと、ピッチ算出部33から供給されるピッチ周期Tとを用いて、以下の式(6)により、再生信号長Lを求める。
【0103】
【数4】

【0104】
処理バッファ部71は、開始位置Pのサンプルから次回の開始位置Pのサンプルまでのオーディオ信号に対する再生速度変換後のオーディオ信号のうちの、既にDMA転送されたピッチ周期T分のオーディオ信号以外のオーディオ信号として、上書き後の位置PのサンプルからL−T分のサンプルのオーディオ信号を蓄積部38にDMA転送する。このとき、処理バッファ部71が、まだ位置Pのサンプルから再生信号長L−T分のサンプルのオーディオ信号を全て記憶していない場合、処理バッファ部32と同様に、そのオーディオ信号のうちの既に記憶しているオーディオ信号のみを蓄積部38にDMA転送する。そして、処理バッファ部71は、処理バッファ部32と同様に、残りのオーディオ信号のDMA転送を記録部31に要求し、その要求に応じてDMA転送されてくるオーディオ信号を一時的に記憶し、そのまま蓄積部38にDMA転送する。
【0105】
上述したように、開始位置Pおよびピッチ周期Tは、ピッチ周期補正部34および開始位置移動量補正部37によりNの倍数となるように補正されるので、処理バッファ部71から蓄積部38にDMA転送される上書き後の位置Pのサンプルから再生信号長L−T分のサンプルのオーディオ信号の開始位置である位置PはNの倍数である。よって、処理バッファ部71は、DMA転送の転送元の処理対象の開始位置がNサンプル分のデータ量にアラインされていることという制約を守っている。
【0106】
処理制御部72と開始位置移動量補正部37は、開始位置決定部として機能する。具体的には、処理制御部72は、図2の処理制御部36と同様に、決定部として機能し、最初の開始位置Pを0に決定する。また、処理制御部72は、処理制御部36と同様に、ピッチ算出部33から供給されるピッチ周期Tと、外部から入力される再生速度変換率Rに基づいて、以下の式(7)により開始位置移動量ΔPを求める。そして、処理制御部72は、その開始位置移動量ΔPを開始位置移動量補正部37に供給する。
【0107】
【数5】

【0108】
また、処理制御部72は、処理制御部36と同様に、開始位置移動量補正部37から供給される補正後のNの倍数である開始位置移動量ΔPに基づいて、上述した式(3)により開始位置Pを順次更新する。最初の開始位置Pは0であり、開始位置移動量ΔPはNの倍数であるので、上述した式(3)により更新される開始位置Pは、必ず、Nの倍数になる。処理制御部72は、Nの倍数である開始位置Pを処理バッファ部71に供給する。
【0109】
以上のように、再生速度変換装置70では、記録部31、処理バッファ部71、蓄積部38、および演算部35のそれぞれが、制約を守りながら各処理を行う。従って、記録部31、処理バッファ部71、蓄積部38、および演算部35のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図1の再生速度変換装置10に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【0110】
[オーディオ信号の例]
図7は、図6の処理バッファ部71に記憶されているオーディオ信号と蓄積部38に蓄積されるオーディオ信号の例を示す図である。なお、図7において、横軸は時刻を表している。
【0111】
まず、図7Aに示す処理バッファ部71に記憶されているオーディオ信号のうち、開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号が、再生速度変換後のオーディオ信号の一部として蓄積部38にDMA転送され、蓄積される。
【0112】
次に、図7Aに示すように、処理バッファ部71に記憶されているオーディオ信号の開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号は、図中太い点線で表されるように、開始位置Pのサンプルから徐々に大きくなる所定の重みで重み付けされる。また、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号は、図中太い点線で表されるように、位置P+Tのサンプルから徐々に小さくなる所定の重みで重み付けされる。
【0113】
そして、重み付けされた開始位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号と、位置P+Tのサンプルからピッチ周期T分のサンプルのオーディオ信号が加算され、ピッチ周期T分のサンプルのオーディオ信号が生成される。このピッチ周期T分のサンプルのオーディオ信号は、処理バッファ部71に記憶されている位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号に上書きされる。
【0114】
その結果、処理バッファ部71に記憶されている位置PのサンプルからL−T分のオーディオ信号は、図7Bに示すようになる。即ち、位置PのサンプルからL−T分のオーディオ信号のうち、位置Pのサンプルからピッチ周期T分のサンプル以外のサンプルのオーディオ信号は、記録部31からDMA転送されてきたオーディオ信号そのものである。このオーディオ信号は、再生速度変換後のオーディオ信号のうちのまだDMA転送されていない部分として蓄積部38にDMA転送され、蓄積される。
【0115】
また、再生速度変換後のオーディオ信号は、図7Aに示すように、処理バッファ部71に記憶されている、開始位置Pのサンプルから次回の開始位置Pのサンプルまでの開始位置移動量ΔP分のサンプルのオーディオ信号に対するものである。従って、記録部31に記録されているオーディオ信号の再生速度に対する、蓄積部38に蓄積されるオーディオ信号の再生速度の割合は、ΔP/L、即ち再生速度変換率Rに略等しい。
【0116】
[再生速度変換装置の処理の説明]
図8および図9は、図6の再生速度変換装置70の再生速度変換処理を説明するフローチャートである。この再生速度変換処理は、例えば、ユーザが図示せぬ入力部を操作することにより、再生速度変換処理の開始を指令したとき、開始する。
【0117】
図8のステップS51乃至S57の処理は、図4のステップS11乃至S17の処理と同様であるので、説明は省略する。
【0118】
ステップS57の処理後、ステップS58において、処理バッファ部71は、処理制御部72から供給される開始位置Pと、ピッチ算出部33から供給されるピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tのサンプルまでのオーディオ信号を蓄積部38にDMA転送する。
【0119】
ステップS59において、蓄積部38は、処理バッファ部71からDMA転送されてくる開始位置Pのサンプルからピッチ周期Tのサンプルまでのオーディオ信号を、再生速度変換後のオーディオ信号の一部として蓄積する。
【0120】
ステップS60において、処理バッファ部71は、開始位置Pとピッチ周期Tとに基づいて、開始位置Pのサンプルからピッチ周期Tの2倍分のサンプルのオーディオ信号を読み出す。そして、処理バッファ部71は、そのオーディオ信号を演算処理用信号として演算部35に供給する。
【0121】
ステップS61において、演算部35は、処理バッファ部71から供給される演算処理用信号の重み付け加算をNサンプル単位で並列に行う。演算部35は、その結果得られるピッチ周期T分のサンプルのオーディオ信号を、伸張演算処理用信号として処理バッファ部71に供給する。
【0122】
ステップS62において、処理バッファ部71は、記憶している位置Pのサンプルからピッチ周期T分のサンプルのオーディオ信号を、演算部35からの伸張演算処理用信号で上書きする。
【0123】
ステップS63において、処理バッファ部71は、外部から入力される再生速度変換率Rと、ピッチ算出部33から供給されるピッチ周期Tとを用いて、上述した式(6)により、再生信号長Lを求める。
【0124】
図9のステップS64において、処理バッファ部71は、伸張演算処理用信号で上書きされたオーディオ信号を含む、位置PのサンプルからL−T分のサンプルのオーディオ信号を蓄積部38にDMA転送する。
【0125】
ステップS65において、蓄積部38は、処理バッファ部71からDMA転送されてくる位置PのサンプルからL−T分のサンプルのオーディオ信号を、再生速度変換後のオーディオ信号のうちの、ステップS58でDMA転送されたピッチ周期T分のオーディオ信号以外のオーディオ信号として蓄積する。
【0126】
ステップS66乃至S74の処理は、図4および図5のステップS24乃至S32の処理と同様であるので、説明は省略する。
【0127】
以上のように、再生速度変換装置70は、ピッチ周期Tと開始位置PをNの倍数にするので、記録部31、処理バッファ部71、蓄積部38、および演算部35のそれぞれが、制約を守りながら各処理を行うことができる。従って、記録部31、処理バッファ部71、蓄積部38、および演算部35のそれぞれが、制約が守られた通常の処理として、各処理を行うことができる。その結果、従来の図1の再生速度変換装置10に比べて、余計な命令コード等が必要ないので、処理量を低減することができる。
【0128】
なお、処理バッファ部71としては、処理バッファ部12と同様にリングバッファを用いることもできる。
【0129】
<第3実施の形態>
[再生速度変換装置の第3実施の形態の構成例]
図10は、本技術を適用した信号処理装置としての再生速度変換装置の第3実施の形態の構成例を示すブロック図である。
【0130】
図10に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0131】
図10の再生速度変換装置100の構成は、主に、サンプル数変換部101が新たに設けられている点が図2の構成と異なる。再生速度変換装置100は、記録部31に記録されているオーディオ信号の再生速度を変更するだけでなく、ピッチ周期も変更する。
【0132】
具体的には、再生速度変換装置100のサンプル数変換部101は、変更部として機能する。即ち、サンプル数変換部101は、外部から入力されるピッチ変換率(詳細は後述する)に基づいて、蓄積部38に蓄積されている再生速度変換後のオーディオ信号のサンプル数を変更することによりピッチ周期を変更し、変更後のオーディオ信号を出力する。
【0133】
なお、ピッチ変換率は、記録部11に記録されているオーディオ信号に対する、再生速度変換装置100から出力されるオーディオ信号のピッチ周期の伸縮率である。ピッチ変換率は、例えば、ユーザが図示せぬ入力部を操作することにより、サンプル数変換部101に入力される。
【0134】
なお、図10の再生速度変換装置100は、演算部35とサンプル数変換部101を別に設け、オーディオ信号の時間軸領域における圧縮とピッチ周期の変更を別々に行ったが、両方をまとめて行うようにしてもよい。
【0135】
また、図示は省略するが、図6の再生速度変換装置70においても、サンプル数変換部101が設けられるようにしてもよい。
【0136】
また、再生速度変換装置30(70,100)では、ピッチ周期Tが算出された後、ピッチ周期TがNの倍数に補正されたが、ピッチ周期Tの算出時に、Nの倍数であるピッチ周期Tのみが算出されるようにしてもよい。この場合、ピッチ算出部33は、Nの倍数である周期Tについてのみ上述した式(2)の演算を行い、平均歪みd(T)を最小にするような周期Tをピッチ周期Tとして算出する。
【0137】
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0138】
そこで、図11は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0139】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部208やROM(Read Only Memory)202に予め記録しておくことができる。
【0140】
あるいはまた、プログラムは、リムーバブルメディア211に格納(記録)しておくことができる。このようなリムーバブルメディア211は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア211としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0141】
なお、プログラムは、上述したようなリムーバブルメディア211からドライブ210を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部208にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0142】
コンピュータは、CPU(Central Processing Unit)201を内蔵しており、CPU201には、バス204を介して、入出力インタフェース205が接続されている。
【0143】
CPU201は、入出力インタフェース205を介して、ユーザによって、入力部206が操作等されることにより指令が入力されると、それに従って、ROM202に格納されているプログラムを実行する。あるいは、CPU201は、記憶部208に格納されたプログラムを、RAM(Random Access Memory)203にロードして実行する。
【0144】
これにより、CPU201は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU201は、その処理結果を、必要に応じて、例えば、入出力インタフェース205を介して、出力部207から出力、あるいは、通信部209から送信、さらには、記憶部208に記録等させる。
【0145】
なお、入力部206は、キーボードや、マウス、マイク等で構成される。また、出力部207は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0146】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0147】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0148】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0149】
なお、本技術は、以下のような構成もとることができる。
【0150】
(1)
オーディオ信号を記憶する記憶部と、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出部と、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定部と、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮部と
を備え、
前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理装置。
(2)
前記開始位置決定部は、
前記記憶部に記憶されている前記オーディオ信号に対する、前記記憶部から転送される前記オーディオ信号の長さの比率である再生速度変換率に基づいて、前記開始位置のサンプルを順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記伸張圧縮部は、前記再生速度変換率に基づいて、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の前記所定数倍分のサンプルを時間軸領域で伸張または圧縮する
前記(1)に記載の信号処理装置。
(3)
前記ピッチ算出部は、前記開始位置から前記ピッチ周期のサンプル数の最大値の2倍分のサンプルの前記オーディオ信号を用いて、前記開始位置ごとに前記ピッチ周期のサンプル数を算出する
前記(1)または(2)のいずれかに記載の信号処理装置。
(4)
前記開始位置決定部は、
所定のサンプルを前記開始位置として順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記開始位置補正部は、補正後の前記開始位置の移動量から補正前の前記開始位置の移動量を減算した値の累積値を演算し、前記累積値が正の値である場合、前記開始位置のサンプルをより前のサンプルに補正し、前記累積値が負の値である場合、前記開始位置のサンプルをより後のサンプルに補正する
前記(1)に記載の信号処理装置。
(5)
前記伸張圧縮部は、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを、Nサンプル単位で並列に重み付け加算することにより、そのサンプルを時間軸領域で伸張または圧縮する
前記(1)乃至(4)のいずれかに記載の信号処理装置。
(6)
前記伸張圧縮部による伸張または圧縮後のオーディオ信号のピッチ周期を変更する変更部
をさらに備える
前記(1)乃至(5)のいずれかに記載の信号処理装置。
(7)
オーディオ信号を記憶する記憶部を備える信号処理装置が、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮ステップと
を含み、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理方法。
(8)
オーディオ信号を記憶する記憶部を備える信号処理装置を制御するコンピュータに、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮ステップと
を含む処理を実行させ、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
プログラム。
【符号の説明】
【0151】
30 再生速度変換装置, 32 処理バッファ部, 33 ピッチ算出部, 34 ピッチ周期補正部, 35 演算部, 36 処理制御部, 37 開始位置移動量補正部, 70 再生速度変換装置, 71 処理バッファ部, 72 処理制御部, 100 再生速度変換装置, 101 サンプル数変換部

【特許請求の範囲】
【請求項1】
オーディオ信号を記憶する記憶部と、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出部と、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定部と、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮部と
を備え、
前記記憶部は、前記伸張圧縮部による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理装置。
【請求項2】
前記開始位置決定部は、
前記記憶部に記憶されている前記オーディオ信号に対する、前記記憶部から転送される前記オーディオ信号の長さの比率である再生速度変換率に基づいて、前記開始位置のサンプルを順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記伸張圧縮部は、前記再生速度変換率に基づいて、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の前記所定数倍分のサンプルを時間軸領域で伸張または圧縮する
請求項1に記載の信号処理装置。
【請求項3】
前記ピッチ算出部は、前記開始位置から前記ピッチ周期のサンプル数の最大値の2倍分のサンプルの前記オーディオ信号を用いて、前記開始位置ごとに前記ピッチ周期のサンプル数を算出する
請求項1に記載の信号処理装置。
【請求項4】
前記開始位置決定部は、
所定のサンプルを前記開始位置として順次決定する決定部と、
前記決定部により決定された前記開始位置のサンプルを、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルに補正する開始位置補正部と
を備え、
前記開始位置補正部は、補正後の前記開始位置の移動量から補正前の前記開始位置の移動量を減算した値の累積値を演算し、前記累積値が正の値である場合、前記開始位置のサンプルをより前のサンプルに補正し、前記累積値が負の値である場合、前記開始位置のサンプルをより後のサンプルに補正する
請求項1に記載の信号処理装置。
【請求項5】
前記伸張圧縮部は、前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを、Nサンプル単位で並列に重み付け加算することにより、そのサンプルを時間軸領域で伸張または圧縮する
請求項1に記載の信号処理装置。
【請求項6】
前記伸張圧縮部による伸張または圧縮後のオーディオ信号のピッチ周期を変更する変更部
をさらに備える
請求項1に記載の信号処理装置。
【請求項7】
オーディオ信号を記憶する記憶部を備える信号処理装置が、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮ステップと
を含み、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
信号処理方法。
【請求項8】
オーディオ信号を記憶する記憶部を備える信号処理装置を制御するコンピュータに、
前記オーディオ信号のピッチ周期のサンプル数として、1以上の整数であるNの倍数を算出するピッチ算出ステップと、
前記オーディオ信号の時間軸領域における伸張または圧縮処理の開始位置のサンプルとして、その開始位置の1つ前の開始位置から前記Nの倍数番目のサンプルを順次決定する開始位置決定ステップと、
前記オーディオ信号の前記開始位置のサンプルから前記ピッチ周期の所定数倍分のサンプルを時間軸領域で伸張または圧縮し、伸張または圧縮後の前記オーディオ信号のサンプル数を前記Nの倍数にする伸張圧縮ステップと
を含む処理を実行させ、
前記記憶部は、前記伸張圧縮ステップの処理による伸張または圧縮後のオーディオ信号で、記憶している、前記開始位置から前記ピッチ周期の前記所定数倍番目のサンプルから前記伸張または圧縮後のオーディオ信号のサンプル数分前までのオーディオ信号を上書きし、上書き後の前記オーディオ信号を、その上書きの開始位置のサンプルから転送する
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate