(57)【要約】時間スケール変更は、異なる再生速度を有するが入力デジタルオーディオ信号と同じピッチを有する出力信号を生成する。本方法は、入力信号のサンプルブロックを出力信号のサンプルブロックとオーバラップさせることにより信号を圧縮する。あり得るオーバラップ各々に対して相関関数が計算され、最高相関をもたらすオーバラップが選択される。相関関数を計算する計算効率のよい方法は、入力および出力サンプルブロックの離散周波数変換を計算し、相関を計算し、その後、相関関数の逆周波数変換を実行し、それによって最適なオーバラップで最大値を有する。マルチチャネルデジタルオーディオ信号の時間スケール変更の方法は、各チャネルを独立して処理する。聴取者は、異なるチャネルを統合し、高品質マルチチャネル信号を知覚する。
2004505304.tif 000002
【特許請求の範囲】
【請求項１】
出力サンプルを含むデジタルオーディオ出力信号を形成するための、入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更のための方法であって、
ａ）Ｎ／２入力サンプルの入力ブロックを選択するステップと、
ｂ）Ｎ／２出力サンプルの出力ブロックを選択するステップと、
ｃ）−Ｎ／２≦Ｔ＜Ｎ／２である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットＴを確定するステップであって、前記オフセット確定が前記Ｎ／２入力サンプルの離散周波数変換と前記Ｎ／２出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットＴに対して発生するステップと、
ｄ）前記出力信号を形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はＴサンプルによって前記出力ブロック開始からオフセットされているステップと、
を含む方法。
【請求項２】
前記オフセット確定ステップは、前記入力周波数変換を実行する前に前記Ｎ／２入力サンプルにＮ／２ゼロサンプルを付加することと、前記出力周波数変換を実行する前に前記Ｎ／２出力サンプルにＮ／２ゼロサンプルを付加することとをさらに含む請求項１記載の方法。
【請求項３】
前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項１記載の方法。
【請求項４】
前記オフセット確定ステップは、
ｉ）前記入力サンプルの離散フーリエ変換を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＸ（ｋ）を取得することと、
ｉｉ）前記出力サンプルの離散フーリエ変換を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＹ（ｋ）を取得することと、
ｉｉｉ）Ｘ（ｋ）の複素共役を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＸ＊（ｋ）を取得することと、
ｉｖ）ｋ＝０、…、Ｎ／２−１に対して複素乗算積Ｚ（ｋ）＝Ｘ＊（ｋ）・Ｙ（ｋ）を計算することと、
ｖ）Ｚ（ｋ）の逆離散フーリエ変換を実行することによりｚ（ｔ）を取得することと、
ｖｉ）ｚ（Ｔ）が最大値であるＴを確定することと、
をさらに含む請求項３記載の方法。
【請求項５】
前記離散周波数変換は、離散コサイン変換と、離散サイン変換と、離散ハートレー変換と、ウェーブレット基底関数に基づく離散変換と、からなる群から選択される請求項１記載の方法。
【請求項６】
前記相関関数は正規化相関関数である請求項１記載の方法。
【請求項７】
前記出力信号を一定速度で出力することをさらに含む請求項１記載の方法。
【請求項８】
前記一定速度はリアルタイム速度である請求項７記載の方法。
【請求項９】
前記出力ブロックの前記開始の位置を、前記一定速度に基づいて選択する請求項７記載の方法。
【請求項１０】
前記入力信号を可変速度で取得することをさらに含む請求項１記載の方法。
【請求項１１】
前記ステップ（ａ）は、前記入力信号のピッチ周期に無関係である請求項１記載の方法。
【請求項１２】
前記オーバラップさせるステップは、前記出力ブロックと前記入力ブロックとに重み関数を適用することを含む請求項１記載の方法。
【請求項１３】
前記重み関数は線形関数である請求項１２記載の方法。
【請求項１４】
各出力チャネルが出力サンプルを含むマルチチャネルデジタルオーディオ出力信号を形成するための、各入力チャネルが入力サンプルを含むマルチチャネルデジタルオーディオ入力信号の時間スケール変更のための方法であって、
ａ）前記入力チャネルを取得するステップと、
ｂ）前記入力チャネルの各々に対して独立して、
ｉ）Ｎ／２入力サンプルの入力ブロックを選択するステップと、
ｉｉ）前記出力チャネルの対応する１つからＮ／２出力サンプルの出力ブロックを選択するステップと、
ｉｉｉ）−Ｎ／２≦Ｔ＜Ｎ／２である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットＴを確定するステップであって、前記オフセット確定が前記Ｎ／２入力サンプルの離散周波数変換と前記Ｎ／２出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットＴに対して発生するステップと、
ｉｖ）前記対応する出力チャネルを形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はＴサンプルによって前記出力ブロック開始からオフセットされているステップと、
ｃ）前記マルチチャネルデジタルオーディオ出力信号を形成するために前記出力チャネルを結合するステップと、
を含む方法。
【請求項１５】
前記ステップ（ａ）は、前記マルチチャネルデジタルオーディオ信号を前記入力サンプルに分離することを含む請求項１４記載の方法。
【請求項１６】
前記ステップ（ａ）は、単一チャネルデジタルオーディオ入力信号から前記入力チャネルを生成することを含む請求項１４記載の方法。
【請求項１７】
前記入力チャネルを所定の時間のずれだけ互いから分離する請求項１６記載の方法。
【請求項１８】
前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項１４記載の方法。
【請求項１９】
前記マルチチャネルデジタルオーディオ出力信号を一定速度で出力することをさらに含む請求項１４記載の方法。
【請求項２０】
前記一定速度はリアルタイム速度である請求項１９記載の方法。
【請求項２１】
各チャネルに対し、前記出力ブロックの前記開始の位置を、前記一定速度に基づいて選択する請求項１９記載の方法。
【請求項２２】
前記マルチチャネルデジタル入力信号を可変速度で取得することをさらに含む請求項１４記載の方法。
【請求項２３】
前記ステップ（ｂ）（ｉ）は、前記入力チャネルのピッチ周期とは無関係である請求項１４記載の方法。
【請求項２４】
前記マルチチャネルデジタルオーディオ入力信号および前記マルチチャネルデジタルオーディオ出力信号は、ステレオ信号である請求項１４記載の方法。
【請求項２５】
出力サンプルを含むデジタルオーディオ出力信号を形成するための入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更のための方法ステップを実行するように構成された処理ユニットを具備するデジタル信号プロセッサであって、前記方法ステップは、
ａ）Ｎ／２入力サンプルの入力ブロックを選択するステップと、
ｂ）Ｎ／２出力サンプルの出力ブロックを選択するステップと、
ｃ）−Ｎ／２≦Ｔ＜Ｎ／２である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットＴを確定するステップであって、前記オフセット確定が前記Ｎ／２入力サンプルの離散周波数変換と前記Ｎ／２出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットＴに対して発生するステップと、
ｄ）前記出力信号を形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はＴサンプルによって前記出力ブロック開始からオフセットされているステップと、
を含むデジタル信号プロセッサ。
【請求項２６】
前記オフセット確定ステップは、前記入力周波数変換を実行する前に前記Ｎ／２入力サンプルにＮ／２ゼロサンプルを付加することと、前記出力周波数変換を実行する前に前記Ｎ／２出力サンプルにＮ／２ゼロサンプルを付加することとをさらに含む請求項２５記載のデジタル信号プロセッサ。
【請求項２７】
前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項２５記載のデジタル信号プロセッサ。
【請求項２８】
前記オフセット確定ステップは、
ｉ）前記入力サンプルの離散フーリエ変換を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＸ（ｋ）を取得することと、
ｉｉ）前記出力サンプルの離散フーリエ変換を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＹ（ｋ）を取得することと、
ｉｉｉ）Ｘ（ｋ）の複素共役を実行することにより、ｋ＝０、…、Ｎ／２−１に対してＸ＊（ｋ）を取得することと、
ｉｖ）ｋ＝０、…、Ｎ／２−１に対して複素乗算積Ｚ（ｋ）＝Ｘ＊（ｋ）・Ｙ（ｋ）を計算することと、
ｖ）Ｚ（ｋ）の逆離散フーリエ変換を実行することによりｚ（ｔ）を取得することと、
ｖｉ）ｚ（Ｔ）が最大値であるＴを確定することと、
をさらに含む請求項２７記載のデジタル信号プロセッサ。
【請求項２９】
前記離散周波数変換は、離散コサイン変換と、離散サイン変換と、離散ハートレー変換と、ウェーブレット基底関数に基づく離散変換と、からなる群から選択される請求項２５記載のデジタル信号プロセッサ。
【請求項３０】
前記相関関数は正規化相関関数である請求項２５記載のデジタル信号プロセッサ。
【請求項３１】
前記方法ステップは、前記出力信号を一定速度で出力することをさらに含む請求項２５記載のデジタル信号プロセッサ。
【請求項３２】
前記一定速度はリアルタイム速度である請求項３１記載のデジタル信号プロセッサ。
【請求項３３】
前記出力ブロックの前記開始の位置は、前記一定速度に基づいて選択される請求項３１記載のデジタル信号プロセッサ。
【請求項３４】
前記方法ステップは、前記入力信号を可変速度で取得することをさらに含む請求項２５記載のデジタル信号プロセッサ。
【請求項３５】
前記ステップ（ａ）は、前記入力信号のピッチ周期に無関係である請求項２５記載のデジタル信号プロセッサ。
【請求項３６】
前記オーバラップさせるステップは、前記出力ブロックと前記入力ブロックとに重み関数を適用することを含む請求項２５記載のデジタル信号プロセッサ。
【請求項３７】
前記重み関数は線形関数である請求項３６記載のデジタル信号プロセッサ。
【発明の詳細な説明】
【０００１】
［発明の分野］
本発明は、概してデジタルオーディオ信号処理に関する。より詳細には、改良された同期オーバラップ加算（ｓｙｎｃｈｒｏｎｉｚｅｄ　ｏｖｅｒｌａｐ−ａｎｄ−ａｄｄ（ＳＯＬＡ））アルゴリズムを使用して、ピッチを変更することなくオーディオ（可聴周波）信号の出力速度を変更する方法に関する。
【０００２】
［背景技術］
種々のアプリケーションにおいて、オーディオ信号の再生速度の変更が必要とされる。時間スケール変更（Ｔｉｍｅ　Ｓｃａｌｅ　Ｍｏｄｉｆｉｃａｔｉｏｎ（ＴＳＭ））のカテゴリに入る技術は、圧縮（すなわち、高速化）と伸張（すなわち、低速化）とを含む。オーディオ圧縮アプリケーションは、より多くのコマーシャルを可能とするためにラジオトークショーを高速化することと、ユーザまたはディスクジョッキーがダンスミュージックのテンポを選択することができるようにすることと、口述材料の再生速度を高速化することと、ボイスメールメッセージの再生速度を高速化することと、オーディオおよびビデオ再生速度を同期化することとを含む。入力信号のタイプ（すなわちスピーチ、音楽またはスピーチおよび音楽の組合せ）に関らず、ＴＳＭの目的は、そのテンポを変更しながら入力信号のピッチを維持することである。明らかに、再生速度を単に増大または低減することで、必然的にピッチが変化する。
【０００３】
同期オーバラップ加算技術は、１９８５年にＳ． ＲｏｕｃｏｓおよびＡ． Ｍ． Ｗｉｌｇｕｓにより「Ｈｉｇｈ Ｑｕａｌｉｔｙ Ｔｉｍｅ Ｓｃａｌｅ Ｍｏｄｉｆｉｃａｔｉｏｎ ｆｏｒ Ｓｐｅｅｃｈ」ＩＥＥＥ Ｉｎｔ． Ｃｏｎｆ． ＡＳＳＰ， ４９３−４９６において紹介され、未だ多くの最近開発された技術の基礎である。その方法を、図１Ａに概略的に示す。一続きの時間領域サンプルｘ（ｔ）を取得するためにアナログオーディオ信号をデジタル方式でサンプリングすることにより、デジタル入力信号１０が取得される。入力信号１０は、各々がＮサンプルを含みＳａサンプル（「ａ」は分析（ａｎａｌｙｓｉｓ）を示す）によって互いにオフセットしている、オーバラップされる窓、ブロックまたはフレーム１２に分割される。スケーリングされた出力１４は、異なるサンプル数Ｓｓ（「ｓ」は合成（ｓｙｎｔｈｅｓｉｚｅｄ）を示す）によって互いにオフセットしている、同じオーバラップされる窓のサンプルｙ（ｔ）を含む。出力１４は、入力１０に存在するものとは異なる時間のずれで入力窓１２を連続的にオーバラップさせることによって生成される。時間スケール率αは、Ｓａ／Ｓｓとして定義され、α＞１は圧縮を示しα＜１は伸張を示す。オーバラップした窓を結合するために、図１Ｂに示す線形クロスフェード等の重み関数が使用される。入力ブロック１６を出力ブロック１８とオーバラップさせるために、生成された新たな出力信号２０に対し、入力ブロック１６のオーバラップ領域のサンプルは線形に増大する関数によってスケーリングされ、出力ブロック１８のサンプルは線形に低減する関数によってスケーリングされる。なお、ＳＯＬＡ方法は、個々の窓の速度を変更することなく信号の全体的な速度を変更し、それによってピッチを維持する。
【０００４】
結果としての信号１４の品質を最大にするために、フレームは所定の区切り間隔でオーバラップされない。２つのオーバラップしたフレーム間の類似度を最大にして、最適なオーディオ品質を保証するために、実際のオフセットは、一般に所与の範囲内で選択される。所定の探索範囲内のあり得るオーバラップオフセットの各々に対し、類似度が計算され、選択されたオフセットは類似度の最高値を有するものである。たとえば、２つのフレーム間の相関関数は、各オフセットにおいてｘ（ｔ）とｙ（ｔ）とを乗算することによって計算されてよい。この技術により、高品質の（すなわち聴取者に自然に聞こえる）、および高了解度の（すなわち聴取者が容易に理解することができる）信号がもたらされる。本技術分野では、全高調波歪み（ｔｏｔａｌ　ｈａｒｍｏｎｉｃ　ｄｉｓｔｏｒｔｉｏｎ（ＴＨＤ））等の種々の品質および了解度測度が周知である。
【０００５】
基本的なＳＯＬＡフレームワークにより、窓サイズ選択、類似度、計算方法およびオーバラップオフセットの探索範囲における種々の変更が可能になる。Ｖｏｇｔｅｎ他に対して発行された米国特許第５，４７９，５６４号は、局部ピッチ周期に基づいて入力信号の窓を選択する方法を開示している。Ｓａｔｙａｍｕｒｔｉ他に発行された米国特許第５，８２８，９９５号には、ＷＳＯＬＡ−ＳＤとして周知の話者依存方法が開示されている。ＷＳＯＬＡ−ＳＤは、ピッチ周期に基づいて入力信号のフレームサイズを選択する。これらおよび他のピッチ依存方法の欠点は、それらをスピーチ信号でしか使用することができず、音楽では使用することができない、ということである。さらに、それらには、信号の異なる部分で変化する可能性がある信号が有声であるか無声であるかを判断する追加のステップと、有声信号の場合にはピッチを確定する追加のステップとが必要となる。スピーチ信号のピッチはしばしば一定でなく、基本的なピッチ周期の倍数単位で変化する。結果としてのピッチ推定値には、人為的な平滑化をかかる倍数間で連続的に移動させる必要があり、それによって最終出力信号にアーティファクトがもたらされる。
【０００６】
一般に、既存の出力フレーム内の、新たな入力フレームがオーバラップする位置は、計算された類似度に基づいて選択される。しかしながら、ＳＯＬＡ方法によっては、入力ブロックのオーバラップ位置を選択するために類似度を使用する。Ｈｅｊｎａ， Ｊｒ．他に発行された米国特許第５，１７５，７６９号は、所定範囲内の入力ブロックの位置を選択する方法を開示している。Ｈｅｊｎａ， Ｊｒ．の方法は、オリジナルのＳＯＬＡ方法よりも、必要な計算ステップが少ない。しかしながら、特に高圧縮率（すなわち、αが２以上）で、入力信号の一部を完全にスキップする可能性をもたらす。共にＳｕｚｕｋｉ他に発行された米国特許第５，３４１，４３２号および同第５，６３０，０１３号に述べられているスピーチ速度変更方法は、オーバラップすることによって出力信号を生成する２つの連続する入力フレームの、最適なオーバラップを確定する。入力フレームが出力フレーム上に連続的にオーバラップする従来のＳＯＬＡ方法では、各出力フレームが、先にオーバラップしたすべてのフレームの合計となる可能性がある。しかしながら、Ｓｕｚｕｋｉ他の方法では、入力フレームは、互いの上にのみオーバラップし、複数フレームのオーバラップを防止する。場合によっては、この制限されたオーバラップにより、結果としての信号の品質が低下する可能性がある。このため、出力信号内のオフセットを選択することが、特に高圧縮率では最も信頼できる方法である。
【０００７】
方法の計算コストは、入力サンプリング速度と圧縮率とによって変化する。高サンプリング速度は、高品質な出力信号を生成するため望ましい。さらに、高圧縮率には、入力サンプルの高処理速度が必要である。たとえば、ＣＤ品質オーディオは、４４．１ｋＨｚサンプリング速度に対応し、α＝４の圧縮率では、ＣＤ品質出力を生成するために１秒当りおよそ１７６，０００入力サンプルを処理しなければならない。高入力サンプリング速度および高圧縮率で信号を処理するために、方法の計算効率は必須である。オーバラップしている入力および出力サンプルブロック間の類似度の計算は、アルゴリズムの最も計算的に労力を要する部分である。２つのブロックのすべてのあり得るオフセットに対し入力および出力ブロックの対応するサンプルを乗算することにより、相関関数、すなわち１つのあり得る類似度が計算される。Ｎサンプルを含む入力フレームの場合、Ｎ２個の乗算演算が必要である。高入力サンプリング速度では、Ｎが１０００オーダである場合、各入力フレームに対しＮ２演算を実行することは不可能である。
【０００８】
結果として、ＳＯＬＡにおける傾向は、実行される動作の数を低減するために計算を簡略化することである。一解決法は、乗算を必要とする相関関数ではなく減算演算のみを必要とする絶対誤差基準を使用することである。Ｂｉａｌｉｃｋに対して発行された米国特許第４，８６４，６２０号は、平均振幅差関数（Ａｖｅｒａｇｅ　Ｍａｇｎｉｔｕｄｅ　Ｄｉｆｆｅｒｅｎｃｅ　Ｆｕｎｃｔｉｏｎ（ＡＭＤＦ））を使用して最適なオーバラップを選択する方法を開示している。ＡＭＤＦは、あり得るオフセット各々に対して入力サンプルと出力サンプルとの差の絶対値を平均化し、最低値を有するオフセットを選択する。Ｌｉｎ他に対して発行された米国特許第５，８３２，４４２号は、オーバラップにおいて等価平均絶対誤差を採用する方法を開示している。絶対誤差方法は計算的に要求される労力が大幅に少ないが、最適なオフセットの位置を確定する際に相関関数ほどに信頼性がなくあるいは一般に容認されていない。計算効率のために精度のレベルが犠牲にされる。
【０００９】
既存のＳＯＬＡ方法の圧倒的大多数は、最適なオーバラップオフセットを確定するために制限された探索範囲を選択することにより複雑性を低減する。たとえば、Ｓａｔｙａｍｕｒｔｉに対して発行された米国特許第５，８０６，０２３号は、最適なオーバラップが所定の探索範囲内で選択される方法を開示している。上述したＢｉａｌｉｃｋ特許は、入力信号ピッチ周期を使用して探索範囲を確定する。ｗｗｗ．ｃｓ．ｕｓｔ．ｈｋ／〜ｒｒｅｎ／ｓｏｕｎｄ＿ｔｅｃｈ／ＲＳＭ＿Ｐａｐｅｒ＿Ｌｏｎｇ．ｈｔｍにおいて入手可能な、Ｒｕｉ Ｒｅｎによる「Ａｎ Ｅｄｇｅ Ｄｅｔｅｃｔｉｏｎ Ｍｅｔｈｏｄ ｆｏｒ Ｔｉｍｅ Ｓｃａｌｅ Ｍｏｄｉｆｉｃａｔｉｏｎ ｏｆ Ａｃｏｕｓｔｉｃ Ｓｉｇｎａｌｓ」において、改良されたＳＯＬＡ技術が紹介されている。ここでもまた、Ｒｅｎの方法は、小さい探索窓、この場合は入力フレームより桁の小さい探索窓を使用して、最適なオフセットの位置を確定する。それはまた、エッジ検出を使用し、したがって信号のタイプに対して特定であり、異なるタイプの信号に対して異なるオーバラップを生成する。
【００１０】
最適なオーバラップオフセットの探索範囲を制限する従来技術の方法を、図２の例に示す。入力ブロック２２ｘ（ｔ）にオーバラップする出力ブロック２４ｙ（ｔ）内の最良の位置が確定される。出力ブロックｙ（ｔ）はＳｏ＋Ｈ＋Ｌサンプル長を有し、入力ブロックｘ（ｔ）はＳｏサンプル長を有する。この場合、類似度が計算される探索範囲は、Ｈ＋Ｌサンプルであり、すなわち、あり得る遅れ（ｌａｇ）値の範囲は、比較されている２つのサンプルブロック間の長さの差に等しい。オーバラップ遅れの３つのあり得る値を、−Ｌ、０および＋Ｈと示す。この方法では、類似度２６は、それが評価される遅れ値の範囲に亙って矩形包絡線形状を有する。これは、あり得るすべての信号に亙って平均化された時に、類似度の最大値の位置が、それが評価される遅れ値の範囲内に等しいかまたは平坦な確率分布を有することを意味する。この特徴は、使用される類似度のタイプに依存しないが、代りにすべてのあり得る遅れ値に対し両セグメントからの等しい数のサンプルを比較した結果である。
【００１１】
探索範囲を制限することにより、従来技術による方法のすべてが、急速に変化するかまたは複雑な混合信号の間にオーバラップオフセットを不正確に予測する可能性がある。さらに、比較的狭い探索範囲を事前確定することにより、これら方法は本質的に、圧縮率を既知の値に非常に近づくように調整する。このため、それらは、非常に変動する速度でサンプリングされる入力信号を処理することができない。概して、それらは、比較的長いフレームの小さいオーバラップに対して最適であり、高（すなわち、αが２以上）圧縮率をもたらすことができない。
【００１２】
したがって、計算的に可能であり、非常に正確であり、広範囲のオーディオ信号に対して適用可能である、改良された時間スケール変更方法が必要とされている。
【００１３】
［目的および利点］
したがって、本発明の主な目的は、オーディオ信号の再生速度をそれらのピッチを変化させることなく変更する時間スケール変更方法を提供することである。
【００１４】
本発明のさらなる目的は、スピーチ信号、音楽信号またはスピーチおよび音楽の組合せ信号を処理することができる時間スケール変更方法を提供することである。
【００１５】
本発明のさらなる目的は、可変の非リアルタイム速度の入力サンプルから一定のリアルタイム速度の出力を生成する時間スケール変更方法を提供することである。
【００１６】
本発明の他の目的は、所望の出力速度および可変入力速度によって確定される可変圧縮率を提供する時間スケール変更方法を提供することである。
【００１７】
本発明のさらなる目的は、計算効率を維持しながら、指定された狭い探索範囲のみに亙るのではなく出力フレームの範囲全体に亙り入力および出力フレームをオーバラップさせることができる時間スケール変更方法を提供することである。先のフレームの後に連続フレームが挿入されてもよく、それによって高圧縮率の高品質出力が可能になる。
【００１８】
本発明のさらなる目的は、オーバラップした入力および出力フレームの最適なオフセットを確定するために相関関数を使用する時間スケール変更方法を提供することである。相関関数は、絶対誤差基準方法とは異なる最尤推定量であるものとして周知である。
【００１９】
最後に、本発明の目的は、ピッチまたは他の信号特性の確定を必要としない時間スケール変更方法を提供することである。
【００２０】
［概要］
これら目的および利点は、出力サンプルを含むデジタルオーディオ出力信号を形成するための、入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更の方法によって達成される。本方法は、以下のステップを有する。すなわち、Ｎ／２入力サンプルの入力ブロックを選択するステップと、Ｎ／２出力サンプルの出力ブロックを選択するステップと、入力ブロックの開始を出力ブロックの開始とオーバラップさせるための最適なオフセットＴを確定するステップと、入力ブロック開始を出力ブロック開始からＴサンプルだけずらしてブロックをオーバラップさせるステップとを有する。Ｔは、−Ｎ／２からＮ／２のあり得る範囲を有し、Ｎ／２入力サンプルとＮ／２出力サンプルとの離散周波数変換を行い、その後それらの相関関数を計算することによって計算される。相関関数の逆離散周波数変換の最大値は、オフセットの値ｔ＝Ｔに対して発生する。周波数変換は、好ましくは離散フーリエ変換であるが、離散コサイン変換、離散サイン変換、離散ハートレー変換またはウェーブレット基底関数に基づく離散変換等の他のいかなる周波数変換であってもよい。好ましくは、周波数変換が実行される前に入力サンプルと出力サンプルとにＮ／２ゼロが付加されることにより、ラップアラウンドアーティファクトが防止される。好ましくは、ｋ＝０、…、Ｎ／２−１に対し、Ｘ＊（ｋ）が、周波数変換された入力サンプルの複素共役であり、Ｙ（ｋ）が、周波数変換された出力サンプルであり、Ｚ（ｋ）が、それらの複素乗算の積である場合、相関関数は、Ｚ（ｋ）＝Ｘ＊（ｋ）・Ｙ（ｋ）である。好ましくは、Ｚ（ｋ）は、逆周波数変換が実行される前に正規化される。
【００２１】
出力信号は、好ましくは一定のリアルタイム速度で出力され、それは出力ブロックの開始の選択を確定する。入力信号は、可変速度で取得されてよい。好ましくは、入力ブロックのサイズおよび位置は、入力信号のピッチ周期とは無関係に選択される。入力ブロックと出力ブロックとは、重み関数、好ましくは線形関数を適用することによってオーバラップされる。
【００２２】
また、本発明は、マルチチャネルデジタルオーディオ出力信号を形成するための、ステレオ信号などのマルチチャネルデジタルオーディオ入力信号の時間スケール変換の方法も提供する。本方法は、以下のステップを有する。すなわち、個々の入力チャネルを取得するステップと、独立して各入力チャネルを変更するステップと、マルチチャネルデジタルオーディオ出力信号を形成するために出力チャネルを結合するステップとを有する。個々のチャネルは、マルチチャネル入力信号を個々の入力チャネルに分離することによるか、あるいは単一チャネル入力信号から複数の入力チャネルを生成することによって取得することができる。各入力チャネルは、デジタル入力信号の時間スケール変更の上記方法によって独立して変更される。異なるオーディオチャネルのオーバラップしたブロック間には相関がなく、入力チャネルの対応するサンプルはもはや出力信号では対応しない。しかしながら、聴取者は、異なるチャネルを知覚的に統合することにより、対応がないことに適応することができる。
【００２３】
また、上述した時間スケール変更方法を実現する方法を実行するように構成された処理ユニットを含むデジタル信号プロセッサも提供される。
【００２４】
［好適な実施形態の説明］
以下の詳細な説明は、例示の目的のために多くの明細を含むが、当業者はいずれも、以下の詳細に対する多くの変形および変更が本発明の範囲内にあることを認めるであろう。したがって、本発明の以下の好ましい実施形態は、請求の範囲に記載されている発明に対し、いかなる一般性の喪失もなく、かつ制限を課すことなく示される。
【００２５】
本発明は、改良された同期オーバラップ加算（ＳＯＬＡ）技術を使用するデジタルオーディオ信号の時間スケール変更の方法を提供する。本方法は、計算効率がよく、スピーチ、音楽、ならびにスピーチおよび音楽の組合せのあらゆるタイプのオーディオ信号に適用することができ、高圧縮率、すなわち従来技術による方法に対して問題のある条件下で複雑なまたは急速に変化する信号を処理することができる。本方法は、特に、可変入力速度を有する入力信号を処理して一定速度の出力信号を生成することに適しており、したがって継続的に変化する圧縮率αを提供する。
【００２６】
本発明を実現するシステム３０を図３に示す。本発明の方法は、デジタル信号プロセッサ３４によって実行される。デジタル信号プロセッサ３４は、本技術分野において周知であるような従来のデジタル信号プロセッサであり、本発明の方法を実行するようにプログラムされている。このプロセッサは、処理装置と、ランダムアクセスメモリ（ＲＡＭ）と、データが転送されるバスインタフェースと、を含む。デジタル信号プロセッサ３４は、離散時点にアナログオーディオ信号をサンプリングしてデジタルオーディオ信号を生成するアナログ・デジタル変換器（ＡＤＣ）３２から発生するデジタルオーディオ信号を受信する。本発明は、広範囲のサンプリング速度を有する信号を処理することができる。たとえば、本発明が処理する典型的な信号には、８ｋＨｚのサンプリング速度を有する電話信号と、４４．１ｋＨｚのサンプリング速度を有するコンパクトディスク（ＣＤ）品質信号とが含まれる。なお、サンプリング速度が高いほど高品質のオーディオ信号が生成される。サンプルは、ＡＤＣ３２により、指定されたかつ変化しないサンプリング速度で採取される。速度は、ＡＤＣ３２に対するウォールクロック入力によってセットされてよく、それは有効に一定である。ＡＤＣ３２は、一般に、低ジッタ（すなわち一定速度）クロック入力を必要とする。そして、デジタルオーディオ信号は、変動するかまたは未知の速度で、あるいはリアルタイムでない（すなわち、オリジナルの記録速度から変化した）速度で、デジタル信号プロセッサ３４に入力される前に、メモリに格納され、記録され、送信され、またはデータプロセッサ３３において他の方法で操作される。入力速度は、デジタル信号プロセッサ３４に到達するサンプル数／秒のことを言い、固定であるサンプリング速度のことを言わない。デジタル信号プロセッサ３４は、入力信号の時間スケール圧縮を実行することにより、所定の、好ましくは一定かつリアルタイムの速度であるデジタル出力信号を生成する。時間スケール圧縮では、所与の量の入力データが、より短い期間で出力される。たとえば、α＝２の圧縮率では、再生に４分かかる入力信号は、２分で再現される。なお、α＝４では、ＣＤ品質、すなわち４４．１ｋＨｚサンプリング速度で圧縮オーディオ信号を生成するには、１秒につき１７６，４００入力サンプルが処理される必要がある。かかる高処理速度は、従来技術による方法には桁外れであるが、本発明により、既存の１００ＭＩＰＳ（１００万命令／秒）信号プロセッサを使用して容易に達せられる。そして、生成されたデジタル出力信号がデジタル・アナログ変換器（ＤＡＣ）３６に送信されることにより、オリジナル信号と同じピッチのアナログ信号が生成されるが、より短い期間で再現される。ＤＡＣ３６はまた、好ましくは、低ジッタクロック入力を必要とし、したがって一定速度で信号を出力する。
【００２７】
図４は、入力、出力およびスケーリングされたオーディオ信号を格納するデジタル信号プロセッサ３４の３つの循環バッファを示す。バッファは矩形であるように示されているが、循環バッファを表すことが意図されている。すなわち、矩形の２つの端部は重なり合って互いに接合する。バッファに沿った水平距離は、時間を表す。すべてのバッファにおける距離は、サンプルの数に等価な、サンプルが採取される離散時点で測定される。３つのバッファはすべて長さが異なってよい。バッファが循環的であるため、入力、出力および処理ポイントを示すためにポインタが使用される。３つのバッファすべてにおいて、ポインタは、サンプルが入り、出て、処理されるにしたがって右へ移動する。バッファポインタの右へ、すなわち前方時間方向への移動を、ポインタを前進させると言う。
【００２８】
本方法の完全な詳細を考慮する前に、バッファ自体の内容を検査することが有用である。入力バッファ４０は、２つのポインタ、すなわち入力ポインタ４２とプロセスポインタ４４とを有する。新たな入力オーディオサンプルは、たとえばＡＤＣ３２から受取られ、入力バッファ４０に格納される。サンプルは入力ポインタ４２の後に挿入される。すなわち、新たなサンプルが追加されると入力ポインタ４２が前進する。新たな入力サンプルは、割込みサービスルーチンによって入力バッファ４０に追加される。プロセスポインタ４４および入力ポインタ４２は、互いに独立して移動し、２つのポインタ間の間隔４６に変動をもたらす。入力バッファ４０に新たなサンプルが追加されると、間隔４６が増大する。サンプルが処理されるにしたがい、間隔４６が低減する。
【００２９】
スケール（ｓｃａｌｅｄ）バッファ５０は、スケーリングされた出力信号を形成するために結合されているサンプルを格納する。スケールバッファ先頭ポインタ５２は、入力サンプルとオーバラップしている出力サンプルの位置を確定する。後にさらに説明するように、オーバラップ遅れの探索範囲は、スケールバッファ先頭ポインタ５２を中心に置く。末尾ポインタ５４は、スケールバッファ５０から取除かれるサンプルを示す。末尾ポインタ５４が信号の最後まで進むと、それらはスケールバッファ５０を出る。末尾ポインタ５４および先頭ポインタ５２は、一定距離５６によって分離される。すなわち、スケールバッファ末尾ポインタ５４が前進すると、スケールバッファ先頭ポインタ５２は等しい量だけ前進する。
【００３０】
スケールバッファ５０から取除かれたサンプルは、出力バッファ６０の、新たにコピーされたすべてのサンプルの右側を維持するように前進する出力バッファ先頭ポインタ６２にコピーされる。出力バッファ末尾ポインタ６４の左側のサンプルは、割込みサービスルーチンによってたとえばＤＡＣ３６に出力される。出力バッファ末尾ポインタ６４の移動は、選択された出力速度によって確定される。末尾ポインタ６４が連続的に信号の最後まで前進すると、それらは出力バッファ６０を出る。一方で、先頭ポインタ６２は、先頭ポインタ６２が最後に前進してから末尾ポインタ６４が前進したサンプルの数に等しい量だけ定期的に前進する。その結果、先頭ポインタ６２が前進した直後、末尾ポインタ６４と先頭ポインタ６２とは所定間隔６６によって分離される。しかしながら、先頭ポインタ６２の前進中、間隔６６が低減する。したがって、出力バッファ末尾ポインタ６４の移動は、出力バッファ先頭ポインタ６２と、スケールバッファ末尾ポインタ５４と、スケールバッファ先頭ポインタ５２との定期的な前進を制御する。
【００３１】
代替実施形態では、出力サンプルはスケールバッファ５０から直接取除かれる。この場合、間隔５６は一定ではなく、末尾ポインタ５４は連続的に前進する。先頭ポインタ５２は、先頭ポインタ５２が最後に前進してから末尾ポインタ５４が前進したサンプルの数に等しい距離を、定期的にのみ前進する。この代替実施形態は、信号のさらなる処理が必要でない場合に好ましい。３つのバッファすべてが使用される上述した場合では、時間スケール変更が実行された後に、スケールバッファサンプルに対してさらなる処理が実行されてよい。さらに処理されたサンプルは、出力される前に出力バッファ６０にコピーされる。
【００３２】
本発明の方法の目的は、入力バッファ４０のサンプルを圧縮して出力バッファ６０の圧縮信号を生成することである。圧縮は、所望の出力速度に制約されながら、入力サンプルを、あり得る最高信号品質をもたらす位置で出力サンプルとオーバラップさせることによって行われる。
【００３３】
図５は、デジタルオーディオ信号の時間圧縮のための本発明の全体的な方法７０のブロック図である。方法７０は、可変かつ非リアルタイムであってよい速度で入力されるデジタルオーディオ信号７２を、一定でリアルタイム速度のデジタル出力信号９４に変換する。図６Ａないし図６Ｄは、方法７０に対応する関連バッファ位置および変化を示す。図６Ａないし図６Ｄのバッファは、長さＮ／２サンプルのフレームまたはブロックを有するように示されている。当然ながら、かかる特徴は任意であり、信号のピッチ周期またはいかなる特性にも対応しない。
【００３４】
本方法は、図５および図６Ａないし図６Ｄを同時に考慮することによって最もよく理解される。第１のステップ７４において、入力サンプルが入力バッファ１００の入力ポインタ１０２に保存され、その後入力ポインタ１０２は前進する。たとえば、Ｎ／２サンプルを含むブロック１０４が、ごく最近入力バッファ１００に保存された。次いで、ステップ７５において、プロセスポインタ１０３の先のＮサンプルが、プロセスポインタ１０３を前進させることなく、入力バッファ１００からスケールバッファ１０８のスケールバッファ先頭ポインタ１１２にコピーされる。これら最初のステップは、バッファおよび方法を初期化する必要がある。すなわち、図６Ａは、処理反復がすでに発生した後のバッファを示す。ステップ７６において、本方法は、入力ポインタ１０２がプロセスポインタ１０３の少なくとも３Ｎ／２サンプル先になるまで待機する。図６Ａにおいて、入力ポインタ１０２は、プロセスポインタ１０３の５Ｎ／２サンプル先である。この状態が満足されると、ステップ７８において、１０６とラベル付けされた、プロセスポインタ１０３から先のＮ／２サンプルが、ｘ（ｔ）バッファにコピーされる。同様に、ステップ８０において、スケールバッファ１０８の先頭ポインタ１１２の先のＮ／２サンプル（１１０とラベル付けされている）が、ｙ（ｔ）バッファにコピーされる。ｘ（ｔ）およびｙ（ｔ）バッファを図６Ｂに示す。ステップ８２において、後に詳細に説明するように、離散フーリエ変換ベース相関関数等、離散周波数変換ベース相関関数を使用して、ｘ（ｔ）サンプル１０６の開始とｙ（ｔ）サンプル１１０の開始との間の最適なオーバラップ遅れＴが見つけられる。Ｔは、−Ｎ／２から＋Ｎ／２−１までのあり得る範囲を有し、図６Ｂに３つのあり得る遅れを示す。Ｔ＝−Ｎ／２の遅れでは、サンプル１１０の後ろにサンプル１０６がオーバラップされる。Ｔ＝０の遅れでは、サンプル１１０の上に直接サンプル１０６がオーバラップされる。＋Ｎ／２−１の遅れでは、サンプル１１０の先にサンプル１０６がオーバラップされる。なお、遅れＴのすべての中間整数値が可能である。
【００３５】
図６Ｃに示すように、この実施例の最適なオーバラップは、１１３とラベル付けされた大きい矢印によって示されるＴ＝０であり、Ｔはスケールバッファ先頭ポインタ１１２の位置から測定される。すなわち、サンプル１０６は、スケールバッファ先頭ポインタ１１２の位置で始まって、サンプル１１０の上に直接オーバラップされる。ステップ８４において、線形クロスフェードを使用して、合計される重み付きサンプル１１４および１１６を取得することにより、２つのサンプルブロック１０６および１１０がマージされる。ステップ８６において、マージされたサンプルの直後に、Ｎ個の追加の入力バッファサンプル１１８が変更されたスケールバッファ１０９にコピーされる。これら追加のサンプル１１８がコピーされると、本来スケールバッファにあったサンプルが上書きされる。図６Ｄに、結果としてのスケールバッファ１２４を示す。
【００３６】
ステップ８８において、スケールバッファ末尾ポインタ１２０、スケールバッファ先頭ポインタ１１２および出力バッファ先頭ポインタ１２９（図６Ｄ）が前進し、スケールバッファ末尾ポインタ１２０の後ろのサンプルが出力バッファにコピーされる。ステップ９０において、入力バッファプロセスポインタ１０３がＮ／２サンプルだけ前進し、方法はステップ７６に戻る。処理反復の最後のみでなく連続的に発生するステップ９２において、出力バッファ末尾ポインタ１２７のサンプルが出力され、出力バッファ末尾ポインタ１２７が前進し、一定のリアルタイム速度のデジタルオーディオ信号９４が生成される。この前進により、ステップ８８において出力バッファ先頭ポインタ１２９、スケールバッファ末尾ポインタ１２０およびスケールバッファ先頭ポインタ１１２が前進する量が確定される。３つのポインタは、処理反復の開始以来出力バッファ末尾ポインタ１２７が前進した量だけ前進する。選択された出力速度は、出力バッファ末尾ポインタ１２７の前進を制御し、したがって、スケールバッファ先頭ポインタ１１２の前進を通して、サンプルｙ（ｔ）の開始と後続する反復のためのスケールバッファにおける探索範囲の位置とを有効に確定する。図６Ｄに、結果としての入力バッファ１１２、スケールバッファ１２４および出力バッファ１２６を示す。なお、この特定の処理反復の場合、出力信号は圧縮されていない。
【００３７】
ここでまた図６Ｂを参照すると、使用される相関関数の特定の特性により、ある範囲のＮ個の異なるオフセットまたは遅れ値Ｔに対しｘ（ｔ）とｙ（ｔ）との間の類似度が評価される結果となる。これらＮ個のあり得る値から最適なオフセット値が選択される。すなわち、あり得る遅れの範囲は、２つの入力ブロック１０６および１１０の長さの合計に等しい。なお、これは、２つの入力ブロックの長さの差に等しいオフセット探索範囲を有する従来技術による方法とは異なる。
【００３８】
本発明において使用される相関関数から得られる追加の特性は、あり得る遅れ値の範囲に亙る類似度の三角形包絡線１３０である。ここでもまた、これは、類似度に対し矩形形状を有する従来技術による方法とまったく対照的である。本発明では、すべてのあり得る信号に対して平均化されると、類似度の最大値の位置は、中心最大値と遅れ値の範囲のいずれかの端部においてゼロまで減少する末尾とを有する確率分布を有する。この三角形状は、特に高時間圧縮率において重要な利点を有する。この形状の結果として、入力フレームの連続的な反復は、互いにオーバラップする大きいオフセットを有することができ、それでもなお明瞭な中心最大値を有する。矩形オーバラップを有する従来技術の方法では、連続的な反復は、明瞭な中心を維持しながらかかる大きくかつ非常にオーバラップするオフセットを有することができない。結果として、従来技術による方法は、高圧縮率で、それより低い率で行う場合と同様に実行することができない。
【００３９】
この本発明の連続的な反復をオーバラップする能力を、図７Ａないし図７Ｃに示す。これらは、図６Ｄのオーバラップ後に実行される後続する反復を示す。プロセスポインタ１０３に続くＮ／２サンプル（１３４とラベル付けされる）は、ｘ（ｔ）バッファにコピーされる。スケールバッファ先頭ポインタ１１２に続くＮ／２サンプル（１３６とラベル付けされる）は、ｙ（ｔ）バッファにコピーされる。三角形１３２によって示す遅れ値のあり得る範囲から、図７Ａにおいて矢印１３８の位置によって示す最適値が見つけられる。矢印１３８は、スケールバッファ先頭ポインタ１１２にオフセットＴを足した位置を示す。矢印１３８に続くＮ／２スケールバッファサンプルは、重み付けされることにより、図７Ａに示すような重み付きＮ／２入力サンプル１４０とマージされるサンプル１３９を形成する。マージされたサンプルの直後に、追加のＮサンプル１４２がスケールバッファにコピーされる。
【００４０】
スケールバッファ末尾１２０および先頭１１２ポインタとプロセスポインタ１０３との前進に続き、結果としての入力バッファ１５０とスケールバッファ１５２とは、図７Ｂに示すようになる。次いで、サンプル１５４および１５６の最適なオーバラップ遅れが確定される。この場合、図７Ｃに示すように、Ｔは負の値を有し、そのため入力サンプル１５４はスケールバッファ先頭ポインタ１１２の後でマージされる。矢印１５８において、線形クロスフェードを使用して、先頭ポインタにオフセットＴを足したもの、すなわち重み付きＮ／２入力サンプル１６０は、重み付きスケールバッファサンプル１６２とオーバラップされる。そして、追加のＮサンプル１６４がスケールバッファにコピーされる。図７Ｃを図６Ａと比較することにより、最終スケールバッファを形成するためのバッファ１００におけるオリジナル入力信号の高圧縮が明らかとなり、それが最終的に出力されることとなる。図７Ｃに示す方法の反復はまた、後続する反復が先のオフセット遅れにいかにオーバラップすることができるかも示す。図７Ｃはまた、スケールバッファ先頭ポインタとスケールバッファ末尾ポインタとの間の距離が少なくともＮ／２でなければならず、それによってスケールバッファから取除かれるサンプルが完全に処理されている、ということも示す。
【００４１】
本発明は、入力サンプルｘ（ｔ）と出力サンプルｙ（ｔ）との間の最適な遅れまたはオフセットＴを計算するその特定の方法の結果としてその利点の多くを享受する。図８は、方法１７０のブロック図である。本発明において、Ｔの計算は、Ｎ個のあり得るオフセット値における２つのサンプルブロック間の相関関数を計算し、その後最高相関関数をもたらすＴの値を確定することによって、達成される。あり得る遅れ値の範囲は、あり得る範囲がずっと小さい従来技術の方法と異なり、２つのサンプルブロックの長さの合計に等しい。
【００４２】
方法１７０は、ステップ１９０および１９２で開始する。ステップ１９０では、Ｎ／２サンプルが、入力バッファからプロセスポインタの直後に続いて、ｔ＝０、…、Ｎ／２−１の場合のｘ（ｔ）バッファにコピーされる。ステップ１９２において、Ｎ／２サンプルが、スケールバッファからスケールバッファ先頭ポインタの直後に続いて、ｔ＝０、…Ｎ／２−１の場合のｙ（ｔ）バッファにコピーされる。ステップ１９４および１９６において、Ｎ／２ゼロサンプルがｘ（ｔ）およびｙ（ｔ）サンプルブロックの両方に付加されることにより、Ｎサンプルを含むサンプルブロックが生成される。ステップ１９８および２００において、フーリエ変換等の離散周波数変換がＮサンプルブロックｘ（ｔ）およびｙ（ｔ）に対して実行されることにより、ｋ＝０、…、Ｎ／２−１の場合のＮ／２個の周波数領域複素数ペアＸ（ｋ）およびＹ（ｋ）が取得される。ステップ２０２においてＸ（ｋ）の複素共役Ｘ＊（ｋ）が取得され、ステップ２０４においてＸ＊（ｋ）とＹ（ｋ）との間の複素乗算が実行されることにより相関関数Ｚ（ｋ）のＮ／２個の複素数ペアが取得される。ステップ２０６において、Ｚ（ｋ）の実数および虚数成分の最大絶対量を見つけ、その後実際の最大値によって除算される公称最大値に等しい因数によってＺ（ｋ）をスケーリングすることにより、Ｚ（ｋ）が任意に再正規化されることによって、Ｚ’（ｋ）が取得される。公称最大値は、所定の数、たとえば可変タイプに対して許容された範囲の一部である。ステップ２０８において、Ｚ’（ｋ）に対して実逆離散周波数変換が実行されることにより、ｔ＝０、…、Ｎ−１の場合の相関関数ｚ（ｔ）のＮ個の実数値が取得される。ステップ２１０において、すべてのｔ＝０、…、Ｎ−１に対してｚ（Ｔ）がｚ（ｔ）以上であるように、最適なオフセットＴが選択される。ＴがＮ／２以上である場合、ステップ２１２においてＴの値からＮが減算され、それによってＴの最終値は−Ｎ／２から＋Ｎ／２−１の範囲に亙る。最後に、ステップ２１４において、Ｔの値が返される。
【００４３】
本発明の方法は、一般にサンプリング速度と共に変化するＮのいかなる値でも使用することができる。高サンプリング速度では、所与の期間により多くのサンプルが処理されなければならず、より高いＮの値が必要となる。たとえば、４４．１ｋＨｚサンプリング速度でＣＤ品質のオーディオ（可聴周波）を生成するためには、Ｎの適当な値は１０２４である。好ましくは、Ｎの値は２の累乗であり、それらは周波数変換アルゴリズムのために最も効率的である。しかしながら、Ｎの他の値を処理することができる。
【００４４】
好ましくは、本発明は、離散フーリエ変換と逆離散フーリエ変換とを使用することにより、相関関数を計算し評価する。しかしながら、本技術分野において周知の他の離散周波数変換および対応する逆離散周波数変換は、本発明の範囲内にある。たとえば、適当な変換には、離散コサイン変換（ＤＣＴ）、離散サイン変換（ＤＳＴ）、離散ハートレー（Ｈａｒｔｌｅｙ）変換（ＤＨＴ）およびウェーブレット基底関数に基づく変換が含まれる。これら変換はすべて逆離散変換を有し、それらもまた本発明によって必要とされる。
【００４５】
方法１７０は、Ｐｒｅｓｓ他によるＮｕｍｅｒｉｃａｌ Ｒｅｃｉｐｅｓ ｉｎ Ｃ、Ｃａｍｂｒｉｄｇｅ Ｕｎｉｖｅｒｓｉｔｙ Ｐｒｅｓｓ， １９９２、第５４５〜５４６頁に述べられているように、各々がＮサンプルを含む、サンプルの２つのセット間の相関関数を計算することに等価である。フーリエ変換を使用することなく関数を計算するために、あり得る時間のずれの各々において、合計
【数１】
2004505304.tif 000003
すなわちＯ（Ｎ２）演算が計算される必要がある。目下利用可能な信号プロセッサを用いて、処理されたフレーム毎にＮ２演算を実行することは、特に高サンプリング速度において非常にコストがかかる。好ましくは、ステップ１９８および２００のフーリエ変換は、高速フーリエ変換（ＦＦＴ）アルゴリズムを使用して計算される。高速フーリエ変換アルゴリズムの詳細は、Ｐｒｅｓｓ他によるＮｕｍｅｒｉｃａｌ Ｒｅｃｉｐｅｓ ｉｎ Ｃ、Ｃａｍｂｒｉｄｇｅ Ｕｎｉｖｅｒｓｉｔｙ Ｐｒｅｓｓ， １９９２において見ることができる。Ｎサンプルに対してＦＦＴを実行するためには、Ｎｌｏｇ２Ｎ計算が必要であり、高サンプリング速度においても現デジタル信号プロセッサでは可能である。たとえば、Ｎ＝１０２４の場合、Ｎ２＝１，０４８，５７６であるがＮｌｏｇ２Ｎ＝１０，２４０である。したがって、ＦＦＴアルゴリズムは、完全な遅れ範囲が効率的に探索されるのを可能にする。
【００４６】
乗算演算を必要とする本発明によって使用される相関関数とは対照的に、従来技術の多くは絶対誤差基準を使用する。絶対誤差基準は、最適な遅れが誤差基準の最小値で発生する、サンプル間の差の絶対値を測定する。対照的に、相関関数は、最小二乗誤差基準であり、計算された解は、有効に最小二乗誤差である誤差による完全な結果とは異なる。最小二乗誤差基準は、それが通常の（すなわち、ガウス）分布データの最良適合を提供することから最尤推定量であり、絶対誤差基準は計算的に最適な方法としてそれほど適していない、ということは周知である。
【００４７】
また、方法１７０のＮ／２サンプルにゼロサンプルを付加するステップ１９４および１９６は、本発明が、マージされる２つのサンプルブロックの合計に等しい遅れ範囲を探索することができることに対し、非常に重要である。相関関数は、本質的に、２つのサンプルが事実上周期的である、すなわちｘ（ｔ）バッファの最終サンプル後、次のサンプルがｘ（ｔ）バッファの第１のサンプルと同一である、と仮定する。概して、事実はその通りではなく、かかる仮定により相関関数計算と遅れＴの最適値の確定とにおいて大幅な誤差がもたらされる。Ｎ／２サンプルにゼロが付加されることにより、いわゆるラップアラウンド問題が発生しなくなる。相関関数は、すべての正の遅れ値の後に負の遅れ値を格納し、Ｎ／２以上のＴの値からＮを減算することにより負の遅れ値が取得される。
【００４８】
なお、ステップ２０２において、入力サンプルＸ（ｋ）のみの複素共役が取られる。この結果、計算された遅れは、入力サンプルｘ（ｔ）のスケールバッファサンプルｙ（ｔ）からの遅れと等しくなる。
【００４９】
任意のステップ２０６は、主に固定小数点システム（すなわち、整数）に使用され、浮動小数点を格納するシステムには使用されない。相関関数の絶対値は重要でなく、相対値のみが重要であるため、Ｚ（ｋ）の値をスケーリングして精度を最大にしオーバフローを防止することが有利である。たとえば、１６ビット整数システムでは、相関関数のデータタイプのあり得る値は、−３２，７６８から＋３２，７６７の範囲である。相関関数の非常に低い値は精度を低減し、非常に高い値はオーバフローの危険がある。この場合８，１９１、すなわち最大範囲の１／４等の適当な公称最大値を選択することができ、すべての値をこの公称最大値にスケーリングすることができる。
【００５０】
図９は、マルチチャネルデジタルオーディオ信号の時間スケール変更の方法２２０を示す。ステレオ信号の２チャネル、４チャンネル方式信号の４チャネルおよびサラウンド・サウンド信号の５チャネルを含むいかなる数のオーディオチャネルが処理されてもよい。チャネルはまた、ビデオ信号と相関されてもよい。方法２２０は、単一チャネルオーディオを処理する、すなわち各チャネルを独立して処理する方法を包含する。ステップ２２２において、マルチチャネルオーディオ信号が、おそらくは可変の非リアルタイム速度で入力される。ステップ２２４において、オーディオチャネルは、各々が独立して処理されることができるように分離される。ステップ２２６、２２８および２３０において、各チャネルは、図５の方法７０にしたがって独立して処理される。チャネルが独立して処理されるため、異なるチャネルの対応する入力ブロックは、同じオーバラップ遅れＴにおいてそれらの各々の出力ブロックとオーバラップしない。むしろ、各チャネルのオーバラップ遅れは、その特定のチャネルの相関関数のみを考慮して選択される。
【００５１】
ステップ２３２、２３４および２３６において、結果としての時間スケーリングされたデジタルオーディオチャネルが、一定のリアルタイム速度で出力される。なお、異なるチャネルの対応するサンプルはもはや対応せず、異なる時刻に再生される可能性がある。これはマルチチャネル出力信号の品質を低減するように見えるが、実際には、証拠により、ちょうどその反対が示される。方法２２０にしたがって処理されたマルチチャネルオーディオは、ステップ２３８において、独立して処理されていないマルチチャネルオーディオ信号より高い品質のものとして聴取者に聞こえる。聴取者は、異なるチャネルを統合して、１つのチャネルからは喪失されているが別のチャネルには現れるサンプルを有効に「作り上げる（ｍａｋｅ　ｕｐ）」ことができる、と考えられる。これは、聴取者が移動源から発生しているオーディオ（可聴周波）を知覚する方法と一致する。聴取者によってオーディオ（可聴周波）の空間分解能が検出可能である場合、聴取者は、オーディオ（可聴周波）を、それが移動源から発生しているかのように、適当に統合し、いかなる時間遅延も考慮することができる。実際に、人間（および他の動物）は、オーディオ源の移動に対して聴取する状況にある。
【００５２】
この後者の原理は、信号が処理される前に複数のチャネルに分割される、本発明の代替実施形態において利用される。その方法２４０を図１０のブロック図に示す。ステップ２４２において、単一チャネルデジタルオーディオ信号が、可変かつ非リアルタイムであってよい速度で入力される。オーディオ信号は、ステップ２４４において、任意の適当な方法を使用して複数のチャネルに分割される。好ましい方法は後述する。複数のチャネルは、小さい時間のずれによって互いからずれていてよい。信号は、少なくとも２つの、おそらくはそれより多いチャネルに分割される。ステップ２４６および２４８〜２５０において、本発明の連続可変時間スケーリング方法が独立して各チャネルに適用される。図９の方法２２０と同様に、方法２４０において個々のチャネルに対して計算されるオーバラップオフセットＴは関連しない。ステップ２５２および２５４〜２５６において、個々のチャネルが好ましくは一定のリアルタイム速度で出力される。最後に、ステップ２５８において、聴取者は、独立したチャネルを統合し、それらが移動源から発生しているように知覚する。
【００５３】
方法２４０において、時間圧縮された出力チャネルは、移動オーディオ原理を使用して聴取者によって統合される。チャネルが独立して処理されるため、それらのフレームは異なる時間のずれでマージされ、聴取者は、これを、チャネルからチャネルに空間的に移動するオーディオ源として知覚する。各チャネルに対する異なる時間遅延オフセットが、各チャネルの異なる入力フレームシーケンスに対応してよく、それによって各チャネルが入力信号の異なる位相を処理してよい。異なる時間遅延オフセットは、好ましくは、エコー効果が支配するほど大きくなく、異なるチャネルが空間的に別個であるように（すなわち、聴取者の左側かまたは右側に）知覚される範囲でなければならない。たとえば、Ｎ＝１０２４のフレームサイズにより、Ｎ／２＝５１２サンプルのフレーム前進がもたらされる。このフレーム前進の半分のチャネルオフセットは、２５６サンプルに等しい。４４，１００サンプルのサンプル速度で、このオフセットは、入力チャネル間の５．８ミリ秒時間遅延オフセットに対応する。この時間遅延オフセットは、４．０まで（デュアルチャネル構成において）の時間圧縮率で了解度を増大させるために有効なチャネル分離であることが分かった。特に、時間圧縮された場合に理解することが困難な場合がある高速スピーチの場合、２つの独立して処理されたチャネルは単一チャネルより聴取者に対してより理解可能である。チャネル間の移動の知覚は、出力の理解を助ける。
【００５４】
単一チャネルから複数のチャネルを生成する一方法を、図１１に示す。単一入力バッファ２６０は、複数のプロセスポインタを含む。各プロセスポインタより先のサンプルは別個のバッファにコピーされることにより、別個の出力チャネルがもたらされる。図１１の場合、２つの別々の出力チャネルをもたらす２つのプロセスポインタが示されている。いかなる所望の数のプロセスポインタが使用されてもよい。プロセスポインタは、２つの出力チャネル（すなわち、２つのマイクロフォン）の空間的分離を表す所定の時間のずれによって分離される。本方法は各反復においてＮ／２サンプルを処理するため（この特定の実施例では）、２つのチャネル間の時間のずれはＮ／４である。同様に、３つのプロセスポインタは、Ｎ／２サンプルの１／３、すなわちＮ／６サンプルによって分離される。第１の入力バッファプロセスポインタ２６４に対応する第１のチャネルを処理するために、第１のスケールバッファ２６２が使用される。第２の入力バッファプロセスポインタ２６８に対応する第２のチャネルを処理するために、第２のスケールバッファ２６６が使用される。結果としての出力サンプルは、一定の時間のずれＮ／２で出力され、それによってユーザは、サンプルを空間的に分離されたポイント源から発生しているように知覚する。
【００５５】
当業者には、上記実施形態を本発明の範囲から逸脱することなく多くの方法で変更してよい、ということが明らかとなろう。したがって、本発明の範囲は、以下の特許請求の範囲とそれらの法律上の等価物とによって確定されなければならない。
【図面の簡単な説明】
【図１Ａ】従来技術の同期オーバラップ加算（ＳＯＬＡ）方法を示す。
【図１Ｂ】２つのサンプルブロックをオーバラップさせるために使用される従来技術による線形クロスフェードを示す。
【図２】出力ブロックを入力ブロックとマージするための最適オーバラップ遅れを見つけるための従来技術による相関を示す。
【図３】本発明の方法を実現するシステムの概略図である。
【図４】本発明の入力バッファ、スケールバッファおよび出力バッファを示す。
【図５】本発明の時間スケール変更方法のブロック図である。
【図６Ａ】図５の時間スケール変更方法の一反復を示す。
【図６Ｂ】図５の時間スケール変更方法の一反復を示す。
【図６Ｃ】図５の時間スケール変更方法の一反復を示す。
【図６Ｄ】図５の時間スケール変更方法の一反復を示す。
【図７Ａ】図５の時間スケール変更方法の後続する反復を示す。
【図７Ｂ】図５の時間スケール変更方法の後続する反復を示す。
【図７Ｃ】図５の時間スケール変更方法の後続する反復を示す。
【図８】最適なオーバラップ遅れＴを計算する本発明の方法のブロック図である。
【図９】マルチチャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図１０】複数チャネルを生成することによる単一チャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図１１】単一チャネルから複数チャネルを生成する一方法を示す。
【図１Ａ】
2004505304.tif 000004
【図１Ｂ】
2004505304.tif 000005
【図２】
2004505304.tif 000006
【図３】
2004505304.tif 000007
【図４】
2004505304.tif 000008
【図５】
2004505304.tif 000009
【図６Ａ】
2004505304.tif 000010
【図６Ｂ】
2004505304.tif 000011
【図６Ｃ】
2004505304.tif 000012
【図６Ｄ】
2004505304.tif 000013
【図７Ａ】
2004505304.tif 000014
【図７Ｂ】
2004505304.tif 000015
【図７Ｃ】
2004505304.tif 000016
【図８】
2004505304.tif 000017
【図９】
2004505304.tif 000018
【図１０】
2004505304.tif 000019
【図１１】
2004505304.tif 000020
【国際公開パンフレット】
2004505304.tif 000021
2004505304.tif 000022
2004505304.tif 000023
2004505304.tif 000024
2004505304.tif 000025
2004505304.tif 000026
2004505304.tif 000027
2004505304.tif 000028
2004505304.tif 000029
2004505304.tif 000030
2004505304.tif 000031
2004505304.tif 000032
2004505304.tif 000033
2004505304.tif 000034
2004505304.tif 000035
2004505304.tif 000036
2004505304.tif 000037
2004505304.tif 000038
2004505304.tif 000039
2004505304.tif 000040
2004505304.tif 000041
2004505304.tif 000042
2004505304.tif 000043
2004505304.tif 000044
2004505304.tif 000045
2004505304.tif 000046
2004505304.tif 000047
2004505304.tif 000048
2004505304.tif 000049
2004505304.tif 000050
2004505304.tif 000051
2004505304.tif 000052
2004505304.tif 000053
2004505304.tif 000054
2004505304.tif 000055
2004505304.tif 000056
2004505304.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004505304.tif 000058
【国際調査報告】
2004505304.tif 000059
2004505304.tif 000060