(57)【要約】  マルチチャネル（例えばステレオ）オーディオ信号のための時間伸縮プロセスが、全チャネルに対する共通時間オフセットを使用することにより、音源の見かけ上の位置の変動を回避する。時間伸縮プロセスにおいて、共通時間オフセットはオーディオ信号のそれぞれの時間間隔に対応する。各オーディオチャネルに対するデータが、時間間隔に対応するフレームに分割され、同じ間隔に対応するすべてのフレームが時間伸縮プロセスにおいて同じ共通時間オフセットを使用する。間隔に対する共通時間オフセットは、チャネルデータ全体から、または個別チャネルについて独立に計算される個別時間オフセットから導出され得る。リアルタイム時間伸縮動作のために低処理能力のプレゼンテーションシステムが使用する拡張オーディオデータ構造に含めるために、前処理が共通時間オフセットを計算することが可能である。
2005512140.tif 000002
【特許請求の範囲】
【請求項１】
マルチチャネルオーディオ信号のための時間伸縮プロセスであって、
前記オーディオ信号を複数の間隔に分割することであって、各間隔は前記マルチチャネルオーディオ信号の複数のデータチャネルのそれぞれにおけるフレームに対応する、分割すること、
各間隔について、該間隔に対するオフセットを求めること、
前記複数のデータチャネルを時間伸縮することであって、各フレームについて、該フレームを時間伸縮するときに該フレームに対応する間隔に対するオフセットを使用することを含む、時間伸縮すること、
を備える時間伸縮プロセス。
【請求項２】
前記フレームを時間伸縮するときにオフセットを使用することは、該フレームと結合されるブロックを識別するために、該オフセットを使用することを含む
請求項１に記載の時間伸縮プロセス。
【請求項３】
各フレームについて、前記時間伸縮することは、前記ブロックのサンプルを該フレームからの対応するサンプルと結合することをさらに含む
請求項２に記載のプロセス。
【請求項４】
前記フレームからの対応するサンプルと結合される前記ブロック内の各サンプルについて、前記結合することは、
前記サンプルに第１重み関数の値を乗算すること、
前記フレームからの対応するサンプルに第２重み関数の値を乗算すること、
修正サンプルを生成するために、前記乗算することから得られる積を加算することを含む
請求項３に記載のプロセス。
【請求項５】
前記間隔に対するオフセットを求めることは、前記複数のデータチャネルのための時間伸縮プロセスにおいて使用されるデータを平均することから得られる平均データを探索することを含む
請求項１に記載のプロセス。
【請求項６】
前記間隔に対するオフセットを求めることは、
間隔に対応する全フレームの結合から平均フレームを求めること、
前記平均フレームに最適マッチングする最適マッチングブロックを探索すること、
前記平均フレームに対して求められた前記最適マッチングブロックを識別する値を前記間隔の前記オフセットとして選択することを含む
請求項１に記載のプロセス。
【請求項７】
前記最適マッチングブロックを探索することは、前記複数のデータチャネルの時間伸縮において使用される対応するサンプルを平均することによって求められるサンプルを含むバッファを探索することを含む
請求項６に記載のプロセス。
【請求項８】
前記間隔に対するオフセットを求めることは、
前記複数のデータチャネルのそれぞれについて、該データチャネル内にあり前記間隔に対応するフレームに最適マッチングする最適マッチングブロックを識別するために、該チャネルに対応するデータバッファを探索すること、
前記データバッファ内の最適マッチングブロックへのオフセットから前記間隔に対する
前記オフセットを導出することを含む
請求項１に記載のプロセス。
【請求項９】
前記間隔に対するオフセットを求めることは、
一連の候補オフセットのそれぞれについて、前記間隔に対応する各フレームと、該候補オフセットが識別するそれぞれのブロックとの間の差を累計すること、
累計された差が最小となる候補オフセットを前記オフセットとして選択することを含む請求項１に記載のプロセス。
【請求項１０】
前記間隔に対するオフセットを求めることは、前記フレームと、該フレームおよび時間スケールのセットに対応する所定オフセットのセットとを含む拡張オーディオデータ構造から前記オフセットを抽出することを含む
請求項１に記載のプロセス。
【請求項１１】
前記間隔に対するオフセットを求めることは、
前記フレームと、該フレームおよび時間スケールのセットに対応する所定オフセットのセットとを含む拡張オーディオデータ構造にアクセスすること、
前記間隔および該プロセスに対する現在の時間スケールに対応するオフセットを求めるために、前記所定オフセット間を補間することを含む
請求項１に記載のプロセス。
【請求項１２】
ステレオオーディオ信号のための時間伸縮プロセスであって、
前記ステレオオーディオ信号の左チャネルを表す左データを一連の左フレームに分割すること、
前記ステレオオーディオ信号の右チャネルを表す右データを一連の右フレームに分割することであって、それぞれの右フレームは、前記左フレームの１つに対応し、該対応する左フレームが前記左チャネルを表す時間間隔中に前記右チャネルを表す、右データを一連の右フレームに分割すること、
対応する左および右フレームの各ペアについて、
サンプルの右ブロックおよびサンプルの左ブロックを識別するオフセットを求めること、
前記右チャネルに対する時間伸縮サンプルを生成する際に前記右ブロックを使用すること、
前記左チャネルに対する時間伸縮サンプルを生成する際に前記左ブロックを使用すること、
を備える時間伸縮プロセス。
【請求項１３】
前記右ブロックを使用することは、
前記右ブロック内のサンプルに第１重み関数の対応する値を乗算すること、
前記ペアの前記右フレームからのサンプルに第２重み関数の対応する値を乗算すること、
修正サンプルを生成するために、前記乗算することから得られる対応する積を加算することを含む
請求項１２に記載の時間伸縮プロセス。
【請求項１４】
前記左ブロックを使用することは、
前記左ブロック内のサンプルに前記第１重み関数の対応する値を乗算すること、
前記ペアの前記左フレームからのサンプルに前記第２重み関数の対応する値を乗算すること、
修正サンプルを生成するために、前記乗算することから得られる対応する積を加算する
ことを含む
請求項１３に記載の時間伸縮プロセス。
【請求項１５】
前記オフセットを求めることは、
左バッファを探索することであって、それによって、前記左フレームに最適マッチングするブロックを識別し、左オフセットが該左バッファ内の該ブロックの位置を識別する、左バッファを探索すること、
右バッファを探索することであって、それによって、前記右フレームに最適マッチングするブロックを識別し、右オフセットが該右バッファ内の該ブロックの位置を識別する、右バッファを探索すること、
前記左および右オフセットから前記オフセットを導出することを含む
請求項１２に記載の時間伸縮プロセス。
【請求項１６】
前記オフセットを求めることは、
一連の候補オフセットのそれぞれについて、前記左および右フレームと、該候補オフセットがそれぞれ左および右バッファ内で識別するそれぞれのブロックとの間の累計された差を求めること、
前記累計された差が最小値となる候補オフセットを前記オフセットとして選択することを含む
請求項１２に記載の時間伸縮プロセス。
【請求項１７】
前記オフセットを求めることは、前記左および右フレームと、左および右フレームの各ペアについて、該左および右フレームならびに時間スケールのセットに対応する所定オフセットのセットとを含む拡張オーディオデータ構造から前記オフセットを抽出することを含む
請求項１２に記載のプロセス。
【請求項１８】
前記オフセットを求めることは、
前記左および右フレームと、左および右フレームの各ペアについて、該ペアおよび時間スケールのセットに対応する所定オフセットのセットとを含む拡張オーディオデータ構造にアクセスすること、
前記間隔および該プロセスに対する現在の時間スケールに対応するオフセットを求めるために、前記所定オフセット間を補間することを含む
請求項１２に記載のプロセス。
【請求項１９】
前記間隔がすべて同じ持続時間を有する
請求項１２に記載のプロセス。
【請求項２０】
前記オフセットを求めることは、
前記ペアの前記左および右フレームから平均フレームを求めること、
前記平均フレームに最適マッチングする最適マッチングブロックを探索すること、
前記平均フレームに対して求められた前記最適マッチングブロックを識別する値を前記オフセットとして選択することを含む
請求項１２に記載のプロセス。
【請求項２１】
前記最適マッチングブロックを探索することは、前記左チャネルの時間伸縮において使用される対応するサンプルおよび前記右チャネルの時間伸縮において使用される対応するサンプルを平均することによって求められるサンプルを含むバッファを探索することを含む請求項２０に記載のプロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオオーディオの時間伸縮に関する。
【背景技術】
【０００２】
ディジタルオーディオ信号の時間伸縮（すなわち時間圧縮または伸長）は、オーディオの知覚されるピッチを変えずに、記録されているオーディオ信号の再生速度を変化させる。したがって、時間伸縮機能を有するプレゼンテーションシステムを使用する聴取者は、オーディオを加速して迅速に情報を受け取ることや、オーディオを減速してゆっくりと情報を受け取ることができ、その一方で、時間伸縮はもとのオーディオのピッチを保つことにより、情報を聴取し理解することを容易にする。理想的には、時間伸縮機能を備えたプレゼンテーションシステムは、聴取者がプレゼンテーションの再生速度や時間スケールを制御することを可能にすることにより、提示されている情報の複雑さや聴取者がプレゼンテーションに向けている注意の程度に対応する速度を聴取者が選択できるようにすべきである。
【０００３】
図１Ａは、ステレオオーディオデータ１００および時間伸縮ステレオオーディオデータ１１０を用いたステレオオーディオ信号の表現を示している。ステレオオーディオデータ１００は、ステレオオーディオの左オーディオチャネルを表す左入力データ１００Ｌおよびステレオオーディオの右オーディオチャネルを表す右入力データ１００Ｒを含む。同様に、ステレオオーディオデータ１００から生成される時間伸縮ステレオオーディオデータ１１０は、左時間伸縮オーディオデータ１１０Ｌおよび右時間伸縮オーディオデータ１１０Ｒを含む。
【０００４】
ステレオオーディオのための従来の時間伸縮プロセスは、左および右チャネルの時間伸縮を独立に実行する。時間伸縮プロセスのため、左オーディオデータ１００Ｌ内の左オーディオ信号のサンプルが入力フレームＩＬ１〜ＩＬＸに分割され、右オーディオデータ１００Ｒ内の右オーディオ信号のサンプルが入力フレームＩＲ１〜ＩＲＸに分割される。時間伸縮プロセスは、時間伸縮ステレオオーディオ信号の左および右チャネルに対するサンプルをそれぞれ含む左時間伸縮出力フレームＯＬ１〜ＯＬＸおよび右時間伸縮出力フレームＯＲ１〜ＯＲＸを生成する。一般に、入力フレーム内のサンプル数ｍの、対応する出力フレーム内のサンプル数ｎに対する比は、時間伸縮プロセスで使用される時間スケールに等しく、時間スケールが１より大きい場合、時間伸縮出力フレームＯＬ１〜ＯＬＸおよびＯＲ１〜ＯＲＸは、それぞれの入力フレームＩＬ１〜ＩＬＸおよびＩＲ１〜ＩＲＸより少ないサンプルを含む。時間スケールが１より小さい場合、時間伸縮出力フレームＯＬ１〜ＯＬＸおよびＯＲ１〜ＯＲＸは、それぞれの入力フレームＩＬ１〜ＩＬＸおよびＩＲ１〜ＩＲＸより多くのサンプルを含む。
【０００５】
いくつかの時間伸縮プロセスでは、出力時間伸縮オーディオデータ内のサンプル数を増減させるために重畳され結合される入力オーディオの部分を示す時間オフセットを使用する。サンプルを結合する際に音質を良くするため、このタイプの時間伸縮プロセスは通常、マッチングするサンプルブロックを探索し、ブロックのうちの１つを時間的にマッチングブロックと重畳するようにシフトしてから、マッチングするサンプルブロックを結合する。このような時間伸縮プロセスは、ステレオオーディオ信号の左および右チャネルに独立に適用することができる。例えば、図１Ｂに示すように、左および右バッファ１２０Ｌおよび１２０Ｒのそれぞれの先頭からの時間オフセットΔＴＬｉおよびΔＴＲｉは、それぞれ入力フレームＩＬｉおよびＩＲｉに最適マッチングするブロック１２５Ｌおよび１２５Ｒを一意に識別する。それぞれの最適マッチングブロック１２５Ｌまたは１２５Ｒを、
対応する入力フレームＩＬｉおよびＩＲｉと算術的に結合して、出力時間伸縮データの修正サンプルを生成することができる。
【０００６】
図１Ｂに示されているように、オフセットは左および右オーディオデータ１００Ｌおよび１００Ｒに対して独立に求められるので、同じフレーム番号（すなわち、入力ステレオオーディオ内の同じ時間間隔）に対応する時間オフセットΔＴＬｉおよびΔＴＲｉが互いに異なることがある。一般に、左および右チャネルに対する時間オフセットの差は異なるため、いくつかのフレーム（すなわち、フレームインデックスｉのいくつかの値）ではオフセットΔＴＬｉがオフセットΔＴＲｉより短く、他のフレームオフセット（すなわち、フレームインデックスｉの他の値）ではΔＴＲｉがオフセットΔＴＬｉより短い。
【０００７】
ステレオオーディオについて一般に、同一音源からのマッチングサウンドが左右のスピーカを通じて再生される時、聴取者は、マッチングサウンドのタイミングの小さい差を、左右のスピーカの間のある位置から発せられる単一のサウンドとして知覚する。タイミング差が変われば、音源の位置が移動するように感じられる。時間伸縮ステレオオーディオデータにおいては、オフセットΔＴＬｉおよびΔＴＲｉがフレームインデックスｉとともに変動することのアーティファクトとして、再生されているオーディオの音源の位置の見かけ上の振動または変動がある。同様に、オフセットΔＴＬｉおよびΔＴＲｉの変動は、異なるチャネルを通じて演奏されている異なる楽器のような、異なるチャネルにおける関連するサウンドのタイミング変動を引き起こし得る。これらのアーティファクトは一部の聴取者にとって不快であり、時間伸縮ステレオオーディオ信号における音源の見かけ上の位置の変動を回避するシステムおよび方法が求められている。
【発明の開示】
【０００８】
本発明の一態様によれば、時間伸縮プロセスが、マルチチャネル（例えばステレオ）オーディオ信号の全チャネルの対応する間隔に対する共通オフセットを使用する。全チャネルに対する共通時間オフセットの使用により、チャネルにおけるマッチングすなわち関連するサウンド間のタイミング変動が回避され、音源の位置の見かけ上の振動または変動のようなアーティファクトの生成が回避される。音質を良くするため、共通時間オフセットは、異なる時刻におけるオーディ信号の内容に従って変化し、最適マッチング探索によって求めることができる。
【０００９】
マルチチャネルオーディオ信号のための１つの特定の時間伸縮プロセスは、マルチチャネルオーディオ信号を複数の時間間隔に分割する。各間隔は複数のフレームに対応し、各チャネル内の１つのフレームがマルチチャネルオーディオ信号を表す。各間隔に対して、プロセスは、全チャネルで使用するための共通時間オフセットを求め、各入力フレームに対して、時間伸縮は、そのフレームに対応する時間間隔に対する共通オフセットによって識別されるデータブロックを用いて時間伸縮データを生成する。一般に、時間伸縮は、識別されたブロックの各サンプルを、対応する入力オーディオフレームの対応するサンプルと結合する。間隔に対する共通時間オフセットによって識別されるブロック内の各サンプルに対して、１つの結合方法は、サンプルに第１重み関数の値を乗算すること、入力フレームからの対応するサンプルに第２重み関数の値を乗算すること、結果として得られる積を加算することであって、それによって、修正サンプルを生成する、加算すること、とを含む。
【００１０】
間隔に対する共通オフセットは、さまざまな技法を用いて求めることができる。１つの技法では、マルチチャネルオーディオ信号の種々のチャネルからの対応するサンプルを平均することによって生成される平均オーディオ信号に対するオフセットを求める。平均オーディオ信号に対して、最適マッチングブロックの探索により平均フレームに対する単一の時間オフセットを識別する。平均フレームに対する時間オフセットが、チャネルに対す
る個別の時間伸縮プロセスのすべてが使用する共通オフセットである。
【００１１】
共通オフセットを求めるもう１つの技法では、種々のチャネルに対して個別に求められるオフセットを結合する。各データチャネルに対して、探索により、そのチャネルに対する最適マッチングブロックへのオフセットを識別する。異なるチャネル内の同じ間隔に対するオフセットを用いて（例えば平均して）、その間隔に対する共通オフセットを求める。
【００１２】
間隔に対する共通オフセットを求めるもう１つの技法では、一連の候補オフセットのそれぞれに対して、候補オフセットが識別するそれぞれのブロックとそれぞれのフレームとの間の差の累計を求めることを含む。間隔に対する共通オフセットは、差の累計が最小となる候補オフセットである。
【００１３】
時間間隔に対する共通オフセットを求めるさらにもう１つの技法では、入力オーディオデータと時間伸縮プロセスを単純化するパラメータとを含む拡張オーディオデータ構造を使用する。ステレオオーディオの場合、拡張オーディオデータ構造は、左および右フレームを含み、左および右フレームの各ペアに対して、拡張オーディオデータ構造は、そのペアおよび時間スケールのセットに対応する事前に計算されたオフセットのセットを含む。選択された時間スケールおよび間隔に対する正しい共通オフセットは、時間スケールのセットに対する所定オフセットのセットから抽出すること、または所定オフセット間を補間することであって、それにより、選択された間隔および時間スケールに対応する共通オフセットを求める、補間することにより求めることが可能である。
【００１４】
本発明の一特定実施形態は、ステレオオーディオ信号に対する時間伸縮プロセスである。ステレオオーディオ信号に対して、プロセスは、ステレオオーディオ信号の左および右チャネルを表す左および右データをそれぞれ左および右フレームに分割することを含む。それぞれの右フレームは左フレームのうちの１つに対応し、対応する左フレームが左チャネルを表す時間間隔中に右チャネルを表す。対応する左および右フレームの各ペアに対して、プロセスは、プロセスが時間伸縮された左および右オーディオデータを生成する際に使用する右ブロックおよび左ブロックを識別する共通オフセットを求める。既に説明したようなさまざまな方法を用いて共通オフセットを求めることができる。
【００１５】
異なる図中での同一参照符号の使用は類似または同一の項目を示す。
【発明を実施するための最良の形態】
【００１６】
［実施形態］
本発明の一態様によれば、ステレオ等のマルチチャネルオーディオ信号のための時間伸縮プロセスが、音源位置の見かけ上の変動もしくは振動または関連する音源のタイミング振動を引き起こすアーティファクトを回避または縮小する。時間伸縮は、個別チャネルに対する完全に独立の時間伸縮プロセスを実行するのではなく、全チャネルに対して同一である共通時間オフセットを用いて同一時間間隔に対応する時間伸縮フレームを生成する。
【００１７】
図２は、左および右チャネルデータ１００Ｌおよび１００Ｒ（図１Ａ）によって表されるステレオオーディオ信号に対する例示的な時間伸縮プロセス２００の流れ図である。例示的実施形態では、左チャネルデータ１００Ｌはステレオオーディオ信号の左オーディオチャネルのサンプルを含み、右チャネルデータ１００Ｒはステレオオーディオ信号の右オーディオチャネルのサンプルを含む。左および右チャネルデータ１００Ｌおよび１００Ｒは、一定サイズのフレームＩＬ１〜ＩＬＸおよびＩＲ１〜ＩＲＸに分割され、１からＸまでにわたるフレームインデックスｉに対して、フレームＩＬｉおよびＩＲｉは、フレームインデックスｉがステレオオーディオ信号において識別する時間間隔を表す。
【００１８】
時間伸縮プロセス２００は初期化ステップ２１０から開始される。初期化ステップ２１０は、第１の左および右入力フレームＩＬ１およびＩＲ１をそれぞれ左および右バッファに格納すること、第１時間間隔に対する共通時間オフセットΔＴ１を０に等しく設定すること、および処理すべき次の左および右入力フレームを指定するためにフレームインデックスｉの初期値を２に設定することを含む。一般に、左入力フレームＩＬ１〜ＩＬＸが左バッファに順次結合されて左オーディオチャネルに対するオーディオデータストリームを生成し、右入力フレームＩＲ１〜ＩＲＸが右バッファに順次結合されて右オーディオチャネルに対するオーディオデータストリームを生成する。ステップ２１０は、入力フレームＩＬ１およびＩＲ１をそれぞれ左および右バッファの先頭に格納する。
【００１９】
ステップ２２０および２２５はそれぞれ、使用された最後のソースデータに続くソースデータを左および右バッファに充填する。最初に、ステップ２２０および２２５は次の左および右入力フレームＩＬ２およびＩＲ２をそれぞれ左および右バッファにロードする。バッファの選択されたサイズに応じて、連続して続くソースデータがフレームＩＬ２およびＩＲ２の後に続いてもよい。一般に、左および右バッファは少なくともｎ＋ｍ個の連続するサンプルを含む。ここで、ｍは入力フレーム内のサンプル数であり、ｎは出力フレーム内のサンプル数である。左および右バッファに充填されるソースデータは、それぞれ左および右バッファ内の最後に修正されたデータブロックに続く記憶位置にある。ステップ２２０および２２５の最初の実行の場合、左および右バッファ内の最後に修正されたブロックは入力フレームＩＬ１およびＩＲ１である。ステップ２２０および２２５の後続の実行の場合、最後に修正されたブロックは、共通オフセットがそれぞれのバッファ内で識別した左および右ブロックである。
【００２０】
ステップ２３０は、フレームインデックスｉによって識別される時間間隔に対する共通時間オフセットΔＴｉを求める。共通時間オフセットΔＴｉは、左および右チャネルに対する時間伸縮プロセスで使用される。共通時間オフセットを使用する１つの例示的な時間伸縮方法を図２に示し、以下でさらに説明する。図３Ａ、図３Ｂ、および図３Ｃは、共通時間オフセットΔＴｉを求める３つの代替方法の流れ図である。
【００２１】
図３Ａのプロセス３１０で、ステップ３１２は、左および右バッファからの対応するサンプルの平均であるサンプルを含む平均バッファを用意する。同様に、ステップ３１４は、左および右入力フレームＩＬｉおよびＩＲｉ内の対応するサンプルの平均であるサンプルを含む平均入力フレームを用意する。次に、ステップ３１６は、平均バッファにおいて、平均入力フレームに最適マッチングし、平均バッファの先頭からｇ個のサンプルより短いサンプルブロックを探索する。ｇは、入力フレーム内のサンプル数ｍおよび出力フレーム内のサンプル数ｎのうち大きいほうである。ステップ３１８は、共通オフセットΔＴｉを、平均バッファの先頭からステップ３１６で求められた最適マッチングブロックまでのオフセットに等しく設定する。
【００２２】
別法として、図３Ｂのプロセス３２０で、ステップ３２２は、左バッファにおいて、左バッファの先頭からｇ個のサンプル以下で左入力フレームＩＬｉに最適マッチングするブロックを探索する。同様に、ステップ３２４は、右バッファにおいて、右バッファの先頭からｇ個のサンプル以下で右入力フレームＩＲｉに最適マッチングするブロックを探索する。前に述べたように、左右のオーディオ信号が異なるため、左右の最適マッチングブロックをそれぞれ識別する左および右時間オフセットΔＴＬｉおよびΔＴＲｉは一般に異なる。ステップ３２６は、左および右オフセットΔＴＬｉおよびΔＴＲｉを用いて、時間間隔に対する共通オフセットΔＴｉを求める。特定実施例では、ステップ３２６は、共通オフセットΔＴｉを左および右オフセットΔＴＬｉおよびΔＴＲｉの平均に等しく設定するか、またはオフセットΔＴＬｉおよびΔＴＲｉの一方を共通オフセットΔＴｉとして選択
する。
【００２３】
図３Ｃのプロセス３３０は、時間間隔ｉに関連する共通オフセットΔＴｉに対するさらにもう１つの代替決定プロセスを提供する。具体的には、０とｇの間の各候補オフセットΔＴＣに対して、ステップ３３２は、左入力フレームＩＬｉ内のサンプルと左バッファ内でオフセットΔＴＣにあるブロック内の対応するサンプルとの間の差の絶対値または平方と、右入力フレームＩＲｉ内のサンプルと右バッファ内でオフセットΔＴＣにあるブロック内の対応するサンプルとの間の差の絶対値または平方との和を求める。ステップ３３４は、共通オフセットΔＴｉを、その和が最小となる候補オフセットΔＴＣに等しく設定する。
【００２４】
プロセス２００（図２）のステップ２３０が共通オフセットΔＴｉを求めた後、ステップ２４０は、左入力フレームＩＬｉ（すなわち、ステップ２２０が左バッファに格納したばかりの入力フレーム）を含む左ソースデータのｇ個のサンプルを、共通オフセットΔＴｉが左バッファ内で識別するｇ個のサンプルのブロックと結合する。時間スケールが１より大きい場合、ｇはｍに等しいため、入力フレームＩＬｉ内のｍ個のサンプルが、前の時間インデックスを有するｍ個のサンプルと結合するために時間的に前方にシフトされて、時間圧縮が行われる。同様に、ステップ２４５は、右入力フレームＩＲｉを含む右ソースデータのｇ個のサンプルを、共通オフセットΔＴｉが右バッファ内で識別するｇ個のサンプルのブロックと結合する。時間スケールが１より大きい場合、ステップ２４５は、右入力フレームＩＲｉ内のサンプルを、前のマッチングサンプルと結合するために、時間的に前方にシフトする。
【００２５】
ステップ２４０および２４５で使用される特定の結合プロセスは、使用される特定の時間伸縮プロセスによって決まる。図４は、１つの例示的な結合プロセス４００を示している。この結合プロセスでは、共通時間オフセットΔＴｉは、左および右ブロックＢＬｉおよびＢＲｉをそれぞれ左および右バッファ内で識別する。ブロックＢＬｉおよびＢＲｉのそれぞれは、ソースデータと同様にｇ個のサンプルを含み、フレームまたはブロック内のサンプルの順序に従って個々のサンプルを識別するために、１とｇの間のサンプルインデックスｊが割り当てられ得る。サンプルインデックスｊのそれぞれの値に対して、結合プロセス４００は、左バッファ内のブロックＢＬｉ内の対応するサンプルに重み関数Ｆ１の対応する値Ｆ１（ｊ）を乗算し、入力フレームＩＬｉ内の対応するサンプルに重み関数Ｆ２の対応する値Ｆ２（ｊ）を乗算し、それらの２つの積を加算することにより、左バッファ内の修正サンプルを生成する。同様に、結合プロセス４００は、値Ｆ１（ｊ）にブロックＢＲｉ内のサンプルインデックスｊを有するサンプルを乗算し、値Ｆ２（ｊ）に入力フレームＩＲｉ内の対応するサンプルを乗算し、それらの２つの積を加算することにより、右バッファ内の修正サンプルを生成する。
【００２６】
重み関数Ｆ１およびＦ２はサンプルインデックスｊに応じて変わり、一般に同じサンプルインデックスに対応する２つの重み値を足し合わせると１になるようになっている（すなわち、すべてのｊ＝１〜ｇに対してＦ１（ｊ）＋Ｆ２（ｊ）＝１）。図４では、修正サンプルが左または右バッファ内で先行するサンプルと連続になるように、重み関数Ｆ１はブロックの先頭で値１を有する。また、修正サンプルがステップ２２０または２２５（図２）の次の実行で左または右バッファに追加される入力サンプルと連続になるように、重み関数Ｆ２はブロックの終端で値１を有する。より一般的には、重み関数は、使用される特定の時間伸縮プロセスによって決まる。
【００２７】
図２の結合プロセス２４０および２４５の後、ステップ２５０は、左バッファの内容をｎサンプルだけ左シフトすることにより左出力フレームＯＬ（ｉ−１）を出力し、右バッファの内容をｎサンプルだけ左シフトすることにより右出力フレームＯＲ（ｉ−１）を出
力する。ステップ２６０および２７０は、フレームインデックスｉをインクリメントし、時間伸縮すべき入力フレームがまだある場合にはステップ２２０に戻り、すべての入力フレームが処理された場合には時間伸縮プロセス２００を終了する。ステップ２２０および２２５の再実行において、ステップ２４０および２４５で結合されたソースデータに続く入力データが、それぞれ左および右バッファ内で、ステップ２５０によってシフトされた最終修正ブロックの直後に続く位置に格納される。時間圧縮の場合（ｇ＝ｎ）、インデックスｉの新たな値に対する左および右入力フレームＩＬｉおよびＩＲｉは、それぞれ左および右バッファ内で、ステップ２５０によってシフトされた最終修正ブロックの直後に続く位置に格納される。時間伸長の場合、充填データは、それぞれの左および右入力オーディオデータストリーム内の最後に使用されたソースデータに連続して続く。そして、ステップ２３０が、結合ステップ２４０および２４５の再実行のために、左および右バッファの先頭からの次の共通オフセットΔＴｉを求める。
【００２８】
最後の入力フレームがそれぞれのバッファに結合された後、ステップ２８０は、それぞれ左および右バッファの外へ、最後の左および右出力フレームＯＬＸおよびＯＲＸをシフトする。そして、プロセス２００は終了する。
【００２９】
図５Ａおよび図５Ｂは、拡張オーディオデータ構造を用いた、本発明の一実施形態によるプロセス５１０および５００を示している。プロセス５００は、利用可能な処理能力が比較的少ない量のプレゼンテーションシステムにおけるオーディオデータのリアルタイム時間伸縮に好適である。「Digital Audio With Parameters For Real-Time Time Scaling」と題する同日出願の米国特許出願（代理人整理番号ＳＳＩ００４ＵＳ）には、低い能力のシステムに適したリアルタイム時間伸縮方法がさらに記載されている。この出願は全体として参照により本明細書に援用される。
【００３０】
プロセス５１０は、リアルタイム時間伸縮プロセス５００の前に実行され、ステレオオーディオ信号を前処理することにより、低い計算能力のプレゼンテーションシステムでの時間伸縮を容易にするパラメータを含む拡張データ構造を作成する。具体的には、ステップ５１２は、同じステレオオーディオ信号を繰り返し時間伸縮し、各時間伸縮動作は異なる時間スケールを使用する。入力ステレオオーディオに対して、ステップ５１２は、共通時間オフセットΔＴ（ｉ，ｋ）のセットを求める。ここで、ｉはフレームインデックスであり、ｋは時間スケールインデックスである。それぞれの共通時間オフセットΔＴ（ｉ，ｋ）は、時間スケールインデックスｋに対応する時間スケールによって時間伸縮される場合の、フレームインデックスｉに対応する左右両フレームの時間伸縮において使用される。
【００３１】
ステップ５１４は、ステレオオーディオの求められた共通時間オフセットΔＴ（ｉ，ｋ）ならびに左および右入力フレームを含む拡張データ構造を作成する。その後、拡張データ構造は、媒体に格納されること、またはプレゼンテーションシステムへ伝送されることが可能である。
【００３２】
リアルタイム時間伸縮プロセス５００は、ステップ５２０で拡張データ構造にアクセスしてから、ステップ２１０で、上記のように、左および右バッファ、第１共通オフセットΔＴ１、ならびにフレームインデックスｉを初期化する。その後、時間伸縮プロセス５００は、ステップ５３０が拡張オーディオデータ内のパラメータから共通オフセットΔＴｉを求めることを除いては、図２のプロセス２００に関して上記で説明したのと実質的に同様に続行される。
【００３３】
現在の時間スケールが、プロセス５１０がステレオオーディオデータを時間伸縮する際に使用した時間スケールの１つと一致する場合、プレゼンテーションシステムは、拡張オ
ーディオデータ構造からの所定の共通オフセットΔＴ（ｉ，ｋ）の１つを使用することができ、共通時間オフセットを計算する必要がない。現在の時間スケールが、プロセス５１０がステレオオーディオデータを時間伸縮する際に使用した時間スケールｋのいずれとも一致しない場合、プレゼンテーションシステムは、提供された時間オフセットΔＴ（ｉ，ｋ）を補間または補外することにより、現在のフレームインデックスおよび時間スケールに対する共通時間オフセットを求めることができる。いずれの場合でも、プレゼンテーションシステムが実行する時間インデックスの計算は、上記の最適マッチングブロックの探索よりも複雑でなく、時間がかからない。
【００３４】
以上、本発明は特定の実施形態を参照して説明されているが、その説明は本発明の適用の単なる一例であり、限定と解釈されてはならない。例えば、上記の説明はステレオ（すなわち２チャネル）オーディオ信号に集中しているが、本発明の原理は３チャネル以上のマルチチャネルオーディオ信号での使用にも好適である。また、説明した実施形態は時間伸縮における時間オフセットの特定の使用法を用いているが、本発明の態様は、異なる方法で時間オフセットまたはサンプルオフセットを使用する時間伸縮プロセスにも適用される。開示された実施形態の特徴のその他の種々の適応および組合せは、添付の請求項によって規定される本発明の範囲内に入る。
【産業上の利用可能性】
【００３５】
本発明は、全チャネルに対して共通時間オフセットを使用することにより音源の見かけ上の位置の変動を回避するマルチチャネル（例えばステレオ）オーディオ信号のための時間伸縮プロセスに適用可能である。
【図面の簡単な説明】
【００３６】
【図１Ａ】入力オーディオデータフレームの時間伸縮から出力される時間伸縮オーディオデータフレームを示す。
【図１Ｂ】図１Ａの時間伸縮プロセスのための左右の最適マッチングブロックを識別するオフセットを示す。
【図２】本発明の一実施形態によるステレオオーディオ時間伸縮プロセスの流れ図である。
【図３Ａ】マルチチャネルオーディオの時間伸縮において使用される共通オフセットを識別する代替方法の流れ図である。
【図３Ｂ】マルチチャネルオーディオの時間伸縮において使用される共通オフセットを識別する代替方法の流れ図である。
【図３Ｃ】マルチチャネルオーディオの時間伸縮において使用される共通オフセットを識別する代替方法の流れ図である。
【図４】左および右ソースデータを左右のバッファ内のサンプルと結合することによる左右の時間伸縮データの生成を示す。
【図５Ａ】ステレオオーディオ時間伸縮を単純化する拡張オーディオデータ構造を生成するプロセスの流れ図である。
【図５Ｂ】拡張オーディオデータ構造を用いてステレオオーディオ信号のリアルタイム時間伸縮中の処理負担を削減するステレオオーディオ時間伸縮プロセスの流れ図である。
【図１Ａ】
2005512140.tif 000003
【図１Ｂ】
2005512140.tif 000004
【図２】
2005512140.tif 000005
【図３Ａ】
2005512140.tif 000006
【図３Ｂ】
2005512140.tif 000007
【図３Ｃ】
2005512140.tif 000008
【図４】
2005512140.tif 000009
【図５Ａ】
2005512140.tif 000010
【図５Ｂ】
2005512140.tif 000011
【国際調査報告】
2005512140.tif 000012
2005512140.tif 000013