(57)【特許請求の範囲】
【請求項１】
入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行する複数のタイムストレッチ／ピッチシフト処理部と、該複数のタイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、
前記各位相同期化処理部は、
前記帯域分割されたオーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、
前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、
前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、
を備えたことを特徴とするオーディオ信号処理装置。
【請求項２】
前記クロスフェード位置算出部は、前記類似性を評価する所定の評価関数を用いて、前記クロスフェード位置を求めることを特徴とする請求項１に記載のオーディオ信号処理装置。
【請求項３】
前記クロスフェード処理部は、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ／ピッチシフト処理部は、前記ストレッチ補正値を用いて次の信号長の長さ補正を行うことを特徴とする請求項１に記載のオーディオ信号処理装置。
【請求項４】
前記クロスフェード位置算出部は、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の後部側ほど、前記類似性の評価が高くなるよう、前記評価関数に重み付けの傾斜をつけることを特徴とする請求項２または３に記載のオーディオ信号処理装置。
【請求項５】
入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフト処理部と、該タイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、
前記位相同期化処理部は、
前記入力オーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、
前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、
前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、
を備えたことを特徴とするオーディオ信号処理装置。
【請求項６】
入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行する複数のタイムストレッチ／ピッチシフト処理部と、該複数のタイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、
前記各位相同期化処理部は、
タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部における位相状態と、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、
前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、
を備えたことを特徴とするオーディオ信号処理装置。
【請求項７】
前記各位相同期化処理部は、前記タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いることを特徴とする請求項６に記載のオーディオ信号処理装置。
【請求項８】
前記位相同期化信号生成部は、前記時間シフト量に基づいて、次回フレームにおける位相同期化処理のための位相補正値を算出し、
前記タイムストレッチ／ピッチシフト処理部は、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ／ピッチシフト信号の次回フレームにおける開始時の位相を補正することを特徴とする請求項７に記載のオーディオ信号処理装置。
【請求項９】
前記各位相同期化処理部は、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるように重み付けすることを特徴とする請求項７または８に記載のオーディオ信号処理装置。
【請求項１０】
入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフト処理部と、該タイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、
前記位相同期化処理部は、
タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、
前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、
を備えたことを特徴とするオーディオ信号処理装置。
【請求項１１】
入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフトステップと、タイムストレッチ／ピッチシフト処理されたタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、
前記位相同期化処理ステップは、
前記入力オーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成ステップと、
前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出ステップと、
前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理ステップと、
を有することを特徴とするオーディオ信号処理方法。
【請求項１２】
前記クロスフェード位置算出ステップは、前記類似性を評価する所定の評価関数を用いて前記クロスフェード位置を算出するとともに、該クロスフェード位置を算出する際に、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の後部側ほど、該類似性の評価が高くなるように該評価関数に傾斜をつけた重み付けを行い、前記クロスフェード処理ステップは、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ／ピッチシフト処理ステップは、前記ストレッチ補正値を用いて次の信号長の長さ補正を行う、
ことを特徴とする請求項１１に記載のオーディオ信号処理方法。
【請求項１３】
前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ／ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする請求項１１に記載のオーディオ信号処理方法。
【請求項１４】
入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフトステップと、タイムストレッチ／ピッチシフト処理されたタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、
前記位相同期化処理ステップは、
タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を、該入力オーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで評価する評価ステップと、
前記位相状態の差が最も小さいと評価されたときの時間シフト量を算出する時間シフト量算出ステップと、
前記入力オーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成ステップと、
前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理ステップと、
を有することを特徴とするオーディオ信号処理方法。
【請求項１５】
前記時間シフト量に基づいて次回フレームにおける位相同期化処理のための位相補正値を算出する位相補正値算出ステップをさらに有し、
前記位相同期化処理ステップは、前記タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いるとともに、前記位相状態の差を評価する際に、前記時間シフト量が、前記入力オーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるような重み付けを行い、
前記タイムストレッチ／ピッチシフト処理ステップは、前記位相補正値算出ステップによって生成された前記位相補正値に基づいて、前記タイムストレッチ／ピッチシフト信号の次回フレームにおける開始時の位相を補正する、
ことを特徴とする請求項１４に記載のオーディオ信号処理方法。
【請求項１６】
前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ／ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする請求項１４に記載のオーディオ信号処理方法。
【請求項１７】
請求項１１〜１６のいずれか１項に記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関する。
【背景技術】
【０００２】
タイムストレッチとはオーディオ波形の音程はそのままで時間軸のみを伸縮させるものであり、ピッチシフトとは時間軸を変えずに音程のみを変化させる技術である。タイムストレッチやピッチシフトを行うオーディオ波形処理として、公知のものとしてボコーダ方式というものがある（例えば、特許文献１を参照。）。この方式は入力されたオーディオ波形を周波数分析し、タイムストレッチの際には時間軸を縮伸させ、ピッチシフトの際は出力する波形の周波数をスケーリングした後に、各周波数成分を加算するというものである。
【０００３】
従来のボコーダ方式では、オーディオ入力波形とタイムストレッチ／ピッチシフト処理後の波形とでは、大きく位相が変化してしまう。図７に一例として、ある２チャンネルステレオオーディオ波形をタイムストレッチさせた際に生じる位相の変化を示している。グラフの横軸は時間軸、縦軸は周波数成分の位相を表している。（ａ）はオーディオ入力波形を周波数分析したもののうち、２つのチャンネルのある周波数帯域における成分ＡとＢの位相変化を示している。（ｂ）は（ａ）をボコーダ方式により1／２に時間圧縮した際の、ＡとＢに対応するＡ１とＢ１の位相を示している。時間軸が１／２倍になるとともに、位相に関する縦軸も１／２倍になる。
【０００４】
ここでストレッチ処理前の時刻Ｔと、時間圧縮後のＴ１（＝Ｔ／２）に注目してみる。処理前の（ａ）のグラフでは時刻ＴにおけるＡとＢの位相差は２πであり、−πからπの表現をすると位相差は０である。時刻Ｔ以降もＡとＢの位相差は０で推移している。一方、時間圧縮後の時刻Ｔ１ではＡ１とＢ１の位相差はπであり、Ｔ１以降も位相差πで推移しており、Ａ１とＢ１の位相の関係は、時間圧縮前のＡとＢとは明らかに変化している。
【０００５】
上述した説明から明らかなように、ボコーダ方式では時間軸の伸縮を行うことにより、その伸縮の量だけ位相の遅れ／進みが発生する。ピッチシフトにおいても同様である。位相の変化量は周波数分析された各周波数成分間で異なり、ステレオオーディオの場合では各チャンネル間でも異なる。このため、音を打ち消しあったり、ステレオの音の定位感が崩れたりするなど聴感上の違和感が発生し、高品位なタイムストレッチやピッチシフトは実現できない。
【０００６】
また、このボコーダ方式を改良し、音質を改善しようとする技術もこれまでに提案されている。例えば特許文献１では、オーディオ波形のレベルが大きく変化するアタック部分において帯域分割する際に発生するプリエコーに着目し、プリエコーの区間の始めにて位相をリセットする装置が開示されている。
【０００７】
【特許文献１】
特開２００１−１１７５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、特許文献１に開示される形態のオーディオ波形装置の発明はアタック感を保つことを鑑みてなされたものであり、アタック後の位相の変化は問題とされていない。また、複雑にミックスされた曲ではアタック部分を検出するのが困難であるという問題もある。
【０００９】
そこで本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関し、波形全体を通してボコーダ方式において必ず発生する位相の変化を軽減した、聴感上違和感のない高品位なオーディオ波形処理を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明によるオーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラムでは、オーディオ入力波形をそのまま１つのバンド（バンドとは周波数帯域のことであり、以下周波数帯域のことをバンドと呼ぶ）として扱うか複数バンドに周波数帯域分割し、各バンド波形に対して従来のボコーダ方式と同様に時間伸縮やピッチ変換を行いながら波形を合成し、各バンドの合成波形に対して一定の間隔で位相同期化処理を実行し、位相の変化を軽減させるようとするものである。更に各バンドの位相同期化処理後の波形を加算して、最終的な出力波形を得る。
【００１１】
即ち、本発明のうち請求項１に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行する複数のタイムストレッチ／ピッチシフト処理部と、該複数のタイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、前記帯域分割されたオーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【００１２】
請求項２に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記類似性を評価する所定の評価関数を用いて、前記クロスフェード位置を求めることを特徴とする。
【００１３】
請求項３に記載の発明は、上記の発明において、前記クロスフェード処理部は、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ／ピッチシフト処理部は、前記ストレッチ補正値を用いて次の信号長の長さ補正を行うことを特徴とする。
【００１４】
請求項４に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の後部側ほど、前記類似性の評価が高くなるよう、前記評価関数に重み付けの傾斜をつけることを特徴とする。
【００１５】
請求項５に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフト処理部と、該タイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、前記入力オーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【００１６】
請求項６に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行する複数のタイムストレッチ／ピッチシフト処理部と、該複数のタイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部における位相状態と、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【００１７】
請求項７に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いることを特徴とする。
【００１８】
請求項８に記載の発明は、上記の発明において、前記位相同期化信号生成部は、前記時間シフト量に基づいて、次回フレームにおける位相同期化処理のための位相補正値を算出し、前記タイムストレッチ／ピッチシフト処理部は、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ／ピッチシフト信号の次回フレームにおける開始時の位相を補正することを特徴とする。
【００１９】
請求項９に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるように重み付けすることを特徴とする。
【００２０】
請求項１０に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフト処理部と、該タイムストレッチ／ピッチシフト処理部から出力されるタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【００２１】
請求項１１に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフトステップと、タイムストレッチ／ピッチシフト処理されたタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、前記入力オーディオ信号から１フレーム中の終端部分波形を複数フレームに１回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ／ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成ステップと、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出ステップと、前記検出した各クロスフェード位置において、前記タイムストレッチ／ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
【００２２】
請求項１２に記載の発明は、上記の発明において、前記クロスフェード位置算出ステップは、前記類似性を評価する所定の評価関数を用いて前記クロスフェード位置を算出するとともに、該クロスフェード位置を算出する際に、前記タイムストレッチ／ピッチシフト信号の複数フレーム分の後部側ほど、該類似性の評価が高くなるように該評価関数に傾斜をつけた重み付けを行い、前記クロスフェード処理ステップは、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ／ピッチシフト処理ステップは、前記ストレッチ補正値を用いて次の信号長の長さ補正を行う、ことを特徴とする。
【００２３】
請求項１３に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ／ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
【００２４】
請求項１４に記載の発明は、上記の発明において、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ／ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび／またはピッチシフトをそれぞれ実行するタイムストレッチ／ピッチシフトステップと、タイムストレッチ／ピッチシフト処理されたタイムストレッチ／ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を、該入力オーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで評価する評価ステップと、前記位相状態の差が最も小さいと評価されたときの時間シフト量を算出する時間シフト量算出ステップと、前記入力オーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成ステップと、前記タイムストレッチ／ピッチシフト信号の終端部において、該タイムストレッチ／ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
【００２５】
請求項１５に記載の発明は、上記の発明において、前記時間シフト量に基づいて次回フレームにおける位相同期化処理のための位相補正値を算出する位相補正値算出ステップをさらに有し、前記位相同期化処理ステップは、前記タイムストレッチ／ピッチシフトが行われた現フレームにおけるタイムストレッチ／ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いるとともに、前記位相状態の差を評価する際に、前記時間シフト量が、前記入力オーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるような重み付けを行い、前記タイムストレッチ／ピッチシフト処理ステップは、前記位相補正値算出ステップによって生成された前記位相補正値に基づいて、前記タイムストレッチ／ピッチシフト信号の次回フレームにおける開始時の位相を補正する、ことを特徴とする。
【００２６】
請求項１６に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ／ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
【００２７】
請求項１７に記載の発明では、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作がコンピュータによって実行される。
【００２８】
本発明における位相同期化処理とは、各バンドにおいて時間伸縮やピッチ変換された合成波形に対し、時系列をずらしながら元々のバンド波形との類似性を評価し、類似性が高いと判定される箇所において、合成波形から元々のバンド波形に戻るようにクロスフェード処理をすることである。その結果、位相同期化処理が終了した時点、つまりクロスフェード処理が終わった時点の波形は元々のバンド波形と同じ位相状態となる。類似性を評価するのは、クロスフェード処理による不連続さを少なくし、聴感上違和感のない波形を得ることを目的としている。
【００２９】
図８は位相同期化処理による効果を示している。（ａ）は、図７の（ａ）と同じオーディオ入力波形の位相状態を示している。（ｂ）は（ａ）を時刻Ｔ１（＝Ｔ／２）において位相同期化処理を実行しながら1／２に時間圧縮したものである。（ａ）のＡとＢに対応する周波数成分の位相をそれぞれＡ２、Ｂ２としている。
【００３０】
図７で示される従来のボコーダ方式での時間圧縮は、時刻Ｔ１におけるＡ１とＢ１の位相関係は元々のそれから変化していた。しかし図８で明らかなように、位相同期化処理が行われた時刻Ｔ１ではＡ２の位相は６．５π、Ｂ２の位相は８．５πとなり、その差は２πであるので位相差はなくなり、元々のＡとＢと同じ位相の関係が保たれていることがわかる。
【００３１】
上述した説明から明らかなように、ボコーダ方式によりタイムストレッチ／ピッチシフト処理をした合成波形に対して位相同期化処理を行うことにより、元の波形の位相関係が保たれることになる。この位相同期化処理を一定の間隔で実行することにより、そのつど元の波形の位相関係が保たれ、結果として波形全体を通して位相の変化が軽減された聴感上の違和感のないタイムストレッチ／ピッチシフト処理が可能となる。
【発明を実施するための最良の形態】
発明を実施するための最良の形態
【００３２】
本発明の実施の形態を図面に基づき説明する。本発明はその趣旨を外れない限り、以下の実施例によって、限定されるものではない。
【実施例１】
【００３３】
図１は本発明の第１の実施例にかかるオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
【００３４】
オーディオ入力波形１は、周波数帯域分割部２でいくつかのバンドに分けられる。この実施例では６つのバンドに分割している。３はタイムストレッチ／ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部２で生成されたバンド波形は、バンド成分合成部４−０〜４−５で周波数分析され、分析結果をもとに設定されるタイムストレッチ／ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
【００３５】
次に位相同期化処理部５−０〜５−５で、バンド成分合成部４で合成処理された波形と、周波数帯域分割部２において生成されたバンド原波形とを用い、位相同期化処理を行う。オーディオ出力波形６は各バンドの位相同期化処理部５の出力波形を加算合成したものである。また、位相同期化処理部５において出力する波形の長さに誤差が発生するため、補正値をバンド成分合成部４にフィードバックし、次回の合成処理時に出力される波形の長さを揃える操作をする。
【００３６】
周波数帯域分割部２で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、図１のブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして１オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
【００３７】
図２は図１のバンド成分合成部４の詳細をブロック構成図で示している。ここではステレオ２チャンネルオーディオ波形を処理するものと想定している。７はタイムストレッチ量補正処理部であり、位相同期化処理部５で出力波形の長さに誤差が生じた場合にストレッチ量を補正し、位相リセット信号を付加するものである。
【００３８】
図２のチャンネル分割処理部８は図１の周波数帯域分割部２で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ／ピッチシフト処理が行われる。
【００３９】
図１２は図２のチャンネル分割処理部８の波形データの流れを示している。ステレオ波形メモリ３６には２つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル０波形メモリ３７とチャンネル１波形メモリ３８にそれぞれのチャンネルのデータを配置し直し、周波数分析部９−０〜９−１へ渡す。また、このときデータを配置し直すのではなく、波形メモリ３６におけるそれぞれのチャンネルの先頭アドレスを周波数分析部９−０〜９−１へ渡すことでも、同様の処理が可能である。
【００４０】
次に図２の周波数分析部９−０〜９−１では、チャンネル分割処理部８で分割された波形に含まれる周波数、位相、振幅をＳＴＦＦＴ（短時間フーリエ変換、Short−Time Fast Fourier Transform）を用いて算出する。なお、一度のＳＴＦＦＴで分析できるオーディオ波形の長さは、用いられる窓関数およびＦＦＴサイズにより決まる。この長さを１フレームと定義し、１フレームごとに次に説明する波形合成が行われる。例えば４４．１キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびＦＦＴサイズは１０２４点を用いる。すると時間軸上の幅は約２３．２ミリ秒であり、周波数軸上で約４３ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はＦＦＴサイズを大きくし、時間分解能を高くする場合にはＦＦＴサイズを小さくする。ＦＦＴで計算されたデータから平方根や逆正接演算を行い、図１３に示すようにメモリアドレスに周波数成分の振幅ＡＳ／ＡＥ、位相ＰＳ／ＰＥ、瞬時角振動数Ｗのデータを格納する。１つの周波数成分の帯域幅は音階にして１半音程度が適切で、周波数帯域分割部２で１オクターブの帯域幅にバンドを分割した場合は、１２個の周波数成分データが計算される。
【００４１】
次に図２のタイムストレッチ／ピッチシフト処理部１０−０〜１０−１で、周波数分析部９で分析された結果と要求されるタイムストレッチ／ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時や位相リセット信号が入力された場合には、周波数分析部９によって算出された位相を設定する。それ以外の場合は、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。これらの処理の構成は、図１４のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部１１に渡される。
【００４２】
更にチャンネル統合処理部１１で、タイムストレッチ／ピッチシフト処理部１０においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図１５にチャンネル統合処理部１１のデータの流れを示している。チャンネル０合成波形メモリ３９とチャンネル１合成波形メモリ４０に格納された波形は、ステレオ合成波形メモリ４１にひとまとめに再配置される。またこのとき、チャンネル０合成波形メモリ３９とチャンネル１合成波形メモリ４０の先頭アドレスをステレオ合成波形メモリ４１に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部５で処理される。
【００４３】
図３は図１の位相同期化処理部５の詳細をブロック構成図で示している。図１のバンド成分合成部４で生成される１フレーム分の波形は、図３のバッファリング処理部１２で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、１フレームの長さでは不十分な場合があるためである。
【００４４】
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
【００４５】
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして４０ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、５波長程度の波形が含まれるような４０ミリ秒以上のフレーム数を用いる。
【００４６】
図３のバッファリング処理部１２で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。同時にリファレンス波形生成信号も出力され、リファレンス波形生成部１３により、周波数帯域分割部２で分割されたバンド原波形から位相同期化処理のためのリファレンス波形が生成される。図１６にバッファリング処理部のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは３フレームと想定しており、３フレーム分のバンド合成波形が蓄積されると波形は出力され、４フレーム目の合成波形はバッファリングメモリの先頭に配置される。
【００４７】
リファレンス波形の生成法について図４を参照しながら説明する。この例では３フレームごとに位相同期化処理を行うものと想定している。図４（ａ）はバンド原波形とフレームがどのように対応しているかを示しており、フレーム３とフレーム６の処理後に位相同期化処理が発生する。図中で波形は上下２段に書かれているが、これはステレオオーディオ波形のそれぞれのチャネンルを分けて書いたものである。図４（ｂ）はピッチシフトがない場合について、それぞれの位相同期化処理におけるリファレンス波形を示している。この波形は、位相同期化処理が実行されるまでの区間の最終フレーム、図中ではフレーム３とフレーム６の終端の一部をそのまま切り取ったものである。
【００４８】
また、図４（ｃ）はピッチシフトがある場合のリファレンス波形を示している。ここでは、1／２にピッチシフトした際の例を示している。図のように図４（ｂ）の波形を時間軸に対し単純にスケーリングをしたものであり、時間軸の伸縮率はピッチシフトの周波数スケーリングの値をαとすると、1／αである。
【００４９】
リファレンス波形の長さは、周期成分が１〜２波長程度含まれる長さが適切である。長すぎても短すぎても、次に説明する類似性の評価で良い結果が得られない。また、リファレンス波形生成時のピッチシフト処理は単純な時間軸のスケーリングを行うだけである。通常、時間軸のスケーリングによるピッチシフトは波形の長さが変化してしまうという問題があるが、リファレンス波形は類似性の評価とクロスフェード処理に用いるだけなので問題ない。図１７に図３のリファレンス波形生成部１３のデータの流れを示している。バッファリングメモリに蓄えられた波形データのうち、３フレーム目の終端部分のアドレスから波形データを読み出し、ピッチシフト量に応じて時間軸スケーリングし、リファレンス波形を出力するものである。
【００５０】
次に図３の波形類似性評価部１４では、バッファリング処理部１２において蓄積された波形とリファレンス波形生成部１３で生成された波形を用いて、２つの波形が時間軸上のどの時点で類似性が高いかを評価する。後のクロスフェード処理では、ここで求めた類似性が高い箇所がクロスフェード位置として用いられる。これを求めるには、類似性を評価する任意の評価関数を用意し、バッファリングされたバンド合成波形に対して時間軸をずらしながら評価関数を実行し、評価値の一番高い時点を結果とする。評価関数の例として、バンド合成波形とリファレンス波形の差分の絶対値を各サンプル点において計算し、それらを合算したものを評価値として用いるものが挙げられる。図１８にこの評価法について具体的に説明している。この図ではリファレンス波形のサンプル点数はｌrとしている。バッファに蓄積された波形データの一部を取り出し、リファレンス波形との差分の絶対値をｎ個のサンプル点全てにおいて計算し、それらの和を評価値としている。バッファリングメモリのアドレスをずらして波形の切り出しを行い、波形データ全体に対して評価値の計算を行う。このようにして計算された評価値のうち、より値の小さいものほど波形の差が少なく、類似性が高いといえる。
【００５１】
次に、図３のリファレンス波形生成部１３で生成された波形と波形類似性評価部１４で算出されたクロスフェード位置を用い、クロスフェード処理部１５でバッファリングされたバンド合成波形からリファレンス波形に戻るようにクロスフェード処理を行う。
【００５２】
これまで説明した位相同期化処理の概念について図５に示す一例を参照しながら説明する。図５ではステレオオーディオ波形の２つのチャネンルを上下２段に分けて書いており、これはリファレンス波形生成と類似性評価とクロスフェード処理がステレオで行われることを示している。
【００５３】
図５の（ａ）はバンド原波形を示しており、これを２倍にタイムストレッチすることを想定する。このとき、図５（ａ）のバンド原波形の長さをｌ１とする。
【００５４】
これまで説明した処理に従って、図３のバッファリング処理部１２に蓄積される２倍にストレッチされたバンド合成波形図５（ｂ）と、リファレンス波形生成部１３により生成されるリファレンス波形図５（ｃ）がそれぞれ得られる。このとき、図５（ｂ）のバンド合成波形の長さをｌ２（＝ｌ1×２）、図５（ｃ）のリファレンス波形の長さをｌrと定義する。また、これらの波形の類似性は図３の類似性評価部１４で評価され、図５の算出されるクロスフェード位置をｔcfとする。
【００５５】
図５のクロスフェード処理は、算出されたクロスフェード位置ｔcfからリファレンス波形の長さの範囲、つまりｔcfからのｔcf＋ｌrの区間で行われる。クロスフェード処理後の波形を図５（ｄ）に示す。図からわかるように、クロスフェード終了後の波形の終端はリファレンス波形の終端と同じ値になる。つまり、バンド原波形と同じ位相状態に戻る（位相同期化される）ことになる。オーディオ入力波形がステレオであったとしても、上記の処理によりチャンネル間の位相関係は保たれる。この部分が本発明において特筆すべきところである。
【００５６】
図１９にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは３フレーム分であると想定している。バッファリングメモリに蓄積されたクロスフェード位置ｔcf以降の波形は、サンプル点ごとに比率計算され乗算される。同時にリファレンス波形に対しても比率計算を行い乗算し、乗算後の値の和を出力とする。図の比率計算は、線形補間によるクロスフェードの例を示している。また、クロスフェード位置ｔcf以前の波形は、そのまま出力波形として出力波形メモリに格納される。
【００５７】
クロスフェード処理終了後の波形がそのままバンド出力波形となる。しかし、その長さはｔcf＋ｌｒであり、本来のストレッチされた波形の長さｌ２よりも短くなっている。ｔcf＋ｌr以降の残りのｌ２−（ｔcf＋ｌr）の長さに相当する部分は破棄されるため、その長さが位相同期化処理においての誤差として発生する。これを補正するために、誤差の値をストレッチ補正値として図２のバンド成分合成部のタイムストレッチ量補正処理部７に引き渡す。その結果、次回フレームではこの誤差の長さを加えて波形合成されるように処理され、本来の波形の長さが保たれる。
【００５８】
この位相同期化処理による誤差が大きいと図１のバンド成分合成部４で生成される波形を破棄する量が増大し、処理効率の低下につながる。これを防止するためには誤差を小さくする必要がある。解決する手段の一つとして、図３の波形類似性評価部１４の評価関数において、後ろの位置ほど評価値が高くなるような傾斜をかけるなどの工夫が考えられる。
【００５９】
以上の処理を各バンドに対して行い、それらを加算して最終的なオーディオ出力波形を得る。
【００６０】
次に、本発明のオーディオ信号処理装置について説明する。図６に本発明にかかる一実施例としてのオーディオ信号波形処理装置を示している。この例ではハードディスク駆動装置１９やＣＤ−ＲＯＭ駆動装置２０などの記録媒体上のオーディオ波形を、タイムストレッチやピッチシフトを行いながら再生して出力するものである。この例に限らず、本発明におけるオーディオ波形処理装置はサンプラーや電子楽器など多くの機器に搭載することができる。
【００６１】
図６において、ＣＰＵ１６は装置の全体的な制御を司る中央処理装置、ＲＯＭ１７は制御プログラムを格納しているリード・オンリー・メモリ、ＲＡＭ１８は作業用のメモリエリアなどとして利用されるランダム・アクセス・メモリである。ハードディスク駆動装置１９、ＣＤ−ＲＯＭ駆動装置２０は外部記憶装置でありオーディオ波形の入力として用いられる。音声出力装置２１はデジタルオーディオ波形をアナログ化するＤ／Ａ変換器とスピーカーで構成される。操作子群２２は各種スイッチ類である。表示器２３０はタイムストレッチ／ピッチシフト量選択の際にパラメータを画面表示するなどに用いる表示器である。
【００６２】
本発明におけるオーディオ信号処理方法をコンピュータに実行させるための命令群で構成されるプログラムはＲＯＭ１７に記憶され、ハードディスク駆動装置１９やＣＤ−ＲＯＭ駆動装置２０のオーディオ波形に対し、ＣＰＵ１６がＲＡＭ１８をワーキングメモリとして使用しながら波形処理を行い、音声出力装置２１のスピーカーから音として出力される。以上の構成により、ハードディスクやＣＤ−ＲＯＭに記録された音楽に対し、高品位なタイムストレッチ／ピッチシフト処理を施したオーディオ再生装置が実現できる。
【実施例２】
【００６３】
第１の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例１で説明したと同様な波形処理を実現できる。図１において、周波数帯域分割部２と、バンド成分合成部（バンド１）４−1 〜 バンド成分合成部（バンド５）４−５と、位相同期化処理部（バンド１）５−1 〜 位相同期化処理部（バンド５）５−５とを削除して、オーディオ入力波形１をバンド成分合成部（バンド０）４−０に直接入力して、実施例１で説明したと同様な波形処理を実施する。
【実施例３】
【００６４】
次に、第３の実施例であり、上述の実施例１、２にかかる手段／手法を実行させるコンピュータプログラムについて説明する。図２０にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し（ステップＳ１）、図１の周波数帯域分割部２と同様の周波数帯域分割処理（ステップＳ２）をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはＦＦＴを実行するための命令群から成る。
【００６５】
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相の分析処理（ステップＳ３）をする。この処理は図２の周波数分析部９−０〜９−１に相当する部分であり、ＦＦＴを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
【００６６】
分析されたデータをもとに、波形合成処理（ステップＳ４）を実行する。この処理は図２のタイムストレッチ／ピッチシフト処理部１０−０〜１０−１と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ／ピッチシフトされた波形が合成される。
【００６７】
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する（ステップＳ５）。達していない場合は再度ステップＳ１に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図３のバッファリング処理部１２と同様のものである。
【００６８】
合成された波形に対して位相同期化処理（ステップＳ６）を実行する。この処理は図３のリファレンス波形生成部１３、波形類似性評価部１４、クロスフェード処理部１５の処理に相当し、類似性の評価関数を実行するための減算などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
【００６９】
ステップＳ２からステップＳ６の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み（ステップＳ７）を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し（ステップＳ８）、処理が終了していなければステップＳ１へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
【実施例４】
【００７０】
次に、本発明の実施例４について説明する。図９は第４の実施例としてのオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
【００７１】
オーディオ入力波形２３は、周波数帯域分割部２４でいくつかのバンドに分けられる。この実施例では６つのバンドに分割している。２５はタイムストレッチ／ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部２４で生成されたバンド波形は、バンド成分合成部２６−０〜２６−５で周波数分析され、分析結果をもとに設定されるタイムストレッチ／ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
【００７２】
次に位相同期化処理部２７−０〜２７−５で、バンド成分合成部２６で合成処理された波形と周波数成分情報を用い、位相同期化処理を行う。オーディオ出力波形２８は各バンドの位相同期化処理部２７の出力波形を加算合成したものである。また、位相同期化処理部２７において合成波形の位相状態は原波形の位相状態の線形な位相進み又は線形な位相遅れとなるので、位相補正値をバンド成分合成部２６にフィードバックし、次回の合成処理時に適用される位相値を補正する操作をする。
【００７３】
周波数帯域分割部２４で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、ブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして１オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
【００７４】
図１０は図９のバンド成分合成部２６の詳細をブロック構成図で示している。ここではステレオ２チャンネルオーディオ波形を処理するものと想定している。チャンネル分割処理部２９は周波数帯域分割部２４で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ／ピッチシフト処理が行われる。
【００７５】
図２１は図１０のチャンネル分割処理部２９の波形データの流れを示している。ステレオ波形メモリ４２には２つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル０波形メモリ４３とチャンネル１波形メモリ４４にそれぞれのチャンネルのデータを配置し直し、周波数分析部３０−０〜３０−１へ渡す。また、このときデータを配置し直すのではなく、波形メモリ３６におけるそれぞれのチャンネルの先頭アドレスを周波数分析部３０−０〜３０−１へ渡すことでも、同様の処理が可能である。
【００７６】
次に図１０の周波数分析部３０−０〜３０−１では、チャンネル分割処理部２９で分割された波形に含まれる周波数、位相、振幅をＳＴＦＦＴ（短時間フーリエ変換、Short−Time Fast Fourier Transform）を用いて算出する。なお、一度のＳＴＦＦＴで分析できるオーディオ波形の長さは、用いられる窓関数およびＦＦＴサイズにより決まる。この長さを１フレームと定義し、１フレームごとに次に説明する波形合成が行われる。例えば４４．１キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびＦＦＴサイズは１０２４点を用いる。すると時間軸上の幅は約２３．２ミリ秒であり、周波数軸上で約４３ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はＦＦＴサイズを大きくし、時間分解能を高くする場合にはＦＦＴサイズを小さくする。ＦＦＴで計算されたデータから平方根や逆正接演算を行い、図１３に示すようにメモリアドレスに周波数成分の振幅ＡＳ／ＡＥ、位相ＰＳ／ＰＥ、瞬時角振動数Ｗのデータを格納する。１つの周波数成分の帯域幅は音階にして１半音程度が適切で、周波数帯域分割部２で１オクターブの帯域幅にバンドを分割した場合は、１２個の周波数成分データが計算される。
【００７７】
次に図１０のタイムストレッチ／ピッチシフト処理部３１−０〜３１−１で、周波数分析部３０で分析された結果と要求されるタイムストレッチ／ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時には図１０の周波数分析部３０によって算出された位相を設定する。それ以外の場合で位相補正値が入力されていない状態では、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。位相補正値が入力されている場合は、以降で説明する位相同期化処理が行われた後のフレームであるため、位相補正値をもとに周波数分析部３０によって分析された位相の線形な位相進み又は線形な位相遅れ状態を算出し、発振開始時の位相として用いる。これらの処理の構成は、図２２のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部３２に渡される。
【００７８】
更にチャンネル統合処理部３２で、タイムストレッチ／ピッチシフト処理部３１においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図２３にチャンネル統合処理部３１のデータの流れを示している。チャンネル０合成波形メモリ４５とチャンネル１合成波形メモリ４６に格納された波形は、ステレオ合成波形メモリ４７にひとまとめに再配置される。またこのとき、チャンネル０合成波形メモリ４５とチャンネル１合成波形メモリ４６の先頭アドレスをステレオ合成波形メモリ４７に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部２７で処理される。
【００７９】
図１１は図９の位相同期化処理部２７の詳細をブロック構成図で示している。バンド成分合成部２６で生成される１フレーム分の波形は、バッファリング処理部３３で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、１フレームの長さでは不十分な場合があるためである。
【００８０】
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
【００８１】
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして４０ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、５波長程度の波形が含まれるような４０ミリ秒以上のフレーム数を用いる。
【００８２】
図１１のバッファリング処理部３３で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。図１６にバッファリング処理部３３のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは３フレームと想定しており、３フレーム分のバンド合成波形が蓄積されると波形は出力され、４フレーム目の合成波形はバッファリングメモリの先頭に配置される。
【００８３】
バッファリングされた波形の出力と同時に位相同期化波形生成信号も出力され、位相同期化波形生成部３４により、バンド成分合成部２６の周波数情報をもとに位相同期化波形が生成される。位相同期化波形とは、波形合成後の位相状態と相関が高く、かつ原波形の位相の線形な位相進み又は線形な位相遅れである波形である。線形な位相進み又は線形な位相遅れは時間領域での進みや遅れに対応するので、位相同期化波形は時間軸をずらして原波形を切り出したものと同等になる。図１１のクロスフェード処理部３５で、バッファリング波形から位相同期化波形へとクロスフェード処理をすることにより、ストレッチ／ピッチシフト処理を行っても原波形の位相状態を保つことが可能となる。
【００８４】
位相同期化波形生成部３４の処理について式を用いながら説明する。バンドに含まれる全チャンネルの周波数成分の数をｎとし、周波数成分の振幅をａ0、ａ1、・・・ａn-1、波形合成処理終了時の位相をθ0、θ1、・・・θn-1、瞬時角振動数をω0、ω1、・・・ωn-1とする。また、フレーム終了時の原波形の位相、つまり次回フレーム開始時の原波形の位相をφ0、φ1、・・・φn-1とする。これらの周波数成分情報は図９のバンド成分合成部２６で計算され、図１３のようにメモリ上に記録されたものが入力される。すなわち、ａ0、ａ1、・・・ａn-1はフレーム終了時の振幅ＡＥに対応し、ω0、ω1、・・・ωn-1は瞬時角周波数Ｗに対応し、φ0、φ1、・・・φn-1はフレーム終了時の位相ＰＥに対応する。また、θ0、θ1、・・・θn-1には図２２の余弦発振器の発振終了時点における位相が参照される。
【００８５】
波形合成処理終了時の位相状態と、次回フレーム開始時における原波形の位相状態の差を評価する式として、次のものを導入する。ここでｅは自然対数である。
【００８６】
【数１】
0004031813.tif 000002
【００８７】
全ての周波数成分においてθ＝φの場合は位相差がなく、評価式は０となる。位相差が大きければ大きいほど、評価式の値は大きくなる。タイムストレッチ／ピッチシフト処理を行うと通常はθ≠φであり、評価式は０にはならない。そこで、波形合成処理終了時の位相状態と、原波形において次回フレーム開始位置から時間領域でｔずれたと仮定した位置の位相状態の差を評価する関数F（ｔ）を導入する。時間軸での進み又は遅れは線形な位相進み又は線形な位相遅れに対応するので、F（ｔ）は（数１）のφkをφk＋ωkｔに置き換えた（数２）の式になる。
【００８８】
【数２】
0004031813.tif 000003
【００８９】
評価関数F（ｔ）は０に近いほど位相差が少なく、波形としての相関も高い。したがって、評価関数F（ｔ）が最小になる値ｔpを求め、原波形において次回フレーム開始位置から時間領域でｔpずれたと仮定した波形を合成し、位相同期化波形として用いることで、クロスフェード処理の際に耳障りな音になるのを防ぐことができる。
【００９０】
図１１の位相同期化波形生成部３４では、まずこのｔpを求める。これを求めるには、ある時間領域、−ｔw＜ｔ＜ｔwの範囲において評価関数F（ｔ）の値を求め、F（ｔ）が最小となったものをｔpとして採用すればよい。ｔwの大きさは、バンドに含まれる周波数成分の数波長分の長さがよい。ｔwが小さすぎるとF（ｔ）の値が小さい地点が見つからない場合があり、逆にｔwが大きいとｔが０から離れすぎた地点ではF（ｔ）の評価に誤差が生じてしまう。
【００９１】
評価関数F（ｔ）に誤差が生じる原因は、式中で瞬時角振動数ω0、ω1、・・・ωn-1を使用していることに起因する。ω0、ω1、・・・ωn-1は瞬間的な値であって、本来時間とともに刻々と変化するものである。F（ｔ）の式ではω0、ω1、・・・ωn-1という固定値を使用しているため、ｔが０から離れるにしたがって、本来の原波形の位相状態とはかけはなれたものになり、位相状態の評価には適さない。そのため、ｔwの値は大きすぎない適切な値にすることが重要である。また、同様の理由から、ｔ＝０近傍でF（ｔ）の値が小さくなるように傾斜をかけ、ｔpが０に近い値をとるようにし、原波形の位相状態により近い位相同期化波形が得られるように工夫することも考えられる。
【００９２】
評価関数Ｆ（ｔ）の計算方法について詳細を図２４に示している。図９のバンド成分合成部２６で分析された周波数成分情報は図２４の周波数成分メモリに格納されており、バンド成分合成部２６における余弦発振器の発振終了時の位相と、時間領域での変数ｔともに評価値が計算される。図２４ではｎ個の周波数成分があるものと想定しており、それぞれの成分について乗算、減算、余弦、平方根を用いて値を求め、それらを合算したものが評価値となる。これは（数２）の計算方法をブロック図で表したものである。変数ｔを−ｔwからｔwの範囲で変化させながら評価値を求め、評価値が最小となるときの変数ｔがｔpとして採用される。
【００９３】
次に、求められたｔpをもとに位相同期化波形を合成する。合成処理は図１０のタイムストレッチ／ピッチシフト処理部３１と同様に、ピッチシフトを行いながらチャンネルごとに正弦または余弦発振する。位相同期化波形はクロスフェード処理に用いるだけなので、波形を合成する長さはバンドに含まれる周波数成分の数波長分の長さで充分であり、タイムストレッチは無視してよい。またこのとき、位相同期化波形の終端における位相状態が、次回フレーム開始時の原波形の位相状態からｔpの分だけ線形な位相進み又は線形な位相遅れの状態になるように、発振開始時の位相状態を調整する必要がある。
【００９４】
以上のようにして合成された位相同期化波形は、図１１のクロスフェード処理部３５へ出力される。クロスフェード処理部３５では、バッファリング処理部３３で蓄積されたバンド成分合成後の波形から、位相同期化波形へとクロスフェード処理を行う。クロスフェード処理は波形どうしの終端を揃えて行う。クロスフェード処理後の波形において、その終端の位相状態は、位相同期化波形の終端の位相状態と同一になり、したがって原波形の位相状態の線形な位相進み又は線形な位相遅れの状態となる。つまり、原波形と同等の位相状態を持つことになる。クロスフェード処理後の波形は最終的なバンド波形として出力される。
【００９５】
また、図１１の位相同期化波形生成部３４で求められたｔpは位相補正値として図９のバンド成分合成部２６へ出力される。前述したとおり、位相補正値が出力されると次回フレームの合成処理開始時の位相は、原波形の位相状態の線形な位相進み又は線形な位相遅れとなり、クロスフェード処理後の波形と滑らかに繋る波形が次回フレームで合成される。
【００９６】
これまで説明した図１１の位相同期化波形生成部３４とクロスフェード処理部３５の概念について、図２５を用いて説明する。図ではステレオオーディオ波形の２つのチャネンルを上下２段に分けて書いており、これは類似性評価と位相同期化波形生成とクロスフェード処理がステレオで行われることを示している。
【００９７】
図２５（ａ）はバンド原波形を示しており、これを２倍にタイムストレッチすることを想定する。バンド原波形をもとに、これまで説明した処理に従って、バッファリング処理部３８に２倍にストレッチされたバンド合成波形図２５（ｂ）が蓄積される。バンド合成波形はバンド原波形を２倍にタイムストレッチしたものであるが、終端部分における周波数成分の位相関係はバンド原波形のものとはかけはなれたものになってしまい、ステレオの定位感が崩れるなど聴感上の違和感の原因となっている。
【００９８】
図２５（ｃ）は、評価関数Ｆ（ｔ）と位相同期化波形の生成の様子を示している。バンド合成波形の生成時に分析された周波数成分情報と発振器の発振終了時の位相をもとに、図２４を用いて説明したように変数ｔを−ｔwからｔwの範囲で変化させながら評価値を計算する。図２５（ｃ）の中段にはｔを変化させたときの、バンド原波形終端部分の線形位相進み又は遅れである波形を示している。これは線形位相進み又は遅れの波形がどのようなものであるのかを示しており、全てのｔにおいて実際に処理されるものではなく、評価値が最小となる場合のｔにおいてのみ位相同期化波形として波形合成される。図２５（ｃ）ではこのとき合成される波形の長さは、バンドに含まれる周波数成分の２波長分の長さとしている。
【００９９】
図２５（ｄ）ではクロスフェード処理後の波形を示しており、図２５（ｂ）のバンド合成波形の終端部分と、図２５（ｃ）で合成された位相同期化波形の終端部分を揃えてクロスフェード処理が行われる。クロスフェード処理後の波形の終端部分は位相同期化波形の終端部分と同じ値を持ち、従ってバンド原波形の線形な位相の進み又は遅れ状態となる。これにより、オーディオ入力波形がステレオであったとしても、周波数成分の位相関係はバンド原波形ときわめて近いものとなり、位相同期化されたことになる。
【０１００】
図２６にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは３フレーム分（位相同期化処理期間）であると想定している。バッファリングメモリには図１１のバッファリング処理部３３によってフレーム合成波形が蓄積される。また、位相同期化波形生成部３４により位相同期化波形が生成される。このとき、バッファリングメモリに蓄積されたバンド合成波形の長さをｌ、位相同期化波形の長さをｌpとすると、バンド合成波形においてｌ−ｌpの地点からクロスフェード処理を開始し、２つの波形の終端部分を揃える。クロスフェード処理はサンプル点ごとにそれぞれの波形に対して比率計算を行い乗算し、乗算後の値の和を出力とする。図２６の比率計算は、線形補間によるクロスフェードの例を示している。ｌ−ｌp以前の波形は、そのまま出力波形として出力波形メモリに格納される。
【０１０１】
以上の処理を各バンドに対して行い、バンド波形出力を加算して最終的なオーディオ出力波形を得る。
【実施例５】
【０１０２】
第４の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例４で説明したと同様な波形処理を実現できる。図９において、周波数帯域分割部２４と、バンド成分合成部（バンド１）２６−1 〜 バンド成分合成部（バンド５）２６−５と、位相同期化処理部（バンド１）２７−1 〜 位相同期化処理部（バンド５）２７−５とを削除して、オーディオ入力波形２３をバンド成分合成部（バンド０）２６−０に直接入力して、実施例４で説明したと同様な波形処理を実施する。
【実施例６】
【０１０３】
次に、第６の実施例である請求項１０のコンピュータプログラムについて説明する。図２０にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し（ステップＳ１）、図９の周波数帯域分割部２４と同様の周波数帯域分割処理（ステップＳ２）をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはＦＦＴを実行するための命令群から成る。
【０１０４】
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相分析処理（ステップＳ３）をする。この処理は図１０の周波数分析部３０−０〜３０−１に相当する部分であり、ＦＦＴを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
【０１０５】
分析されたデータをもとに、波形合成処理（ステップＳ４）を実行する。この処理は図１０のタイムストレッチ／ピッチシフト処理部３１−０〜３１−１と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ／ピッチシフトされた波形が合成される。
【０１０６】
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する（ステップＳ５）。達していない場合は再度ステップＳ１に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図１１のバッファリング処理部３３と同様のものである。
【０１０７】
合成された波形に対して位相同期化処理（ステップＳ６）を実行する。この処理は図１１の位相同期化波形生成部３４、クロスフェード処理部３５の処理に相当し、位相評価関数を実行するための減算や乗算や余弦や平方根などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
【０１０８】
ステップＳ２からステップＳ６の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み（ステップＳ７）を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し（ステップＳ８）、処理が終了していなければステップＳ１へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
【０１０９】
（発明の効果）
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【０１１０】
本発明によれば、帯域分割をせずにオーディオ波形をそのまま１つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【０１１１】
本発明によれば、本発明のいずれか一つに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
【０１１２】
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【０１１３】
本発明によれば、帯域分割せずにオーディオ波形をそのまま１つのバンドと見なして処理することもできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【０１１４】
本発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
【０１１５】
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
【産業上の利用可能性】
【０１１６】
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【０１１７】
本発明によれば、帯域分割をせずにオーディオ波形をそのまま１つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【０１１８】
本発明によれば、本発明のいずれか一つに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
【０１１９】
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【０１２０】
本発明によれば、帯域分割せずにオーディオ波形をそのまま１つのバンドと見なして処理することもできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【０１２１】
本発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
【０１２２】
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
【図面の簡単な説明】
【０１２３】
【図１】  本発明における波形処理の流れを示すブロック図である。
【図２】  バンド成分合成部の詳細を説明するためのブロック図である。
【図３】  位相同期化処理部の詳細を説明するためのブロック図である。
【図４】  リファレンス波形生成法を説明するための図である。
【図５】  位相同期化処理の概念を説明するための図である。
【図６】  本発明にかかる一実施例としてのオーディオ信号処理装置を示す図である。
【図７】  従来のボコーダ方式による位相の変化の様子を説明するための図である。
【図８】  本発明の位相同期化処理による効果を説明するための図である。
【図９】  本発明における波形処理の流れを示すブロック図である。
【図１０】  バンド成分合成部の詳細を説明するためのブロック図である。
【図１１】  位相同期化処理部の詳細を説明するためのブロック図である。
【図１２】  チャンネル分割処理部の詳細を説明するための図である。
【図１３】  周波数分析部においてメモリに格納される情報を説明するための図である。
【図１４】  タイムストレッチ／ピッチシフト処理を説明するための図である。
【図１５】  チャンネル統合処理部の詳細を説明するための図である。
【図１６】  バッファリング処理部のメモリ使用状況を説明するための図である。
【図１７】  リファレンス波形生成のデータの流れを説明するための図である。
【図１８】  波形類似性評価部の評価の詳細を説明するためのブロック図である。
【図１９】  クロスフェード処理の詳細を説明するためのブロック図である。
【図２０】  本発明のコンピュータプログラムを説明するためのフローチャートである。
【図２１】  チャンネル分割処理部の詳細を説明するための図である。
【図２２】  タイムストレッチ／ピッチシフト処理を説明するための図である。
【図２３】  チャンネル統合処理部の詳細を説明するための図である。
【図２４】  評価関数を用いて位相差の評価値を求める方法を説明するためのブロック図である。
【図２５】  波形類似性評価部の評価の詳細を説明するためのブロック図である。
【図２６】  クロスフェード処理の詳細を説明するためのブロック図である。
【符号の説明】
【０１２４】
１  オーディオ入力波形
２  周波数帯域分割部
３  タイムストレッチ／ピッチシフト量設定部
４  バンド成分合成部
５  位相同期化処理部
６  オーディオ出力波形
７  タイムストレッチ量補正部
８  チャンネル分割処理部
９  周波数分析部
１０  タイムストレッチ／ピッチシフト処理部
１１  チャンネル統合処理部
１２  バッファリング処理部
１３  リファレンス波形生成部
１４  波形類似性評価部
１５  クロスフェード処理部
１６  ＣＰＵ（中央処理装置）
１７  ＲＯＭ（リード・オンリー・メモリ）
１８  ＲＡＭ（ランダム・アクセス・メモリ）
１９  ハードディスク駆動装置
２０  ＣＤ−ＲＯＭ駆動装置
２１  音声出力装置
２２  操作子群
２３  オーディオ入力波形
２４  周波数帯域分割部
２５  タイムストレッチ／ピッチシフト量設定部
２６  バンド成分合成部
２７  位相同期化処理部
２８オーディオ出力波形
２９  チャンネル分割処理部
３０  周波数分析部
３１  タイムストレッチ／ピッチシフト処理部
３２  チャンネル統合処理部
３３  バッファリング処理部
３４  位相同期化波形生成部
３５  クロスフェード処理部
３６  ステレオ波形メモリ
３７  チャンネル０波形メモリ
３８  チャンネル１波形メモリ
３９  チャンネル０合成波形メモリ
４０  チャンネル１合成波形メモリ
４１  ステレオ合成波形メモリ
４２  ステレオ波形メモリ
４３  チャンネル０波形メモリ
４４  チャンネル１波形メモリ
４５  チャンネル０合成波形メモリ
４６  チャンネル１合成波形メモリ
４７  ステレオ合成波形メモリ
２３０  表示器
【図１】
0004031813.tif 000004
【図２】
0004031813.tif 000005
【図３】
0004031813.tif 000006
【図４】
0004031813.tif 000007
【図５】
0004031813.tif 000008
【図６】
0004031813.tif 000009
【図７】
0004031813.tif 000010
【図８】
0004031813.tif 000011
【図９】
0004031813.tif 000012
【図１０】
0004031813.tif 000013
【図１１】
0004031813.tif 000014
【図１２】
0004031813.tif 000015
【図１３】
0004031813.tif 000016
【図１４】
0004031813.tif 000017
【図１５】
0004031813.tif 000018
【図１６】
0004031813.tif 000019
【図１７】
0004031813.tif 000020
【図１８】
0004031813.tif 000021
【図１９】
0004031813.tif 000022
【図２０】
0004031813.tif 000023
【図２１】
0004031813.tif 000024
【図２２】
0004031813.tif 000025
【図２３】
0004031813.tif 000026
【図２４】
0004031813.tif 000027
【図２５】
0004031813.tif 000028
【図２６】
0004031813.tif 000029