(57)【要約】【課題】信号波形が不連続になることがなく、低域成分などの音声信号の周波数を逓倍できるようにする。【解決手段】一方向ゼロクロス点を検出しながら、低域成分Ｓｌｉｎをバッファに書き込む。バッファからの読み出しについては、ゼロクロス点Ｚ１０，Ｚ２０間の期間Ｔ１０のサンプル、およびゼロクロス点Ｚ３０，Ｚ４０間の期間Ｔ３０のサンプルは、それぞれ、期間Ｕ１０および期間Ｕ３０において、１／２の間引き率で間引いて、２回繰り返して読み出す。時点ｔ２０からサンプル数をカウントして、そのカウント値ｊがＭに達した時点ｔ２９でも、次のゼロクロス点が検出されないときには、時点ｔ２０，ｔ２９間の期間Ｔａのサンプル、および時点ｔ２９，ｔ３０間の期間Ｔｂのサンプルを、それぞれ、間引くことなく、そのまま読み出す。これによって、出力の倍音信号Ｓｌｏｕｔは、第４の例として示すように、不連続にならない。【選択図】図８
2008134582.tif 000002
【特許請求の範囲】
【請求項１】
定められたサンプリング周波数のデジタル信号である入力音声信号のサンプルを、バッファに書き込み、当該バッファから、上記入力音声信号が負から正に反転する点、または正から負に反転する点である一の一方向ゼロクロス点から、次の一方向ゼロクロス点までの１サイクル期間ごとに、Ｎサンプルにつき（Ｎは２以上の整数）、（Ｎ−１）サンプル間引き、１サンプル取り出す比率で、Ｎ回繰り返して読み出して、上記入力音声信号のＮ倍の周波数の出力音声信号を得る音声処理方法。
【請求項２】
請求項１の音声処理方法において、
上記一の一方向ゼロクロス点からのサンプル数のカウント値が所定値Ｋに達するまでの間に検出された一方向ゼロクロス点は、上記次の一方向ゼロクロス点としては無視することを特徴とする音声処理方法。
【請求項３】
請求項１または２の音声処理方法において、
上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までがＭサンプルを超えるときには、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までの期間のサンプルを、間引くことなく、そのまま読み出すことを特徴とする音声処理方法。
【請求項４】
請求項１〜３のいずれかの音声処理方法において、
上記入力音声信号が負から正に反転した後に正の所定値になる点、または正から負に反転した後に負の所定値になる点を、上記一方向ゼロクロス点とすることを特徴とする音声処理方法。
【請求項５】
請求項１〜４のいずれかの音声処理方法において、
上記音声信号は音楽信号であり、上記Ｎは２のべき乗とすることを特徴とする音声処理方法。
【請求項６】
定められたサンプリング周波数のデジタル信号である入力音声信号中の所定周波数以下の低域成分のサンプルを、バッファに書き込み、当該バッファから、上記低域成分が負から正に反転する点、または正から負に反転する点である一の一方向ゼロクロス点から、次の一方向ゼロクロス点までの１サイクル期間ごとに、Ｎサンプルにつき（Ｎは２以上の整数）、（Ｎ−１）サンプル間引き、１サンプル取り出す比率で、Ｎ回繰り返して読み出して、上記低域成分のＮ倍の周波数の倍音信号を得る倍音生成工程と、
上記倍音信号を、上記入力音声信号中の上記所定周波数以上の信号成分、または上記入力音声信号に合成して、低域増強された出力音声信号を得る合成工程と、
を備える音声処理方法。
【請求項７】
請求項６の音声処理方法において、
上記倍音生成工程では、上記一の一方向ゼロクロス点からのサンプル数のカウント値が所定値Ｋに達するまでの間に検出された一方向ゼロクロス点は、上記次の一方向ゼロクロス点としては無視することを特徴とする音声処理方法。
【請求項８】
請求項６または７の音声処理方法において、
上記倍音生成工程では、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までがＭサンプルを超えるときには、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までの期間のサンプルを、間引くことなく、そのまま読み出すことを特徴とする音声処理方法。
【請求項９】
請求項６〜８のいずれかの音声処理方法において、
上記倍音生成工程では、上記低域成分が負から正に反転した後に正の所定値になる点、または正から負に反転した後に負の所定値になる点を、上記一方向ゼロクロス点とすることを特徴とする音声処理方法。
【請求項１０】
請求項６〜９のいずれかの音声処理方法において、
上記音声信号は音楽信号であり、上記Ｎは２のべき乗とすることを特徴とする音声処理方法。
【請求項１１】
定められたサンプリング周波数のデジタル信号である入力音声信号のサンプルが書き込まれるバッファと、
上記入力音声信号が負から正に反転する点、または正から負に反転する点である一方向ゼロクロス点を検出するゼロクロス検出手段と、
上記バッファに書き込まれたサンプルを、当該バッファから、一の一方向ゼロクロス点から次の一方向ゼロクロス点までの１サイクル期間ごとに、Ｎサンプルにつき（Ｎは２以上の整数）、（Ｎ−１）サンプル間引き、１サンプル取り出す比率で、Ｎ回繰り返して読み出して、上記入力音声信号のＮ倍の周波数の出力音声信号を得る制御手段と、
を備える音声処理装置。
【請求項１２】
請求項１１の音声処理装置において、
上記制御手段は、上記一の一方向ゼロクロス点からのサンプル数のカウント値が所定値Ｋに達するまでの間に検出された一方向ゼロクロス点は、上記次の一方向ゼロクロス点としては無視することを特徴とする音声処理装置。
【請求項１３】
請求項１２または１３の音声処理装置において、
上記制御手段は、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までがＭサンプルを超えるときには、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までの期間のサンプルを、間引くことなく、そのまま読み出すことを特徴とする音声処理装置。
【請求項１４】
請求項１１〜１３のいずれかの音声処理装置において、
上記ゼロクロス検出手段は、上記入力音声信号が負から正に反転した後に正の所定値になる点、または正から負に反転した後に負の所定値になる点を、上記一方向ゼロクロス点として検出することを特徴とする音声処理装置。
【請求項１５】
請求項１１〜１４のいずれかの音声処理装置において、
上記音声信号は音楽信号であり、上記制御手段は上記Ｎを２のべき乗とすることを特徴とする音声処理装置。
【請求項１６】
定められたサンプリング周波数のデジタル信号である入力音声信号中の所定周波数以下の低域成分を取り出すフィルタ手段と、
上記低域成分のサンプルが書き込まれるバッファと、
上記低域成分が負から正に反転する点、または正から負に反転する点である一方向ゼロクロス点を検出するゼロクロス検出手段と、
上記バッファに書き込まれたサンプルを、当該バッファから、一の一方向ゼロクロス点から次の一方向ゼロクロス点までの１サイクル期間ごとに、Ｎサンプルにつき（Ｎは２以上の整数）、（Ｎ−１）サンプル間引き、１サンプル取り出す比率で、Ｎ回繰り返して読み出して、上記低域成分のＮ倍の周波数の倍音信号を得る制御手段と、
上記倍音信号を、上記入力音声信号中の上記所定周波数以上の信号成分、または上記入力音声信号に合成して、低域増強された出力音声信号を得る合成手段と、
を備える音声処理装置。
【請求項１７】
請求項１６の音声処理装置において、
上記制御手段は、上記一の一方向ゼロクロス点からのサンプル数のカウント値が所定値Ｋに達するまでの間に検出された一方向ゼロクロス点は、上記次の一方向ゼロクロス点としては無視することを特徴とする音声処理装置。
【請求項１８】
請求項１６または１７の音声処理装置において、
上記制御手段は、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までがＭサンプルを超えるときには、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までの期間のサンプルを、間引くことなく、そのまま読み出すことを特徴とする音声処理装置。
【請求項１９】
請求項１６〜１８のいずれかの音声処理装置において、
上記ゼロクロス検出手段は、上記低域成分が負から正に反転した後に正の所定値になる点、または正から負に反転した後に負の所定値になる点を、上記一方向ゼロクロス点として検出することを特徴とする音声処理装置。
【請求項２０】
請求項１６〜１９のいずれかの音声処理装置において、
上記音声信号は音楽信号であり、上記制御手段は上記Ｎを２のべき乗とすることを特徴とする音声処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声信号の周波数を逓倍して倍音の音声信号を生成する方法および装置、および、その倍音生成を利用して音声信号の低域成分を増強する方法および装置に関する。
【背景技術】
【０００２】
いわゆるミニコンポや薄型テレビ受信機などでは、口径の小さいスピーカが使用されており、スピーカを収納しているエンクロージャ（スピーカボックス）の容積も小さい。そのため、このようなスピーカは、最低再生周波数ｆ０が１００Ｈｚ程度ないしそれ以上というように高い。
【０００３】
そして、一般に、スピーカに最低再生周波数ｆ０以下の低域成分を供給すると、周波数が低くなるにつれて、基本波成分の出力音圧が低下するとともに、歪み成分（高調波成分）が急速に増加する。
【０００４】
そのため、上記のような口径の小さいスピーカを使用したオーディオ機器では、スピーカの最低再生周波数ｆ０以下の低音を十分に再生することができない。
【０００５】
そこで、人の知覚特性を利用して、低音感が得られるようすることが考えられている。例えば、楽器の音は、基音とその倍音とから構成され、その割合が音色を決定する。そして、人の聴感は、基音が出力されていなくても、その倍音が出力されていれば、あたかも基音が出力されているかのように知覚されることが、心理音響的に実証されている。
【０００６】
特許文献１（特開平８−２１３８６２号公報）には、この点を利用して、音声信号を低域成分と高域成分とに分離し、その低域成分を、第１および第２のバッファに所定時間ごとに交互に書き込み、第１および第２のバッファから所定時間ごとに交互に、間引き読み出しにより読み出して、低域成分の周波数をａ倍（例えば２倍）に逓倍し、合成部で、その逓倍後の信号を高域成分と合成することが示されている。
【０００７】
特許文献１には、回路構成および周波数特性しか示されてなく、波形図ないしタイムチャートは示されていないが、図１１に、この特許文献１に示された、間引き読み出しを利用した従来の倍音生成方法を示す。
【０００８】
低域成分Ｓｌｉｎは、音声信号中の、スピーカの最低再生周波数（特許文献１では共振周波数とされている）以下の信号成分で、図１１ではアナログ波形で示しているが、デジタルデータとして、各サンプルのデータからなるものである。
【０００９】
特許文献１に示された従来の倍音生成方法では、この低域成分Ｓｌｉｎを、所定サンプル数分の一定時間の期間Ｔ１０，Ｔ２０，Ｔ３０‥‥に区切って、期間Ｔ１０のサンプルを第１のバッファに書き込み、期間Ｔ２０のサンプルを第２のバッファに書き込み、というように、低域成分Ｓｌｉｎのサンプルを、第１および第２のバッファに、一定時間ごとに交互に書き込む。
【００１０】
読み出しについては、期間Ｔ２０の前半の期間Ｔ２１では、期間Ｔ１０で第１のバッファに書き込まれたサンプルを、２サンプルにつき、１サンプル間引き、１サンプル取り出す比率（割合）で、第１のバッファから読み出し、期間Ｔ２０の後半の期間Ｔ２２でも、期間Ｔ１０で第１のバッファに書き込まれたサンプルを、２サンプルにつき、１サンプル間引き、１サンプル取り出す比率で、第１のバッファから読み出し、期間Ｔ３０の前半の期間Ｔ３１では、期間Ｔ２０で第２のバッファに書き込まれたサンプルを、２サンプルにつき、１サンプル間引き、１サンプル取り出す比率で、第２のバッファから読み出し、期間Ｔ３０の後半の期間Ｔ３２でも、期間Ｔ２０で第２のバッファに書き込まれたサンプルを、２サンプルにつき、１サンプル間引き、１サンプル取り出す比率で、第２のバッファから読み出すように、第１および第２のバッファから、一定時間ごとに交互に、同じサンプルを２回繰り返して読み出す。
【００１１】
したがって、出力信号として、図示するように、低域成分Ｓｌｉｎの２倍の周波数の倍音信号Ｓｌｏｕｔが得られる。
【００１２】
この倍音信号Ｓｌｏｕｔを入力音声信号の高域成分と合成すれば、低域増強された出力音声信号が得られ、上記のように低音感が得られるようになる。
【００１３】
上に挙げた先行技術文献は、以下の通りである。
【特許文献１】特開平８−２１３８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、特許文献１に示された、図１１に示すような倍音生成方法では、低域成分Ｓｌｉｎのサンプルを、第１および第２のバッファに、一定時間ごとに交互に書き込み、第１および第２のバッファから、一定時間ごとに交互に、間引き読み出しにより読み出すため、図１１に示すように、期間Ｔ２１と期間Ｔ２２とのつなぎ目や、期間Ｔ４１と期間Ｔ４２とのつなぎ目などで、出力の倍音信号Ｓｌｏｕｔのレベルが急激に変化し、倍音信号Ｓｌｏｕｔの波形が不連続となって、ノイズとして知覚されてしまう。
【００１５】
信号レベルの急激な変化を緩和する方法として、不連続点の前後でクロスフェード処理を行うことが考えられているが、この方法でも、不連続点が滑らかにされるだけで、音質の劣化は避けられない。
【００１６】
そこで、この発明は、信号波形が不連続になることがなく、低域成分などの音声信号の周波数を逓倍することができるようにしたものである。
【課題を解決するための手段】
【００１７】
第１の発明の音声処理方法では、
定められたサンプリング周波数のデジタル信号である入力音声信号のサンプルを、バッファに書き込み、当該バッファから、上記入力音声信号が負から正に反転する点、または正から負に反転する点である一の一方向ゼロクロス点から、次の一方向ゼロクロス点までの１サイクル期間ごとに、Ｎサンプルにつき（Ｎは２以上の整数）、（Ｎ−１）サンプル間引き、１サンプル取り出す比率で、Ｎ回繰り返して読み出して、上記入力音声信号のＮ倍の周波数の出力音声信号を得る。
【００１８】
第２の発明の音声処理方法では、
上記の第１の発明の音声処理方法において、上記一の一方向ゼロクロス点からのサンプル数のカウント値が所定値Ｋに達するまでの間に検出された一方向ゼロクロス点は、上記次の一方向ゼロクロス点としては無視する。
【００１９】
第３の発明の音声処理方法では、
上記の第１または第２の発明の音声処理方法において、
上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までがＭサンプルを超えるときには、上記一の一方向ゼロクロス点から上記次の一方向ゼロクロス点までの期間のサンプルを、間引くことなく、そのまま読み出す。
【００２０】
上記の各発明の音声処理方法では、上記入力音声信号が負から正に反転した後に正の所定値になる点、または正から負に反転した後に負の所定値になる点を、上記一方向ゼロクロス点とすることができる。
【発明の効果】
【００２１】
上記の第１の発明では、入力音声信号の所定サンプル数分の一定時間分ではなく、一の一方向ゼロクロス点から次の一方向ゼロクロス点までの１サイクル期間ごとに、バッファからサンプルが、例えば、２サンプルにつき、１サンプル間引かれ、１サンプル取り出される比率で、２回繰り返して読み出されるため、同じサンプルが繰り返して読み出される点のつなぎ目でも、出力音声信号の波形が連続となる。
【００２２】
さらに、第２の発明では、入力音声信号中の周波数が高い成分の周波数逓倍による高調波の発生を防止することができる。
【００２３】
さらに、第３の発明では、入力音声信号の一の一方向ゼロクロス点から次の一方向ゼロクロス点までがＭサンプルを超えるときには、例外的な処理として、当該の一の一方向ゼロクロス点から次の一方向ゼロクロス点までの期間のサンプルが、間引かれることなく、そのまま読み出されるため、入力音声信号の１波の時間がバッファ長（Ｌサンプル分）に近いほど大きいときやバッファ長を超えるときでも、出力音声信号の波形が不連続となることがない。
【００２４】
以上のように、この発明によれば、信号波形が不連続になることがなく、低域成分などの音声信号の周波数を逓倍することができる。
【発明を実施するための最良の形態】
【００２５】
［１．倍音生成による低域増強の基本的な方法および音声処理装置：図１〜図４］
（１−１．倍音生成による低域増強の基本的な方法：図１）
図１に、上記のような口径の小さいスピーカの周波数特性を示す。
【００２６】
上述したように、このスピーカは、最低再生周波数ｆ０が、例えば１００Ｈｚというように高く、かつ、ｆ０以下では、周波数が低くなるにつれて、基本波成分の出力音圧が低下する。
【００２７】
ｆ０〜ｆｅ（＝２ｆ０）の帯域Ｂｅは、聴感上、最も低音を感じる領域である。また、一般に、倍音信号を生成したとき、その倍音信号の周波数が２００Ｈｚ程度以下であれば、聴感上違和感がないとされている。
【００２８】
そこで、この発明では、後述の方法によって、例えば、ｆ０以下の低域成分を２逓倍して、２倍音の信号を生成し、その倍音信号を入力音声信号中のｆ０以上の信号成分と合成して、低域増強された出力音声信号を得る。
【００２９】
この場合、周波数が０〜ｆ０の低域成分を２逓倍すれば、周波数が０〜ｆｅの倍音信号が得られる。
【００３０】
しかし、０〜ｆａ（＝ｆ０／２）の帯域Ｂａの低域成分を２逓倍しても、帯域Ｂｅには届かず、低音増強に寄与しない。
【００３１】
そのため、帯域Ｂａの低域成分は、倍音生成の対象外とし、ｆａ〜ｆ０の帯域Ｂｃの低域成分のみを、倍音生成の対象としてもよい。
【００３２】
（１−２．倍音生成に係る音声処理装置およびゼロクロス点：図２および図３）
図２に、この発明の倍音生成方法を実行する音声処理装置の一例を示す。
【００３３】
この例の倍音生成処理部１０は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）として構成する。
【００３４】
低域成分Ｓｌｉｎは、入力音声信号中の、スピーカの最低再生周波数ｆ０以下の信号成分で、図３の上段に太い縦線で示すように、デジタル音声データとして、各サンプルのデータからなるものである。サンプリング周波数をｆｓとすると、サンプル周期は１／ｆｓである。
【００３５】
倍音生成処理部１０では、この低域成分Ｓｌｉｎを、スイッチ１３によってバッファ１１および１２に交互に振り分け、コントローラ１５によってバッファ１１および１２に交互に書き込み、コントローラ１５によってバッファ１１および１２から交互に、後述の間引き読み出しによって読み出し、スイッチ１４によって倍音信号Ｓｌｏｕｔとして取り出す。
【００３６】
ただし、低域成分Ｓｌｉｎのサンプルの、バッファ１１，１２への書き込み、およびバッファ１１，１２からの読み出しのサイクルは、一定時間ではなく、ゼロクロス検出部１６で低域成分Ｓｌｉｎのゼロクロス点を検出することによって、低域成分Ｓｌｉｎの周波数に応じて時間を変化させる。
【００３７】
低域成分Ｓｌｉｎのゼロクロス点としては、図３の上段からも明らかなように、正方向ゼロクロス点（低域成分Ｓｌｉｎが負から正に反転する点）および負方向ゼロクロス点（低域成分Ｓｌｉｎが正から負に反転する点）が存在するが、この発明では、そのうちの一方を、例えば正方向ゼロクロス点を、一方向ゼロクロス点として、サイクル決定の基準とする。
【００３８】
後述のように、ゼロクロス検出に不感帯を設定して、正方向所定値クロス点（低域成分Ｓｌｉｎが負から正に反転した後に正の所定値になる点）または負方向所定値クロス点（低域成分Ｓｌｉｎが正から負に反転した後に負の所定値になる点）を、例えば正方向所定値クロス点を、一方向ゼロクロス点として、サイクル決定の基準としてもよい。
【００３９】
以下の例は、正方向ゼロクロス点または正方向所定値クロス点を、一方向ゼロクロス点とする場合であり、以下では、特に断らない限り、その一方向ゼロクロス点を単にゼロクロス点と称する。
【００４０】
図３の例では、低域成分Ｓｌｉｎのゼロクロス点Ｚ１０，Ｚ２０間の、すなわち時点ｔ１０，ｔ２０間の、１波の期間Ｔ１０を、最初の書き込みサイクルとして、低域成分Ｓｌｉｎのサンプルを一方のバッファに書き込む。
【００４１】
そして、期間Ｔ１０の後の、期間Ｔ１０と同じ時間長の、時点ｕ１０，ｕ２０間の期間Ｕ１０を、最初の読み出しサイクルとして、当該の一方のバッファから、これに書き込まれたサンプルを、２サンプルにつき、１サンプル間引き、１サンプル取り出す比率で、２回繰り返して読み出す。
【００４２】
したがって、出力信号として、図３の下段に示すように、低域成分Ｓｌｉｎの２倍の周波数の倍音信号Ｓｌｏｕｔが得られるとともに、その倍音信号Ｓｌｏｕｔの、同じサンプルが繰り返して読み出され、同じ波形が繰り返される点Ｐｓのつなぎ目でも、倍音信号Ｓｌｏｕｔの波形が連続となる。
【００４３】
図２の例は、２つのバッファ１１および１２を用いる場合であるが、１つのリングバッファを用い、その書き込みアドレスおよび読み出しアドレスを順次変えて、サンプルを順次書き込み、順次読み出すようにしてもよい。
【００４４】
（１−３．低域増強に係る音声処理装置：図４）
図４に、この発明の低域増強方法を実行する音声処理装置の一例を示す。
【００４５】
この例の低域増強処理部２０も、ＤＳＰとして構成することができる。スピーカ３３は、上記のように口径が小さく、最低再生周波数ｆ０が例えば１００Ｈｚのものである。入力音声信号Ｓｉｎは、上記のサンプリング周波数ｆｓのデジタル音声データである。
【００４６】
この入力音声信号Ｓｉｎは、低域増強処理部２０のハイパスフィルタ２１およびローパスフィルタ２２によって、スピーカ３３の最低再生周波数ｆ０以上の信号成分Ｓｈｉｎと、最低再生周波数ｆ０以下の低域成分Ｓｌｉｎとに分離される。
【００４７】
そして、低域成分Ｓｌｉｎは、図２に示したような倍音生成処理部１０で、上記のように周波数逓倍され、上記のような倍音信号Ｓｌｏｕｔに変換される。乗算回路２４では、その倍音信号Ｓｌｏｕｔに一定の係数が乗じられる。
【００４８】
一方、信号成分Ｓｈｉｎは、倍音生成処理部１０での時間遅れに合わせるように、遅延回路２３で遅延される。
【００４９】
そして、加算回路２５で、遅延後の信号成分Ｓｈｏｕｔと係数乗算後の倍音信号Ｓｌｏｕｔとが加算されて、低域増強された出力音声信号Ｓｏｕｔが得られる。
【００５０】
この出力音声信号Ｓｏｕｔは、Ｄ／Ａコンバータ３１でアナログ音声信号に変換され、そのアナログ音声信号が、音声増幅回路３２で増幅されてスピーカ３３に供給される。
【００５１】
したがって、上述したように、低音が十分に感じられる音響が再生されるとともに、信号波形の不連続による音質の劣化のない音響再生が実現される。
【００５２】
［２．倍音生成方法の各例：図５〜図１０］
（２−１．第１の例：図５）
図５に、この発明の倍音生成方法の基本的な例を示す。
【００５３】
この例では、低域成分Ｓｌｉｎの、一のゼロクロス点から次のゼロクロス点までの１波分を１サイクル期間として、バッファへの書き込み、およびバッファからの間引き読み出しを行う。
【００５４】
すなわち、時点ｕ１０，ｕ２０間の期間Ｕ１０の前半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ１０，Ｚ２０間（時点ｔ１０，ｔ２０間）の期間Ｔ１０のサンプルを、１／２の間引き率で間引いて読み出し、期間Ｕ１０の後半の期間で、同じサンプルを、同様に１／２の間引き率で間引いて読み出す。
【００５５】
以下、同様に、時点ｕ２０，ｕ３０間の期間Ｕ２０の前半および後半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ２０，Ｚ３０間（時点ｔ２０，ｔ３０間）の期間Ｔ２０のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出し、時点ｕ３０，ｕ４０間の期間Ｕ３０の前半および後半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ３０，Ｚ４０間（時点ｔ３０，ｔ４０間）の期間Ｔ３０のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出す。
【００５６】
したがって、図示するように、同じサンプルが繰り返して読み出され、同じ波形が繰り返される点のつなぎ目でも、倍音信号Ｓｌｏｕｔの波形が連続となる。
【００５７】
（２−２．第２の例：図６）
第２の例では、図６の上段に示すように、低域成分Ｓｌｉｎが負から正に反転した後に正の所定値＋Ｖｔｈになる点、すなわち上記の正方向所定値クロス点、または、低域成分Ｓｌｉｎが正から負に反転した後に負の所定値−Ｖｔｈになる点、すなわち上記の負方向所定値クロス点を、例えば前者の正方向所定値クロス点を、ゼロクロス点（一方向ゼロクロス点）として、１サイクル期間を決定する。
【００５８】
したがって、低域成分Ｓｌｉｎが図６の上段に示すような波形である場合、上記の第１の例では、点Ｚ１０，Ｚ２０，Ｚ３０，Ｚ４０‥‥をゼロクロス点として、倍音信号Ｓｌｏｕｔの波形は、図６の中段に示すようになるのに対して、この第２の例では、点Ｚ１１，Ｚ３１，Ｚ４１‥‥をゼロクロス点として、点Ｚ１１，Ｚ３１間を、２波分であっても、１波分として、図６の下段に示すように、時点ｕ１１，ｕ３１間の期間Ｕ１３の前半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ１１，Ｚ３１間の期間のサンプルを、１／２の間引き率で間引いて読み出し、期間Ｕ１３の後半の期間で、同じサンプルを、同様に間引いて読み出し、同様に、時点ｕ３１，ｕ４１間の期間Ｕ３４の前半および後半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ３１，Ｚ４１間の期間のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出す。
【００５９】
したがって、この第２の例でも、倍音信号Ｓｌｏｕｔの波形が連続となるとともに、この第２の例では、ゼロクロス検出につき、一般に基本波成分よりレベルの小さい不要な高調波成分を無視するローパスフィルタ効果が得られる。
【００６０】
（２−３．第３の例：図７）
第３の例では、１サイクル期間の始点のゼロクロス点からのサンプル数をカウントし、そのカウント値が所定値Ｋに達するまでの間に検出されたゼロクロス点は、当該サイクル期間の終点（次のサイクル期間の始点）としてのゼロクロス点としては無視して、１サイクル期間をサンプル数に換算してＫ以上とする。
【００６１】
具体的に、低域成分Ｓｌｉｎが図７の上段に示すような波形である場合、上記の第１の例では、点Ｚ１０，Ｚ２０，Ｚ３０，Ｚ４０，Ｚ５０‥‥をゼロクロス点として、上記のように低域成分Ｓｌｉｎのサンプルが書き込まれ、読み出される結果、倍音信号Ｓｌｏｕｔの波形は、図７の中段に示すようになる。
【００６２】
これに対して、第３の例では、点Ｚ２０および点Ｚ３０は、点Ｚ１０の後、サンプル数のカウント値ｊがＫに達するまでの間に検出されるのに対して、点Ｚ４０は、点Ｚ１０の後、サンプル数のカウント値ｊがＫに達した後に検出され、点Ｚ５０も、点Ｚ４０の後、サンプル数のカウント値ｊがＫに達した後に検出されるので、点Ｚ２０および点Ｚ３０はゼロクロス点としては無視し、点Ｚ１０，Ｚ４０およびＺ５０をゼロクロス点として、ゼロクロス点Ｚ１０，Ｚ４０間の期間、およびゼロクロス点Ｚ４０，Ｚ５０間の期間を、それぞれ１サイクル期間とする。
【００６３】
読み出しについては、図７の下段に示すように、時点ｕ１０，ｕ４０間の期間Ｕ１４の前半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ１０，Ｚ４０間の期間のサンプルを、１／２の間引き率で間引いて読み出し、期間Ｕ１４の後半の期間で、同じサンプルを、同様に間引いて読み出し、時点ｕ４０，ｕ５０間の期間Ｕ４５の前半の期間で、低域成分Ｓｌｉｎのゼロクロス点Ｚ４０，Ｚ５０間の期間のサンプルを、１／２の間引き率で間引いて読み出し、期間Ｕ４５の後半の期間で、同じサンプルを、同様に間引いて読み出す。
【００６４】
したがって、この第３の例では、倍音信号Ｓｌｏｕｔの波形が連続となるとともに、低域成分Ｓｌｉｎ中の周波数が高い成分の周波数逓倍による高調波の発生を防止することができる。
【００６５】
なお、この第３の例でも、ゼロクロス点は、上記の正方向所定値クロス点または負方向所定値クロス点とすることができる。この場合、その方法は、上記の第２の例と第３の例とを組み合わせた方法となる。
【００６６】
（２−４．第４の例：図８〜図１０）
図５〜図７では示していないが、図８の時点ｔ２０，ｔ３０間（ゼロクロス点Ｚ２０，Ｚ３０間）の期間Ｔ２０に示すように、低域成分Ｓｌｉｎの周波数がかなり低い場合、すなわち低域成分Ｓｌｉｎの１波の時間がかなり長い場合には、バッファの長さによっては、その１波分のサンプルをバッファに書き込むことができなくなることがある。
【００６７】
そこで、低域成分Ｓｌｉｎの一のゼロクロス点から次のゼロクロス点までの時間（波長）が、サンプル数に換算してバッファ長であるＬに近いＭを超える場合には、すなわち、一のゼロクロス点を検出してから、低域成分ＳｌｉｎのサンプルをＭ個カウントしても、次のゼロクロス点が検出されない場合には、一のゼロクロス点を検出した時点から、サンプル数のカウント値ｊがＭに達した時点までの、１波に満たない期間、および、サンプル数のカウント値ｊがＭに達した時点から、次のゼロクロス点が検出される時点までの、１波に満たない期間を、それぞれ、１波とみなして１サイクル期間とする。
【００６８】
具体的に、低域成分Ｓｌｉｎが図８の上段に示すような波形である場合、時点ｔ２９を時点ｔ２０からサンプルをＭ個カウントした時点とすると、時点ｔ２０，ｔ２９間（ゼロクロス点Ｚ２０と非ゼロクロス点Ｐ２９との間）の１波に満たない期間Ｔａを、１波とみなして、時点ｔ１０，ｔ２０間（ゼロクロス点Ｚ１０，Ｚ２０間）の１波の期間Ｔ１０の次の１サイクル期間とし、時点ｔ２９，ｔ３０間（非ゼロクロス点Ｐ２９とゼロクロス点Ｚ３０との間）の１波に満たない期間Ｔｂを、同様に１波とみなして、期間Ｔａの次の１サイクル期間とする。
【００６９】
サイクルのパターンとしては、期間Ｔ１０および期間Ｔ３０を定常パターン、期間Ｔａを前側変則パターン、期間Ｔｂを後側変則パターンとする。
【００７０】
読み出しについては、例えば、図８の中段に示すように、時点ｔ１０，ｔ２０間の期間Ｔ１０に対応する時点ｕ１０，ｕ２０間の期間Ｕ１０では、原則に従って、低域成分Ｓｌｉｎの期間Ｔ１０のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出し、時点ｔ２０，ｔ２９間の期間Ｔａに対応する時点ｕ２０，ｕ２９間の期間Ｕａでは、例外的に、低域成分Ｓｌｉｎの期間Ｔａのサンプルを、間引くことなく、そのまま１回だけ読み出し、時点ｔ２９，ｔ３０間の期間Ｔｂに対応する時点ｕ２９，ｕ３０間の期間Ｕｂでは、原則に従って、低域成分Ｓｌｉｎの期間Ｔｂのサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出し、時点ｔ３０，ｔ４０間の期間Ｔ３０に対応する時点ｕ３０，ｕ４０間の期間Ｕ３０でも、原則に従って、低域成分Ｓｌｉｎの期間Ｔ３０のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出すことが考えられる。
【００７１】
しかしながら、この方法では、出力の倍音信号Ｓｌｏｕｔ（この場合は一部が例外的に倍音ではなく原音のままである）の波形が、下向きの矢印で示すように、期間Ｕｂの中間点で不連続となってしまう。
【００７２】
そこで、第４の例では、図８の下段に示すように、期間Ｔａに対応する期間Ｕａでは、上記のように、低域成分Ｓｌｉｎの期間Ｔａのサンプルを、間引くことなく、そのまま１回だけ読み出すとともに、期間Ｔｂに対応する期間Ｕｂでも、低域成分Ｓｌｉｎの期間Ｔｂのサンプルを、間引くことなく、そのまま１回だけ読み出す。したがって、第４の例では、出力の倍音信号Ｓｌｏｕｔの波形が完全に連続となる。
【００７３】
この第４の例では、倍音信号Ｓｌｏｕｔの期間Ｕａおよび期間Ｕｂに渡る１波は、２倍音ではなく原音のままであるが、この１波の周波数は、２逓倍しても、図１に示した帯域Ｂｅには届かないほど低いため、聴感上、影響がない。
【００７４】
例えば、上記のサンプリング周波数ｆｓを４４．１ｋＨｚ、バッファ長Ｌを４０９６サンプル、Ｍをバッファ長Ｌの７／８の３５８４サンプルとすると、倍音信号Ｓｌｏｕｔの期間Ｕａおよび期間Ｕｂに渡る１波の周波数は、波長が８１ｍ秒（＝３５８４／ｆｓ）以上であるので、１２．３Ｈｚ以下である。
【００７５】
さらに、低域成分Ｓｌｉｎが、より低い周波数の場合や、直流成分のみの場合もある。
【００７６】
具体的に、図９は、低域成分Ｓｌｉｎのゼロクロス点Ｚ２０，Ｚ３０間（時点ｔ２０，ｔ３０間）の期間Ｔ２０の時間が図８の場合より長く、時点ｔ２０からサンプルをＭ個カウントした時点ｔ２７でも、ゼロクロス点Ｚ２０の次のゼロクロス点Ｚ３０が出現せず、さらに、時点ｔ２７からサンプルをＭ個カウントした時点ｔ２８でも、ゼロクロス点Ｚ２０の次のゼロクロス点Ｚ３０が出現せず、時点ｔ２８からサンプルをｍ（ｍ≦Ｍ）個カウントした時点ｔ３０で、ゼロクロス点Ｚ２０の次のゼロクロス点Ｚ３０が出現する場合である。
【００７７】
この場合、バッファへの書き込みについては、時点ｔ１０，ｔ２０間（ゼロクロス点Ｚ１０，Ｚ２０間）の１波の期間Ｔ１０のサンプルを、一方のバッファ（例えば図２のバッファ１１）に書き込んだ後、時点ｔ２０，ｔ２７間（ゼロクロス点Ｚ２０と非ゼロクロス点Ｐ２７との間）の１波に満たない期間Ｔｃのサンプルを、他方のバッファ（例えば図２のバッファ１２）に書き込み、時点ｔ２７，ｔ２８間（非ゼロクロス点Ｐ２７，Ｐ２８間）の１波に満たない期間Ｔｄのサンプルを、上記一方のバッファ（例えば図２のバッファ１１）に書き込み、時点ｔ２８，ｔ３０間（非ゼロクロス点Ｐ２８とゼロクロス点Ｚ３０との間）の１波に満たない期間Ｔｅのサンプルを、上記他方のバッファ（例えば図２のバッファ１２）に書き込む。
【００７８】
サイクルのパターンとしては、期間Ｔ１０を定常パターン、期間Ｔｃを前側変則パターン、期間Ｔｄを中間変則パターン、期間Ｔｅを後側変則パターンとする。
【００７９】
読み出しについては、図９の下段に示すように、時点ｔ１０，ｔ２０間の期間Ｔ１０に対応する時点ｕ１０，ｕ２０間の期間Ｕ１０では、原則に従って、低域成分Ｓｌｉｎの期間Ｔ１０のサンプルを、１／２の間引き率で間引いて、２回繰り返して読み出し、時点ｔ２０，ｔ２７間の期間Ｔｃに対応する時点ｕ２０，ｕ２７間の期間Ｕｃ、時点ｔ２７，ｔ２８間の期間Ｔｄに対応する時点ｕ２７，ｕ２８間の期間Ｕｄ、および時点ｔ２８，ｔ３０間の期間Ｔｅに対応する時点ｕ２８，ｕ３０間の期間Ｕｅでは、それぞれ、例外的に、低域成分Ｓｌｉｎの期間Ｔｃ，ＴｄおよびＴｅのサンプルを、間引くことなく、そのまま１回だけ読み出す。
【００８０】
図９は、中間変則パターンが期間Ｔｄとして、前側変則パターンの期間Ｔｃと後側変則パターンの期間Ｔｅとの間に１つしか存在しない場合であるが、低域成分Ｓｌｉｎの周波数がより低い場合には、中間変則パターンが複数、連続して存在することになる。
【００８１】
図１０に、図８および図９に示すような第４の例の場合の、サイクル決定およびサイクルパターン判定に係る処理の一例を示す。
【００８２】
この例では、サイクルごとに、まずステップ５１で、最初のサイクルについては、低域成分Ｓｌｉｎの初めの点（ゼロクロス点である場合と、ゼロクロス点ではない場合とがある）を当該サイクルの始点として、２番目以降の各サイクルについては、直前のサイクルの終点（同様に、ゼロクロス点である場合と、ゼロクロス点ではない場合とがある）を当該サイクルの始点として、それぞれ、当該サイクルの始点からサンプルをＭ個カウントするまでの間にゼロクロス点が検出されたか否かを判断する。
【００８３】
そして、当該サイクルの始点からサンプルをＭ個カウントするまでの間にゼロクロス点が検出された場合には、そのゼロクロス点が検出された時点で、ステップ５１からステップ５２に進んで、そのゼロクロス点を当該サイクルの終点とするように当該サイクル期間を決定し、さらにステップ５３に進んで、当該サイクルの始点（最初のサイクルについては低域成分Ｓｌｉｎの初めの点）がゼロクロス点であるか否かを判断する。
【００８４】
そして、当該サイクルの始点がゼロクロス点であるときには、当該サイクルはゼロクロス点からゼロクロス点までの期間であるので、ステップ５３からステップ５４に進んで、当該サイクルは定常パターンと判定し、さらにステップ６１に進んで、次のサイクルの決定のためにサンプル数のカウント値ｊをゼロにする。
【００８５】
一方、当該サイクルの始点がゼロクロス点ではないときには、当該サイクルは非ゼロクロス点からゼロクロス点までの期間であるので、ステップ５３からステップ５５に進んで、当該サイクルは後側変則パターンと判定し、さらにステップ６１に進んで、次のサイクルの決定のためにサンプル数のカウント値ｊをゼロにする。
【００８６】
最初のサイクルについても、その始点（低域成分Ｓｌｉｎの初めの点）が非ゼロクロス点、その終点がゼロクロス点である場合には、このように後側変則パターンとして、読み出し時には、サンプルを間引くことなく、そのまま１回だけ読み出すことが望ましい。
【００８７】
ステップ５１で、当該サイクルの始点からサンプルをＭ個カウントするまでの間にゼロクロス点が検出されないと判断した場合には、当該サイクルの始点からサンプルをＭ個カウントした時点、すなわちサンプル数のカウント値ｊがＭに達した時点で、ステップ５６に進んで、そのカウント値ｊがＭに達した時点を当該サイクルの終点とするように当該サイクル期間を決定し、さらにステップ５７に進んで、当該サイクルの始点（最初のサイクルについては低域成分Ｓｌｉｎの初めの点）がゼロクロス点であるか否かを判断する。
【００８８】
そして、当該サイクルの始点がゼロクロス点であるときには、当該サイクルはゼロクロス点から非ゼロクロス点までの期間であるので、ステップ５７からステップ５８に進んで、当該サイクルは前側変則パターンと判定し、さらにステップ６１に進んで、次のサイクルの決定のためにサンプル数のカウント値ｊをゼロにする。
【００８９】
最初のサイクルについても、その始点（低域成分Ｓｌｉｎの初めの点）がゼロクロス点、その終点が非ゼロクロス点である場合には、このように前側変則パターンとして、読み出し時には、サンプルを間引くことなく、そのまま１回だけ読み出すことが望ましい。
【００９０】
一方、当該サイクルの始点がゼロクロス点ではないときには、当該サイクルは非ゼロクロス点から非ゼロクロス点までの期間であるので、ステップ５７からステップ５９に進んで、当該サイクルは中間変則パターンと判定し、さらにステップ６１に進んで、次のサイクルの決定のためにサンプル数のカウント値ｊをゼロにする。
【００９１】
最初のサイクルについても、その始点（低域成分Ｓｌｉｎの初めの点）および終点が非ゼロクロス点である場合には、このように中間変則パターンとして、読み出し時には、サンプルを間引くことなく、そのまま１回だけ読み出すことが望ましい。
【００９２】
以上のように、バッファへの書き込み時、サイクルが決定され、サイクルパターンが判定されるが、ステップ５４，５５，５８および５９では、それぞれ、上記のような読み出し制御のために、当該サイクルの始点および終点の書き込みアドレス、および当該サイクルのパターンの判定結果が、例えば、図２の例の倍音生成処理部１０のコントローラ１５内に記憶され、バッファからの読み出し時、その記憶された書き込みアドレスおよびパターン判定結果に基づいて、図８および図９に第４の例として示したようにサンプルが読み出される。
【００９３】
この第４の例は、低域成分Ｓｌｉｎの周波数が低い（波長が長い）場合に係る方法であるので、ゼロクロス検出については、図５に示した第１の例、第６に示した第２の例、および図７に示した第３の例の、いずれとも組み合わせることができる。例えば、図７に示した第３の例と組み合わせる場合、Ｋ＜Ｍ＜Ｌとする。
【００９４】
［３．他の例］
上記の各例は、元の低域成分の周波数を２倍にする場合であるが、一般に、Ｎ倍（Ｎは２以上の正の整数）にすることができる。
【００９５】
ただし、音楽の場合には、原音の周波数を２倍にすると、原音の１オクターブ上の音になるので、Ｎは２のべき乗、すなわちＮ＝２，４，８，１６‥‥とする。
【００９６】
ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）やＳＡＣＤ（Ｓｕｐｅｒ  Ａｕｄｉｏ  ＣＤ）などでは、かなり低い周波数の低域成分が記録されている場合もあるので、これらの低域成分からも低域感を得る場合には、２倍の倍音信号に加えて、４倍、８倍、１６倍などの倍音信号を生成する場合にも、この発明を適用することができる。
【００９７】
また、上述した例は、スピーカの最低再生周波数ｆ０以下の低域成分の周波数を逓倍する場合であるが、低域感を得たい周波数に対応して、スピーカの最低再生周波数ｆ０と異なる周波数以下の低域成分の周波数を逓倍するようにしてもよい。
【００９８】
さらに、上述した例は、低域増強された音声信号をスピーカに供給する場合であるが、この発明は、低域増強された音声信号をヘッドホンに供給する場合にも適用することができる。
【図面の簡単な説明】
【００９９】
【図１】スピーカの周波数特性を示す図である。
【図２】倍音生成に係る音声処理装置の一例を示す図である。
【図３】この発明の倍音生成方法の説明に供する図である。
【図４】低域増強に係る音声処理装置の一例を示す図である。
【図５】この発明の倍音生成方法の第１の例を示す図である。
【図６】この発明の倍音生成方法の第２の例を示す図である。
【図７】この発明の倍音生成方法の第３の例を示す図である。
【図８】この発明の倍音生成方法の第４の例の一場合を示す図である。
【図９】この発明の倍音生成方法の第４の例の一場合を示す図である。
【図１０】第４の例の倍音生成方法を行う場合のサイクル決定およびサイクルパターン判定に係る処理の一例を示す図である。
【図１１】従来の倍音生成方法の説明に供する図である。
【符号の説明】
【０１００】
主要部については図中に全て記述したので、ここでは省略する。
【図１】
2008134582.tif 000003
【図２】
2008134582.tif 000004
【図３】
2008134582.tif 000005
【図４】
2008134582.tif 000006
【図５】
2008134582.tif 000007
【図６】
2008134582.tif 000008
【図７】
2008134582.tif 000009
【図８】
2008134582.tif 000010
【図９】
2008134582.tif 000011
【図１０】
2008134582.tif 000012
【図１１】
2008134582.tif 000013